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