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 <[email protected]>
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));
}
}