protected RefinedAttributeDefinition getAttributeDefinition(ResourceType resourceType, ShadowKindType kind, QName objectClassName, String attributeLocalName) throws SchemaException { RefinedResourceSchema refinedResourceSchema = RefinedResourceSchemaImpl.getRefinedSchema(resourceType); RefinedObjectClassDefinition refinedObjectClassDefinition = refinedResourceSchema.findRefinedDefinitionByObjectClassQName(kind, objectClassName); return refinedObjectClassDefinition.findAttributeDefinition(attributeLocalName); }
@Override public LayerRefinedObjectClassDefinition getRefinedDefinition(ShadowKindType kind, String intent) { return LayerRefinedObjectClassDefinitionImpl .wrap(refinedResourceSchema.getRefinedDefinition(kind, intent), layer); }
public static LayerRefinedResourceSchema getRefinedSchema(PrismObject<ResourceType> resource, LayerType layer, PrismContext prismContext) throws SchemaException { RefinedResourceSchema refinedSchema = getRefinedSchema(resource, prismContext); if (refinedSchema == null) { return null; } return refinedSchema.forLayer(layer); }
protected ResourceAttributeDefinition getAttributeDefinition(PrismObject<ResourceType> resource, QName attributeName) throws SchemaException { RefinedResourceSchema refinedSchema = RefinedResourceSchemaImpl.getRefinedSchema(resource); if (refinedSchema == null) { throw new SchemaException("No refined schema for "+resource); } RefinedObjectClassDefinition accountDefinition = refinedSchema.getDefaultRefinedDefinition(ShadowKindType.ACCOUNT); return accountDefinition.findAttributeDefinition(attributeName); }
public static String refineProjectionIntent(ShadowKindType kind, String intent, ResourceType resource, PrismContext prismContext) throws SchemaException { RefinedResourceSchema refinedSchema = RefinedResourceSchemaImpl.getRefinedSchema(resource, LayerType.MODEL, prismContext); RefinedObjectClassDefinition rObjClassDef = refinedSchema.getRefinedDefinition(kind, intent); if (rObjClassDef == null) { throw new SchemaException("No projection definition for kind="+kind+" intent="+intent+" in "+resource); } return rObjClassDef.getIntent(); }
@Override public LayerRefinedObjectClassDefinition getDefaultRefinedDefinition(ShadowKindType kind) { return LayerRefinedObjectClassDefinitionImpl .wrap(refinedResourceSchema.getDefaultRefinedDefinition(kind), layer); }
@Override public LayerRefinedAttributeDefinition<?> findAttributeDefinition(String elementLocalname) { return LayerRefinedAttributeDefinitionImpl.wrap(refinedObjectClassDefinition.findAttributeDefinition(elementLocalname), layer); }
public List<? extends RefinedObjectClassDefinition> getRefinedDefinitions(ShadowKindType kind) { return LayerRefinedObjectClassDefinitionImpl .wrapCollection(refinedResourceSchema.getRefinedDefinitions(kind), layer); }
@Override public <X> LayerRefinedAttributeDefinition<X> getNamingAttribute() { return substituteLayerRefinedAttributeDefinition(refinedObjectClassDefinition.getNamingAttribute()); }
public LayerRefinedObjectClassDefinition findRefinedDefinitionByObjectClassQName(ShadowKindType kind, QName objectClass) { return LayerRefinedObjectClassDefinitionImpl .wrap(refinedResourceSchema.findRefinedDefinitionByObjectClassQName(kind, objectClass), layer); }
@Override public ResourcePasswordDefinitionType getPasswordDefinition() { return findInDefinitions(def -> def.getPasswordDefinition()); }
private void assertLayerRefinedSchema(ResourceType resourceType, RefinedResourceSchema rSchema, LayerType sourceLayer, LayerType validationLayer, boolean assertEntitlements, boolean assertPasswordPolicy) { System.out.println("Refined schema: layer="+sourceLayer); LayerRefinedResourceSchema lrSchema = rSchema.forLayer(sourceLayer); System.out.println(lrSchema.debugDump()); assertRefinedSchema(resourceType, lrSchema, sourceLayer, validationLayer, assertEntitlements, assertPasswordPolicy); }
@Override public <X> LayerRefinedAttributeDefinition<X> getDisplayNameAttribute() { return substituteLayerRefinedAttributeDefinition(refinedObjectClassDefinition.getDisplayNameAttribute()); }
@Override public <X> LayerRefinedAttributeDefinition<X> getDescriptionAttribute() { // TODO optimize return substituteLayerRefinedAttributeDefinition(refinedObjectClassDefinition.getDescriptionAttribute()); }
@Override public RefinedAttributeDefinition<T> deepClone(Map<QName, ComplexTypeDefinition> ctdMap, Map<QName, ComplexTypeDefinition> onThisPath, Consumer<ItemDefinition> postCloneAction) { return new LayerRefinedAttributeDefinitionImpl<>(refinedAttributeDefinition.deepClone(ctdMap, onThisPath, postCloneAction), layer); }
@Override public Collection<? extends LayerRefinedAttributeDefinition<?>> getAllIdentifiers() { return substituteLayerRefinedAttributeDefinitionCollection(refinedObjectClassDefinition.getAllIdentifiers()); }
@Override public boolean isShared() { if (refinedObjectClassDefinition != null) { return refinedObjectClassDefinition.isShared(); } else { return true; // ok? } }
protected RefinedAttributeDefinition getAttributeDefinition(ResourceType resourceType, ShadowKindType kind, QName objectClassName, String attributeLocalName) throws SchemaException { RefinedResourceSchema refinedResourceSchema = RefinedResourceSchemaImpl.getRefinedSchema(resourceType); RefinedObjectClassDefinition refinedObjectClassDefinition = refinedResourceSchema.findRefinedDefinitionByObjectClassQName(kind, objectClassName); return refinedObjectClassDefinition.findAttributeDefinition(attributeLocalName); }
@Override public LayerRefinedObjectClassDefinition getRefinedDefinition(ShadowKindType kind, ShadowType shadow) { return LayerRefinedObjectClassDefinitionImpl .wrap(refinedResourceSchema.getRefinedDefinition(kind, shadow), layer); }
@Override public LayerRefinedObjectClassDefinition getRefinedDefinition(QName typeName) { return LayerRefinedObjectClassDefinitionImpl .wrap(refinedResourceSchema.getRefinedDefinition(typeName), layer); }