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/06/29 05:26:40 UTC

[isis] branch master updated: ISIS-1720: minor: optimizations for TranslationPostProcessor

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 c7f16a3  ISIS-1720: minor: optimizations for TranslationPostProcessor
c7f16a3 is described below

commit c7f16a3e1b4e8c269830bfa7ec15c0946e15f0e5
Author: andi-huber <ah...@apache.org>
AuthorDate: Tue Jun 29 07:26:27 2021 +0200

    ISIS-1720: minor: optimizations for TranslationPostProcessor
---
 .../all/i18n/TranslationPostProcessor.java         | 55 +++++++++++++---------
 1 file changed, 32 insertions(+), 23 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/i18n/TranslationPostProcessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/i18n/TranslationPostProcessor.java
index a4bfc7d..f493094 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/i18n/TranslationPostProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/i18n/TranslationPostProcessor.java
@@ -26,7 +26,6 @@ import javax.inject.Inject;
 
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.all.described.ColumnDescribedFacet;
 import org.apache.isis.core.metamodel.facets.all.described.MemberDescribedFacet;
 import org.apache.isis.core.metamodel.facets.all.described.ObjectDescribedFacet;
@@ -58,50 +57,60 @@ extends ObjectSpecificationPostProcessorAbstract {
     }
 
     @Override
-    protected void doPostProcess(final ObjectSpecification objectSpecification) {
-        memoizeTranslations(objectSpecification);
+    protected void doPostProcess(final ObjectSpecification objectSpec) {
+        memoizeTranslations(
+                Stream.of(
+                        objectSpec.lookupFacet(ObjectNamedFacet.class),
+                        objectSpec.lookupFacet(ObjectDescribedFacet.class)));
     }
 
     @Override
-    protected void doPostProcess(final ObjectSpecification objectSpecification, final ObjectAction act) {
-        memoizeTranslations(act);
+    protected void doPostProcess(final ObjectSpecification objectSpec, final ObjectAction act) {
+        memoizeTranslations(
+                Stream.of(
+                        act.lookupFacet(MemberNamedFacet.class),
+                        act.lookupFacet(MemberDescribedFacet.class)));
     }
 
     @Override
-    protected void doPostProcess(final ObjectSpecification objectSpecification, final ObjectAction objectAction, final ObjectActionParameter param) {
-        memoizeTranslations(param);
+    protected void doPostProcess(
+            final ObjectSpecification objectSpecification,
+            final ObjectAction objectAction,
+            final ObjectActionParameter param) {
+        memoizeTranslations(
+                Stream.of(
+                        param.lookupFacet(ParamNamedFacet.class),
+                        param.lookupFacet(ParamDescribedFacet.class)));
     }
 
     @Override
-    protected void doPostProcess(final ObjectSpecification objectSpecification, final OneToOneAssociation prop) {
-        memoizeTranslations(prop);
+    protected void doPostProcess(final ObjectSpecification objectSpec, final OneToOneAssociation prop) {
+        memoizeTranslations(
+                Stream.of(
+                        prop.lookupFacet(MemberNamedFacet.class),
+                        prop.lookupFacet(MemberDescribedFacet.class),
+                        prop.lookupFacet(ColumnNamedFacet.class),
+                        prop.lookupFacet(ColumnDescribedFacet.class)));
     }
 
     @Override
-    protected void doPostProcess(final ObjectSpecification objectSpecification, final OneToManyAssociation coll) {
-        memoizeTranslations(coll);
+    protected void doPostProcess(final ObjectSpecification objectSpec, final OneToManyAssociation coll) {
+        memoizeTranslations(
+                Stream.of(
+                        coll.lookupFacet(MemberNamedFacet.class),
+                        coll.lookupFacet(MemberDescribedFacet.class)));
 
     }
 
     // -- HELPER
 
-    private void memoizeTranslations(final FacetHolder facetHolder) {
-
-        Stream.<Optional<? extends Facet>>of(
-                facetHolder.lookupFacet(ObjectNamedFacet.class),
-                facetHolder.lookupFacet(MemberNamedFacet.class),
-                facetHolder.lookupFacet(ColumnNamedFacet.class),
-                facetHolder.lookupFacet(ParamNamedFacet.class),
-                facetHolder.lookupFacet(ObjectDescribedFacet.class),
-                facetHolder.lookupFacet(MemberDescribedFacet.class),
-                facetHolder.lookupFacet(ColumnDescribedFacet.class),
-                facetHolder.lookupFacet(ParamDescribedFacet.class))
+    private void memoizeTranslations(final Stream<Optional<? extends Facet>> facetStream) {
+        facetStream
         .filter(Optional::isPresent)
         .map(Optional::get)
         .filter(facet->facet instanceof HasMemoizableTranslation)
         .map(HasMemoizableTranslation.class::cast)
         .forEach(HasMemoizableTranslation::memoizeTranslations);
-
     }