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 2022/07/06 12:17:13 UTC

[isis] branch master updated: ISIS-3060: fixes CssClassFacetFromProjectionFacet never used

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 d6cf859608 ISIS-3060: fixes CssClassFacetFromProjectionFacet never used
d6cf859608 is described below

commit d6cf859608752c6429a56c138155df31ae8a45d2
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Jul 6 14:17:06 2022 +0200

    ISIS-3060: fixes CssClassFacetFromProjectionFacet never used
---
 .../ProjectionFacetFromProjectingProperty.java     | 28 ++++++++++------------
 .../object/ProjectionFacetsPostProcessor.java      |  6 +++--
 2 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/projection/ProjectionFacetFromProjectingProperty.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/projection/ProjectionFacetFromProjectingProperty.java
index 8e061c188c..8e87ed2194 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/projection/ProjectionFacetFromProjectingProperty.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/projection/ProjectionFacetFromProjectingProperty.java
@@ -18,6 +18,8 @@
  */
 package org.apache.isis.core.metamodel.facets.object.projection;
 
+import java.util.Optional;
+
 import org.apache.isis.applib.annotation.Projecting;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.properties.projection.ProjectingFacet;
@@ -26,13 +28,22 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.MixedIn;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 
-import lombok.val;
-
 public class ProjectionFacetFromProjectingProperty
 extends ProjectionFacetAbstract {
 
     private final OneToOneAssociation projectingProperty;
 
+    public static Optional<ProjectionFacet> create(final ObjectSpecification objectSpecification) {
+        return objectSpecification.streamProperties(MixedIn.EXCLUDED)
+        .filter(prop ->
+            prop.lookupNonFallbackFacet(ProjectingFacet.class)
+            .map(projectingFacet -> projectingFacet.value() == Projecting.PROJECTED)
+            .orElse(false)
+        )
+        .findFirst()
+        .map(prop -> new ProjectionFacetFromProjectingProperty(prop, objectSpecification));
+    }
+
     private ProjectionFacetFromProjectingProperty(
             final OneToOneAssociation projectingProperty,
             final FacetHolder holder) {
@@ -41,19 +52,6 @@ extends ProjectionFacetAbstract {
         this.projectingProperty = projectingProperty;
     }
 
-    public static ProjectionFacet create(final ObjectSpecification objectSpecification) {
-        return objectSpecification.streamProperties(MixedIn.EXCLUDED)
-        .filter(propertySpec -> {
-            val projectingFacet = propertySpec.lookupNonFallbackFacet(ProjectingFacet.class)
-                    .orElse(null);
-            return projectingFacet != null
-                    && projectingFacet.value() == Projecting.PROJECTED;
-        })
-        .findFirst()
-        .map(propertySpec -> new ProjectionFacetFromProjectingProperty(propertySpec, objectSpecification))
-        .orElse(null);
-    }
-
     @Override
     public ManagedObject projected(final ManagedObject owningAdapter) {
         return projectingProperty.get(owningAdapter);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/object/ProjectionFacetsPostProcessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/object/ProjectionFacetsPostProcessor.java
index 4f6cb5ca9c..6defc0316d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/object/ProjectionFacetsPostProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/object/ProjectionFacetsPostProcessor.java
@@ -28,6 +28,7 @@ import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
 import org.apache.isis.core.metamodel.facets.object.icon.IconFacet;
 import org.apache.isis.core.metamodel.facets.object.projection.ProjectionFacetFromProjectingProperty;
+import org.apache.isis.core.metamodel.facets.object.projection.ident.CssClassFacetFromProjectionFacet;
 import org.apache.isis.core.metamodel.facets.object.projection.ident.IconFacetFromProjectionFacet;
 import org.apache.isis.core.metamodel.facets.object.projection.ident.TitleFacetFromProjectionFacet;
 import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
@@ -46,7 +47,8 @@ extends ObjectSpecificationPostProcessorAbstract {
 
     @Override
     public void postProcessObject(final ObjectSpecification objectSpecification) {
-        val projectionFacet = ProjectionFacetFromProjectingProperty.create(objectSpecification);
+        val projectionFacet = ProjectionFacetFromProjectingProperty.create(objectSpecification)
+                .orElse(null);
         if (projectionFacet == null) {
             return;
         }
@@ -61,7 +63,7 @@ extends ObjectSpecificationPostProcessorAbstract {
         }
         val cssClassFacet = objectSpecification.getFacet(CssClassFacet.class);
         if(canOverwrite(cssClassFacet)) {
-            FacetUtil.addFacet(new IconFacetFromProjectionFacet(projectionFacet, objectSpecification));
+            FacetUtil.addFacet(new CssClassFacetFromProjectionFacet(projectionFacet, objectSpecification));
         }
     }