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 2021/07/01 08:29:23 UTC

[isis] branch master updated: ISIS-1720: optimization: CssClassFaFacetOnMemberFromConfiguredRegex reuse MemberNamedFacet as CssClassFaFactory if provides static names

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 1f49dde  ISIS-1720: optimization: CssClassFaFacetOnMemberFromConfiguredRegex reuse MemberNamedFacet as CssClassFaFactory if provides static names
1f49dde is described below

commit 1f49dde090f732945a598f85db54d1205a027233
Author: andi-huber <ah...@apache.org>
AuthorDate: Thu Jul 1 10:29:11 2021 +0200

    ISIS-1720: optimization: CssClassFaFacetOnMemberFromConfiguredRegex
    reuse MemberNamedFacet as CssClassFaFactory if provides static names
---
 .../annotprop/CssClassFaFacetOnMemberFromConfiguredRegex.java  | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromConfiguredRegex.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromConfiguredRegex.java
index aa5fa93..6450732 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromConfiguredRegex.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromConfiguredRegex.java
@@ -62,13 +62,17 @@ extends CssClassFaImperativeFacetAbstract {
             final FacetHolder holder) {
         super(holder);
         this.faIconByPattern = getConfiguration().getApplib().getAnnotation().getActionLayout().getCssClassFa().getPatterns();
-        //TODO[ISIS-1720] if the memberNamedFacet provides static names, we can also provide static fa-icons (no imperative logic required)
         this.memberNamedFacet = memberNamedFacet;
     }
 
     @Override
     public CssClassFaFactory getCssClassFaFactory(final Supplier<ManagedObject> domainObjectProvider) {
-        return new CssClassFaFactory() {
+
+        return memberNamedFacet
+        .getSpecialization()
+        .left() // if the memberNamedFacet provides static names, just reuse its specialization as CssClassFaFactory
+        .map(CssClassFaFactory.class::cast)
+        .orElseGet(()->new CssClassFaFactory() {
 
             @Override
             public CssClassFaPosition getPosition() {
@@ -84,7 +88,7 @@ extends CssClassFaImperativeFacetAbstract {
                         .orElseGet(Stream::empty);
             }
 
-        };
+        });
     }
 
     // -- HELPER