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 2020/03/20 19:34:00 UTC

[isis] branch master updated (b7d7580 -> 72baddd)

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git.


    from b7d7580  ISIS-2062: updating ug guide
     new 675d5a8  ISIS-2316: fixes this issue (adds missing NotContributedFacet)
     new 72baddd  ISIS-2316: converts built-in object mixins to simplified mixin syntax

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../metamodel/Object_downloadMetaModelXml.java     | 25 +++++++++-------------
 .../mixins/metamodel/Object_objectIdentifier.java  | 17 +++------------
 .../applib/mixins/metamodel/Object_objectType.java | 17 +++------------
 .../isis/core/metamodel/facets/FacetFactory.java   |  5 +++++
 .../CollectionAnnotationFacetFactory.java          |  4 +++-
 .../property/PropertyAnnotationFacetFactory.java   |  5 +++--
 6 files changed, 27 insertions(+), 46 deletions(-)


[isis] 02/02: ISIS-2316: converts built-in object mixins to simplified mixin syntax

Posted by ah...@apache.org.
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

commit 72baddd9a59e6fb5e5db163d02718b2dea8ca2e1
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Mar 20 20:33:48 2020 +0100

    ISIS-2316: converts built-in object mixins to simplified mixin syntax
---
 .../metamodel/Object_downloadMetaModelXml.java     | 25 +++++++++-------------
 .../mixins/metamodel/Object_objectIdentifier.java  | 17 +++------------
 .../applib/mixins/metamodel/Object_objectType.java | 17 +++------------
 3 files changed, 16 insertions(+), 43 deletions(-)

diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_downloadMetaModelXml.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_downloadMetaModelXml.java
index 0cdc78f..1cbb51b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_downloadMetaModelXml.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_downloadMetaModelXml.java
@@ -24,9 +24,7 @@ import javax.inject.Inject;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Contributed;
 import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.annotation.Mixin;
 import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.applib.annotation.RestrictTo;
 import org.apache.isis.applib.annotation.SemanticsOf;
@@ -40,7 +38,15 @@ import org.apache.isis.applib.value.NamedWithMimeType.CommonMimeType;
 import lombok.RequiredArgsConstructor;
 import lombok.val;
 
-@Mixin(method="act")
+@Action(
+        domainEvent = Object_downloadMetaModelXml.ActionDomainEvent.class,
+        semantics = SemanticsOf.SAFE,
+        restrictTo = RestrictTo.PROTOTYPING
+        )
+@ActionLayout(
+        cssClassFa = "fa-download",
+        position = ActionLayout.Position.PANEL_DROPDOWN
+        )
 @RequiredArgsConstructor
 public class Object_downloadMetaModelXml {
 
@@ -49,16 +55,6 @@ public class Object_downloadMetaModelXml {
     public static class ActionDomainEvent 
     extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Object_downloadMetaModelXml> {}
 
-    @Action(
-            domainEvent = ActionDomainEvent.class,
-            semantics = SemanticsOf.SAFE,
-            restrictTo = RestrictTo.PROTOTYPING
-            )
-    @ActionLayout(
-            contributed = Contributed.AS_ACTION,
-            cssClassFa = "fa-download",
-            position = ActionLayout.Position.PANEL_DROPDOWN
-            )
     @MemberOrder(name = MixinConstants.METADATA_LAYOUT_GROUPNAME, sequence = "700.2")
     public Object act(
 
@@ -100,8 +96,7 @@ public class Object_downloadMetaModelXml {
 
     @Inject MetaModelService metaModelService;
     @Inject JaxbService jaxbService;
-    @Inject
-    MetaModelServiceMenu metaModelServiceMenu;
+    @Inject MetaModelServiceMenu metaModelServiceMenu;
 
 
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java
index de8a9f2..8ba9947 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java
@@ -20,13 +20,9 @@ package org.apache.isis.applib.mixins.metamodel;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Contributed;
 import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.annotation.Mixin;
 import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.SemanticsOf;
+import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.mixins.MixinConstants;
 import org.apache.isis.applib.services.bookmark.BookmarkService;
@@ -37,7 +33,8 @@ import lombok.NonNull;
 import lombok.RequiredArgsConstructor;
 import lombok.val;
 
-@Mixin(method="prop") 
+@Property
+@PropertyLayout(hidden = Where.ALL_TABLES)
 @RequiredArgsConstructor
 public class Object_objectIdentifier {
 
@@ -49,14 +46,6 @@ public class Object_objectIdentifier {
     public static class ActionDomainEvent 
     extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Object_objectIdentifier> {}
 
-    @Action(
-            domainEvent = ActionDomainEvent.class,
-            semantics = SemanticsOf.SAFE
-            )
-    @ActionLayout(
-            contributed = Contributed.AS_ASSOCIATION,
-            hidden = Where.ALL_TABLES)
-    @Property()
     @MemberOrder(name = MixinConstants.METADATA_LAYOUT_GROUPNAME, sequence = "700.2")
     public String prop() {
         val bookmark = bookmarkService.bookmarkForElseThrow(this.holder);
diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectType.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectType.java
index 963224b..6dfd9e9 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectType.java
@@ -20,13 +20,9 @@ package org.apache.isis.applib.mixins.metamodel;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Contributed;
 import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.annotation.Mixin;
 import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.SemanticsOf;
+import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.mixins.MixinConstants;
 import org.apache.isis.applib.services.bookmark.BookmarkService;
@@ -34,7 +30,8 @@ import org.apache.isis.applib.services.bookmark.BookmarkService;
 import lombok.RequiredArgsConstructor;
 import lombok.val;
 
-@Mixin(method="prop") 
+@Property
+@PropertyLayout(hidden = Where.ALL_TABLES)
 @RequiredArgsConstructor
 public class Object_objectType {
     
@@ -45,14 +42,6 @@ public class Object_objectType {
     public static class ActionDomainEvent 
     extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Object_objectType> {}
 
-    @Action(
-            domainEvent = ActionDomainEvent.class,
-            semantics = SemanticsOf.SAFE
-            )
-    @ActionLayout(
-            contributed = Contributed.AS_ASSOCIATION,
-            hidden = Where.ALL_TABLES)
-    @Property()
     @MemberOrder(name = MixinConstants.METADATA_LAYOUT_GROUPNAME, sequence = "700.1")
     public String prop() {
         val bookmark = bookmarkService.bookmarkForElseThrow(this.holder);


[isis] 01/02: ISIS-2316: fixes this issue (adds missing NotContributedFacet)

Posted by ah...@apache.org.
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

commit 675d5a86d1271788cf8e6c6a13d2ebd864b30559
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Mar 20 20:33:05 2020 +0100

    ISIS-2316: fixes this issue (adds missing NotContributedFacet)
---
 .../java/org/apache/isis/core/metamodel/facets/FacetFactory.java     | 5 +++++
 .../collections/collection/CollectionAnnotationFacetFactory.java     | 4 +++-
 .../facets/properties/property/PropertyAnnotationFacetFactory.java   | 5 +++--
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java
index 22acf30..339516d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java
@@ -186,6 +186,11 @@ public interface FacetFactory {
     implements ProcessContextWithMetadataProperties<FacetedMethod> {
         
         @Getter private final FeatureType featureType;
+        /**
+         * Whether we are currently processing a mixin type AND this context's method can be identified 
+         * as the main method of the processed mixin class. 
+         * @since 2.0
+         */
         @Getter private final boolean mixinMain;
 
         /**
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 847f0ec..75948ac 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
@@ -25,6 +25,7 @@ import java.lang.reflect.TypeVariable;
 import java.util.Optional;
 
 import org.apache.isis.applib.annotation.Collection;
+import org.apache.isis.applib.annotation.Contributed;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.events.domain.CollectionDomainEvent;
 import org.apache.isis.core.commons.internal.collections._Collections;
@@ -34,6 +35,7 @@ import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromArray;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics;
+import org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacetAbstract;
 import org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacetAbstract;
 import org.apache.isis.core.metamodel.facets.collections.collection.disabled.DisabledFacetForCollectionAnnotation;
 import org.apache.isis.core.metamodel.facets.collections.collection.hidden.HiddenFacetForCollectionAnnotation;
@@ -91,7 +93,7 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract {
         //@ActionLayout(contributed=ASSOCIATION) ... it seems, is already allowed for mixins
         val facetedMethod = processMethodContext.getFacetHolder();
         FacetUtil.addOrReplaceFacet(new ActionSemanticsFacetAbstract(SemanticsOf.SAFE, facetedMethod) {});
-        //facetedMethod.addFacet(new NotContributedFacetForActionLayoutAnnotation(Contributed.AS_ASSOCIATION, facetedMethod));
+        FacetUtil.addFacet(new NotContributedFacetAbstract(Contributed.AS_ASSOCIATION, facetedMethod) {});
 
     }
 
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 a1953f9..cb12ad0 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
@@ -24,6 +24,7 @@ import java.util.Optional;
 import javax.annotation.Nullable;
 import javax.validation.constraints.Pattern;
 
+import org.apache.isis.applib.annotation.Contributed;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.events.domain.PropertyDomainEvent;
@@ -33,6 +34,7 @@ import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
+import org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacetAbstract;
 import org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacetAbstract;
 import org.apache.isis.core.metamodel.facets.object.domainobject.domainevents.PropertyDomainEventDefaultFacetForDomainObjectAnnotation;
 import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
@@ -117,8 +119,7 @@ implements MetaModelRefiner {
         //@ActionLayout(contributed=ASSOCIATION) ... it seems, is already allowed for mixins
         val facetedMethod = processMethodContext.getFacetHolder();
         FacetUtil.addOrReplaceFacet(new ActionSemanticsFacetAbstract(SemanticsOf.SAFE, facetedMethod) {});
-        //facetedMethod.addFacet(new NotContributedFacetForActionLayoutAnnotation(Contributed.AS_ASSOCIATION, facetedMethod));
-        
+        FacetUtil.addFacet(new NotContributedFacetAbstract(Contributed.AS_ASSOCIATION, facetedMethod) {});
     }
 
     void processModify(final ProcessMethodContext processMethodContext, Optional<Property> propertyIfAny) {