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));
}
}