public static <T> PrismProperty<T> createRaw(@NotNull XNode node, @NotNull QName itemName, PrismContext prismContext) throws SchemaException { Validate.isTrue(!(node instanceof RootXNode)); PrismProperty<T> property = prismContext.itemFactory().createProperty(itemName); if (node instanceof ListXNode) { for (XNode subnode : ((ListXNode) node).asList()) { property.add(createRaw(subnode, prismContext)); } } else { property.add(createRaw(node, prismContext)); } return property; }
property.add((PrismPropertyValue) val.clone());
configurationProperty.add(extraValue);
PrismPropertyValue<T> pval = parsePropertyValue(node, itemDefinition, pc); if (pval != null) { property.add(pval);
public static <T,X> PrismProperty<X> convertProperty(PrismProperty<T> srcProp, PrismPropertyDefinition<X> targetDef, PrismContext prismContext) throws SchemaException { if (targetDef.getTypeName().equals(srcProp.getDefinition().getTypeName())) { return (PrismProperty<X>) srcProp; } else { PrismProperty<X> targetProp = targetDef.instantiate(); Class<X> expectedJavaType = XsdTypeMapper.toJavaType(targetDef.getTypeName()); for (PrismPropertyValue<T> srcPVal: srcProp.getValues()) { X convertedRealValue = JavaTypeConverter.convert(expectedJavaType, srcPVal.getValue()); targetProp.add(prismContext.itemFactory().createPropertyValue(convertedRealValue)); } return targetProp; } }
@NotNull private ItemDeltaItem<PrismPropertyValue<Boolean>, PrismPropertyDefinition<Boolean>> createBooleanIdi( QName propertyName, Boolean old, Boolean current) throws SchemaException { MutablePrismPropertyDefinition<Boolean> definition = prismContext.definitionFactory().createPropertyDefinition(propertyName, DOMUtil.XSD_BOOLEAN); definition.setMinOccurs(1); definition.setMaxOccurs(1); PrismProperty<Boolean> property = definition.instantiate(); property.add(prismContext.itemFactory().createPropertyValue(current)); if (current == old) { return new ItemDeltaItem<>(property); } else { PrismProperty<Boolean> propertyOld = property.clone(); propertyOld.setRealValue(old); PropertyDelta<Boolean> delta = propertyOld.createDelta(); delta.setValuesToReplace(prismContext.itemFactory().createPropertyValue(current)); return new ItemDeltaItem<>(propertyOld, delta, property); } }
PrismProperty<Boolean> existsProp = existsDef.instantiate(); existsProp.add(prismContext.itemFactory().createPropertyValue(existsNew));