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 2017/10/27 07:26:04 UTC
[isis] 01/03: ISIS-1632: generalises Annotations utility to return
a list of annotations rather than first matching. (INCOMPLETE,
DOESN'T EVEN COMPILE)
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch dev/2.0.0/ISIS-1632-meta-annotations
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 8e013c022f8f237b95573b057e14ae7fb91a3d9b
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Oct 27 00:26:38 2017 +0100
ISIS-1632: generalises Annotations utility to return a list of annotations rather than first matching. (INCOMPLETE, DOESN'T EVEN COMPILE)
The idea here is that the calling code can look for the first non-default value for whichever attribute of the annotation that they might be interested in.
---
.../isis/core/metamodel/facets/Annotations.java | 155 ++++++++++++++++++---
.../action/ActionAnnotationFacetFactory.java | 16 +--
.../actions/layout/ActionLayoutFacetFactory.java | 2 +-
.../CollectionAnnotationFacetFactory.java | 10 +-
.../layout/CollectionLayoutFacetFactory.java | 2 +-
.../jaxb/JaxbXmlJavaTypeAdapterFacetFactory.java | 4 +-
.../order/annotprop/MemberOrderFacetFactory.java | 2 +-
.../DomainObjectAnnotationFacetFactory.java | 16 +--
...PolicyFacetForDomainObjectLayoutAnnotation.java | 4 +-
...arkPolicyFacetForViewModelLayoutAnnotation.java | 4 +-
...lassFaFacetForDomainObjectLayoutAnnotation.java | 4 +-
...ssClassFaFacetForViewModelLayoutAnnotation.java | 4 +-
...sClassFacetForDomainObjectLayoutAnnotation.java | 4 +-
.../CssClassFacetForViewModelLayoutAnnotation.java | 4 +-
...ObjectLayoutAnnotationUsingCssClassUiEvent.java | 4 +-
...ibedAsFacetForDomainObjectLayoutAnnotation.java | 4 +-
...scribedAsFacetForViewModelLayoutAnnotation.java | 4 +-
.../DomainObjectLayoutFacetFactory.java | 40 +++---
...mainObjectLayoutAnnotationUsingIconUiEvent.java | 4 +-
.../NamedFacetForDomainObjectLayoutAnnotation.java | 4 +-
.../NamedFacetForViewModelLayoutAnnotation.java | 4 +-
.../PagedFacetForDomainObjectLayoutAnnotation.java | 4 +-
.../PagedFacetForViewModelLayoutAnnotation.java | 14 +-
...PluralFacetForDomainObjectLayoutAnnotation.java | 16 ++-
.../PluralFacetForViewModelLayoutAnnotation.java | 4 +-
...ainObjectLayoutAnnotationUsingTitleUiEvent.java | 43 +++---
.../DomainServiceFacetAnnotationFactory.java | 2 +-
.../DomainServiceLayoutFacetFactory.java | 4 +-
...bleFacetAnnotationElseConfigurationFactory.java | 4 +-
.../annotprop/MemberGroupLayoutFacetFactory.java | 2 +-
...bleFacetAnnotationElseConfigurationFactory.java | 2 +-
...ValueFacetAnnotationOrConfigurationFactory.java | 2 +-
.../property/PropertyAnnotationFacetFactory.java | 26 ++--
.../propertylayout/PropertyLayoutFacetFactory.java | 2 +-
...JdoDatastoreIdentityAnnotationFacetFactory.java | 2 +-
.../JdoDiscriminatorAnnotationFacetFactory.java | 2 +-
...doPersistenceCapableAnnotationFacetFactory.java | 2 +-
.../query/JdoQueryAnnotationFacetFactory.java | 4 +-
...DerivedFromJdoColumnAnnotationFacetFactory.java | 2 +-
...ndatoryFromJdoColumnAnnotationFacetFactory.java | 2 +-
...DerivedFromJdoColumnAnnotationFacetFactory.java | 8 +-
.../JdoPrimaryKeyAnnotationFacetFactory.java | 2 +-
.../services/eventbus/EventBusServiceDefault.java | 2 +-
43 files changed, 308 insertions(+), 138 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/Annotations.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/Annotations.java
index f8c487a..3beeb38 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/Annotations.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/Annotations.java
@@ -76,7 +76,7 @@ public final class Annotations {
/**
* Searches for annotation on provided class, and if not found for the
* superclass.
- *
+ *
* <p>
* Added to allow bytecode-mangling libraries such as CGLIB to be supported.
*/
@@ -89,6 +89,45 @@ public final class Annotations {
return annotation;
}
+ // search superclasses
+ final Class<?> superclass = cls.getSuperclass();
+ if (superclass != null) {
+ try {
+ final T annotationFromSuperclass = getAnnotation(superclass, annotationClass);
+ if (annotationFromSuperclass != null) {
+ return annotationFromSuperclass;
+ }
+ } catch (final SecurityException e) {
+ // fall through
+ }
+ }
+
+ // search implemented interfaces
+ final Class<?>[] interfaces = cls.getInterfaces();
+ for (final Class<?> iface : interfaces) {
+ final T annotationFromInterface = getAnnotation(iface, annotationClass);
+ if (annotationFromInterface != null) {
+ return annotationFromInterface;
+ }
+ }
+ return null;
+ }
+
+
+ /**
+ * Searches for annotation on provided class, and if not found for the
+ * superclass.
+ */
+ public static <T extends Annotation> List<T> getAnnotations(final Class<?> cls, final Class<T> annotationClass) {
+ final List<T> annotations = Lists.newArrayList();
+ if (cls == null) {
+ return annotations;
+ }
+ final T annotation = cls.getAnnotation(annotationClass);
+ if (annotation != null) {
+ annotations.add(annotation);
+ }
+
// meta annotations
final Set<Class<? extends Annotation>> metaAnnotationTypes = AppManifest.Registry.instance().getMetaAnnotationTypes();
final Annotation[] clsAnnotations = cls.getAnnotations();
@@ -97,18 +136,21 @@ public final class Annotations {
if(metaAnnotationTypes.contains(annotationType)) {
final T annotationOnMetaAnnotation = annotationType.getAnnotation(annotationClass);
if(annotationOnMetaAnnotation != null) {
- return annotationOnMetaAnnotation;
+ annotations.add(annotationOnMetaAnnotation);
}
}
}
+ if(!annotations.isEmpty()) {
+ return annotations;
+ }
// search superclasses
final Class<?> superclass = cls.getSuperclass();
if (superclass != null) {
try {
- final T annotationFromSuperclass = getAnnotation(superclass, annotationClass);
- if (annotationFromSuperclass != null) {
- return annotationFromSuperclass;
+ final List<T> annotationsFromSuperclass = getAnnotations(superclass, annotationClass);
+ if (!annotationsFromSuperclass.isEmpty()) {
+ return annotationsFromSuperclass;
}
} catch (final SecurityException e) {
// fall through
@@ -118,12 +160,12 @@ public final class Annotations {
// search implemented interfaces
final Class<?>[] interfaces = cls.getInterfaces();
for (final Class<?> iface : interfaces) {
- final T annotationFromInterface = getAnnotation(iface, annotationClass);
- if (annotationFromInterface != null) {
- return annotationFromInterface;
+ final List<T> annotationsFromInterface = getAnnotations(iface, annotationClass);
+ if (!annotationsFromInterface.isEmpty()) {
+ return annotationsFromInterface;
}
}
- return null;
+ return annotations;
}
/**
@@ -148,7 +190,7 @@ public final class Annotations {
// search for field
if ( shouldSearchForField(annotationClass) ) {
- final List<String> fieldNameCandidates = fieldNameCandidatesFor(methodName);
+ List<String> fieldNameCandidates = fieldNameCandidatesFor(methodName);
for (String fieldNameCandidate : fieldNameCandidates) {
try {
final Field field = methodDeclaringClass.getDeclaredField(fieldNameCandidate);
@@ -162,23 +204,90 @@ public final class Annotations {
}
}
+ // search superclasses
+ final Class<?> superclass = methodDeclaringClass.getSuperclass();
+ if (superclass != null) {
+ try {
+ final Method parentClassMethod = superclass.getMethod(methodName, method.getParameterTypes());
+ return getAnnotation(parentClassMethod, annotationClass);
+ } catch (final SecurityException | NoSuchMethodException e) {
+ // fall through
+ }
+ }
+
+ // search implemented interfaces
+ final Class<?>[] interfaces = methodDeclaringClass.getInterfaces();
+ for (final Class<?> iface : interfaces) {
+ try {
+ final Method ifaceMethod = iface.getMethod(methodName, method.getParameterTypes());
+ return getAnnotation(ifaceMethod, annotationClass);
+ } catch (final SecurityException | NoSuchMethodException e) {
+ // fall through
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Searches for annotation on provided method, and if not found for any
+ * inherited methods up from the superclass.
+ */
+ public static <T extends Annotation> List<T> getAnnotations(
+ final Method method,
+ final Class<T> annotationClass) {
+ final List<T> annotations = Lists.newArrayList();
+ if (method == null) {
+ return annotations;
+ }
+
+ boolean annotationOnMethod = false;
+ final Class<?> methodDeclaringClass = method.getDeclaringClass();
+ final String methodName = method.getName();
+
+ final T annotation = method.getAnnotation(annotationClass);
+ if (annotation != null) {
+ annotations.add(annotation);
+ annotationOnMethod = true;
+ }
+
+
+ // search for field
+ if ( !annotationOnMethod && shouldSearchForField(annotationClass) ) {
+
+ final List<String> fieldNameCandidates = fieldNameCandidatesFor(methodName);
+ for (String fieldNameCandidate : fieldNameCandidates) {
+ try {
+ final Field field = methodDeclaringClass.getDeclaredField(fieldNameCandidate);
+ final T fieldAnnotation = field.getAnnotation(annotationClass);
+ if(fieldAnnotation != null) {
+ annotations.add(fieldAnnotation);
+ }
+ } catch (NoSuchFieldException e) {
+ // fall through
+ }
+ }
+ }
+
// meta annotations
final Set<Class<? extends Annotation>> metaAnnotationTypes = AppManifest.Registry.instance().getMetaAnnotationTypes();
// search for annotation on a meta-annotation on the method
- final Annotation[] annotations = method.getAnnotations();
- for (Annotation methodAnnotation : annotations) {
+ boolean metaAnnotationOnMethod = false;
+ final Annotation[] methodAnnotations = method.getAnnotations();
+ for (Annotation methodAnnotation : methodAnnotations) {
Class<? extends Annotation> annotationType = methodAnnotation.annotationType();
if(metaAnnotationTypes.contains(annotationType)) {
final T annotationOnMetaAnnotation = annotationType.getAnnotation(annotationClass);
if(annotationOnMetaAnnotation != null) {
- return annotationOnMetaAnnotation;
+ annotations.add(annotationOnMetaAnnotation);
+ metaAnnotationOnMethod = true;
}
}
}
// search for annotation on a meta-annotation on the field
- if ( shouldSearchForField(annotationClass) ) {
+ if ( !metaAnnotationOnMethod && shouldSearchForField(annotationClass) ) {
List<String> fieldNameCandidates = fieldNameCandidatesFor(methodName);
for (String fieldNameCandidate : fieldNameCandidates) {
@@ -190,7 +299,7 @@ public final class Annotations {
if(metaAnnotationTypes.contains(annotationType)) {
final T annotationOnMetaAnnotation = annotationType.getAnnotation(annotationClass);
if(annotationOnMetaAnnotation != null) {
- return annotationOnMetaAnnotation;
+ annotations.add(annotationOnMetaAnnotation);
}
}
}
@@ -200,12 +309,19 @@ public final class Annotations {
}
}
+ if(!annotations.isEmpty()) {
+ return annotations;
+ }
+
// search superclasses
final Class<?> superclass = methodDeclaringClass.getSuperclass();
if (superclass != null) {
try {
final Method parentClassMethod = superclass.getMethod(methodName, method.getParameterTypes());
- return getAnnotation(parentClassMethod, annotationClass);
+ final List<T> annotationsFromSuperclass = getAnnotations(parentClassMethod, annotationClass);
+ if(!annotationsFromSuperclass.isEmpty()) {
+ return annotationsFromSuperclass;
+ }
} catch (final SecurityException | NoSuchMethodException e) {
// fall through
}
@@ -216,13 +332,16 @@ public final class Annotations {
for (final Class<?> iface : interfaces) {
try {
final Method ifaceMethod = iface.getMethod(methodName, method.getParameterTypes());
- return getAnnotation(ifaceMethod, annotationClass);
+ final List<T> annotationsFromInterfaces = getAnnotations(ifaceMethod, annotationClass);
+ if(!annotationsFromInterfaces.isEmpty()) {
+ return annotationsFromInterfaces;
+ }
} catch (final SecurityException | NoSuchMethodException e) {
// fall through
}
}
- return null;
+ return annotations;
}
/**
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
index 7e8d64e..8e51ac6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
@@ -100,7 +100,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract {
//
// Set up ActionDomainEventFacet, which will act as the hiding/disabling/validating advisor
//
- final Action action = Annotations.getAnnotation(actionMethod, Action.class);
+ final Action action = Annotations.getAnnotations(actionMethod, Action.class);
final Class<? extends ActionDomainEvent<?>> actionDomainEventType;
final ActionDomainEventFacetAbstract actionDomainEventFacet;
@@ -156,7 +156,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract {
final FacetHolder holder = processMethodContext.getFacetHolder();
// search for @Action(hidden=...)
- final Action action = Annotations.getAnnotation(method, Action.class);
+ final Action action = Annotations.getAnnotations(method, Action.class);
HiddenFacet facet = HiddenFacetForActionAnnotation.create(action, holder);
FacetUtil.addFacet(facet);
}
@@ -166,7 +166,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract {
final FacetHolder holder = processMethodContext.getFacetHolder();
// search for @Action(restrictTo=...)
- final Action action = Annotations.getAnnotation(method, Action.class);
+ final Action action = Annotations.getAnnotations(method, Action.class);
PrototypeFacet facet = PrototypeFacetForActionAnnotation.create(action, holder,
getDeploymentCategory());
@@ -178,7 +178,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract {
final FacetHolder holder = processMethodContext.getFacetHolder();
// check for @Action(semantics=...)
- final Action action = Annotations.getAnnotation(method, Action.class);
+ final Action action = Annotations.getAnnotations(method, Action.class);
ActionSemanticsFacet facet =
ActionSemanticsFacetForActionAnnotation.create(action, holder);
@@ -192,7 +192,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract {
void processBulk(final ProcessMethodContext processMethodContext) {
final Method method = processMethodContext.getMethod();
- final Action action = Annotations.getAnnotation(method, Action.class);
+ final Action action = Annotations.getAnnotations(method, Action.class);
final FacetHolder holder = processMethodContext.getFacetHolder();
// check for @Action(invokeOn=...)
@@ -210,7 +210,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract {
final Class<?> cls = processMethodContext.getCls();
final Method method = processMethodContext.getMethod();
- final Action action = Annotations.getAnnotation(method, Action.class);
+ final Action action = Annotations.getAnnotations(method, Action.class);
final FacetedMethod facetHolder = processMethodContext.getFacetHolder();
final FacetHolder holder = facetHolder;
@@ -233,7 +233,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract {
void processPublishing(final ProcessMethodContext processMethodContext) {
final Method method = processMethodContext.getMethod();
- final Action action = Annotations.getAnnotation(method, Action.class);
+ final Action action = Annotations.getAnnotations(method, Action.class);
final FacetHolder holder = processMethodContext.getFacetHolder();
//
@@ -264,7 +264,7 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract {
// check for @Action(typeOf=...)
TypeOfFacet typeOfFacet = null;
- final Action action = Annotations.getAnnotation(method, Action.class);
+ final Action action = Annotations.getAnnotations(method, Action.class);
if (action != null) {
final Class<?> typeOf = action.typeOf();
if(typeOf != null && typeOf != Object.class) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
index b38e583..88cb77d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
@@ -52,7 +52,7 @@ public class ActionLayoutFacetFactory extends FacetFactoryAbstract implements Co
final FacetHolder holder = processMethodContext.getFacetHolder();
- final ActionLayout actionLayout = Annotations.getAnnotation(processMethodContext.getMethod(), ActionLayout.class);
+ final ActionLayout actionLayout = Annotations.getAnnotations(processMethodContext.getMethod(), ActionLayout.class);
// bookmarkable
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
index 9235997..7f8f730 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
@@ -85,7 +85,7 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract {
//
// Set up CollectionDomainEventFacet, which will act as the hiding/disabling/validating advisor
//
- final Collection collection = Annotations.getAnnotation(method, Collection.class);
+ final Collection collection = Annotations.getAnnotations(method, Collection.class);
final Class<? extends CollectionDomainEvent<?, ?>> collectionDomainEventType;
final CollectionDomainEventFacetAbstract collectionDomainEventFacet;
@@ -163,7 +163,7 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract {
final FacetHolder holder = processMethodContext.getFacetHolder();
// check for @Collection(hidden=...)
- final Collection collection = Annotations.getAnnotation(method, Collection.class);
+ final Collection collection = Annotations.getAnnotations(method, Collection.class);
HiddenFacet facet = HiddenFacetForCollectionAnnotation.create(collection, holder);
FacetUtil.addFacet(facet);
@@ -174,7 +174,7 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract {
final FacetHolder holder = processMethodContext.getFacetHolder();
// check for @Collection(editing=...)
- final Collection collection = Annotations.getAnnotation(method, Collection.class);
+ final Collection collection = Annotations.getAnnotations(method, Collection.class);
DisabledFacet facet = DisabledFacetForCollectionAnnotation.create(collection, holder);
FacetUtil.addFacet(facet);
@@ -185,7 +185,7 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract {
final FacetHolder holder = processMethodContext.getFacetHolder();
// search for @Collection(notPersisted=...)
- final Collection collection = Annotations.getAnnotation(method, Collection.class);
+ final Collection collection = Annotations.getAnnotations(method, Collection.class);
NotPersistedFacet facet = NotPersistedFacetForCollectionAnnotation.create(collection, holder);
FacetUtil.addFacet(facet);
@@ -203,7 +203,7 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract {
}
// check for @Collection(typeOf=...)
- final Collection collection = Annotations.getAnnotation(method, Collection.class);
+ final Collection collection = Annotations.getAnnotations(method, Collection.class);
TypeOfFacet facet = TypeOfFacetOnCollectionFromCollectionAnnotation
.create(collection, facetHolder, getSpecificationLoader());
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
index 5404be7..090c9cb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
@@ -48,7 +48,7 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
final FacetHolder holder = processMethodContext.getFacetHolder();
Properties properties = null;
- final CollectionLayout collectionLayout = Annotations.getAnnotation(processMethodContext.getMethod(), CollectionLayout.class);
+ final CollectionLayout collectionLayout = Annotations.getAnnotations(processMethodContext.getMethod(), CollectionLayout.class);
// cssClass
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/jaxb/JaxbXmlJavaTypeAdapterFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/jaxb/JaxbXmlJavaTypeAdapterFacetFactory.java
index 64112aa..1095016 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/jaxb/JaxbXmlJavaTypeAdapterFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/jaxb/JaxbXmlJavaTypeAdapterFacetFactory.java
@@ -82,7 +82,7 @@ public class JaxbXmlJavaTypeAdapterFacetFactory extends FacetFactoryAbstract
public void process(final ProcessClassContext processClassContext) {
final Class<?> cls = processClassContext.getCls();
- final XmlJavaTypeAdapter annotation = Annotations.getAnnotation(cls, XmlJavaTypeAdapter.class);
+ final XmlJavaTypeAdapter annotation = Annotations.getAnnotations(cls, XmlJavaTypeAdapter.class);
if(annotation == null) {
return;
}
@@ -99,7 +99,7 @@ public class JaxbXmlJavaTypeAdapterFacetFactory extends FacetFactoryAbstract
final Method method = processMethodContext.getMethod();
- final XmlJavaTypeAdapter annotation = Annotations.getAnnotation(method, XmlJavaTypeAdapter.class);
+ final XmlJavaTypeAdapter annotation = Annotations.getAnnotations(method, XmlJavaTypeAdapter.class);
if(annotation == null) {
return;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
index 207c5d2..7c2a303 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
@@ -49,7 +49,7 @@ public class MemberOrderFacetFactory extends FacetFactoryAbstract implements Con
}
private MemberOrderFacet createFromAnnotationIfPossible(final ProcessMethodContext processMethodContext) {
- final MemberOrder annotation = Annotations.getAnnotation(processMethodContext.getMethod(), MemberOrder.class);
+ final MemberOrder annotation = Annotations.getAnnotations(processMethodContext.getMethod(), MemberOrder.class);
if (annotation != null) {
return new MemberOrderFacetAnnotation(
annotation.name(),
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
index dc645e5..fcf9b3d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
@@ -111,7 +111,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
void processAuditing(final ProcessClassContext processClassContext) {
final Class<?> cls = processClassContext.getCls();
- final DomainObject domainObject = Annotations.getAnnotation(cls, DomainObject.class);
+ final DomainObject domainObject = Annotations.getAnnotations(cls, DomainObject.class);
final FacetHolder holder = processClassContext.getFacetHolder();
//
@@ -136,7 +136,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
void processPublishing(final ProcessClassContext processClassContext) {
final Class<?> cls = processClassContext.getCls();
- final DomainObject domainObject = Annotations.getAnnotation(cls, DomainObject.class);
+ final DomainObject domainObject = Annotations.getAnnotations(cls, DomainObject.class);
final FacetHolder facetHolder = processClassContext.getFacetHolder();
//
@@ -161,7 +161,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
final FacetHolder facetHolder = processClassContext.getFacetHolder();
// check from @DomainObject(auditing=...)
- final DomainObject domainObjectAnnot = Annotations.getAnnotation(cls, DomainObject.class);
+ final DomainObject domainObjectAnnot = Annotations.getAnnotations(cls, DomainObject.class);
Facet facet = createFor(domainObjectAnnot, facetHolder, cls);
// then add
@@ -229,7 +229,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
void processBounded(final ProcessClassContext processClassContext) {
final Class<?> cls = processClassContext.getCls();
- final DomainObject domainObject = Annotations.getAnnotation(cls, DomainObject.class);
+ final DomainObject domainObject = Annotations.getAnnotations(cls, DomainObject.class);
final FacetHolder facetHolder = processClassContext.getFacetHolder();
// check from @DomainObject(bounded=...)
@@ -241,7 +241,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
void processEditing(final ProcessClassContext processClassContext) {
final Class<?> cls = processClassContext.getCls();
- final DomainObject domainObject = Annotations.getAnnotation(cls, DomainObject.class);
+ final DomainObject domainObject = Annotations.getAnnotations(cls, DomainObject.class);
final FacetHolder facetHolder = processClassContext.getFacetHolder();
// check from @DomainObject(editing=...)
@@ -254,7 +254,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
void processObjectType(final ProcessClassContext processClassContext) {
final Class<?> cls = processClassContext.getCls();
- final DomainObject domainObject = Annotations.getAnnotation(cls, DomainObject.class);
+ final DomainObject domainObject = Annotations.getAnnotations(cls, DomainObject.class);
final FacetHolder facetHolder = processClassContext.getFacetHolder();
// check from @DomainObject(objectType=...)
@@ -275,7 +275,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
void processNature(final ProcessClassContext processClassContext) {
final Class<?> cls = processClassContext.getCls();
- final DomainObject domainObject = Annotations.getAnnotation(cls, DomainObject.class);
+ final DomainObject domainObject = Annotations.getAnnotations(cls, DomainObject.class);
if(domainObject == null) {
return;
@@ -308,7 +308,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
private void processLifecycleEvents(final ProcessClassContext processClassContext) {
final Class<?> cls = processClassContext.getCls();
- final DomainObject domainObject = Annotations.getAnnotation(cls, DomainObject.class);
+ final DomainObject domainObject = Annotations.getAnnotations(cls, DomainObject.class);
if(domainObject == null) {
return;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/BookmarkPolicyFacetForDomainObjectLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/BookmarkPolicyFacetForDomainObjectLayoutAnnotation.java
index 8c3410e..187d7bf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/BookmarkPolicyFacetForDomainObjectLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/BookmarkPolicyFacetForDomainObjectLayoutAnnotation.java
@@ -19,6 +19,8 @@
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import org.apache.isis.applib.annotation.BookmarkPolicy;
import org.apache.isis.applib.annotation.DomainObjectLayout;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -28,7 +30,7 @@ import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolic
public class BookmarkPolicyFacetForDomainObjectLayoutAnnotation extends BookmarkPolicyFacetAbstract {
- public static BookmarkPolicyFacet create(final DomainObjectLayout domainObjectLayout, final FacetHolder holder) {
+ public static BookmarkPolicyFacet create(final List<DomainObjectLayout> domainObjectLayout, final FacetHolder holder) {
if(domainObjectLayout == null) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/BookmarkPolicyFacetForViewModelLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/BookmarkPolicyFacetForViewModelLayoutAnnotation.java
index 075472b..25a2f30 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/BookmarkPolicyFacetForViewModelLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/BookmarkPolicyFacetForViewModelLayoutAnnotation.java
@@ -19,6 +19,8 @@
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import org.apache.isis.applib.annotation.BookmarkPolicy;
import org.apache.isis.applib.annotation.ViewModelLayout;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -28,7 +30,7 @@ import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolic
public class BookmarkPolicyFacetForViewModelLayoutAnnotation extends BookmarkPolicyFacetAbstract {
- public static BookmarkPolicyFacet create(final ViewModelLayout viewModelLayout, final FacetHolder holder) {
+ public static BookmarkPolicyFacet create(final List<ViewModelLayout> viewModelLayout, final FacetHolder holder) {
if(viewModelLayout == null) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForDomainObjectLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForDomainObjectLayoutAnnotation.java
index bdd2d0f..fddfa5c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForDomainObjectLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForDomainObjectLayoutAnnotation.java
@@ -17,6 +17,8 @@
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import com.google.common.base.Strings;
import org.apache.isis.applib.annotation.DomainObjectLayout;
@@ -27,7 +29,7 @@ import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPositi
public class CssClassFaFacetForDomainObjectLayoutAnnotation extends CssClassFaFacetAbstract {
- public static CssClassFaFacet create(final DomainObjectLayout domainObjectLayout, final FacetHolder holder) {
+ public static CssClassFaFacet create(final List<DomainObjectLayout> domainObjectLayout, final FacetHolder holder) {
if (domainObjectLayout == null) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForViewModelLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForViewModelLayoutAnnotation.java
index 725a089..8389c88 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForViewModelLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForViewModelLayoutAnnotation.java
@@ -16,6 +16,8 @@
* under the License. */
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import com.google.common.base.Strings;
import org.apache.isis.applib.annotation.ViewModelLayout;
@@ -26,7 +28,7 @@ import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPositi
public class CssClassFaFacetForViewModelLayoutAnnotation extends CssClassFaFacetAbstract {
- public static CssClassFaFacet create(final ViewModelLayout viewModelLayout, final FacetHolder holder) {
+ public static CssClassFaFacet create(final List<ViewModelLayout> viewModelLayout, final FacetHolder holder) {
if (viewModelLayout == null) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForDomainObjectLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForDomainObjectLayoutAnnotation.java
index 36060df..510b4d9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForDomainObjectLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForDomainObjectLayoutAnnotation.java
@@ -16,6 +16,8 @@
* under the License. */
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import com.google.common.base.Strings;
import org.apache.isis.applib.annotation.DomainObjectLayout;
@@ -25,7 +27,7 @@ import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstr
public class CssClassFacetForDomainObjectLayoutAnnotation extends CssClassFacetAbstract {
- public static CssClassFacet create(final DomainObjectLayout domainObjectLayout, final FacetHolder holder) {
+ public static CssClassFacet create(final List<DomainObjectLayout> domainObjectLayout, final FacetHolder holder) {
if (domainObjectLayout == null) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForViewModelLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForViewModelLayoutAnnotation.java
index eb2a0ed..be518e7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForViewModelLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForViewModelLayoutAnnotation.java
@@ -16,6 +16,8 @@
* under the License. */
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import com.google.common.base.Strings;
import org.apache.isis.applib.annotation.ViewModelLayout;
@@ -25,7 +27,7 @@ import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstr
public class CssClassFacetForViewModelLayoutAnnotation extends CssClassFacetAbstract {
- public static CssClassFacet create(final ViewModelLayout viewModelLayout, final FacetHolder holder) {
+ public static CssClassFacet create(final List<ViewModelLayout> viewModelLayout, final FacetHolder holder) {
if (viewModelLayout == null) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java
index e4aba95..22c467a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.java
@@ -19,6 +19,8 @@
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -42,7 +44,7 @@ public class CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent ex
private static final Logger LOG = LoggerFactory.getLogger(CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.class);
public static Facet create(
- final DomainObjectLayout domainObjectLayout,
+ final List<DomainObjectLayout> domainObjectLayout,
final ServicesInjector servicesInjector,
final IsisConfiguration configuration, final FacetHolder facetHolder) {
if(domainObjectLayout == null) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DescribedAsFacetForDomainObjectLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DescribedAsFacetForDomainObjectLayoutAnnotation.java
index 7082e69..0e53e20 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DescribedAsFacetForDomainObjectLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DescribedAsFacetForDomainObjectLayoutAnnotation.java
@@ -19,6 +19,8 @@
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import com.google.common.base.Strings;
import org.apache.isis.applib.annotation.DomainObjectLayout;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -28,7 +30,7 @@ import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacetAbs
public class DescribedAsFacetForDomainObjectLayoutAnnotation extends DescribedAsFacetAbstract {
- public static DescribedAsFacet create(final DomainObjectLayout domainObjectLayout, final FacetHolder holder) {
+ public static DescribedAsFacet create(final List<DomainObjectLayout> domainObjectLayout, final FacetHolder holder) {
if(domainObjectLayout == null) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DescribedAsFacetForViewModelLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DescribedAsFacetForViewModelLayoutAnnotation.java
index bbcb554..57999e9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DescribedAsFacetForViewModelLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DescribedAsFacetForViewModelLayoutAnnotation.java
@@ -19,6 +19,8 @@
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import com.google.common.base.Strings;
import org.apache.isis.applib.annotation.ViewModelLayout;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -28,7 +30,7 @@ import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacetAbs
public class DescribedAsFacetForViewModelLayoutAnnotation extends DescribedAsFacetAbstract {
- public static DescribedAsFacet create(final ViewModelLayout viewModelLayout, final FacetHolder holder) {
+ public static DescribedAsFacet create(final List<ViewModelLayout> viewModelLayout, final FacetHolder holder) {
if(viewModelLayout == null) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
index bbeac06..0b64a4a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
@@ -16,6 +16,8 @@
* under the License. */
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import org.apache.isis.applib.annotation.DomainObjectLayout;
import org.apache.isis.applib.annotation.ViewModelLayout;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -37,53 +39,53 @@ public class DomainObjectLayoutFacetFactory extends FacetFactoryAbstract {
final FacetHolder facetHolder = processClassContext.getFacetHolder();
- final DomainObjectLayout domainObjectLayout = Annotations.getAnnotation(cls, DomainObjectLayout.class);
- final ViewModelLayout viewModelLayout = Annotations.getAnnotation(cls, ViewModelLayout.class);
+ final List<DomainObjectLayout> domainObjectLayouts = Annotations.getAnnotations(cls, DomainObjectLayout.class);
+ final List<ViewModelLayout> viewModelLayouts = Annotations.getAnnotations(cls, ViewModelLayout.class);
FacetUtil.addFacet(
TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.create(
- domainObjectLayout, servicesInjector, getConfiguration(), facetHolder));
+ domainObjectLayouts, servicesInjector, getConfiguration(), facetHolder));
FacetUtil.addFacet(
IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.create(
- domainObjectLayout, servicesInjector, getConfiguration(), facetHolder));
+ domainObjectLayouts, servicesInjector, getConfiguration(), facetHolder));
FacetUtil.addFacet(
CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent.create(
- domainObjectLayout, servicesInjector, getConfiguration(), facetHolder));
+ domainObjectLayouts, servicesInjector, getConfiguration(), facetHolder));
FacetUtil.addFacet(
- CssClassFacetForDomainObjectLayoutAnnotation.create(domainObjectLayout, facetHolder));
+ CssClassFacetForDomainObjectLayoutAnnotation.create(domainObjectLayouts, facetHolder));
FacetUtil.addFacet(
- CssClassFacetForViewModelLayoutAnnotation.create(viewModelLayout, facetHolder));
+ CssClassFacetForViewModelLayoutAnnotation.create(viewModelLayouts, facetHolder));
FacetUtil.addFacet(
- CssClassFaFacetForDomainObjectLayoutAnnotation.create(domainObjectLayout, facetHolder));
+ CssClassFaFacetForDomainObjectLayoutAnnotation.create(domainObjectLayouts, facetHolder));
FacetUtil.addFacet(
- CssClassFaFacetForViewModelLayoutAnnotation.create(viewModelLayout, facetHolder));
+ CssClassFaFacetForViewModelLayoutAnnotation.create(viewModelLayouts, facetHolder));
FacetUtil.addFacet(
- DescribedAsFacetForDomainObjectLayoutAnnotation.create(domainObjectLayout, facetHolder));
+ DescribedAsFacetForDomainObjectLayoutAnnotation.create(domainObjectLayouts, facetHolder));
FacetUtil.addFacet(
- DescribedAsFacetForViewModelLayoutAnnotation.create(viewModelLayout, facetHolder));
+ DescribedAsFacetForViewModelLayoutAnnotation.create(viewModelLayouts, facetHolder));
FacetUtil.addFacet(
- NamedFacetForDomainObjectLayoutAnnotation.create(domainObjectLayout, facetHolder));
+ NamedFacetForDomainObjectLayoutAnnotation.create(domainObjectLayouts, facetHolder));
FacetUtil.addFacet(
- NamedFacetForViewModelLayoutAnnotation.create(viewModelLayout, facetHolder));
+ NamedFacetForViewModelLayoutAnnotation.create(viewModelLayouts, facetHolder));
FacetUtil.addFacet(
- PagedFacetForDomainObjectLayoutAnnotation.create(domainObjectLayout, facetHolder));
+ PagedFacetForDomainObjectLayoutAnnotation.create(domainObjectLayouts, facetHolder));
FacetUtil.addFacet(
- PagedFacetForViewModelLayoutAnnotation.create(viewModelLayout, facetHolder));
+ PagedFacetForViewModelLayoutAnnotation.create(viewModelLayouts, facetHolder));
FacetUtil.addFacet(
- PluralFacetForDomainObjectLayoutAnnotation.create(domainObjectLayout, facetHolder));
+ PluralFacetForDomainObjectLayoutAnnotation.create(domainObjectLayouts, facetHolder));
FacetUtil.addFacet(
- PluralFacetForViewModelLayoutAnnotation.create(viewModelLayout, facetHolder));
+ PluralFacetForViewModelLayoutAnnotation.create(viewModelLayouts, facetHolder));
FacetUtil.addFacet(
- BookmarkPolicyFacetForDomainObjectLayoutAnnotation.create(domainObjectLayout, facetHolder));
+ BookmarkPolicyFacetForDomainObjectLayoutAnnotation.create(domainObjectLayouts, facetHolder));
FacetUtil.addFacet(
- BookmarkPolicyFacetForViewModelLayoutAnnotation.create(viewModelLayout, facetHolder));
+ BookmarkPolicyFacetForViewModelLayoutAnnotation.create(viewModelLayouts, facetHolder));
return;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java
index 9ef6145..0193844 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.java
@@ -19,6 +19,8 @@
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -40,7 +42,7 @@ public class IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent extends Ic
private static final Logger LOG = LoggerFactory.getLogger(IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent.class);
public static Facet create(
- final DomainObjectLayout domainObjectLayout,
+ final List<DomainObjectLayout> domainObjectLayout,
final ServicesInjector servicesInjector,
final IsisConfiguration configuration, final FacetHolder facetHolder) {
if(domainObjectLayout == null) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForDomainObjectLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForDomainObjectLayoutAnnotation.java
index 1763293..c4350b6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForDomainObjectLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForDomainObjectLayoutAnnotation.java
@@ -19,6 +19,8 @@
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import com.google.common.base.Strings;
import org.apache.isis.applib.annotation.DomainObjectLayout;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -28,7 +30,7 @@ import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
public class NamedFacetForDomainObjectLayoutAnnotation extends NamedFacetAbstract {
- public static NamedFacet create(final DomainObjectLayout domainObjectLayout, final FacetHolder holder) {
+ public static NamedFacet create(final List<DomainObjectLayout> domainObjectLayout, final FacetHolder holder) {
if(domainObjectLayout == null) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForViewModelLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForViewModelLayoutAnnotation.java
index 2577da7..89e9210 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForViewModelLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/NamedFacetForViewModelLayoutAnnotation.java
@@ -19,6 +19,8 @@
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import com.google.common.base.Strings;
import org.apache.isis.applib.annotation.ViewModelLayout;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -28,7 +30,7 @@ import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
public class NamedFacetForViewModelLayoutAnnotation extends NamedFacetAbstract {
- public static NamedFacet create(final ViewModelLayout viewModelLayout, final FacetHolder holder) {
+ public static NamedFacet create(final List<ViewModelLayout> viewModelLayout, final FacetHolder holder) {
if(viewModelLayout == null) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PagedFacetForDomainObjectLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PagedFacetForDomainObjectLayoutAnnotation.java
index 2735b50..07ba4d3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PagedFacetForDomainObjectLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PagedFacetForDomainObjectLayoutAnnotation.java
@@ -19,6 +19,8 @@
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import org.apache.isis.applib.annotation.DomainObjectLayout;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
@@ -27,7 +29,7 @@ import org.apache.isis.core.metamodel.facets.object.paged.PagedFacetAbstract;
public class PagedFacetForDomainObjectLayoutAnnotation extends PagedFacetAbstract {
- public static PagedFacet create(final DomainObjectLayout domainObjectLayout, final FacetHolder holder) {
+ public static PagedFacet create(final List<DomainObjectLayout> domainObjectLayout, final FacetHolder holder) {
if(domainObjectLayout == null) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PagedFacetForViewModelLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PagedFacetForViewModelLayoutAnnotation.java
index c667deb..387db2c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PagedFacetForViewModelLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PagedFacetForViewModelLayoutAnnotation.java
@@ -19,6 +19,8 @@
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import org.apache.isis.applib.annotation.ViewModelLayout;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
@@ -27,12 +29,16 @@ import org.apache.isis.core.metamodel.facets.object.paged.PagedFacetAbstract;
public class PagedFacetForViewModelLayoutAnnotation extends PagedFacetAbstract {
- public static PagedFacet create(final ViewModelLayout viewModelLayout, final FacetHolder holder) {
- if(viewModelLayout == null) {
+ public static PagedFacet create(final List<ViewModelLayout> viewModelLayouts, final FacetHolder holder) {
+ if(viewModelLayouts.isEmpty()) {
return null;
}
- final int paged = viewModelLayout.paged();
- return paged > 1 ? new PagedFacetForViewModelLayoutAnnotation(paged, holder) : null;
+ return viewModelLayouts.stream()
+ .map(ViewModelLayout::paged)
+ .filter(paged -> paged > 1)
+ .map(paged -> new PagedFacetForViewModelLayoutAnnotation(paged, holder))
+ .findFirst()
+ .orElse(null);
}
private PagedFacetForViewModelLayoutAnnotation(final int value, final FacetHolder holder) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PluralFacetForDomainObjectLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PluralFacetForDomainObjectLayoutAnnotation.java
index 33a97d1..0055a86 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PluralFacetForDomainObjectLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PluralFacetForDomainObjectLayoutAnnotation.java
@@ -19,7 +19,9 @@
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
-import com.google.common.base.Strings;
+import java.util.List;
+import java.util.Objects;
+
import org.apache.isis.applib.annotation.DomainObjectLayout;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.object.plural.PluralFacet;
@@ -28,12 +30,16 @@ import org.apache.isis.core.metamodel.facets.object.plural.PluralFacetAbstract;
public class PluralFacetForDomainObjectLayoutAnnotation extends PluralFacetAbstract {
- public static PluralFacet create(final DomainObjectLayout domainObjectLayout, final FacetHolder holder) {
- if(domainObjectLayout == null) {
+ public static PluralFacet create(final List<DomainObjectLayout> domainObjectLayouts, final FacetHolder holder) {
+ if(domainObjectLayouts.isEmpty()) {
return null;
}
- final String plural = Strings.emptyToNull(domainObjectLayout.plural());
- return plural != null ? new PluralFacetForDomainObjectLayoutAnnotation(plural, holder) : null;
+ return domainObjectLayouts.stream()
+ .map(DomainObjectLayout::plural)
+ .filter(Objects::nonNull)
+ .map(plural -> new PluralFacetForDomainObjectLayoutAnnotation(plural, holder))
+ .findFirst()
+ .orElse(null);
}
private PluralFacetForDomainObjectLayoutAnnotation(final String value, final FacetHolder holder) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PluralFacetForViewModelLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PluralFacetForViewModelLayoutAnnotation.java
index be0842a..e73efe2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PluralFacetForViewModelLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PluralFacetForViewModelLayoutAnnotation.java
@@ -19,6 +19,8 @@
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+
import com.google.common.base.Strings;
import org.apache.isis.applib.annotation.ViewModelLayout;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -28,7 +30,7 @@ import org.apache.isis.core.metamodel.facets.object.plural.PluralFacetAbstract;
public class PluralFacetForViewModelLayoutAnnotation extends PluralFacetAbstract {
- public static PluralFacet create(final ViewModelLayout viewModelLayout, final FacetHolder holder) {
+ public static PluralFacet create(final List<ViewModelLayout> viewModelLayout, final FacetHolder holder) {
if(viewModelLayout == null) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
index f09204e..b1b8177 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
@@ -19,6 +19,9 @@
package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
+import java.util.List;
+import java.util.Optional;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -43,30 +46,34 @@ public class TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent extends
private static final Logger LOG = LoggerFactory.getLogger(TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.class);
public static Facet create(
- final DomainObjectLayout domainObjectLayout,
+ final List<DomainObjectLayout> domainObjectLayouts,
final ServicesInjector servicesInjector,
final IsisConfiguration configuration, final FacetHolder facetHolder) {
- if(domainObjectLayout == null) {
+ if(domainObjectLayouts.isEmpty()) {
return null;
}
- final Class<? extends TitleUiEvent<?>> titleUiEventClass = domainObjectLayout.titleUiEvent();
-
- if(!EventUtil.eventTypeIsPostable(
- titleUiEventClass,
- TitleUiEvent.Noop.class,
- TitleUiEvent.Default.class,
- "isis.reflector.facet.domainObjectLayoutAnnotation.titleUiEvent.postForDefault",
- configuration)) {
- return null;
+ final Optional<? extends Class<? extends TitleUiEvent<?>>> titleUiEventClassIfAny = domainObjectLayouts.stream()
+ .map(DomainObjectLayout::titleUiEvent)
+ .filter(titleUiEventClass -> EventUtil.eventTypeIsPostable(
+ titleUiEventClass,
+ TitleUiEvent.Noop.class,
+ TitleUiEvent.Default.class,
+ "isis.reflector.facet.domainObjectLayoutAnnotation.titleUiEvent.postForDefault",
+ configuration))
+ .findFirst();
+
+ if(titleUiEventClassIfAny.isPresent()) {
+ final Class<? extends TitleUiEvent<?>> titleUiEventClass = titleUiEventClassIfAny.get();
+ final TranslationService translationService = servicesInjector.lookupService(TranslationService.class);
+ final ObjectSpecification facetHolderAsSpec = (ObjectSpecification) facetHolder; // bit naughty...
+ final String translationContext = facetHolderAsSpec.getCorrespondingClass().getCanonicalName();
+ final EventBusService eventBusService = servicesInjector.lookupService(EventBusService.class);
+
+ return new TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent(
+ titleUiEventClass, translationService, translationContext, eventBusService, facetHolder);
}
- final TranslationService translationService = servicesInjector.lookupService(TranslationService.class);
- final ObjectSpecification facetHolderAsSpec = (ObjectSpecification) facetHolder; // bit naughty...
- final String translationContext = facetHolderAsSpec.getCorrespondingClass().getCanonicalName();
- final EventBusService eventBusService = servicesInjector.lookupService(EventBusService.class);
-
- return new TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent(
- titleUiEventClass, translationService, translationContext, eventBusService, facetHolder);
+ return null;
}
private final Class<? extends TitleUiEvent<?>> titleUiEventClass;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
index cdbbce1..684745c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
@@ -60,7 +60,7 @@ public class DomainServiceFacetAnnotationFactory extends FacetFactoryAbstract im
@Override
public void process(ProcessClassContext processClassContext) {
final Class<?> cls = processClassContext.getCls();
- final DomainService annotation = Annotations.getAnnotation(cls, DomainService.class);
+ final DomainService annotation = Annotations.getAnnotations(cls, DomainService.class);
if (annotation == null) {
return;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/DomainServiceLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/DomainServiceLayoutFacetFactory.java
index 8054917..7187780 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/DomainServiceLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/DomainServiceLayoutFacetFactory.java
@@ -41,8 +41,8 @@ public class DomainServiceLayoutFacetFactory extends FacetFactoryAbstract {
final FacetHolder facetHolder = processClassContext.getFacetHolder();
- final DomainService domainService = Annotations.getAnnotation(cls, DomainService.class);
- final DomainServiceLayout domainServiceLayout = Annotations.getAnnotation(cls, DomainServiceLayout.class);
+ final DomainService domainService = Annotations.getAnnotations(cls, DomainService.class);
+ final DomainServiceLayout domainServiceLayout = Annotations.getAnnotations(cls, DomainServiceLayout.class);
if (domainService == null && domainServiceLayout == null) {
return;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java
index 90d31d4..caed1d4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java
@@ -30,8 +30,6 @@ import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
import org.apache.isis.core.metamodel.facets.object.encodeable.EncoderDecoderUtil;
import org.apache.isis.core.metamodel.progmodel.DeprecatedMarker;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
/**
* @deprecated
@@ -54,7 +52,7 @@ public class EncodableFacetAnnotationElseConfigurationFactory extends FacetFacto
private EncodableFacet create(final Class<?> cls, final FacetHolder holder) {
// create from annotation, if present
- final Encodable annotation = Annotations.getAnnotation(cls, Encodable.class);
+ final Encodable annotation = Annotations.getAnnotations(cls, Encodable.class);
if (annotation != null) {
final EncodableFacetAnnotation facet = new EncodableFacetAnnotation(cls, holder, servicesInjector);
if (facet.isValid()) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/membergroups/annotprop/MemberGroupLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/membergroups/annotprop/MemberGroupLayoutFacetFactory.java
index 0b46def..025699d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/membergroups/annotprop/MemberGroupLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/membergroups/annotprop/MemberGroupLayoutFacetFactory.java
@@ -57,7 +57,7 @@ public class MemberGroupLayoutFacetFactory extends FacetFactoryAbstract implemen
final Class<?> cls = processClassContext.getCls();
- final MemberGroupLayout mglAnnot = Annotations.getAnnotation(cls, MemberGroupLayout.class);
+ final MemberGroupLayout mglAnnot = Annotations.getAnnotations(cls, MemberGroupLayout.class);
if (mglAnnot != null) {
return new MemberGroupLayoutFacetAnnotation(mglAnnot, holder);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java
index d663152..e3a0460 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java
@@ -46,7 +46,7 @@ public class ParseableFacetAnnotationElseConfigurationFactory extends FacetFacto
}
private ParseableFacetAbstract create(final Class<?> cls, final FacetHolder holder) {
- final Parseable annotation = Annotations.getAnnotation(cls, Parseable.class);
+ final Parseable annotation = Annotations.getAnnotations(cls, Parseable.class);
// create from annotation, if present
if (annotation != null) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
index ed73cd8..c4c8877 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
@@ -84,7 +84,7 @@ public class ValueFacetAnnotationOrConfigurationFactory extends FacetFactoryAbst
private ValueFacet create(final Class<?> cls, final FacetHolder holder) {
// create from annotation, if present
- final Value annotation = Annotations.getAnnotation(cls, Value.class);
+ final Value annotation = Annotations.getAnnotations(cls, Value.class);
if (annotation != null) {
final ValueFacetAnnotation facet = new ValueFacetAnnotation(cls, holder, servicesInjector);
if (facet.isValid()) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
index 0aac427..3b1cc62 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
@@ -109,7 +109,7 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
//
// Set up PropertyDomainEventFacet, which will act as the hiding/disabling/validating advisor
//
- final Property property = Annotations.getAnnotation(method, Property.class);
+ final Property property = Annotations.getAnnotations(method, Property.class);
final Class<? extends PropertyDomainEvent<?, ?>> propertyDomainEventType;
final PropertyDomainEventFacetAbstract propertyDomainEventFacet;
@@ -185,7 +185,7 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
final FacetHolder holder = processMethodContext.getFacetHolder();
// search for @Property(hidden=...)
- final Property property = Annotations.getAnnotation(method, Property.class);
+ final Property property = Annotations.getAnnotations(method, Property.class);
HiddenFacet facet = HiddenFacetForPropertyAnnotation.create(property, holder);
FacetUtil.addFacet(facet);
@@ -196,7 +196,7 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
final FacetHolder holder = processMethodContext.getFacetHolder();
// search for @Property(editing=...)
- final Property property = Annotations.getAnnotation(method, Property.class);
+ final Property property = Annotations.getAnnotations(method, Property.class);
DisabledFacet facet = DisabledFacetForPropertyAnnotation.create(property, holder);
FacetUtil.addFacet(facet);
@@ -206,7 +206,7 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
final Class<?> cls = processMethodContext.getCls();
final Method method = processMethodContext.getMethod();
- final Property property = Annotations.getAnnotation(method, Property.class);
+ final Property property = Annotations.getAnnotations(method, Property.class);
final FacetedMethod facetHolder = processMethodContext.getFacetHolder();
final FacetHolder holder = facetHolder;
@@ -229,7 +229,7 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
void processPublishing(final ProcessMethodContext processMethodContext) {
final Method method = processMethodContext.getMethod();
- final Property property = Annotations.getAnnotation(method, Property.class);
+ final Property property = Annotations.getAnnotations(method, Property.class);
final FacetHolder holder = processMethodContext.getFacetHolder();
//
@@ -256,7 +256,7 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
final FacetHolder holder = processMethodContext.getFacetHolder();
// search for @Property(maxLength=...)
- final Property property = Annotations.getAnnotation(method, Property.class);
+ final Property property = Annotations.getAnnotations(method, Property.class);
MaxLengthFacet facet = MaxLengthFacetForPropertyAnnotation.create(property, holder);
FacetUtil.addFacet(facet);
@@ -267,7 +267,7 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
final FacetHolder holder = processMethodContext.getFacetHolder();
// search for @Property(mustSatisfy=...)
- final Property property = Annotations.getAnnotation(method, Property.class);
+ final Property property = Annotations.getAnnotations(method, Property.class);
Facet facet = MustSatisfySpecificationFacetForPropertyAnnotation.create(property, holder, servicesInjector);
FacetUtil.addFacet(facet);
@@ -278,7 +278,7 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
final FacetHolder holder = processMethodContext.getFacetHolder();
// search for @Property(notPersisted=...)
- final Property property = Annotations.getAnnotation(method, Property.class);
+ final Property property = Annotations.getAnnotations(method, Property.class);
NotPersistedFacet facet = NotPersistedFacetForPropertyAnnotation.create(property, holder);
FacetUtil.addFacet(facet);
@@ -291,7 +291,7 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
final FacetHolder holder = processMethodContext.getFacetHolder();
// check for @Nullable
- final Nullable nullableAnnotation = Annotations.getAnnotation(method, Nullable.class);
+ final Nullable nullableAnnotation = Annotations.getAnnotations(method, Nullable.class);
final MandatoryFacet facet2 =
MandatoryFacetInvertedByNullableAnnotationOnProperty.create(nullableAnnotation, method, holder);
FacetUtil.addFacet(facet2);
@@ -299,7 +299,7 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
facet2, "Conflicting @Nullable with other optionality annotation");
// search for @Property(optional=...)
- final Property property = Annotations.getAnnotation(method, Property.class);
+ final Property property = Annotations.getAnnotations(method, Property.class);
final MandatoryFacet facet3 = MandatoryFacetForPropertyAnnotation.create(property, method, holder);
FacetUtil.addFacet(facet3);
conflictingOptionalityValidator.flagIfConflict(
@@ -313,11 +313,11 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
final Class<?> returnType = processMethodContext.getMethod().getReturnType();
// check for @Pattern first
- final Pattern annotation = Annotations.getAnnotation(processMethodContext.getMethod(), Pattern.class);
+ final Pattern annotation = Annotations.getAnnotations(processMethodContext.getMethod(), Pattern.class);
RegExFacet facet = RegExFacetForPatternAnnotationOnProperty.create(annotation, returnType, holder);
// else search for @Property(pattern=...)
- final Property property = Annotations.getAnnotation(method, Property.class);
+ final Property property = Annotations.getAnnotations(method, Property.class);
if (facet == null) {
facet = RegExFacetForPropertyAnnotation.create(property, returnType, holder);
}
@@ -332,7 +332,7 @@ public class PropertyAnnotationFacetFactory extends FacetFactoryAbstract impleme
// else search for @Property(maxLength=...)
- final Property property = Annotations.getAnnotation(method, Property.class);
+ final Property property = Annotations.getAnnotations(method, Property.class);
FileAcceptFacet facet = FileAcceptFacetForPropertyAnnotation.create(property, holder);
FacetUtil.addFacet(facet);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
index 65ab4e4..45f2bc3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
@@ -190,7 +190,7 @@ public class PropertyLayoutFacetFactory extends FacetFactoryAbstract implements
PropertyLayout propertyLayoutAnnotationFrom(final ProcessMethodContext processMethodContext) {
final Method method = processMethodContext.getMethod();
- return Annotations.getAnnotation(method, PropertyLayout.class);
+ return Annotations.getAnnotations(method, PropertyLayout.class);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityAnnotationFacetFactory.java
index 6dea94d..a3af30a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityAnnotationFacetFactory.java
@@ -43,7 +43,7 @@ public class JdoDatastoreIdentityAnnotationFacetFactory extends FacetFactoryAbst
return;
}
- final DatastoreIdentity annotation = Annotations.getAnnotation(cls, DatastoreIdentity.class);
+ final DatastoreIdentity annotation = Annotations.getAnnotations(cls, DatastoreIdentity.class);
if (annotation == null) {
return;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/discriminator/JdoDiscriminatorAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/discriminator/JdoDiscriminatorAnnotationFacetFactory.java
index 303f24c..c24aaa5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/discriminator/JdoDiscriminatorAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/discriminator/JdoDiscriminatorAnnotationFacetFactory.java
@@ -46,7 +46,7 @@ public class JdoDiscriminatorAnnotationFacetFactory extends FacetFactoryAbstract
return;
}
- final Discriminator annotation = Annotations.getAnnotation(processClassContext.getCls(), Discriminator.class);
+ final Discriminator annotation = Annotations.getAnnotations(processClassContext.getCls(), Discriminator.class);
if (annotation == null) {
return;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/persistencecapable/JdoPersistenceCapableAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/persistencecapable/JdoPersistenceCapableAnnotationFacetFactory.java
index 4ea41a2..0023f9f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/persistencecapable/JdoPersistenceCapableAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/persistencecapable/JdoPersistenceCapableAnnotationFacetFactory.java
@@ -45,7 +45,7 @@ public class JdoPersistenceCapableAnnotationFacetFactory extends FacetFactoryAbs
return;
}
- final PersistenceCapable annotation = Annotations.getAnnotation(cls, PersistenceCapable.class);
+ final PersistenceCapable annotation = Annotations.getAnnotations(cls, PersistenceCapable.class);
if (annotation == null) {
return;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/query/JdoQueryAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/query/JdoQueryAnnotationFacetFactory.java
index e08d788..a81796e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/query/JdoQueryAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/query/JdoQueryAnnotationFacetFactory.java
@@ -62,7 +62,7 @@ public class JdoQueryAnnotationFacetFactory extends FacetFactoryAbstract impleme
return;
}
- final Queries namedQueriesAnnotation = Annotations.getAnnotation(cls, Queries.class);
+ final Queries namedQueriesAnnotation = Annotations.getAnnotations(cls, Queries.class);
final FacetHolder facetHolder = processClassContext.getFacetHolder();
if (namedQueriesAnnotation != null) {
@@ -71,7 +71,7 @@ public class JdoQueryAnnotationFacetFactory extends FacetFactoryAbstract impleme
return;
}
- final Query namedQueryAnnotation = Annotations.getAnnotation(cls, Query.class);
+ final Query namedQueryAnnotation = Annotations.getAnnotations(cls, Query.class);
if (namedQueryAnnotation != null) {
FacetUtil.addFacet(new JdoQueryFacetAnnotation(
namedQueryAnnotation, facetHolder));
diff --git a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactory.java
index 33190a8..e1a5aa2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactory.java
@@ -65,7 +65,7 @@ public class BigDecimalDerivedFromJdoColumnAnnotationFacetFactory extends FacetF
BigDecimalValueFacet existingFacet = (BigDecimalValueFacet) holder.getFacet(BigDecimalValueFacet.class);
- final Column jdoColumnAnnotation = Annotations.getAnnotation(processMethodContext.getMethod(), Column.class);
+ final Column jdoColumnAnnotation = Annotations.getAnnotations(processMethodContext.getMethod(), Column.class);
if (jdoColumnAnnotation == null) {
if(existingFacet != null && !existingFacet.isNoop()) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryFromJdoColumnAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryFromJdoColumnAnnotationFacetFactory.java
index 0ecbe73..1ffe8d8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryFromJdoColumnAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryFromJdoColumnAnnotationFacetFactory.java
@@ -62,7 +62,7 @@ public class MandatoryFromJdoColumnAnnotationFacetFactory extends FacetFactoryAb
return;
}
- final Column annotation = Annotations.getAnnotation(processMethodContext.getMethod(), Column.class);
+ final Column annotation = Annotations.getAnnotations(processMethodContext.getMethod(), Column.class);
final FacetedMethod holder = processMethodContext.getFacetHolder();
diff --git a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MaxLengthDerivedFromJdoColumnAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MaxLengthDerivedFromJdoColumnAnnotationFacetFactory.java
index d261e88..26b2cfa 100644
--- a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MaxLengthDerivedFromJdoColumnAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MaxLengthDerivedFromJdoColumnAnnotationFacetFactory.java
@@ -59,13 +59,17 @@ public class MaxLengthDerivedFromJdoColumnAnnotationFacetFactory extends FacetFa
return;
}
- final Column annotation = Annotations.getAnnotation(processMethodContext.getMethod(), Column.class);
+ final List<Column> annotations = Annotations.getAnnotations(processMethodContext.getMethod(), Column.class);
if(String.class != processMethodContext.getMethod().getReturnType()) {
return;
}
- if (annotation == null || annotation.length() == -1) {
+ if (annotations.isEmpty()) {
+ return;
+ }
+ final Column annotation = annotations.get(0);
+ if(annotation.length() == -1) {
return;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/primarykey/JdoPrimaryKeyAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/primarykey/JdoPrimaryKeyAnnotationFacetFactory.java
index 980043a..3cf8034 100644
--- a/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/primarykey/JdoPrimaryKeyAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/primarykey/JdoPrimaryKeyAnnotationFacetFactory.java
@@ -42,7 +42,7 @@ public class JdoPrimaryKeyAnnotationFacetFactory extends FacetFactoryAbstract {
return;
}
- final PrimaryKey annotation = Annotations.getAnnotation(processMethodContext.getMethod(), PrimaryKey.class);
+ final PrimaryKey annotation = Annotations.getAnnotations(processMethodContext.getMethod(), PrimaryKey.class);
if (annotation == null) {
return;
}
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/eventbus/EventBusServiceDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/eventbus/EventBusServiceDefault.java
index 14d2e23..0359f87 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/eventbus/EventBusServiceDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/eventbus/EventBusServiceDefault.java
@@ -61,7 +61,7 @@ public abstract class EventBusServiceDefault extends EventBusService {
if(domainService instanceof RequestScopedService) {
// ok; allow to be registered multiple times (each xactn) since stored in a set.
} else {
- if (Annotations.getAnnotation(domainService.getClass(), RequestScoped.class) != null) {
+ if (Annotations.getAnnotations(domainService.getClass(), RequestScoped.class) != null) {
throw new IllegalArgumentException("Request-scoped services must register their proxy, not themselves");
}
// a singleton
--
To stop receiving notification emails like this one, please contact
"commits@isis.apache.org" <co...@isis.apache.org>.