You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2015/02/05 17:59:14 UTC
[3/4] isis git commit: ISIS-1027: first cut impl, still to test
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFactory.java
index 1bd5733..8d27f74 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFactory.java
@@ -20,17 +20,24 @@
package org.apache.isis.core.metamodel.facets.members.named.annotprop;
import java.util.Properties;
-
import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
+
+public class NamedFacetOnMemberFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory, MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(Named.class);
-public class NamedFacetOnMemberFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
public NamedFacetOnMemberFactory() {
super(FeatureType.MEMBERS);
@@ -40,7 +47,7 @@ public class NamedFacetOnMemberFactory extends FacetFactoryAbstract implements C
public void process(final ProcessMethodContext processMethodContext) {
NamedFacet namedFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
if(namedFacet == null) {
- namedFacet = createFromAnnotationIfPossible(processMethodContext);
+ namedFacet = validator.invalidIfPresent(createFromAnnotationIfPossible(processMethodContext));
}
// no-op if null
FacetUtil.addFacet(namedFacet);
@@ -66,4 +73,15 @@ public class NamedFacetOnMemberFactory extends FacetFactoryAbstract implements C
final Named annotation = Annotations.getAnnotation(processMethodContext.getMethod(), Named.class);
return annotation != null ? new NamedFacetOnMemberAnnotation(annotation.value(), processMethodContext.getFacetHolder()) : null;
}
+
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/staticmethod/NamedFacetStaticMethodFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/staticmethod/NamedFacetStaticMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/staticmethod/NamedFacetStaticMethodFactory.java
index 4a953c5..6d5a8de 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/staticmethod/NamedFacetStaticMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/staticmethod/NamedFacetStaticMethodFactory.java
@@ -20,28 +20,33 @@
package org.apache.isis.core.metamodel.facets.members.named.staticmethod;
import java.lang.reflect.Method;
-
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.commons.lang.MethodExtensions;
import org.apache.isis.core.commons.lang.StringExtensions;
import org.apache.isis.core.metamodel.exceptions.MetaModelException;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
-import org.apache.isis.core.metamodel.methodutils.MethodScope;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
+import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedMethodPrefix;
/**
* Sets up a {@link NamedFacet} if a {@value MethodPrefixConstants#NAME_PREFIX}
* -prefixed method is present.
*/
-public class NamedFacetStaticMethodFactory extends MethodPrefixBasedFacetFactoryAbstract {
+public class NamedFacetStaticMethodFactory extends MethodPrefixBasedFacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
private static final String[] PREFIXES = { MethodPrefixConstants.NAME_PREFIX };
+ private final MetaModelValidatorForDeprecatedMethodPrefix validator = new MetaModelValidatorForDeprecatedMethodPrefix(PREFIXES[0]);
+
/**
* Note that the {@link Facet}s registered are the generic ones from
* noa-architecture (where they exist)
@@ -62,7 +67,7 @@ public class NamedFacetStaticMethodFactory extends MethodPrefixBasedFacetFactory
}
- public static void attachNamedFacetIfNamedMethodIsFound(final ProcessMethodContext processMethodContext) {
+ public void attachNamedFacetIfNamedMethodIsFound(final ProcessMethodContext processMethodContext) {
final Method method = processMethodContext.getMethod();
final String capitalizedName = StringExtensions.asJavaBaseNameStripAccessorPrefixIfRequired(method.getName());
@@ -77,7 +82,7 @@ public class NamedFacetStaticMethodFactory extends MethodPrefixBasedFacetFactory
final String name = invokeNameMethod(nameMethod);
final FacetHolder facetHolder = processMethodContext.getFacetHolder();
- FacetUtil.addFacet(new NamedFacetStaticMethod(name, nameMethod, facetHolder));
+ validator.addFacet(new NamedFacetStaticMethod(name, nameMethod, facetHolder));
}
private static String invokeNameMethod(final Method nameMethod) {
@@ -93,4 +98,16 @@ public class NamedFacetStaticMethodFactory extends MethodPrefixBasedFacetFactory
return name;
}
+
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetOrResolveFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetOrResolveFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetOrResolveFactory.java
index f4633d9..9164319 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetOrResolveFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetOrResolveFactory.java
@@ -20,18 +20,26 @@
package org.apache.isis.core.metamodel.facets.members.render.annotprop;
import java.util.Properties;
-
import org.apache.isis.applib.annotation.Render;
+import org.apache.isis.applib.annotation.Resolve;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.members.render.RenderFacet;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
public class RenderFacetOrResolveFactory extends FacetFactoryAbstract
- implements ContributeeMemberFacetFactory {
+ implements ContributeeMemberFacetFactory, MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation renderValidator = new MetaModelValidatorForDeprecatedAnnotation(Render.class);
+ private final MetaModelValidatorForDeprecatedAnnotation resolveValidator = new MetaModelValidatorForDeprecatedAnnotation(Resolve.class);
public RenderFacetOrResolveFactory() {
super(FeatureType.MEMBERS);
@@ -42,10 +50,10 @@ public class RenderFacetOrResolveFactory extends FacetFactoryAbstract
RenderFacet renderFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
if(renderFacet == null) {
- renderFacet = createFromRenderAnnotationIfPossible(processMethodContext);
+ renderFacet = renderValidator.invalidIfPresent(createFromRenderAnnotationIfPossible(processMethodContext));
}
if(renderFacet == null) {
- renderFacet = createFromResolveAnnotationIfPossible(processMethodContext);
+ renderFacet = resolveValidator.invalidIfPresent(createFromResolveAnnotationIfPossible(processMethodContext));
}
// no-op if null
@@ -80,4 +88,18 @@ public class RenderFacetOrResolveFactory extends FacetFactoryAbstract
Annotations.getAnnotation(processMethodContext.getMethod(), org.apache.isis.applib.annotation.Resolve.class);
return resolveAnnotation == null ? null : new RenderFacetViaResolveAnnotation(processMethodContext.getFacetHolder(), resolveAnnotation.value());
}
+
+
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(renderValidator);
+ metaModelValidator.add(resolveValidator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ renderValidator.setConfiguration(configuration);
+ resolveValidator.setConfiguration(configuration);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactory.java
index 60a079c..75ba412 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactory.java
@@ -30,9 +30,8 @@ import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorAbstract;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
-import org.apache.isis.core.metamodel.specloader.validator.ValidationFailures;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForValidationFailures;
public class ViewModelSemanticCheckingFacetFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner {
@@ -41,7 +40,7 @@ public class ViewModelSemanticCheckingFacetFactory extends FacetFactoryAbstract
super(FeatureType.OBJECTS_ONLY);
}
- private final ValidationFailures failures = new ValidationFailures();
+ private final MetaModelValidatorForValidationFailures validator = new MetaModelValidatorForValidationFailures();
@Override
public void process(final ProcessClassContext processClassContext) {
@@ -61,7 +60,7 @@ public class ViewModelSemanticCheckingFacetFactory extends FacetFactoryAbstract
final boolean annotatedWithViewModel = viewModel != null;
if(implementsViewModel && implementsRecreatableDomainObject) {
- failures.add(
+ validator.addFailure(
"Inconsistent view model / domain object semantics; %s should not implement both %s and %s interfaces (implement one or the other)",
cls.getName(),
org.apache.isis.applib.ViewModel.class.getSimpleName(),
@@ -69,17 +68,17 @@ public class ViewModelSemanticCheckingFacetFactory extends FacetFactoryAbstract
}
if(implementsViewModel && annotatedWithDomainObject) {
- failures.add(
+ validator.addFailure(
"Inconsistent view model / domain object semantics; %1$s should not implement %2$s and be annotated with @%3$s (annotate with %4$s instead of %2$s, or implement %6s instead of %2$s)",
cls.getName(),
org.apache.isis.applib.ViewModel.class.getSimpleName(),
DomainObject.class.getSimpleName(),
ViewModel.class.getSimpleName(),
RecreatableDomainObject.class.getSimpleName()
- );
+ );
}
if(implementsViewModel && annotatedWithDomainObjectLayout) {
- failures.add(
+ validator.addFailure(
"Inconsistent view model / domain object semantics; %1$s should not implement %2$s and be annotated with @%3$s (annotate with @%4$s instead of %3$s, or implement %5$s instead of %2$s)",
cls.getName(),
org.apache.isis.applib.ViewModel.class.getSimpleName(),
@@ -90,7 +89,7 @@ public class ViewModelSemanticCheckingFacetFactory extends FacetFactoryAbstract
if(annotatedWithViewModel && implementsRecreatableDomainObject) {
- failures.add(
+ validator.addFailure(
"Inconsistent view model / domain object semantics; %1$s should not be annotated with @%2$s but implement @%3$s (implement %4$s instead of %3$s, or annotate with @%5$s with nature of %6s, %7s or %8s instead of annotating with @%2$s)",
cls.getName(),
org.apache.isis.applib.annotation.ViewModel.class.getSimpleName(),
@@ -103,7 +102,7 @@ public class ViewModelSemanticCheckingFacetFactory extends FacetFactoryAbstract
);
}
if(annotatedWithViewModel && annotatedWithDomainObject) {
- failures.add(
+ validator.addFailure(
"Inconsistent view model / domain object semantics; %1$s should not be annotated with both @%2$s and @%3$s (annotate with one or the other)",
cls.getName(),
org.apache.isis.applib.annotation.ViewModel.class.getSimpleName(),
@@ -111,7 +110,7 @@ public class ViewModelSemanticCheckingFacetFactory extends FacetFactoryAbstract
}
if(annotatedWithViewModel && annotatedWithDomainObjectLayout) {
- failures.add(
+ validator.addFailure(
"Inconsistent view model / domain object semantics; %1$s should not be annotated with both @%2$s and @%3$s (annotate with @%4$s instead of @%3$s, or annotate with @%5$s instead of @%2$s)",
cls.getName(),
org.apache.isis.applib.annotation.ViewModel.class.getSimpleName(),
@@ -121,7 +120,7 @@ public class ViewModelSemanticCheckingFacetFactory extends FacetFactoryAbstract
}
if(annotatedWithViewModelLayout && implementsRecreatableDomainObject) {
- failures.add(
+ validator.addFailure(
"Inconsistent view model / domain object semantics; %1$s should not be annotated with @%2$s but implement @%3$s (implement %4$s instead of %3$s, or annotate with %5$s instead of %2$s)",
cls.getName(),
org.apache.isis.applib.annotation.ViewModelLayout.class.getSimpleName(),
@@ -130,7 +129,7 @@ public class ViewModelSemanticCheckingFacetFactory extends FacetFactoryAbstract
DomainObjectLayout.class.getSimpleName());
}
if(annotatedWithViewModelLayout && annotatedWithDomainObject) {
- failures.add(
+ validator.addFailure(
"Inconsistent view model / domain object semantics; %1$s should not be annotated with @%2$s and also be annotated with @%3$s (annotate with @%4$s instead of @%3$s, or instead annotate with @%5$s instead of @%2$s)",
cls.getName(),
org.apache.isis.applib.annotation.ViewModelLayout.class.getSimpleName(),
@@ -139,7 +138,7 @@ public class ViewModelSemanticCheckingFacetFactory extends FacetFactoryAbstract
DomainObjectLayout.class.getSimpleName());
}
if(annotatedWithViewModelLayout && annotatedWithDomainObjectLayout) {
- failures.add(
+ validator.addFailure(
"Inconsistent view model / domain object semantics; %1$s should not be annotated with both @%2$s and @%3$s (annotate with one or the other)",
cls.getName(),
org.apache.isis.applib.annotation.ViewModel.class.getSimpleName(),
@@ -150,7 +149,7 @@ public class ViewModelSemanticCheckingFacetFactory extends FacetFactoryAbstract
if( annotatedWithDomainObject &&
(domainObject.nature() == Nature.NOT_SPECIFIED || domainObject.nature() == Nature.JDO_ENTITY) &&
implementsRecreatableDomainObject) {
- failures.add(
+ validator.addFailure(
"Inconsistent view model / domain object semantics; %1$s should not be annotated with @%2$s with nature of %3$s and also implement %4$s (specify a nature of %5$s, %6$s or %7$s)",
cls.getName(),
DomainObject.class.getSimpleName(),
@@ -164,13 +163,7 @@ public class ViewModelSemanticCheckingFacetFactory extends FacetFactoryAbstract
@Override
public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
- if(failures.occurred()) {
- metaModelValidator.add(new MetaModelValidatorAbstract() {
- @Override
- public void validate(final ValidationFailures validationFailures) {
- validationFailures.addAll(failures);
- }
- });
- }
+ metaModelValidator.add(validator);
}
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/actionorder/annotation/ActionOrderFacetAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/actionorder/annotation/ActionOrderFacetAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/actionorder/annotation/ActionOrderFacetAnnotationFactory.java
index 16eb608..3fe4642 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/actionorder/annotation/ActionOrderFacetAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/actionorder/annotation/ActionOrderFacetAnnotationFactory.java
@@ -20,27 +20,43 @@
package org.apache.isis.core.metamodel.facets.object.actionorder.annotation;
import org.apache.isis.applib.annotation.ActionOrder;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.object.actionorder.ActionOrderFacet;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-public class ActionOrderFacetAnnotationFactory extends FacetFactoryAbstract {
+public class ActionOrderFacetAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(ActionOrder.class);
public ActionOrderFacetAnnotationFactory() {
super(FeatureType.OBJECTS_ONLY);
}
@Override
- public void process(final ProcessClassContext processClassContaxt) {
- final ActionOrder annotation = Annotations.getAnnotation(processClassContaxt.getCls(), ActionOrder.class);
- FacetUtil.addFacet(create(annotation, processClassContaxt.getFacetHolder()));
+ public void process(final ProcessClassContext processClassContext) {
+ final ActionOrder annotation = Annotations.getAnnotation(processClassContext.getCls(), ActionOrder.class);
+ validator.addFacet(create(annotation, processClassContext.getFacetHolder()));
}
private ActionOrderFacet create(final ActionOrder annotation, final FacetHolder facetHolder) {
return annotation == null ? null : new ActionOrderFacetAnnotation(annotation.value(), facetHolder);
}
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/annotation/AutoCompleteFacetAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/annotation/AutoCompleteFacetAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/annotation/AutoCompleteFacetAnnotationFactory.java
index 51c942e..128968d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/annotation/AutoCompleteFacetAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/autocomplete/annotation/AutoCompleteFacetAnnotationFactory.java
@@ -20,19 +20,25 @@
package org.apache.isis.core.metamodel.facets.object.autocomplete.annotation;
import org.apache.isis.applib.annotation.AutoComplete;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.object.autocomplete.AutoCompleteFacet;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjectorAware;
import org.apache.isis.core.metamodel.spec.SpecificationLoaderAware;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-public class AutoCompleteFacetAnnotationFactory extends FacetFactoryAbstract implements AdapterManagerAware, ServicesInjectorAware, SpecificationLoaderAware {
+public class AutoCompleteFacetAnnotationFactory extends FacetFactoryAbstract implements AdapterManagerAware, ServicesInjectorAware, SpecificationLoaderAware, MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(AutoComplete.class);
private AdapterManager adapterManager;
private ServicesInjector servicesInjector;
@@ -44,7 +50,7 @@ public class AutoCompleteFacetAnnotationFactory extends FacetFactoryAbstract imp
@Override
public void process(final ProcessClassContext processClassContext) {
final AutoComplete annotation = Annotations.getAnnotation(processClassContext.getCls(), AutoComplete.class);
- FacetUtil.addFacet(create(annotation, processClassContext.getFacetHolder()));
+ validator.addFacet(create(annotation, processClassContext.getFacetHolder()));
}
private AutoCompleteFacet create(final AutoComplete annotation, final FacetHolder holder) {
@@ -57,6 +63,13 @@ public class AutoCompleteFacetAnnotationFactory extends FacetFactoryAbstract imp
}
@Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ // //////////////////////////////////////
+
+ @Override
public void setAdapterManager(AdapterManager adapterManager) {
this.adapterManager = adapterManager;
}
@@ -66,4 +79,9 @@ public class AutoCompleteFacetAnnotationFactory extends FacetFactoryAbstract imp
this.servicesInjector = servicesInjector;
}
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/bookmarkable/BookmarkPolicyFacetViaBookmarkableAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/bookmarkable/BookmarkPolicyFacetViaBookmarkableAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/bookmarkable/BookmarkPolicyFacetViaBookmarkableAnnotationFactory.java
index 0a81675..be9ab8a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/bookmarkable/BookmarkPolicyFacetViaBookmarkableAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/bookmarkable/BookmarkPolicyFacetViaBookmarkableAnnotationFactory.java
@@ -20,13 +20,12 @@
package org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.bookmarkable;
import java.util.List;
-
import org.apache.isis.applib.annotation.ActionSemantics.Of;
import org.apache.isis.applib.annotation.BookmarkPolicy;
import org.apache.isis.applib.annotation.Bookmarkable;
import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
@@ -38,10 +37,13 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.Contributed;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorVisiting;
import org.apache.isis.core.metamodel.specloader.validator.ValidationFailures;
-public class BookmarkPolicyFacetViaBookmarkableAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner {
+public class BookmarkPolicyFacetViaBookmarkableAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(Bookmarkable.class);
public BookmarkPolicyFacetViaBookmarkableAnnotationFactory() {
super(FeatureType.OBJECTS_AND_ACTIONS);
@@ -50,13 +52,13 @@ public class BookmarkPolicyFacetViaBookmarkableAnnotationFactory extends FacetFa
@Override
public void process(final ProcessClassContext processClassContext) {
final Bookmarkable annotation = Annotations.getAnnotation(processClassContext.getCls(), Bookmarkable.class);
- FacetUtil.addFacet(create(annotation, processClassContext.getFacetHolder()));
+ validator.addFacet(create(annotation, processClassContext.getFacetHolder()));
}
@Override
public void process(final ProcessMethodContext processMethodContext) {
final Bookmarkable annotation = Annotations.getAnnotation(processMethodContext.getMethod(), Bookmarkable.class);
- FacetUtil.addFacet(create(annotation, processMethodContext.getFacetHolder()));
+ validator.addFacet(create(annotation, processMethodContext.getFacetHolder()));
}
private BookmarkPolicyFacet create(final Bookmarkable annotation, final FacetHolder holder) {
@@ -92,6 +94,13 @@ public class BookmarkPolicyFacetViaBookmarkableAnnotationFactory extends FacetFa
return true;
}
}));
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
}
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/annotation/CssClassFacetOnTypeAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/annotation/CssClassFacetOnTypeAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/annotation/CssClassFacetOnTypeAnnotationFactory.java
index e97602c..d075550 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/annotation/CssClassFacetOnTypeAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/annotation/CssClassFacetOnTypeAnnotationFactory.java
@@ -20,14 +20,21 @@
package org.apache.isis.core.metamodel.facets.object.cssclass.annotation;
import org.apache.isis.applib.annotation.CssClass;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-public class CssClassFacetOnTypeAnnotationFactory extends FacetFactoryAbstract {
+public class CssClassFacetOnTypeAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(CssClass.class);
public CssClassFacetOnTypeAnnotationFactory() {
super(FeatureType.OBJECTS_ONLY);
@@ -36,10 +43,21 @@ public class CssClassFacetOnTypeAnnotationFactory extends FacetFactoryAbstract {
@Override
public void process(final ProcessClassContext processClassContext) {
final CssClass annotation = Annotations.getAnnotation(processClassContext.getCls(), CssClass.class);
- FacetUtil.addFacet(create(annotation, processClassContext.getFacetHolder()));
+ validator.addFacet(create(annotation, processClassContext.getFacetHolder()));
}
private static CssClassFacet create(final CssClass annotation, final FacetHolder holder) {
return annotation == null ? null : new CssClassFacetOnTypeAnnotation(annotation, holder);
}
+
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclassfa/annotation/CssClassFaFacetOnTypeAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclassfa/annotation/CssClassFaFacetOnTypeAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclassfa/annotation/CssClassFaFacetOnTypeAnnotationFactory.java
index ef537c9..4ed7218 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclassfa/annotation/CssClassFaFacetOnTypeAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclassfa/annotation/CssClassFaFacetOnTypeAnnotationFactory.java
@@ -20,14 +20,20 @@
package org.apache.isis.core.metamodel.facets.object.cssclassfa.annotation;
import org.apache.isis.applib.annotation.CssClassFa;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-public class CssClassFaFacetOnTypeAnnotationFactory extends FacetFactoryAbstract {
+public class CssClassFaFacetOnTypeAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(CssClassFa.class);
public CssClassFaFacetOnTypeAnnotationFactory() {
super(FeatureType.OBJECTS_ONLY);
@@ -36,10 +42,21 @@ public class CssClassFaFacetOnTypeAnnotationFactory extends FacetFactoryAbstract
@Override
public void process(final ProcessClassContext processClassContext) {
final CssClassFa annotation = Annotations.getAnnotation(processClassContext.getCls(), CssClassFa.class);
- FacetUtil.addFacet(create(annotation, processClassContext.getFacetHolder()));
+ validator.addFacet(create(annotation, processClassContext.getFacetHolder()));
}
private static CssClassFaFacet create(final CssClassFa annotation, final FacetHolder holder) {
return annotation == null ? null : new CssClassFaFacetOnTypeAnnotation(annotation, holder);
}
+
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/describedas/annotation/DescribedAsFacetOnTypeAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/describedas/annotation/DescribedAsFacetOnTypeAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/describedas/annotation/DescribedAsFacetOnTypeAnnotationFactory.java
index 347e0da..f85c3bc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/describedas/annotation/DescribedAsFacetOnTypeAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/describedas/annotation/DescribedAsFacetOnTypeAnnotationFactory.java
@@ -20,14 +20,20 @@
package org.apache.isis.core.metamodel.facets.object.describedas.annotation;
import org.apache.isis.applib.annotation.DescribedAs;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-public class DescribedAsFacetOnTypeAnnotationFactory extends FacetFactoryAbstract {
+public class DescribedAsFacetOnTypeAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(DescribedAs.class);
public DescribedAsFacetOnTypeAnnotationFactory() {
super(FeatureType.OBJECTS_ONLY);
@@ -36,11 +42,21 @@ public class DescribedAsFacetOnTypeAnnotationFactory extends FacetFactoryAbstrac
@Override
public void process(final ProcessClassContext processClassContaxt) {
final DescribedAs annotation = Annotations.getAnnotation(processClassContaxt.getCls(), DescribedAs.class);
- FacetUtil.addFacet(create(annotation, processClassContaxt.getFacetHolder()));
+ validator.addFacet(create(annotation, processClassContaxt.getFacetHolder()));
}
private DescribedAsFacet create(final DescribedAs annotation, final FacetHolder holder) {
return annotation == null ? null : new DescribedAsFacetOnTypeAnnotation(annotation.value(), holder);
}
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/fieldorder/annotation/FieldOrderFacetAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/fieldorder/annotation/FieldOrderFacetAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/fieldorder/annotation/FieldOrderFacetAnnotationFactory.java
index 4fb85cc..28bf9e5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/fieldorder/annotation/FieldOrderFacetAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/fieldorder/annotation/FieldOrderFacetAnnotationFactory.java
@@ -20,14 +20,21 @@
package org.apache.isis.core.metamodel.facets.object.fieldorder.annotation;
import org.apache.isis.applib.annotation.FieldOrder;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.object.fieldorder.FieldOrderFacet;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-public class FieldOrderFacetAnnotationFactory extends FacetFactoryAbstract {
+public class FieldOrderFacetAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(FieldOrder.class);
public FieldOrderFacetAnnotationFactory() {
super(FeatureType.OBJECTS_ONLY);
@@ -36,11 +43,21 @@ public class FieldOrderFacetAnnotationFactory extends FacetFactoryAbstract {
@Override
public void process(final ProcessClassContext processClassContaxt) {
final FieldOrder annotation = Annotations.getAnnotation(processClassContaxt.getCls(), FieldOrder.class);
- FacetUtil.addFacet(create(annotation, processClassContaxt.getFacetHolder()));
+ validator.addFacet(create(annotation, processClassContaxt.getFacetHolder()));
}
private FieldOrderFacet create(final FieldOrder annotation, final FacetHolder holder) {
return annotation == null ? null : new FieldOrderFacetAnnotation(annotation.value(), holder);
}
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/hidden/annotation/HiddenFacetOnTypeAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/hidden/annotation/HiddenFacetOnTypeAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/hidden/annotation/HiddenFacetOnTypeAnnotationFactory.java
index c2a0011..262c40c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/hidden/annotation/HiddenFacetOnTypeAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/hidden/annotation/HiddenFacetOnTypeAnnotationFactory.java
@@ -20,14 +20,21 @@
package org.apache.isis.core.metamodel.facets.object.hidden.annotation;
import org.apache.isis.applib.annotation.Hidden;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-public class HiddenFacetOnTypeAnnotationFactory extends FacetFactoryAbstract {
+public class HiddenFacetOnTypeAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(Hidden.class);
public HiddenFacetOnTypeAnnotationFactory() {
super(FeatureType.OBJECTS_ONLY);
@@ -36,11 +43,21 @@ public class HiddenFacetOnTypeAnnotationFactory extends FacetFactoryAbstract {
@Override
public void process(final ProcessClassContext processClassContext) {
final Hidden annotation = Annotations.getAnnotation(processClassContext.getCls(), Hidden.class);
- FacetUtil.addFacet(create(annotation, processClassContext.getFacetHolder()));
+ validator.addFacet(create(annotation, processClassContext.getFacetHolder()));
}
private static HiddenFacet create(final Hidden annotation, final FacetHolder holder) {
return annotation == null ? null : new HiddenFacetOnTypeAnnotation(annotation.when(), holder);
}
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/annotation/MaskFacetOnTypeAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/annotation/MaskFacetOnTypeAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/annotation/MaskFacetOnTypeAnnotationFactory.java
index 2ae6cf2..e7ebc42 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/annotation/MaskFacetOnTypeAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/annotation/MaskFacetOnTypeAnnotationFactory.java
@@ -20,14 +20,21 @@
package org.apache.isis.core.metamodel.facets.object.mask.annotation;
import org.apache.isis.applib.annotation.Mask;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.object.mask.MaskFacet;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
+
+public class MaskFacetOnTypeAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(Mask.class);
-public class MaskFacetOnTypeAnnotationFactory extends FacetFactoryAbstract {
public MaskFacetOnTypeAnnotationFactory() {
super(FeatureType.OBJECTS_ONLY);
@@ -39,11 +46,21 @@ public class MaskFacetOnTypeAnnotationFactory extends FacetFactoryAbstract {
@Override
public void process(final ProcessClassContext processClassContaxt) {
final Mask annotation = Annotations.getAnnotation(processClassContaxt.getCls(), Mask.class);
- FacetUtil.addFacet(createMaskFacet(annotation, processClassContaxt.getFacetHolder()));
+ validator.addFacet(createMaskFacet(annotation, processClassContaxt.getFacetHolder()));
}
private MaskFacet createMaskFacet(final Mask annotation, final FacetHolder holder) {
return annotation != null ? new MaskFacetOnTypeAnnotation(annotation.value(), null, holder) : null;
}
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/maxlen/annotation/MaxLengthFacetOnTypeAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/maxlen/annotation/MaxLengthFacetOnTypeAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/maxlen/annotation/MaxLengthFacetOnTypeAnnotationFactory.java
index 74a3a94..0ad616f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/maxlen/annotation/MaxLengthFacetOnTypeAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/maxlen/annotation/MaxLengthFacetOnTypeAnnotationFactory.java
@@ -20,14 +20,20 @@
package org.apache.isis.core.metamodel.facets.object.maxlen.annotation;
import org.apache.isis.applib.annotation.MaxLength;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.propparam.maxlen.MaxLengthFacet;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-public class MaxLengthFacetOnTypeAnnotationFactory extends FacetFactoryAbstract {
+public class MaxLengthFacetOnTypeAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(MaxLength.class);
public MaxLengthFacetOnTypeAnnotationFactory() {
super(FeatureType.OBJECTS_ONLY);
@@ -39,10 +45,21 @@ public class MaxLengthFacetOnTypeAnnotationFactory extends FacetFactoryAbstract
@Override
public void process(final ProcessClassContext processClassContaxt) {
final MaxLength annotation = Annotations.getAnnotation(processClassContaxt.getCls(), MaxLength.class);
- FacetUtil.addFacet(create(annotation, processClassContaxt.getFacetHolder()));
+ validator.addFacet(create(annotation, processClassContaxt.getFacetHolder()));
}
private MaxLengthFacet create(final MaxLength annotation, final FacetHolder holder) {
return annotation == null ? null : new MaxLengthFacetOnTypeAnnotation(annotation.value(), holder);
}
+
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/multiline/annotation/MultiLineFacetOnTypeAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/multiline/annotation/MultiLineFacetOnTypeAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/multiline/annotation/MultiLineFacetOnTypeAnnotationFactory.java
index 232eb2d..2480c6f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/multiline/annotation/MultiLineFacetOnTypeAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/multiline/annotation/MultiLineFacetOnTypeAnnotationFactory.java
@@ -20,14 +20,21 @@
package org.apache.isis.core.metamodel.facets.object.multiline.annotation;
import org.apache.isis.applib.annotation.MultiLine;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.propparam.multiline.MultiLineFacet;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
+
+public class MultiLineFacetOnTypeAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(MultiLine.class);
-public class MultiLineFacetOnTypeAnnotationFactory extends FacetFactoryAbstract {
public MultiLineFacetOnTypeAnnotationFactory() {
super(FeatureType.OBJECTS_ONLY);
@@ -39,11 +46,21 @@ public class MultiLineFacetOnTypeAnnotationFactory extends FacetFactoryAbstract
@Override
public void process(final ProcessClassContext processClassContaxt) {
final MultiLine annotation = Annotations.getAnnotation(processClassContaxt.getCls(), MultiLine.class);
- FacetUtil.addFacet(create(annotation, processClassContaxt.getFacetHolder()));
+ validator.addFacet(create(annotation, processClassContaxt.getFacetHolder()));
}
private MultiLineFacet create(final MultiLine annotation, final FacetHolder holder) {
return (annotation != null) ? new MultiLineFacetOnTypeAnnotation(annotation.numberOfLines(), annotation.preventWrapping(), holder) : null;
}
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/annotation/NamedFacetOnTypeAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/annotation/NamedFacetOnTypeAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/annotation/NamedFacetOnTypeAnnotationFactory.java
index 968325c..e06a702 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/annotation/NamedFacetOnTypeAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/annotation/NamedFacetOnTypeAnnotationFactory.java
@@ -20,14 +20,22 @@
package org.apache.isis.core.metamodel.facets.object.named.annotation;
import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.NotPersisted;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
+
+public class NamedFacetOnTypeAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(NotPersisted.class);
-public class NamedFacetOnTypeAnnotationFactory extends FacetFactoryAbstract {
public NamedFacetOnTypeAnnotationFactory() {
super(FeatureType.OBJECTS_ONLY);
@@ -36,11 +44,21 @@ public class NamedFacetOnTypeAnnotationFactory extends FacetFactoryAbstract {
@Override
public void process(final ProcessClassContext processClassContaxt) {
final Named annotation = Annotations.getAnnotation(processClassContaxt.getCls(), Named.class);
- FacetUtil.addFacet(create(annotation, processClassContaxt.getFacetHolder()));
+ validator.addFacet(create(annotation, processClassContaxt.getFacetHolder()));
}
private NamedFacet create(final Named annotation, final FacetHolder holder) {
return annotation != null ? new NamedFacetOnTypeAnnotation(annotation.value(), holder) : null;
}
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/staticmethod/NamedFacetStaticMethodFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/staticmethod/NamedFacetStaticMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/staticmethod/NamedFacetStaticMethodFactory.java
index 636cc10..a91ae5e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/staticmethod/NamedFacetStaticMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/staticmethod/NamedFacetStaticMethodFactory.java
@@ -20,20 +20,25 @@
package org.apache.isis.core.metamodel.facets.object.named.staticmethod;
import java.lang.reflect.Method;
-
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.commons.lang.MethodExtensions;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.methodutils.MethodScope;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedMethodPrefix;
-public class NamedFacetStaticMethodFactory extends MethodPrefixBasedFacetFactoryAbstract {
+public class NamedFacetStaticMethodFactory extends MethodPrefixBasedFacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
private static final String[] PREFIXES = { MethodPrefixConstants.SINGULAR_NAME, };
+ private final MetaModelValidatorForDeprecatedMethodPrefix validator = new MetaModelValidatorForDeprecatedMethodPrefix(PREFIXES[0]);
+
public NamedFacetStaticMethodFactory() {
super(FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, PREFIXES);
}
@@ -47,7 +52,20 @@ public class NamedFacetStaticMethodFactory extends MethodPrefixBasedFacetFactory
if (method != null) {
final String name = (String) MethodExtensions.invokeStatic(method);
processClassContext.removeMethod(method);
- FacetUtil.addFacet(new NamedFacetStaticMethod(name, facetHolder));
+ validator.addFacet(new NamedFacetStaticMethod(name, facetHolder));
}
}
+
+
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/annotation/ObjectSpecIdFacetAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/annotation/ObjectSpecIdFacetAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/annotation/ObjectSpecIdFacetAnnotationFactory.java
deleted file mode 100644
index c33d7c2..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/annotation/ObjectSpecIdFacetAnnotationFactory.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.object.objectspecid.annotation;
-
-import org.apache.isis.applib.annotation.ObjectType;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.Annotations;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFacet;
-
-public class ObjectSpecIdFacetAnnotationFactory extends FacetFactoryAbstract {
-
- public ObjectSpecIdFacetAnnotationFactory() {
- super(FeatureType.OBJECTS_ONLY);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- final ObjectType annotation = Annotations.getAnnotation(processClassContext.getCls(), ObjectType.class);
- FacetUtil.addFacet(create(annotation, processClassContext.getFacetHolder()));
- }
-
- private ObjectSpecIdFacet create(final ObjectType annotation, final FacetHolder holder) {
- return annotation != null ? new ObjectSpecIdFacetAnnotation(annotation.value(), holder) : null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/annotation/ObjectSpecIdFacetForObjectTypeAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/annotation/ObjectSpecIdFacetForObjectTypeAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/annotation/ObjectSpecIdFacetForObjectTypeAnnotationFactory.java
new file mode 100644
index 0000000..b97a4cc
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/annotation/ObjectSpecIdFacetForObjectTypeAnnotationFactory.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.metamodel.facets.object.objectspecid.annotation;
+
+import org.apache.isis.applib.annotation.ObjectType;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
+import org.apache.isis.core.metamodel.facets.Annotations;
+import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
+import org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFacet;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
+
+public class ObjectSpecIdFacetForObjectTypeAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(ObjectType.class);
+
+
+ public ObjectSpecIdFacetForObjectTypeAnnotationFactory() {
+ super(FeatureType.OBJECTS_ONLY);
+ }
+
+ @Override
+ public void process(final ProcessClassContext processClassContext) {
+ final ObjectType annotation = Annotations.getAnnotation(processClassContext.getCls(), ObjectType.class);
+ validator.addFacet(create(annotation, processClassContext.getFacetHolder()));
+ }
+
+ private ObjectSpecIdFacet create(final ObjectType annotation, final FacetHolder holder) {
+ return annotation != null ? new ObjectSpecIdFacetAnnotation(annotation.value(), holder) : null;
+ }
+
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/paged/annotation/PagedFacetOnTypeAnnotationFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/paged/annotation/PagedFacetOnTypeAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/paged/annotation/PagedFacetOnTypeAnnotationFactory.java
index 30f4cd7..980878b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/paged/annotation/PagedFacetOnTypeAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/paged/annotation/PagedFacetOnTypeAnnotationFactory.java
@@ -23,14 +23,19 @@ import org.apache.isis.applib.annotation.Paged;
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.objcoll.paged.PagedFacetAnnotation;
import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
+
+public class PagedFacetOnTypeAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(Paged.class);
-public class PagedFacetOnTypeAnnotationFactory extends FacetFactoryAbstract implements IsisConfigurationAware {
private IsisConfiguration configuration;
@@ -38,16 +43,25 @@ public class PagedFacetOnTypeAnnotationFactory extends FacetFactoryAbstract impl
super(FeatureType.OBJECTS_ONLY);
}
+ // //////////////////////////////////////
+
@Override
public void process(final ProcessClassContext processClassContext) {
final Paged annotation = Annotations.getAnnotation(processClassContext.getCls(), Paged.class);
- FacetUtil.addFacet(create(annotation, processClassContext.getFacetHolder()));
+ validator.addFacet(create(annotation, processClassContext.getFacetHolder()));
}
- private PagedFacet create(final Paged annotation, final FacetHolder holder) {
+ private static PagedFacet create(final Paged annotation, final FacetHolder holder) {
return annotation != null ? new PagedFacetAnnotation(holder, annotation.value()) : null;
}
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ // //////////////////////////////////////
+
public IsisConfiguration getConfiguration() {
return configuration;
}
@@ -55,6 +69,7 @@ public class PagedFacetOnTypeAnnotationFactory extends FacetFactoryAbstract impl
@Override
public void setConfiguration(IsisConfiguration configuration) {
this.configuration = configuration;
+ validator.setConfiguration(configuration);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/annotation/PluralAnnotationFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/annotation/PluralAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/annotation/PluralAnnotationFacetFactory.java
index 7acec57..dfdd76e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/annotation/PluralAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/annotation/PluralAnnotationFacetFactory.java
@@ -20,14 +20,20 @@
package org.apache.isis.core.metamodel.facets.object.plural.annotation;
import org.apache.isis.applib.annotation.Plural;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.object.plural.PluralFacet;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-public class PluralAnnotationFacetFactory extends FacetFactoryAbstract {
+public class PluralAnnotationFacetFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(Plural.class);
public PluralAnnotationFacetFactory() {
super(FeatureType.OBJECTS_ONLY);
@@ -36,11 +42,22 @@ public class PluralAnnotationFacetFactory extends FacetFactoryAbstract {
@Override
public void process(final ProcessClassContext processClassContaxt) {
final Plural annotation = Annotations.getAnnotation(processClassContaxt.getCls(), Plural.class);
- FacetUtil.addFacet(create(annotation, processClassContaxt.getFacetHolder()));
+ validator.addFacet(create(annotation, processClassContaxt.getFacetHolder()));
}
private PluralFacet create(final Plural annotation, final FacetHolder holder) {
return annotation == null ? null : new PluralFacetAnnotation(annotation.value(), holder);
}
+
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/staticmethod/PluralFacetMethodFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/staticmethod/PluralFacetMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/staticmethod/PluralFacetMethodFactory.java
deleted file mode 100644
index ae9ca1e..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/staticmethod/PluralFacetMethodFactory.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.object.plural.staticmethod;
-
-import java.lang.reflect.Method;
-
-import org.apache.isis.core.commons.lang.MethodExtensions;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.methodutils.MethodScope;
-import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
-import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
-
-public class PluralFacetMethodFactory extends MethodPrefixBasedFacetFactoryAbstract {
-
- private static final String PLURAL_NAME = "pluralName";
-
- private static final String[] PREFIXES = { PLURAL_NAME, };
-
- public PluralFacetMethodFactory() {
- super(FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, PREFIXES);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- final Class<?> type = processClassContext.getCls();
- final FacetHolder facetHolder = processClassContext.getFacetHolder();
-
- final Method method = MethodFinderUtils.findMethod(type, MethodScope.CLASS, PLURAL_NAME, String.class, NO_PARAMETERS_TYPES);
- if (method != null) {
- final String name = (String) MethodExtensions.invokeStatic(method);
- processClassContext.removeMethod(method);
- FacetUtil.addFacet(new PluralFacetMethod(name, facetHolder));
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/staticmethod/PluralFacetStaticMethodFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/staticmethod/PluralFacetStaticMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/staticmethod/PluralFacetStaticMethodFactory.java
new file mode 100644
index 0000000..1d053ff
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/staticmethod/PluralFacetStaticMethodFactory.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.metamodel.facets.object.plural.staticmethod;
+
+import java.lang.reflect.Method;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationAware;
+import org.apache.isis.core.commons.lang.MethodExtensions;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
+import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
+import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedMethodPrefix;
+
+public class PluralFacetStaticMethodFactory extends MethodPrefixBasedFacetFactoryAbstract implements MetaModelValidatorRefiner, IsisConfigurationAware {
+
+ private static final String PLURAL_NAME = "pluralName";
+
+ private static final String[] PREFIXES = { PLURAL_NAME, };
+
+ private final MetaModelValidatorForDeprecatedMethodPrefix validator = new MetaModelValidatorForDeprecatedMethodPrefix(PREFIXES[0]);
+
+ public PluralFacetStaticMethodFactory() {
+ super(FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, PREFIXES);
+ }
+
+ @Override
+ public void process(final ProcessClassContext processClassContext) {
+ final Class<?> type = processClassContext.getCls();
+ final FacetHolder facetHolder = processClassContext.getFacetHolder();
+
+ final Method method = MethodFinderUtils.findMethod(type, MethodScope.CLASS, PLURAL_NAME, String.class, NO_PARAMETERS_TYPES);
+ if (method != null) {
+ final String name = (String) MethodExtensions.invokeStatic(method);
+ processClassContext.removeMethod(method);
+ validator.addFacet(new PluralFacetMethod(name, facetHolder));
+ }
+ }
+
+
+ @Override
+ public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
+ metaModelValidator.add(validator);
+ }
+
+ @Override
+ public void setConfiguration(final IsisConfiguration configuration) {
+ validator.setConfiguration(configuration);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/128f23c2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/DisabledFacetOnCollectionDerivedFromRecreatableObjectFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/DisabledFacetOnCollectionDerivedFromRecreatableObjectFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/DisabledFacetOnCollectionDerivedFromRecreatableObjectFacetFactory.java
deleted file mode 100644
index 5c297de..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/DisabledFacetOnCollectionDerivedFromRecreatableObjectFacetFactory.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.object.recreatable;
-
-import java.lang.reflect.Method;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.FacetedMethod;
-import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-
-public class DisabledFacetOnCollectionDerivedFromRecreatableObjectFacetFactory extends FacetFactoryAbstract {
-
- public DisabledFacetOnCollectionDerivedFromRecreatableObjectFacetFactory() {
- super(FeatureType.COLLECTIONS_ONLY);
- }
-
- @Override
- public void process(final ProcessMethodContext processMethodContext) {
- final Method method = processMethodContext.getMethod();
- final Class<?> declaringClass = method.getDeclaringClass();
- final ObjectSpecification spec = getSpecificationLoader().loadSpecification(declaringClass);
-
- if (!spec.containsDoOpFacet(ViewModelFacet.class)) {
- return;
- }
- final FacetedMethod facetHolder = processMethodContext.getFacetHolder();
- FacetUtil.addFacet(new DisabledFacetOnCollectionDerivedFromRecreatableObject(facetHolder));
- }
-
-}