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 e9438a4fa7 ISIS-3063: adds AliasedFacetForDomainServiceAnnotation
e9438a4fa7 is described below
commit e9438a4fa7883e31e9cb0778044074d35e53890e
Author: Andi Huber <[email protected]>
AuthorDate: Sat May 28 06:57:38 2022 +0200
ISIS-3063: adds AliasedFacetForDomainServiceAnnotation
---
.../AliasedFacetForDomainObjectAnnotation.java | 7 +++++++
.../AliasedFacetForDomainServiceAnnotation.java} | 21 ++++++++++++++-------
.../DomainServiceFacetAnnotationFactory.java | 6 +++++-
...on.java => DomainServiceFacetForAnnotation.java} | 6 ++----
.../DomainServiceFacetAnnotationFactoryTest.java | 4 ++--
5 files changed, 30 insertions(+), 14 deletions(-)
diff --git
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/AliasedFacetForDomainObjectAnnotation.java
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/AliasedFacetForDomainObjectAnnotation.java
index 8cfd760020..975d7999ed 100644
---
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/AliasedFacetForDomainObjectAnnotation.java
+++
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/AliasedFacetForDomainObjectAnnotation.java
@@ -24,9 +24,16 @@ import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.id.LogicalType;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import
org.apache.isis.core.metamodel.facets.object.domainservice.annotation.AliasedFacetForDomainServiceAnnotation;
import org.apache.isis.core.metamodel.facets.object.logicaltype.AliasedFacet;
import
org.apache.isis.core.metamodel.facets.object.logicaltype.AliasedFacetAbstract;
+/**
+ * AliasedFacet based on presence of {@link DomainObject#aliased()}.
+ * <p>
+ * Analogous to {@link AliasedFacetForDomainServiceAnnotation}.
+ * @see AliasedFacetForDomainServiceAnnotation
+ */
public class AliasedFacetForDomainObjectAnnotation
extends AliasedFacetAbstract {
diff --git
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/AliasedFacetForDomainObjectAnnotation.java
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/AliasedFacetForDomainServiceAnnotation.java
similarity index 71%
copy from
core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/AliasedFacetForDomainObjectAnnotation.java
copy to
core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/AliasedFacetForDomainServiceAnnotation.java
index 8cfd760020..1f9e28c84c 100644
---
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/AliasedFacetForDomainObjectAnnotation.java
+++
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/AliasedFacetForDomainServiceAnnotation.java
@@ -16,36 +16,43 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.core.metamodel.facets.object.domainobject;
+package org.apache.isis.core.metamodel.facets.object.domainservice.annotation;
import java.util.Optional;
-import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.id.LogicalType;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import
org.apache.isis.core.metamodel.facets.object.domainobject.AliasedFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.facets.object.logicaltype.AliasedFacet;
import
org.apache.isis.core.metamodel.facets.object.logicaltype.AliasedFacetAbstract;
-public class AliasedFacetForDomainObjectAnnotation
+/**
+ * AliasedFacet based on presence of {@link DomainService#aliased()}.
+ * <p>
+ * Analogous to {@link AliasedFacetForDomainServiceAnnotation}.
+ * @see AliasedFacetForDomainObjectAnnotation
+ */
+public class AliasedFacetForDomainServiceAnnotation
extends AliasedFacetAbstract {
public static Optional<AliasedFacet> create(
- final Optional<DomainObject> domainObjectIfAny,
+ final Optional<DomainService> domainServiceIfAny,
final Class<?> correspondingClass,
final FacetHolder holder) {
- return domainObjectIfAny
+ return domainServiceIfAny
.map(annot->annot.aliased())
.map(Can::ofArray)
.filter(Can::isNotEmpty)
- .map(aliasNames -> new AliasedFacetForDomainObjectAnnotation(
+ .map(aliasNames -> new AliasedFacetForDomainServiceAnnotation(
aliasNames
.map(aliasName->LogicalType.eager(correspondingClass, aliasName)),
holder));
}
- private AliasedFacetForDomainObjectAnnotation(
+ private AliasedFacetForDomainServiceAnnotation(
final Can<LogicalType> aliases,
final FacetHolder holder) {
super(aliases, holder);
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 2043d127e4..6226116076 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
@@ -52,9 +52,13 @@ implements MetaModelRefiner {
}
val facetHolder = processClassContext.getFacetHolder();
addFacet(
- new DomainServiceFacetAnnotation(
+ new DomainServiceFacetForAnnotation(
facetHolder,
domainServiceIfAny.get().nature()));
+
+ addFacetIfPresent(
+ AliasedFacetForDomainServiceAnnotation
+ .create(domainServiceIfAny, processClassContext.getCls(),
facetHolder));
}
@Override
diff --git
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotation.java
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetForAnnotation.java
similarity index 90%
rename from
core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotation.java
rename to
core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetForAnnotation.java
index 4637048325..2ac899ca56 100644
---
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotation.java
+++
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetForAnnotation.java
@@ -18,15 +18,13 @@
*/
package org.apache.isis.core.metamodel.facets.object.domainservice.annotation;
-
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import
org.apache.isis.core.metamodel.facets.object.domainservice.DomainServiceFacetAbstract;
+public class DomainServiceFacetForAnnotation extends
DomainServiceFacetAbstract {
-public class DomainServiceFacetAnnotation extends DomainServiceFacetAbstract {
-
- public DomainServiceFacetAnnotation(
+ public DomainServiceFacetForAnnotation(
final FacetHolder facetHolder,
final NatureOfService natureOfService) {
super(facetHolder, natureOfService);
diff --git
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
index dc9473e045..bd4a9ec5fd 100644
---
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
+++
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
@@ -53,8 +53,8 @@ extends AbstractFacetFactoryTest {
final Facet facet = facetHolder.getFacet(DomainServiceFacet.class);
assertNotNull(facet);
- assertTrue(facet instanceof DomainServiceFacetAnnotation);
- DomainServiceFacetAnnotation domainServiceFacet =
(DomainServiceFacetAnnotation) facet;
+ assertTrue(facet instanceof DomainServiceFacetForAnnotation);
+ DomainServiceFacetForAnnotation domainServiceFacet =
(DomainServiceFacetForAnnotation) facet;
assertNotNull(domainServiceFacet);
assertNoMethodsRemoved();