public static void setAttribute(PrismObject<ShadowType> account, QName attrName, QName typeName, PrismContext prismContext, String value) throws SchemaException { PrismContainer<Containerable> attributesContainer = account.findContainer(ShadowType.F_ATTRIBUTES); ResourceAttributeDefinition attrDef = ObjectFactory.createResourceAttributeDefinition(attrName, typeName, prismContext); ResourceAttribute attribute = attrDef.instantiate(); attribute.setRealValue(value); attributesContainer.add(attribute); }
public static Collection<ResourceAttribute<?>> convertToIdentifiers(Uid uid, ObjectClassComplexTypeDefinition ocDef, ResourceSchema resourceSchema) throws SchemaException { ObjectClassComplexTypeDefinition concreteObjectClassDefinition = getConcreteObjectClassDefinition(ocDef, resourceSchema); if (concreteObjectClassDefinition == null) { throw new SchemaException("Concrete object class of "+ocDef+" cannot be found"); } ResourceAttributeDefinition<String> uidDefinition = getUidDefinition(concreteObjectClassDefinition); if (uidDefinition == null) { throw new SchemaException("No definition for ConnId UID attribute found in definition " + ocDef); } Collection<ResourceAttribute<?>> identifiers = new ArrayList<>(2); ResourceAttribute<String> uidRoa = uidDefinition.instantiate(); uidRoa.setRealValue(uid.getUidValue()); identifiers.add(uidRoa); if (uid.getNameHint() != null) { ResourceAttributeDefinition<String> nameDefinition = getNameDefinition(concreteObjectClassDefinition); if (nameDefinition == null) { throw new SchemaException("No definition for ConnId NAME attribute found in definition " + ocDef); } ResourceAttribute<String> nameRoa = nameDefinition.instantiate(); nameRoa.setRealValue(uid.getNameHintValue()); identifiers.add(nameRoa); } return identifiers; }
private PrismProperty createProperty(String propertyName, String propertyValue) { ObjectClassComplexTypeDefinition accountDefinition = resourceSchema.findObjectClassDefinition( new QName(ResourceTypeUtil.getResourceNamespace(resourceType), OpenDJController.OBJECT_CLASS_INETORGPERSON_NAME)); ResourceAttributeDefinition propertyDef = accountDefinition.findAttributeDefinition(new QName( ResourceTypeUtil.getResourceNamespace(resourceType), propertyName)); ResourceAttribute property = propertyDef.instantiate(); property.setRealValue(propertyValue); return property; }
private ResourceAttribute<String> createStringAttribute(QName attrName, String value) { ResourceAttributeDefinition testAttrDef = new ResourceAttributeDefinitionImpl(attrName, DOMUtil.XSD_STRING, getPrismContext()); ResourceAttribute<String> testAttr = testAttrDef.instantiate(); testAttr.setRealValue(value); return testAttr; }
protected <T> void addAttributeToShadow(PrismObject<ShadowType> shadow, PrismObject<ResourceType> resource, String attrName, T attrValue) throws SchemaException { ResourceAttributeContainer attrs = ShadowUtil.getAttributesContainer(shadow); ResourceAttributeDefinition attrSnDef = attrs.getDefinition().findAttributeDefinition( new ItemName(ResourceTypeUtil.getResourceNamespace(resource), attrName)); ResourceAttribute<T> attr = attrSnDef.instantiate(); attr.setRealValue(attrValue); attrs.add(attr); }
private ResourceAttributeContainer createResourceObject(String dn, String sn, String cn) throws SchemaException { // Account type is hardcoded now ObjectClassComplexTypeDefinition accountDefinition = resourceSchema .findObjectClassDefinition(new QName(ResourceTypeUtil.getResourceNamespace(resourceType), OpenDJController.OBJECT_CLASS_INETORGPERSON_NAME)); // Determine identifier from the schema ResourceAttributeContainer resourceObject = accountDefinition.instantiate(ShadowType.F_ATTRIBUTES); ResourceAttributeDefinition road = accountDefinition.findAttributeDefinition( new QName(ResourceTypeUtil.getResourceNamespace(resourceType), "sn")); ResourceAttribute roa = road.instantiate(); roa.setRealValue(sn); resourceObject.add(roa); road = accountDefinition.findAttributeDefinition(new QName(ResourceTypeUtil.getResourceNamespace(resourceType), "cn")); roa = road.instantiate(); roa.setRealValue(cn); resourceObject.add(roa); road = accountDefinition.findAttributeDefinition( new QName(ResourceTypeUtil.getResourceNamespace(resourceType), OpenDJController.RESOURCE_OPENDJ_SECONDARY_IDENTIFIER_LOCAL_NAME)); roa = road.instantiate(); roa.setRealValue(dn); resourceObject.add(roa); return resourceObject; }
ResourceAttribute<String> attribute = attributeDefinition.instantiate(); attribute.setRealValue("uid=" + name + ",ou=people,dc=example,dc=com"); resourceObject.add(attribute); attribute = attributeDefinition.instantiate(); attribute.setRealValue(familyName); resourceObject.add(attribute); attribute = attributeDefinition.instantiate(); attribute.setRealValue(givenName + " " + familyName); resourceObject.add(attribute); attribute = attributeDefinition.instantiate(); attribute.setRealValue(givenName); resourceObject.add(attribute);
private ResourceAttribute<?> getSimulatedActivationLockoutStatusAttribute(ProvisioningContext ctx, ShadowType shadow, ActivationLockoutStatusCapabilityType capActStatus, OperationResult result) throws ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, ExpressionEvaluationException{ QName enableAttributeName = capActStatus.getAttribute(); LOGGER.trace("Simulated lockout attribute name: {}", enableAttributeName); if (enableAttributeName == null) { result.recordWarning("Resource " + ObjectTypeUtil.toShortString(ctx.getResource()) + " does not have attribute specification for simulated activation lockout capability. Processing of activation for "+ shadow +" was skipped"); shadow.setFetchResult(result.createOperationResultType()); return null; } ResourceAttributeDefinition enableAttributeDefinition = ctx.getObjectClassDefinition() .findAttributeDefinition(enableAttributeName); if (enableAttributeDefinition == null) { result.recordWarning("Resource " + ObjectTypeUtil.toShortString(ctx.getResource()) + " attribute for simulated activation/lockout capability" + enableAttributeName + " in not present in the schema for objeclass " + ctx.getObjectClassDefinition()+". Processing of activation for "+ ObjectTypeUtil.toShortString(shadow)+" was skipped"); shadow.setFetchResult(result.createOperationResultType()); return null; } return enableAttributeDefinition.instantiate(enableAttributeName); }
private <T> ResourceAttribute<T> getSimulatedActivationAdministrativeStatusAttribute(ProvisioningContext ctx, ShadowType shadow, ActivationStatusCapabilityType capActStatus, OperationResult result) throws ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, ExpressionEvaluationException { if (capActStatus == null){ return null; } ResourceType resource = ctx.getResource(); QName enableAttributeName = capActStatus.getAttribute(); LOGGER.trace("Simulated attribute name: {}", enableAttributeName); if (enableAttributeName == null) { result.recordWarning("Resource " + ObjectTypeUtil.toShortString(resource) + " does not have attribute specification for simulated activation status capability. Processing of activation for "+ shadow +" was skipped"); shadow.setFetchResult(result.createOperationResultType()); return null; } ResourceAttributeDefinition<T> enableAttributeDefinition = ctx.getObjectClassDefinition() .findAttributeDefinition(enableAttributeName); if (enableAttributeDefinition == null) { result.recordWarning("Resource " + ObjectTypeUtil.toShortString(resource) + " attribute for simulated activation/enableDisable capability" + enableAttributeName + " in not present in the schema for objeclass " + ctx.getObjectClassDefinition()+". Processing of activation for "+ ObjectTypeUtil.toShortString(shadow)+" was skipped"); shadow.setFetchResult(result.createOperationResultType()); return null; } return enableAttributeDefinition.instantiate(enableAttributeName); }
ObjectClassComplexTypeDefinition defaultAccountDefinition = resourceSchema.findDefaultObjectClassDefinition(ShadowKindType.ACCOUNT); ResourceAttributeDefinition fullnameAttrDef = defaultAccountDefinition.findAttributeDefinition("fullname"); ResourceAttribute fullnameAttr = fullnameAttrDef.instantiate(); PropertyDelta fullnameDelta = fullnameAttr.createDelta(ItemPath.create(ShadowType.F_ATTRIBUTES, fullnameAttrDef.getName()));
ResourceAttribute<Object> resourceAttribute = attributeDefinition.instantiate(qname); ResourceAttribute<String> uidRoa = uidDefinition.instantiate(); uidRoa.setRealValue(uid.getUidValue()); attributesContainer.getValue().add(uidRoa);