/** * This is used for definition-less construction, e.g. in JAXB beans. * * The constructors should be used only occasionally (if used at all). * Use the factory methods in the ResourceObjectDefintion instead. */ ItemImpl(QName elementName) { super(); this.elementName = ItemName.fromQName(elementName); }
ItemImpl(QName elementName, PrismContext prismContext) { super(); this.elementName = ItemName.fromQName(elementName); this.prismContext = prismContext; }
public static ItemPath[] asPathArray(QName... names) { ItemPath[] paths = new ItemPath[names.length]; int i = 0; for (QName name : names) { paths[i++] = ItemName.fromQName(name); } return paths; }
protected ItemDeltaImpl(QName elementName, D itemDefinition, PrismContext prismContext) { //checkPrismContext(prismContext, itemDefinition); this.prismContext = prismContext; this.elementName = ItemName.fromQName(elementName); this.parentPath = ItemPath.EMPTY_PATH; this.definition = itemDefinition; }
@Override public <ID extends ItemDefinition> ID findNamedItemDefinition(@NotNull QName firstName, @NotNull ItemPath rest, @NotNull Class<ID> clazz) { return findItemDefinition(ItemName.fromQName(firstName)); }
@Override public PrismReference getExtensionReference(QName propertyName) { Item item = getExtensionItem(ItemName.fromQName(propertyName)); return (PrismReference) item; }
/** * Convenience method for quick creation of object deltas that replace a single object property. This is used quite often * to justify a separate method. */ public static Collection<? extends ItemDelta> createModificationReplacePropertyCollection(QName propertyName, PrismObjectDefinition<?> objectDefinition, Object... propertyValues) { Collection<? extends ItemDelta> modifications = new ArrayList<>(1); PropertyDelta delta = createModificationReplaceProperty(ItemName.fromQName(propertyName), objectDefinition, propertyValues); ((Collection)modifications).add(delta); return modifications; }
public static PrismReferenceValue getReferenceValue(PrismContainerValue<?> parent, QName name) { Validate.notNull(parent, "Prism container value must not be null."); Validate.notNull(name, "QName must not be null."); PrismReference reference = parent.findItem(ItemName.fromQName(name), PrismReference.class); return reference != null ? reference.getValue() : null; }
@NotNull private ItemPath getDiscriminator(AbstractWorkSegmentationType configuration, AbstractWorkBucketContentType content) { ItemPathType discriminatorPathType = configuration.getDiscriminator(); if (discriminatorPathType != null) { return discriminatorPathType.getItemPath(); } else if (configuration instanceof OidWorkSegmentationType) { return ItemName.fromQName(PrismConstants.T_ID); // fixme } else { throw new IllegalStateException("No buckets discriminator defined; bucket content = " + content); } }
public static <T extends Containerable> PrismContainerValue<T> getFieldContainerValue(PrismContainerValue<?> parent, QName fieldName) { Validate.notNull(parent, "Container value must not be null."); Validate.notNull(fieldName, "Field QName must not be null."); PrismContainer<T> container = parent.findItem(ItemName.fromQName(fieldName), PrismContainer.class); return container != null ? container.getValue() : null; }
@Deprecated public static <T extends Containerable> ContainerDeltaImpl<T> createModificationReplace(ItemName containerName, PrismObjectDefinition<?> objectDefinition, PrismContainerValue... cValues) { ContainerDeltaImpl delta = createDelta(ItemName.fromQName(containerName), objectDefinition); delta.setValuesToReplace(cValues); return delta; }
protected void assertUserProperty(PrismObject<UserType> user, QName propertyName, Object... expectedPropValues) { PrismProperty<Object> property = user.findProperty(ItemName.fromQName(propertyName)); assert property != null : "No property "+propertyName+" in "+user; PrismAsserts.assertPropertyValue(property, expectedPropValues); }
public static <O extends Objectable> PropertyDelta createAddDelta(PrismContainerDefinition<O> containerDefinition, QName propertyName, Object... realValues) { PrismPropertyDefinition propertyDefinition = containerDefinition.findPropertyDefinition(ItemName.fromQName(propertyName)); if (propertyDefinition == null) { throw new IllegalArgumentException("No definition for "+propertyName+" in "+containerDefinition); } PropertyDelta delta = new PropertyDeltaImpl(ItemName.fromQName(propertyName), propertyDefinition, containerDefinition.getPrismContext()); // hoping the prismContext is there for (Object realVal: realValues) { delta.addValueToAdd(new PrismPropertyValueImpl<>(realVal)); } return delta; }
protected void assertPolyStringPropertyMulti(QName propName, String... expectedOrigs) { PrismProperty<PolyString> prop = getObject().findProperty(ItemName.fromQName(propName)); assertNotNull("No "+propName.getLocalPart()+" in "+desc(), prop); PrismAsserts.assertEqualsPolyStringMulti("Wrong "+propName.getLocalPart()+" in "+desc(), prop.getRealValues(), expectedOrigs); }
public static void assertItemDefinitionDisplayName(PrismContainerDefinition<?> containerDef, QName propertyName, String expectedDisplayName) { ItemDefinition definition = containerDef.findItemDefinition(ItemName.fromQName(propertyName)); assert equals(expectedDisplayName, definition.getDisplayName()) : "Wrong display name for item "+propertyName+", expected " + expectedDisplayName + ", was " + definition.getDisplayName(); }
public static void assertItemDefinitionDisplayOrder(ComplexTypeDefinition containerDef, QName propertyName, Integer expectedDisplayOrder) { ItemDefinition definition = containerDef.findItemDefinition(ItemName.fromQName(propertyName), ItemDefinition.class); assert equals(expectedDisplayOrder, definition.getDisplayOrder()) : "Wrong display order for item "+propertyName+", expected " + expectedDisplayOrder + ", was " + definition.getDisplayOrder(); }
public static void assertIndexed(PrismContainerDefinition<? extends Containerable> containerDef, QName itemQName, Boolean expected) { PrismPropertyDefinition propertyDefinition = containerDef.findPropertyDefinition(ItemName.fromQName(itemQName)); assertEquals("Wrong value of 'indexed' in property '"+PrettyPrinter.prettyPrint(itemQName)+" in "+containerDef, expected, propertyDefinition.isIndexed()); }
public static void assertReferenceReplace(ObjectDelta<?> objectDelta, QName refName, String... expectedOids) { ReferenceDelta refDelta = objectDelta.findReferenceModification(ItemName.fromQName(refName)); assertNotNull("Reference delta for "+refName+" not found",refDelta); assertOidSet("delta "+refDelta+" for "+refName, "replace", refDelta.getValuesToReplace(), expectedOids); }
protected <T> void assertPropertyEquals(QName propName, T expected) { PrismProperty<T> prop = getObject().findProperty(ItemName.fromQName(propName)); if (prop == null && expected == null) { return; } assertNotNull("No "+propName.getLocalPart()+" in "+desc(), prop); T realValue = prop.getRealValue(); assertNotNull("No value in "+propName.getLocalPart()+" in "+desc(), realValue); assertEquals("Wrong "+propName.getLocalPart()+" in "+desc(), expected, realValue); }
private <T> PropertyDelta<T> createPendingOperationDelta(PrismContainerDefinition<PendingOperationType> containerDefinition, ItemPath containerPath, QName propName, T valueToReplace) { PrismPropertyDefinition<T> propDef = containerDefinition.findPropertyDefinition(ItemName.fromQName(propName)); PropertyDelta<T> propDelta = prismContext.deltaFactory().property().create(containerPath.append(propName), propDef); if (valueToReplace == null) { propDelta.setValueToReplace(); } else { propDelta.setRealValuesToReplace(valueToReplace); } return propDelta; }