You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2021/06/22 08:40:34 UTC
[isis] branch master updated: ISIS-2742: remove some utilities from
'Annotations'
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 5afdd20 ISIS-2742: remove some utilities from 'Annotations'
5afdd20 is described below
commit 5afdd20c9af9e49b68c6967c150b1ec2a79e58e0
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Jun 22 10:40:22 2021 +0200
ISIS-2742: remove some utilities from 'Annotations'
---
.../ViewModelSemanticCheckingFacetFactory.java | 5 +--
.../annotation/FacetsFacetAnnotationFactory.java | 3 +-
.../RemoveAnnotatedMethodsFacetFactory.java | 7 ++--
.../RegExFacetForPatternAnnotationOnParameter.java | 3 +-
.../RegExFacetForPatternAnnotationOnProperty.java | 3 +-
.../regex/RegExFacetForPropertyAnnotation.java | 3 +-
.../jdo/metamodel/JdoProgrammingModel.java | 4 +-
.../jdo/metamodel/beans/JdoBeanTypeClassifier.java | 3 +-
...JdoDatastoreIdentityAnnotationFacetFactory.java | 17 ++++----
.../JdoDatastoreIdentityFacetAbstract.java | 6 +--
.../JdoDatastoreIdentityFacetAnnotation.java | 20 ++++++++-
.../JdoDatastoreIdentityFacetImpl.java | 32 ---------------
.../JdoDiscriminatorAnnotationFacetFactory.java | 5 +--
.../query/JdoQueryAnnotationFacetFactory.java | 5 +--
...ferredFromJdoColumnAnnotationFacetFactory.java} | 4 +-
...vedFromJdoColumnAnnotationFacetFactoryTest.java | 4 +-
.../table/JpaTableAnnotationFacetFactory.java | 3 +-
.../applib/modules/ModuleWithFixturesService.java | 47 +++++++++++++---------
18 files changed, 77 insertions(+), 97 deletions(-)
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 0b65253..b5e4fb7 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
@@ -28,7 +28,6 @@ import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.id.LogicalType;
import org.apache.isis.core.metamodel.context.MetaModelContext;
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.specloader.validator.ValidationFailure;
@@ -54,8 +53,8 @@ extends FacetFactoryAbstract {
val cls = processClassContext.getCls();
val facetHolder = processClassContext.getFacetHolder();
- final DomainObjectLayout domainObjectLayout = Annotations.getAnnotation(cls, DomainObjectLayout.class);
- final DomainObject domainObject = Annotations.getAnnotation(cls, DomainObject.class);
+ final DomainObjectLayout domainObjectLayout = processClassContext.synthesizeOnType(DomainObjectLayout.class).orElse(null);
+ final DomainObject domainObject = processClassContext.synthesizeOnType(DomainObject.class).orElse(null);
final boolean implementsViewModel = org.apache.isis.applib.ViewModel.class.isAssignableFrom(cls);
final boolean implementsRecreatableDomainObject = org.apache.isis.applib.RecreatableDomainObject.class.isAssignableFrom(cls);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/facets/annotation/FacetsFacetAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/facets/annotation/FacetsFacetAnnotationFactory.java
index 61006c1..04ecfa4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/facets/annotation/FacetsFacetAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/facets/annotation/FacetsFacetAnnotationFactory.java
@@ -28,7 +28,6 @@ import org.apache.isis.core.metamodel.context.MetaModelContext;
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.facets.FacetsFacet;
@@ -41,7 +40,7 @@ public class FacetsFacetAnnotationFactory extends FacetFactoryAbstract {
@Override
public void process(final ProcessClassContext processClassContaxt) {
- final Facets annotation = Annotations.getAnnotation(processClassContaxt.getCls(), Facets.class);
+ final Facets annotation = processClassContaxt.synthesizeOnType(Facets.class).orElse(null);
FacetUtil.addFacetIfPresent(create(annotation, processClassContaxt.getFacetHolder()));
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/annotation/RemoveAnnotatedMethodsFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/annotation/RemoveAnnotatedMethodsFacetFactory.java
index e780907..3802679 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/annotation/RemoveAnnotatedMethodsFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/annotation/RemoveAnnotatedMethodsFacetFactory.java
@@ -31,11 +31,11 @@ import javax.inject.Inject;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.collections._Lists;
+import org.apache.isis.commons.internal.reflection._Reflect;
import org.apache.isis.core.metamodel.commons.ClassUtil;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facetapi.MethodRemover;
-import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import static org.apache.isis.commons.internal.base._Casts.uncheckedCast;
@@ -93,10 +93,9 @@ extends FacetFactoryAbstract {
final Method method,
final Class<T> annotationClass) {
- if (!Annotations.isAnnotationPresent(method, annotationClass)) {
- return;
+ if(_Reflect.getAnnotation(method, annotationClass, true, true)!=null) {
+ methodRemover.removeMethod(method);
}
- methodRemover.removeMethod(method);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetForPatternAnnotationOnParameter.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetForPatternAnnotationOnParameter.java
index e546a93..b20cf9e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetForPatternAnnotationOnParameter.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/parameter/regex/RegExFacetForPatternAnnotationOnParameter.java
@@ -23,7 +23,6 @@ import java.util.Optional;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.objectvalue.regex.RegExFacet;
import org.apache.isis.core.metamodel.facets.objectvalue.regex.RegExFacetAbstract;
@@ -35,7 +34,7 @@ extends RegExFacetAbstract {
final Class<?> parameterType,
final FacetHolder holder) {
- if(!Annotations.isString(parameterType)) {
+ if(!parameterType.equals(String.class)) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPatternAnnotationOnProperty.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPatternAnnotationOnProperty.java
index c93c72a..7691eb3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPatternAnnotationOnProperty.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPatternAnnotationOnProperty.java
@@ -23,7 +23,6 @@ import java.util.Optional;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.objectvalue.regex.RegExFacet;
import org.apache.isis.core.metamodel.facets.objectvalue.regex.RegExFacetAbstract;
@@ -35,7 +34,7 @@ extends RegExFacetAbstract {
final Class<?> returnType,
final FacetHolder holder) {
- if (!Annotations.isString(returnType)) {
+ if (!returnType.equals(String.class)) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPropertyAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPropertyAnnotation.java
index 7f55b28..2337c53 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPropertyAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/regex/RegExFacetForPropertyAnnotation.java
@@ -24,7 +24,6 @@ import java.util.Optional;
import org.apache.isis.applib.annotation.Property;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.objectvalue.regex.RegExFacet;
import org.apache.isis.core.metamodel.facets.objectvalue.regex.RegExFacetAbstract;
@@ -36,7 +35,7 @@ extends RegExFacetAbstract {
final Class<?> returnType,
final FacetHolder holder) {
- if (!Annotations.isString(returnType)) {
+ if (!returnType.equals(String.class)) {
return null;
}
diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/JdoProgrammingModel.java b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/JdoProgrammingModel.java
index 04fc81f..b2df933 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/JdoProgrammingModel.java
+++ b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/JdoProgrammingModel.java
@@ -36,7 +36,7 @@ import org.apache.isis.persistence.jdo.metamodel.facets.object.datastoreidentity
import org.apache.isis.persistence.jdo.metamodel.facets.object.persistencecapable.JdoPersistenceCapableFacetFactory;
import org.apache.isis.persistence.jdo.metamodel.facets.object.query.JdoQueryAnnotationFacetFactory;
import org.apache.isis.persistence.jdo.metamodel.facets.object.version.JdoVersionAnnotationFacetFactory;
-import org.apache.isis.persistence.jdo.metamodel.facets.prop.column.BigDecimalDerivedFromJdoColumnAnnotationFacetFactory;
+import org.apache.isis.persistence.jdo.metamodel.facets.prop.column.BigDecimalInferredFromJdoColumnAnnotationFacetFactory;
import org.apache.isis.persistence.jdo.metamodel.facets.prop.column.MandatoryFromJdoColumnAnnotationFacetFactory;
import org.apache.isis.persistence.jdo.metamodel.facets.prop.column.MaxLengthDerivedFromJdoColumnAnnotationFacetFactory;
import org.apache.isis.persistence.jdo.metamodel.facets.prop.notpersistent.JdoNotPersistentAnnotationFacetFactory;
@@ -82,7 +82,7 @@ public class JdoProgrammingModel implements MetaModelRefiner {
pm.addFactory(step2, new JdoQueryAnnotationFacetFactory(mmc, jdoFacetContext), Marker.JDO);
- pm.addFactory(step2, new BigDecimalDerivedFromJdoColumnAnnotationFacetFactory(mmc), Marker.JDO);
+ pm.addFactory(step2, new BigDecimalInferredFromJdoColumnAnnotationFacetFactory(mmc), Marker.JDO);
pm.addFactory(step2, new MaxLengthDerivedFromJdoColumnAnnotationFacetFactory(mmc), Marker.JDO);
// must appear after JdoPrimaryKeyAnnotationFacetFactory (above)
// and also MandatoryFacetOnPropertyMandatoryAnnotationFactory
diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/beans/JdoBeanTypeClassifier.java b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/beans/JdoBeanTypeClassifier.java
index 8d31c09..f5b5388 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/beans/JdoBeanTypeClassifier.java
+++ b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/beans/JdoBeanTypeClassifier.java
@@ -28,7 +28,6 @@ import org.apache.isis.applib.services.metamodel.BeanSort;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.core.config.beans.IsisBeanTypeClassifier;
import org.apache.isis.core.config.util.LogicalTypeNameUtil;
-import org.apache.isis.core.metamodel.facets.Annotations;
import static org.apache.isis.commons.internal.reflection._Annotations.findNearestAnnotation;
@@ -52,7 +51,7 @@ public class JdoBeanTypeClassifier implements IsisBeanTypeClassifier {
// Whether objects of this type can only be embedded,
// hence have no ID that binds them to the persistence layer
final boolean embeddedOnly = Boolean.valueOf(embeddedOnlyAttribute)
- || Annotations.getAnnotation(type, EmbeddedOnly.class)!=null;
+ || findNearestAnnotation(type, EmbeddedOnly.class).isPresent();
if(embeddedOnly) {
return null; // don't categorize as entity ... fall through in the caller's logic
}
diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityAnnotationFacetFactory.java b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityAnnotationFacetFactory.java
index ba9cf6f..e80bf28 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityAnnotationFacetFactory.java
+++ b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityAnnotationFacetFactory.java
@@ -21,15 +21,15 @@ package org.apache.isis.persistence.jdo.metamodel.facets.object.datastoreidentit
import javax.inject.Inject;
import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
import org.apache.isis.core.metamodel.context.MetaModelContext;
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.persistence.jdo.provider.entities.JdoFacetContext;
+import lombok.val;
+
public class JdoDatastoreIdentityAnnotationFacetFactory
extends FacetFactoryAbstract {
@@ -52,15 +52,12 @@ extends FacetFactoryAbstract {
return;
}
- final DatastoreIdentity annotation = Annotations.getAnnotation(cls, DatastoreIdentity.class);
- if (annotation == null) {
- return;
- }
- IdGeneratorStrategy strategyAttribute = annotation.strategy();
+ val datastoreIdentityIfAny = processClassContext.synthesizeOnType(DatastoreIdentity.class);
+
+ FacetUtil.addFacetIfPresent(
+ JdoDatastoreIdentityFacetAnnotation
+ .create(datastoreIdentityIfAny, processClassContext.getFacetHolder()));
- FacetUtil.addFacet(new JdoDatastoreIdentityFacetAnnotation(
- strategyAttribute, processClassContext.getFacetHolder()));
- return;
}
diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityFacetAbstract.java b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityFacetAbstract.java
index 6431a95..86eed4b 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityFacetAbstract.java
+++ b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityFacetAbstract.java
@@ -27,19 +27,19 @@ import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.persistence.jdo.provider.metamodel.facets.object.datastoreidentity.JdoDatastoreIdentityFacet;
-
public abstract class JdoDatastoreIdentityFacetAbstract
extends FacetAbstract
implements JdoDatastoreIdentityFacet {
-
private static final Class<? extends Facet> type() {
return JdoDatastoreIdentityFacet.class;
}
private final IdGeneratorStrategy strategy;
- public JdoDatastoreIdentityFacetAbstract(IdGeneratorStrategy strategy, FacetHolder facetHolder) {
+ protected JdoDatastoreIdentityFacetAbstract(
+ final IdGeneratorStrategy strategy,
+ final FacetHolder facetHolder) {
super(JdoDatastoreIdentityFacetAbstract.type(), facetHolder);
this.strategy = strategy;
}
diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityFacetAnnotation.java b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityFacetAnnotation.java
index d661afd..798948d 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityFacetAnnotation.java
+++ b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityFacetAnnotation.java
@@ -18,14 +18,30 @@
*/
package org.apache.isis.persistence.jdo.metamodel.facets.object.datastoreidentity;
+import java.util.Optional;
+
+import javax.jdo.annotations.DatastoreIdentity;
import javax.jdo.annotations.IdGeneratorStrategy;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.persistence.jdo.provider.metamodel.facets.object.datastoreidentity.JdoDatastoreIdentityFacet;
+
+public class JdoDatastoreIdentityFacetAnnotation
+extends JdoDatastoreIdentityFacetAbstract {
-public class JdoDatastoreIdentityFacetAnnotation extends JdoDatastoreIdentityFacetImpl {
+ public static Optional<JdoDatastoreIdentityFacet> create(
+ final Optional<DatastoreIdentity> datastoreIdentityIfAny,
+ final FacetHolder facetHolder) {
+
+ return datastoreIdentityIfAny
+ .map(DatastoreIdentity::strategy)
+ .map(strategy->new JdoDatastoreIdentityFacetAnnotation(strategy, facetHolder));
+ }
- public JdoDatastoreIdentityFacetAnnotation(IdGeneratorStrategy strategy, FacetHolder facetHolder) {
+ private JdoDatastoreIdentityFacetAnnotation(
+ final IdGeneratorStrategy strategy,
+ final FacetHolder facetHolder) {
super(strategy, facetHolder);
}
diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityFacetImpl.java b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityFacetImpl.java
deleted file mode 100644
index 2fb2af7..0000000
--- a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityFacetImpl.java
+++ /dev/null
@@ -1,32 +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.persistence.jdo.metamodel.facets.object.datastoreidentity;
-
-import javax.jdo.annotations.IdGeneratorStrategy;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-
-
-public class JdoDatastoreIdentityFacetImpl extends JdoDatastoreIdentityFacetAbstract {
-
- public JdoDatastoreIdentityFacetImpl(IdGeneratorStrategy strategy, FacetHolder facetHolder) {
- super(strategy, facetHolder);
- }
-
-}
diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/discriminator/JdoDiscriminatorAnnotationFacetFactory.java b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/discriminator/JdoDiscriminatorAnnotationFacetFactory.java
index d786feb..4f1d175 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/discriminator/JdoDiscriminatorAnnotationFacetFactory.java
+++ b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/discriminator/JdoDiscriminatorAnnotationFacetFactory.java
@@ -28,7 +28,6 @@ import org.apache.isis.core.metamodel.context.MetaModelContext;
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.ObjectTypeFacetFactory;
import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacet;
@@ -64,7 +63,7 @@ implements ObjectTypeFacetFactory {
return;
}
- final Discriminator annotation = Annotations.getAnnotation(cls, Discriminator.class);
+ final Discriminator annotation = processClassContext.synthesizeOnType(Discriminator.class).orElse(null);
if (annotation == null) {
return;
}
@@ -101,7 +100,7 @@ implements ObjectTypeFacetFactory {
return;
}
- final Discriminator annotation = Annotations.getAnnotation(processClassContext.getCls(), Discriminator.class);
+ final Discriminator annotation = processClassContext.synthesizeOnType(Discriminator.class).orElse(null);
if (annotation == null) {
return;
}
diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/query/JdoQueryAnnotationFacetFactory.java b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/query/JdoQueryAnnotationFacetFactory.java
index 8d76a6a..1715b6d 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/query/JdoQueryAnnotationFacetFactory.java
+++ b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/query/JdoQueryAnnotationFacetFactory.java
@@ -29,7 +29,6 @@ import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
-import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
import org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext;
@@ -58,7 +57,7 @@ implements MetaModelRefiner {
return;
}
- final Queries namedQueriesAnnotation = Annotations.getAnnotation(cls, Queries.class);
+ final Queries namedQueriesAnnotation = processClassContext.synthesizeOnType(Queries.class).orElse(null);
final FacetHolder facetHolder = processClassContext.getFacetHolder();
if (namedQueriesAnnotation != null) {
@@ -67,7 +66,7 @@ implements MetaModelRefiner {
return;
}
- final Query namedQueryAnnotation = Annotations.getAnnotation(cls, Query.class);
+ final Query namedQueryAnnotation = processClassContext.synthesizeOnType(Query.class).orElse(null);
if (namedQueryAnnotation != null) {
addFacet(
new JdoQueryFacetAnnotation(namedQueryAnnotation, facetHolder));
diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactory.java b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/BigDecimalInferredFromJdoColumnAnnotationFacetFactory.java
similarity index 97%
rename from persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactory.java
rename to persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/BigDecimalInferredFromJdoColumnAnnotationFacetFactory.java
index 7fc7942..7c6aa6b 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactory.java
+++ b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/BigDecimalInferredFromJdoColumnAnnotationFacetFactory.java
@@ -41,7 +41,7 @@ import org.apache.isis.persistence.jdo.provider.metamodel.facets.prop.notpersist
import lombok.val;
-public class BigDecimalDerivedFromJdoColumnAnnotationFacetFactory
+public class BigDecimalInferredFromJdoColumnAnnotationFacetFactory
extends FacetFactoryAbstract
implements MetaModelRefiner {
@@ -49,7 +49,7 @@ implements MetaModelRefiner {
private static final int DEFAULT_SCALE = BigDecimalValueSemanticsProvider.DEFAULT_SCALE;
@Inject
- public BigDecimalDerivedFromJdoColumnAnnotationFacetFactory(final MetaModelContext mmc) {
+ public BigDecimalInferredFromJdoColumnAnnotationFacetFactory(final MetaModelContext mmc) {
super(mmc, FeatureType.PROPERTIES_ONLY);
}
diff --git a/persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java b/persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java
index cc53ec2..0bee301 100644
--- a/persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java
+++ b/persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java
@@ -35,14 +35,14 @@ import lombok.val;
public class BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest
extends AbstractFacetFactoryTest {
- private BigDecimalDerivedFromJdoColumnAnnotationFacetFactory facetFactory;
+ private BigDecimalInferredFromJdoColumnAnnotationFacetFactory facetFactory;
@Override
protected void setUp() throws Exception {
super.setUp();
val mmc = MetaModelContext_forTesting.buildDefault();
- facetFactory = new BigDecimalDerivedFromJdoColumnAnnotationFacetFactory(mmc);
+ facetFactory = new BigDecimalInferredFromJdoColumnAnnotationFacetFactory(mmc);
}
@Override
diff --git a/persistence/jpa/metamodel/src/main/java/org/apache/isis/persistence/jpa/metamodel/object/table/JpaTableAnnotationFacetFactory.java b/persistence/jpa/metamodel/src/main/java/org/apache/isis/persistence/jpa/metamodel/object/table/JpaTableAnnotationFacetFactory.java
index c035662..e591c15 100644
--- a/persistence/jpa/metamodel/src/main/java/org/apache/isis/persistence/jpa/metamodel/object/table/JpaTableAnnotationFacetFactory.java
+++ b/persistence/jpa/metamodel/src/main/java/org/apache/isis/persistence/jpa/metamodel/object/table/JpaTableAnnotationFacetFactory.java
@@ -26,7 +26,6 @@ import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.core.metamodel.context.MetaModelContext;
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.ObjectTypeFacetFactory;
import org.apache.isis.core.metamodel.facets.object.domainobject.DomainObjectAnnotationFacetFactory;
@@ -50,7 +49,7 @@ implements ObjectTypeFacetFactory {
public void process(final ObjectTypeFacetFactory.ProcessObjectTypeContext processClassContext) {
final Class<?> cls = processClassContext.getCls();
- final Table annotation = Annotations.getAnnotation(cls, Table.class);
+ final Table annotation = processClassContext.synthesizeOnType(Table.class).orElse(null);
if (annotation == null) {
return;
}
diff --git a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/modules/ModuleWithFixturesService.java b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/modules/ModuleWithFixturesService.java
index 364f5f9..d5bbb05 100644
--- a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/modules/ModuleWithFixturesService.java
+++ b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/modules/ModuleWithFixturesService.java
@@ -18,15 +18,19 @@
*/
package org.apache.isis.testing.fixtures.applib.modules;
-import lombok.Data;
-import lombok.extern.log4j.Log4j2;
-import lombok.val;
-import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.core.metamodel.facets.Annotations;
-import org.apache.isis.subdomains.spring.applib.service.BeanDescriptor;
-import org.apache.isis.subdomains.spring.applib.service.ContextBeans;
-import org.apache.isis.subdomains.spring.applib.service.SpringBeansService;
-import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import javax.annotation.Priority;
+import javax.inject.Inject;
+import javax.inject.Named;
+
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Configuration;
@@ -35,11 +39,16 @@ import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service;
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.inject.Named;
-import java.util.*;
-import java.util.stream.Collectors;
+import org.apache.isis.applib.annotation.PriorityPrecedence;
+import org.apache.isis.commons.internal.reflection._Reflect;
+import org.apache.isis.subdomains.spring.applib.service.BeanDescriptor;
+import org.apache.isis.subdomains.spring.applib.service.ContextBeans;
+import org.apache.isis.subdomains.spring.applib.service.SpringBeansService;
+import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
+
+import lombok.Data;
+import lombok.val;
+import lombok.extern.log4j.Log4j2;
/**
* @since 2.x {@index}
@@ -92,7 +101,7 @@ public class ModuleWithFixturesService {
return sequenced(modules);
}
- static List<ModuleWithFixturesDescriptor> modulesWithin(Map<String, ContextBeans> beans) {
+ static List<ModuleWithFixturesDescriptor> modulesWithin(final Map<String, ContextBeans> beans) {
final List<ModuleWithFixturesDescriptor> descriptors = new ArrayList<>();
for (Map.Entry<String, ContextBeans> contextEntry : beans.entrySet()) {
final String contextId = contextEntry.getKey();
@@ -115,7 +124,7 @@ public class ModuleWithFixturesService {
final Map<String, ModuleWithFixtures> importedModulesByBeanName = new LinkedHashMap<>();
if(annotatedWithConfiguration != null && annotatedWithImport != null) {
- final Import importAnnot = Annotations.getAnnotation(annotatedWithImport.getClass(), Import.class);
+ final Import importAnnot = _Reflect.getAnnotation(annotatedWithImport.getClass(), Import.class);
if(importAnnot!=null) {
final Class<?>[] importedClasses = importAnnot.value();
@@ -147,7 +156,7 @@ public class ModuleWithFixturesService {
}
- static List<ModuleWithFixturesDescriptor> sequenced(List<ModuleWithFixturesDescriptor> modules) {
+ static List<ModuleWithFixturesDescriptor> sequenced(final List<ModuleWithFixturesDescriptor> modules) {
val remaining = new ArrayList<>(modules);
val sequenced = new ArrayList<ModuleWithFixturesDescriptor>();
@@ -169,7 +178,7 @@ public class ModuleWithFixturesService {
return sequenced;
}
- static List<String> beanNamesOf(ArrayList<ModuleWithFixturesDescriptor> result) {
+ static List<String> beanNamesOf(final ArrayList<ModuleWithFixturesDescriptor> result) {
return result.stream().map(ModuleWithFixturesDescriptor::getBeanName).collect(Collectors.toList());
}
@@ -193,7 +202,7 @@ public class ModuleWithFixturesService {
}
@EventListener(ContextRefreshedEvent.class)
- public void onContextRefreshed(ContextRefreshedEvent event) {
+ public void onContextRefreshed(final ContextRefreshedEvent event) {
log.info("onContextRefreshed");
for (final ModuleWithFixturesDescriptor descriptor : modules()) {
log.info(descriptor);