diff --git a/infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceAttributeContainerImpl.java b/infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceAttributeContainerImpl.java index d9641f0035e..a9f5b168d13 100644 --- a/infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceAttributeContainerImpl.java +++ b/infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceAttributeContainerImpl.java @@ -17,6 +17,7 @@ import com.evolveum.midpoint.prism.*; import com.evolveum.midpoint.prism.impl.PrismContainerImpl; import com.evolveum.midpoint.prism.path.ItemName; +import com.evolveum.midpoint.util.Checks; import com.evolveum.midpoint.util.exception.SchemaException; import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowAttributesType; import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowKindType; @@ -415,9 +416,20 @@ public void checkConsistenceInternal(Itemable rootItem, boolean requireDefinitio } } + @Override + public void applyDefinition(PrismContainerDefinition definition, boolean force) + throws SchemaException { + if (definition != null) { + Checks.checkSchema(definition instanceof ResourceAttributeContainerDefinition, "Definition should be %s not %s" , + ResourceAttributeContainerDefinition.class.getSimpleName(), definition.getClass().getName()); + } + super.applyDefinition(definition, force); + } + /** * Return a human readable name of this class suitable for logs. */ + @Override protected String getDebugDumpClassName() { return "RAC"; } diff --git a/infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceAttributeImpl.java b/infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceAttributeImpl.java index 1e697a9ff64..7e3bb24f233 100644 --- a/infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceAttributeImpl.java +++ b/infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceAttributeImpl.java @@ -11,7 +11,10 @@ import com.evolveum.midpoint.prism.CloneStrategy; import com.evolveum.midpoint.prism.PrismContext; +import com.evolveum.midpoint.prism.PrismPropertyDefinition; import com.evolveum.midpoint.prism.impl.PrismPropertyImpl; +import com.evolveum.midpoint.util.Checks; +import com.evolveum.midpoint.util.exception.SchemaException; /** * Resource Object Attribute is a Property of Resource Object. All that applies @@ -95,8 +98,17 @@ protected void copyValues(CloneStrategy strategy, ResourceAttributeImpl clone /** * Return a human readable name of this class suitable for logs. */ + @Override protected String getDebugDumpClassName() { return "RA"; } + @Override + public void applyDefinition(PrismPropertyDefinition definition, boolean force) throws SchemaException { + if (definition != null) { + Checks.checkSchema(definition instanceof ResourceAttributeDefinition, "Definition should be %s not %s" , + ResourceAttributeDefinition.class.getSimpleName(), definition.getClass().getName()); + } + super.applyDefinition(definition, force); + } } diff --git a/infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/SpecificAttributesDefinition.java b/infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/SpecificAttributesDefinition.java index 337d3f296ae..1812c480b9e 100644 --- a/infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/SpecificAttributesDefinition.java +++ b/infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/SpecificAttributesDefinition.java @@ -9,7 +9,10 @@ /** * @author mederly + * + * @deprecated Unused */ +@Deprecated public interface SpecificAttributesDefinition> {