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/04/07 08:47:01 UTC
[isis] branch 2595_transl.ctx updated: ISIS-2595: post merge
refactoring - 1st iteration
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch 2595_transl.ctx
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/2595_transl.ctx by this push:
new 616541c ISIS-2595: post merge refactoring - 1st iteration
616541c is described below
commit 616541c1cd086be237850382e12118763aaec528
Author: ahuber@apache.org <ah...@luna>
AuthorDate: Wed Apr 7 10:46:11 2021 +0200
ISIS-2595: post merge refactoring - 1st iteration
---
.../java/org/apache/isis/applib/Identifier.java | 9 +-
.../applib/exceptions/RecoverableException.java | 34 ++---
.../applib/exceptions/TranslatableException.java | 9 +-
.../applib/exceptions/UnrecoverableException.java | 34 ++---
.../exceprecog/ExceptionRecognizerAbstract.java | 12 +-
.../applib/services/exceprecog/Recognition.java | 12 +-
.../services/i18n/HasTranslationContext.java | 31 ++++
.../applib/services/i18n/TranslationContext.java | 161 +++++++++++++--------
.../services/i18n/TranslatableStringTest.java | 6 +-
.../invocation/ActionDomainEventFacetAbstract.java | 3 +-
.../ActionValidationFacetViaMethodFactory.java | 2 +-
.../facets/all/i18n/TranslationFacetFactory.java | 57 ++++----
.../DisableForContextFacetViaMethodFactory.java | 9 +-
.../order/annotprop/MemberOrderFacetFactory.java | 3 +-
.../choices/enums/EnumValueSemanticsProvider.java | 11 +-
.../DisabledObjectFacetViaMethodFactory.java | 4 +-
...ainObjectLayoutAnnotationUsingTitleUiEvent.java | 5 +-
.../title/methods/TitleFacetViaMethodsFactory.java | 15 +-
.../method/ValidateObjectFacetMethodFactory.java | 3 +-
.../MustSatisfySpecificationFacetAbstract.java | 3 +-
...tionParameterDisabledFacetViaMethodFactory.java | 2 +-
...onParameterValidationFacetViaMethodFactory.java | 4 +-
.../modify/PropertyDomainEventFacetAbstract.java | 3 +-
.../PropertyValidateFacetViaMethodFactory.java | 2 +-
.../services/grid/GridSystemServiceAbstract.java | 7 +-
.../title/TitlesAndTranslationsValidator.java | 10 +-
.../ordering/memberorder/DeweyOrderSetTest.java | 2 +-
.../memberorder/MemberOrderComparatorTest.java | 2 +-
.../core/runtimeservices/i18n/po/PoReader.java | 2 +-
.../core/runtimeservices/i18n/po/PoWriter.java | 4 +-
.../message/MessageServiceDefault.java | 6 +-
.../core/runtimeservices/i18n/po/PoReaderTest.java | 34 ++---
.../model/decorator/confirm/ConfirmUiModel.java | 2 +-
.../components/layout/bs3/tabs/TabGroupPanel.java | 14 +-
.../viewer/integration/LocalizerForIsis.java | 2 +-
.../viewer/integration/WebRequestCycleForIsis.java | 2 +-
36 files changed, 292 insertions(+), 229 deletions(-)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/Identifier.java b/api/applib/src/main/java/org/apache/isis/applib/Identifier.java
index bd287be..eda9641 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/Identifier.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/Identifier.java
@@ -25,6 +25,8 @@ import java.util.stream.Collectors;
import org.apache.isis.applib.id.HasLogicalType;
import org.apache.isis.applib.id.LogicalType;
+import org.apache.isis.applib.services.i18n.HasTranslationContext;
+import org.apache.isis.applib.services.i18n.TranslationContext;
import org.apache.isis.applib.services.i18n.TranslationService;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.internal.base._Strings;
@@ -47,6 +49,7 @@ public class Identifier
implements
Comparable<Identifier>,
HasLogicalType,
+ HasTranslationContext,
Serializable {
private static final long serialVersionUID = 1L;
@@ -114,7 +117,7 @@ implements
* Context to be used for i18n translation.
* @see TranslationService
*/
- @Getter private final String translationContext;
+ @Getter(onMethod_ = {@Override}) private final TranslationContext translationContext;
// -- CONSTRUCTOR
@@ -135,8 +138,8 @@ implements
? "(" + memberParameterClassNames.stream().collect(Collectors.joining(",")) + ")"
: "");
- this.translationContext =
- className + "#" + memberName + (type.isAction() ? "()" : "");
+ this.translationContext = TranslationContext.ofName(
+ className + "#" + memberName + (type.isAction() ? "()" : ""));
this.fullIdentityString = _Strings.isEmpty(memberName)
? className
diff --git a/api/applib/src/main/java/org/apache/isis/applib/exceptions/RecoverableException.java b/api/applib/src/main/java/org/apache/isis/applib/exceptions/RecoverableException.java
index 5496d85..5fc68da 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/exceptions/RecoverableException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/exceptions/RecoverableException.java
@@ -20,9 +20,12 @@
package org.apache.isis.applib.exceptions;
import org.apache.isis.applib.services.i18n.TranslatableString;
+import org.apache.isis.applib.services.i18n.TranslationContext;
import org.apache.isis.applib.services.message.MessageService;
import org.apache.isis.commons.internal.base._Strings;
+import lombok.Getter;
+
/**
* Indicates that an exceptional condition/problem has occurred within the application's domain logic.
* <p>
@@ -45,8 +48,11 @@ implements TranslatableException {
private static final long serialVersionUID = 1L;
+ @Getter(onMethod_ = {@Override})
private final TranslatableString translatableMessage;
- private final String translationContext;
+
+ @Getter(onMethod_ = {@Override})
+ private final TranslationContext translationContext;
public RecoverableException(final String msg) {
this(msg, null, null, null, null);
@@ -83,32 +89,20 @@ implements TranslatableException {
final Throwable cause) {
super(message, cause);
this.translatableMessage = translatableMessage;
- this.translationContext =
- translationContextClass != null
- ? (translationContextClass.getName() +
- (!_Strings.isNullOrEmpty(translationContextMethod)
+ this.translationContext = translationContextClass != null
+ ? TranslationContext.ofName(
+ translationContextClass.getName()
+ + (_Strings.isNotEmpty(translationContextMethod)
? "#" + translationContextMethod
- : "")
- )
- : null;
+ : ""))
+ : TranslationContext.empty();
}
@Override
public String getMessage() {
return getTranslatableMessage() != null
? getTranslatableMessage().getPattern()
- : super.getMessage();
- }
-
- @Override
- public TranslatableString getTranslatableMessage() {
- return translatableMessage;
+ : super.getMessage();
}
- @Override
- public String getTranslationContext() {
- return translationContext;
- }
-
-
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/exceptions/TranslatableException.java b/api/applib/src/main/java/org/apache/isis/applib/exceptions/TranslatableException.java
index ab3e490..afa8f7c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/exceptions/TranslatableException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/exceptions/TranslatableException.java
@@ -18,6 +18,7 @@
*/
package org.apache.isis.applib.exceptions;
+import org.apache.isis.applib.services.i18n.HasTranslationContext;
import org.apache.isis.applib.services.i18n.TranslatableString;
/**
@@ -31,7 +32,7 @@ import org.apache.isis.applib.services.i18n.TranslatableString;
* </p>
* @since 1.x {@index}
*/
-public interface TranslatableException {
+public interface TranslatableException extends HasTranslationContext {
/**
* In the spirit of {@link Exception#getLocalizedMessage()}, but using {@link org.apache.isis.applib.services.i18n.TranslatableString} instead.
@@ -45,10 +46,4 @@ public interface TranslatableException {
*/
TranslatableString getTranslatableMessage();
- /**
- * The context to use when translating the {@link #getTranslatableMessage() translatable message},
- * as ultimately passed through to {@link org.apache.isis.applib.services.i18n.TranslationService#translate(String, String)}.
- */
- String getTranslationContext();
-
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/exceptions/UnrecoverableException.java b/api/applib/src/main/java/org/apache/isis/applib/exceptions/UnrecoverableException.java
index 2a3a015..f8fe89f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/exceptions/UnrecoverableException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/exceptions/UnrecoverableException.java
@@ -20,8 +20,11 @@
package org.apache.isis.applib.exceptions;
import org.apache.isis.applib.services.i18n.TranslatableString;
+import org.apache.isis.applib.services.i18n.TranslationContext;
import org.apache.isis.commons.internal.base._Strings;
+import lombok.Getter;
+
/**
* Indicates that an unexpected, non-recoverable (fatal) exception has occurred within
* the application logic.
@@ -38,9 +41,12 @@ implements TranslatableException {
private static final long serialVersionUID = 1L;
+ @Getter(onMethod_ = {@Override})
private final TranslatableString translatableMessage;
- private final String translationContext;
-
+
+ @Getter(onMethod_ = {@Override})
+ private final TranslationContext translationContext;
+
public UnrecoverableException(final String msg) {
this(msg, null, null, null, null);
}
@@ -76,14 +82,13 @@ implements TranslatableException {
final Throwable cause) {
super(message, cause);
this.translatableMessage = translatableMessage;
- this.translationContext =
- translationContextClass != null
- ? (translationContextClass.getName() +
- (!_Strings.isNullOrEmpty(translationContextMethod)
+ this.translationContext = translationContextClass != null
+ ? TranslationContext.ofName(
+ translationContextClass.getName()
+ + (_Strings.isNotEmpty(translationContextMethod)
? "#" + translationContextMethod
- : "")
- )
- : null;
+ : ""))
+ : TranslationContext.empty();
}
@Override
@@ -93,15 +98,4 @@ implements TranslatableException {
: super.getMessage();
}
- @Override
- public TranslatableString getTranslatableMessage() {
- return translatableMessage;
- }
-
- @Override
- public String getTranslationContext() {
- return translationContext;
- }
-
-
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java b/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java
index fb3d891..95f59ac 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java
@@ -26,14 +26,13 @@ import java.util.function.Predicate;
import javax.inject.Inject;
import org.apache.isis.applib.exceptions.TranslatableException;
-import org.apache.isis.applib.services.i18n.TranslatableString;
-import org.apache.isis.applib.services.i18n.TranslationContext;
import org.apache.isis.applib.services.i18n.TranslationService;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.exceptions._Exceptions;
import lombok.Getter;
import lombok.Setter;
+import lombok.val;
import lombok.extern.log4j.Log4j2;
/**
@@ -116,10 +115,11 @@ public abstract class ExceptionRecognizerAbstract implements ExceptionRecognizer
log.info("Recognized exception, stacktrace : ", throwable);
}
if(ex instanceof TranslatableException) {
- final TranslatableException translatableException = (TranslatableException) ex;
- final TranslatableString translatableMessage = translatableException.getTranslatableMessage();
- final TranslationContext translationContext = TranslationContext.ofTrEx(translatableException);
- if(translatableMessage != null && translationContext != null) {
+ val translatableException = (TranslatableException) ex;
+ val translatableMessage = translatableException.getTranslatableMessage();
+ val translationContext = translatableException.getTranslationContext();
+ if(translatableMessage != null
+ && translationContext != null) {
return translatableMessage.translate(translationService, translationContext);
}
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/Recognition.java b/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/Recognition.java
index 60101bf..cf57025 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/Recognition.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/Recognition.java
@@ -127,14 +127,14 @@ public class Recognition {
}
private static String translate(
- @Nullable String x,
+ @Nullable String text,
@Nullable TranslationService translationService) {
- if (x == null || translationService == null) {
- return x;
+ if (text == null
+ || translationService == null) {
+ return text;
}
- TranslationContext context = TranslationContext.ofClass(Recognition.class);
- return translationService.translate(
- context, x);
+ val context = TranslationContext.forClassName(Recognition.class);
+ return translationService.translate(context, text);
}
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/i18n/HasTranslationContext.java b/api/applib/src/main/java/org/apache/isis/applib/services/i18n/HasTranslationContext.java
new file mode 100644
index 0000000..f44649d
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/i18n/HasTranslationContext.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.applib.services.i18n;
+
+/**
+ * @since 2.x {@index}
+ */
+public interface HasTranslationContext {
+
+ /**
+ * The context to use when translating text, as ultimately passed through to
+ * {@link org.apache.isis.applib.services.i18n.TranslationService#translate(TranslationContext, String)}.
+ */
+ TranslationContext getTranslationContext();
+}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationContext.java b/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationContext.java
index d92cbe7..9e31f6f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationContext.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationContext.java
@@ -1,72 +1,119 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.isis.applib.services.i18n;
+import java.io.Serializable;
import java.lang.reflect.Method;
+import javax.annotation.Nullable;
+
import org.apache.isis.applib.Identifier;
-import org.apache.isis.applib.exceptions.TranslatableException;
-import org.apache.isis.applib.spec.AbstractSpecification;
-import org.apache.isis.applib.spec.Specification;
+import org.apache.isis.commons.internal.base._Strings;
-public interface TranslationContext {
+import lombok.Getter;
+import lombok.Value;
+import lombok.val;
- String stringify();
-
- static class DefaultTranslationContext implements TranslationContext {
- final String ctx;
- DefaultTranslationContext(String ctx) {
- this.ctx = ctx;
- }
- @Override
- public String stringify() {
- return ctx;
- }
- }
-
- static TranslationContext ofSimpleStringIdentifier(String simple) {
- return new DefaultTranslationContext(simple);
- }
-
- static TranslationContext ofClass(Class<?> contextClass) {
- return new DefaultTranslationContext(contextClass.getName());
- }
+/**
+ * @since 2.x {@index}
+ */
+@Value(staticConstructor = "ofName")
+public final class TranslationContext
+implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @Getter private final String name;
+
+ //XXX this guard could be removed if non-null is guaranteed
+ public static TranslationContext forTranslationContextHolder(
+ final @Nullable HasTranslationContext hasTranslationContext) {
+
+ return hasTranslationContext!=null
+ ? hasTranslationContext.getTranslationContext()
+ : EMPTY;
+ }
+
+ //XXX no logical type name supported
+ public static TranslationContext forClassName(
+ final @Nullable Class<?> contextClass) {
+
+ return contextClass!=null
+ ? ofName(contextClass.getName())
+ : EMPTY;
+ }
+
+ //XXX no logical type name supported
+ public static TranslationContext forMethod(
+ final @Nullable Class<?> contextClass,
+ final @Nullable String contextMethodName) {
+
+ val classContext = forClassName(contextClass);
+ return _Strings.isNullOrEmpty(contextMethodName)
+ ? classContext
+ : ofName(classContext.getName() + "#" + contextMethodName + "()");
+ }
+
+ //XXX no logical type name supported
+ public static TranslationContext forMethod(
+ final @Nullable Method method) {
+
+ return method!=null
+ ? ofName(method.getDeclaringClass().getName() + "#" + method.getName() + "()")
+ : EMPTY;
+ }
+
+ //XXX no logical type name supported
+ public static TranslationContext forEnum(
+ final @Nullable Enum<?> objectAsEnum) {
+
+ return objectAsEnum!=null
+ ? ofName(objectAsEnum.getClass().getName() + "#" + objectAsEnum.name())
+ : EMPTY;
+ }
- static TranslationContext ofClassAndMethodName(Class<?> contextClass, String methodName) {
- return new DefaultTranslationContext(contextClass.getName() + "#" + methodName);
- }
+ // -- EMPTY
- static TranslationContext ofTrEx(TranslatableException translatableException) {
- return new DefaultTranslationContext(translatableException.getTranslationContext());
- }
+ private final static TranslationContext EMPTY = TranslationContext.ofName("default");
- static TranslationContext ofIdentifier(Identifier identifier) {
- return new DefaultTranslationContext(identifier.getTranslationContext());
- }
+ public static TranslationContext empty() {
+ return EMPTY;
+ }
- static TranslationContext ofIdentifierFullIdentity(Identifier identifier) {
- return new DefaultTranslationContext(identifier.getFullIdentityString());
- }
+ // -- DEPRECATIONS
+
+ @Deprecated // just a refactoring step
+ public static TranslationContext forTabIdentifier(Identifier identifier) {
+ return ofName(identifier.getTranslationContext() + "~tabName");
+ }
+
+ @Deprecated // just a refactoring step
+ public static TranslationContext forMemberOrderNameIdentifier(Identifier identifier) {
+ return ofName(identifier.getTranslationContext() + "~memberOrderName");
+ }
- static TranslationContext ofTitleMethod(Method titleMethod) {
- return new DefaultTranslationContext(titleMethod.getDeclaringClass().getName() + "#" + titleMethod.getName() + "()");
- }
+ @Deprecated // just a refactoring step
+ public static TranslationContext forMemberOrderNameClass(Class<?> cls) {
+ return ofName(cls.getName() + "~memberOrderName");
+ }
- static TranslationContext ofEnum(Enum<?> objectAsEnum) {
- return new DefaultTranslationContext(objectAsEnum.getClass().getName() + "#" + objectAsEnum.name());
- }
-
- static TranslationContext ofDisabledObjectMethod(Method disabledObjectMethod) {
- return new DefaultTranslationContext(disabledObjectMethod.getDeclaringClass().getName() + "#" + disabledObjectMethod.getName() + "()");
- }
-
- static TranslationContext ofIdentifierForTab(Identifier identifier) {
- return new DefaultTranslationContext(identifier.getTranslationContext() + "~tabName");
- }
+
+
- static TranslationContext ofIdentifierForMemberOrderName(Identifier identifier) {
- return new DefaultTranslationContext(identifier.getTranslationContext() + "~memberOrderName");
- }
-
- static TranslationContext ofClassForMemberOrderName(Class<?> class1) {
- return new DefaultTranslationContext(class1.getName() + "~memberOrderName");
- }
}
diff --git a/api/applib/src/test/java/org/apache/isis/applib/services/i18n/TranslatableStringTest.java b/api/applib/src/test/java/org/apache/isis/applib/services/i18n/TranslatableStringTest.java
index 225c131..09100ee 100644
--- a/api/applib/src/test/java/org/apache/isis/applib/services/i18n/TranslatableStringTest.java
+++ b/api/applib/src/test/java/org/apache/isis/applib/services/i18n/TranslatableStringTest.java
@@ -88,7 +88,7 @@ public class TranslatableStringTest {
public void singularForm() throws Exception {
// given
final String simpleText = "text to translate";
- final TranslationContext someContext = TranslationContext.ofSimpleStringIdentifier("someContext");
+ final TranslationContext someContext = TranslationContext.ofName("someContext");
final String translation = "the translation";
final TranslatableString ts = TranslatableString.tr(simpleText);
@@ -109,7 +109,7 @@ public class TranslatableStringTest {
// given
final String singularText = "singular text to translate";
final String pluralText = "plural text to translate";
- final TranslationContext someContext = TranslationContext.ofSimpleStringIdentifier("someContext");
+ final TranslationContext someContext = TranslationContext.ofName("someContext");
final String translation = "the translation";
final TranslatableString ts = TranslatableString.trn(singularText, pluralText, 1);
@@ -130,7 +130,7 @@ public class TranslatableStringTest {
// given
final String singularText = "singular text to translate";
final String pluralText = "plural text to translate";
- final TranslationContext someContext = TranslationContext.ofSimpleStringIdentifier("someContext");
+ final TranslationContext someContext = TranslationContext.ofName("someContext");
final String translation = "the translation";
final int number = 2; // != 1
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacetAbstract.java
index 0224941..998371f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacetAbstract.java
@@ -60,7 +60,8 @@ implements ActionDomainEventFacet {
this.translationService = getTranslationService();
// sadness: same as in TranslationFactory
- this.translationContext = TranslationContext.ofIdentifier(((IdentifiedHolder)holder).getIdentifier());
+ this.translationContext = TranslationContext.forTranslationContextHolder(
+ ((IdentifiedHolder)holder).getIdentifier());
domainEventHelper = DomainEventHelper.ofServiceRegistry(getServiceRegistry());
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java
index cdd6f95..f0256a6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java
@@ -76,7 +76,7 @@ extends MethodPrefixBasedFacetFactoryAbstract {
val ppmFactory = searchResult.getPpmFactory();
val translationService = getTranslationService();
- TranslationContext translationContext = TranslationContext.ofIdentifier(facetHolder.getIdentifier());
+ val translationContext = TranslationContext.forTranslationContextHolder(facetHolder.getIdentifier());
super.addFacet(
new ActionValidationFacetViaMethod(
validateMethod, translationService, translationContext, ppmFactory, facetHolder));
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
index 1875101..760ea4d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
@@ -20,7 +20,6 @@ package org.apache.isis.core.metamodel.facets.all.i18n;
import org.apache.isis.applib.services.i18n.TranslationContext;
-import org.apache.isis.applib.services.i18n.TranslationService;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -29,6 +28,8 @@ import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
+import lombok.val;
+
public class TranslationFacetFactory
extends FacetFactoryAbstract {
@@ -38,36 +39,36 @@ extends FacetFactoryAbstract {
@Override
public void process(final ProcessClassContext processClassContext) {
- final FacetHolder facetHolder = processClassContext.getFacetHolder();
+ val facetHolder = processClassContext.getFacetHolder();
if(facetHolder instanceof IdentifiedHolder) {
- final IdentifiedHolder holder = (IdentifiedHolder) facetHolder;
- final TranslationContext context = TranslationContext.ofIdentifier(holder.getIdentifier()); // .getClassName();
- translateName(holder, context);
- translateDescription(holder, context);
+ val identifiedHolder = (IdentifiedHolder) facetHolder;
+ val translationContext = TranslationContext.forTranslationContextHolder(identifiedHolder.getIdentifier());
+ translateName(identifiedHolder, translationContext);
+ translateDescription(identifiedHolder, translationContext);
}
}
@Override
public void process(final ProcessMethodContext processMethodContext) {
- final IdentifiedHolder holder = processMethodContext.getFacetHolder();
+ val identifiedHolder = processMethodContext.getFacetHolder();
- final TranslationContext context = TranslationContext.ofIdentifier(holder.getIdentifier()); // .getTranslationContext();
- translateName(holder, context);
- translateDescription(holder, context);
+ val translationContext = TranslationContext.forTranslationContextHolder(identifiedHolder.getIdentifier());
+ translateName(identifiedHolder, translationContext);
+ translateDescription(identifiedHolder, translationContext);
}
@Override
public void processParams(final ProcessParameterContext processParameterContext) {
- final IdentifiedHolder holder = processParameterContext.getFacetHolder();
+ val identifiedHolder = processParameterContext.getFacetHolder();
- final TranslationContext context = TranslationContext.ofIdentifierFullIdentity(holder.getIdentifier()); // .getFullIdentityString();
- translateName(holder, context);
- translateDescription(holder, context);
+ val translationContext = TranslationContext.forTranslationContextHolder(identifiedHolder.getIdentifier());
+ translateName(identifiedHolder, translationContext);
+ translateDescription(identifiedHolder, translationContext);
}
- // //////////////////////////////////////
+ // -- HELPER
- void translateName(final IdentifiedHolder facetHolder, final TranslationContext context) {
+ void translateName(final IdentifiedHolder facetHolder, final TranslationContext translationContext) {
final NamedFacet facet = facetHolder.getFacet(NamedFacet.class);
if(facet == null) {
// not expected...
@@ -79,26 +80,28 @@ extends FacetFactoryAbstract {
return;
}
- final TranslationService translationService = getTranslationService();
- NamedFacetTranslated facetTranslated = new NamedFacetTranslated(context, originalText, translationService, facetHolder);
- facetTranslated.setUnderlyingFacet(facet);
- super.addFacet(facetTranslated);
+ val translationService = getTranslationService();
+ val namedFacetTranslated
+ = new NamedFacetTranslated(translationContext, originalText, translationService, facetHolder);
+ namedFacetTranslated.setUnderlyingFacet(facet);
+ super.addFacet(namedFacetTranslated);
}
- void translateDescription(final FacetHolder facetHolder, final TranslationContext context) {
+ void translateDescription(final FacetHolder facetHolder, final TranslationContext translationContext) {
- final IdentifiedHolder holder = (IdentifiedHolder) facetHolder;
- final DescribedAsFacet facet = facetHolder.getFacet(DescribedAsFacet.class);
- if(facet == null) {
+ val identifiedHolder = (IdentifiedHolder) facetHolder;
+ val describedAsFacet = facetHolder.getFacet(DescribedAsFacet.class);
+ if(describedAsFacet == null) {
return;
}
- final String originalText = facet.value();
+ final String originalText = describedAsFacet.value();
if (isNullOrEmptyWhenTrimmed(originalText)) {
return;
}
- final TranslationService translationService = getTranslationService();
- super.addFacet(new DescribedAsFacetTranslated(context, originalText, translationService, holder));
+ val translationService = getTranslationService();
+ super.addFacet(new DescribedAsFacetTranslated(
+ translationContext, originalText, translationService, identifiedHolder));
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethodFactory.java
index 65afcd2..e58458a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/method/DisableForContextFacetViaMethodFactory.java
@@ -22,9 +22,7 @@ package org.apache.isis.core.metamodel.facets.members.disabled.method;
import java.lang.reflect.Method;
import org.apache.isis.applib.services.i18n.TranslationContext;
-import org.apache.isis.applib.services.i18n.TranslationService;
import org.apache.isis.commons.collections.Can;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
import org.apache.isis.core.metamodel.facets.MethodFinder2;
@@ -83,10 +81,11 @@ extends MethodPrefixBasedFacetFactoryAbstract {
processMethodContext.removeMethod(disableMethod);
- final FacetHolder facetHolder = processMethodContext.getFacetHolder();
- final TranslationService translationService = getTranslationService();
+ val facetHolder = processMethodContext.getFacetHolder();
+ val translationService = getTranslationService();
// sadness: same logic as in I18nFacetFactory
- final TranslationContext translationContext = TranslationContext.ofIdentifier(((IdentifiedHolder)facetHolder).getIdentifier()); // .getTranslationContext();
+ val translationContext = TranslationContext
+ .forTranslationContextHolder(((IdentifiedHolder)facetHolder).getIdentifier());
super.addFacet(new DisableForContextFacetViaMethod(disableMethod, translationService, translationContext, facetHolder));
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
index 4597946..0386727 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
@@ -20,7 +20,6 @@
package org.apache.isis.core.metamodel.facets.members.order.annotprop;
import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.services.i18n.TranslationContext;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
@@ -52,7 +51,7 @@ extends FacetFactoryAbstract {
if (annotation != null) {
return new MemberOrderFacetAnnotation(
- TranslationContext.ofIdentifier(processMethodContext.getFacetHolder().getIdentifier()),
+ processMethodContext.getFacetHolder().getIdentifier().getTranslationContext(),
annotation.name(),
annotation.sequence(),
getTranslationService(),
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java
index f457a36..59fea43 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java
@@ -27,7 +27,6 @@ import org.apache.isis.applib.adapters.Parser;
import org.apache.isis.applib.exceptions.recoverable.TextEntryParseException;
import org.apache.isis.applib.services.i18n.TranslatableString;
import org.apache.isis.applib.services.i18n.TranslationContext;
-import org.apache.isis.applib.services.i18n.TranslationService;
import org.apache.isis.applib.util.Enums;
import org.apache.isis.core.metamodel.commons.MethodExtensions;
import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -35,6 +34,8 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderAndFacetAbstract;
+import lombok.val;
+
public class EnumValueSemanticsProvider<T extends Enum<T>> extends ValueSemanticsProviderAndFacetAbstract<T> implements EnumFacet {
@@ -113,11 +114,11 @@ public class EnumValueSemanticsProvider<T extends Enum<T>> extends ValueSemantic
@Override
protected String titleString(final Object object) {
- final TranslationService translationService = getTranslationService();
+ val translationService = getTranslationService();
if (titleMethod != null) {
// sadness: same as in TranslationFactory
- final TranslationContext translationContext = TranslationContext.ofTitleMethod(titleMethod);
+ val translationContext = TranslationContext.forMethod(titleMethod);
try {
final Object returnValue = MethodExtensions.invoke(titleMethod, object);
@@ -135,8 +136,8 @@ public class EnumValueSemanticsProvider<T extends Enum<T>> extends ValueSemantic
}
// simply translate the enum constant's name
- Enum<?> objectAsEnum = (Enum<?>) object;
- final TranslationContext translationContext = TranslationContext.ofEnum(objectAsEnum); // object.getClass().getName() + "#" + objectAsEnum.name();
+ val objectAsEnum = (Enum<?>) object;
+ val translationContext = TranslationContext.forEnum(objectAsEnum);
final String friendlyNameOfEnum = Enums.getFriendlyNameOf(objectAsEnum.name());
return translationService.translate(translationContext, friendlyNameOfEnum);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/disabled/method/DisabledObjectFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/disabled/method/DisabledObjectFacetViaMethodFactory.java
index 5782a25..19d112c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/disabled/method/DisabledObjectFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/disabled/method/DisabledObjectFacetViaMethodFactory.java
@@ -24,7 +24,6 @@ import org.apache.isis.applib.services.i18n.TranslationContext;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
import org.apache.isis.core.metamodel.facets.FacetFactory;
import org.apache.isis.core.metamodel.facets.FacetedMethod;
import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
@@ -70,8 +69,7 @@ public class DisabledObjectFacetViaMethodFactory extends MethodPrefixBasedFacetF
val translationService = getTranslationService();
// sadness: same logic as in I18nFacetFactory
- // val translationContext = ((IdentifiedHolder)facetHolder).getIdentifier().getClassName();
- TranslationContext translationContext = TranslationContext.ofDisabledObjectMethod(method);
+ val translationContext = TranslationContext.forMethod(method);
FacetUtil.addFacet(new DisabledObjectFacetViaMethod(method, translationService, translationContext, facetHolder));
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
index 4fda6b0..c4d0889 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java
@@ -133,9 +133,8 @@ public class TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent extends
private static TranslationContext translationContextFor(final FacetHolder facetHolder) {
if(facetHolder instanceof ObjectSpecification) {
- val facetHolderAsSpec = (ObjectSpecification) facetHolder; // bit naughty...
- // return facetHolderAsSpec.getCorrespondingClass().getCanonicalName();
- return TranslationContext.ofIdentifier(facetHolderAsSpec.getIdentifier());
+ val facetHolderAsSpec = (ObjectSpecification) facetHolder;
+ return TranslationContext.forTranslationContextHolder(facetHolderAsSpec.getIdentifier());
}
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java
index 42a03ec..3bbce81 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java
@@ -19,10 +19,12 @@
package org.apache.isis.core.metamodel.facets.object.title.methods;
+import static org.apache.isis.core.metamodel.facets.MethodLiteralConstants.TITLE;
+import static org.apache.isis.core.metamodel.facets.MethodLiteralConstants.TO_STRING;
+
import java.lang.reflect.Method;
import org.apache.isis.applib.services.i18n.TranslationContext;
-import org.apache.isis.applib.services.i18n.TranslationService;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.core.metamodel.commons.ClassExtensions;
@@ -34,8 +36,7 @@ import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstra
import org.apache.isis.core.metamodel.facets.fallback.FallbackFacetFactory;
import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
-import static org.apache.isis.core.metamodel.facets.MethodLiteralConstants.TITLE;
-import static org.apache.isis.core.metamodel.facets.MethodLiteralConstants.TO_STRING;
+import lombok.val;
public class TitleFacetViaMethodsFactory extends MethodPrefixBasedFacetFactoryAbstract {
@@ -62,12 +63,12 @@ public class TitleFacetViaMethodsFactory extends MethodPrefixBasedFacetFactoryAb
NO_ARG);
if (method != null) {
processClassContext.removeMethod(method);
- final TranslationService translationService = getTranslationService();
+ val translationService = getTranslationService();
// sadness: same as in TranslationFactory
- final TranslationContext translationContext = TranslationContext.ofTitleMethod(method); // .getDeclaringClass().getName() + "#" + method.getName() + "()";
+ val translationContext = TranslationContext.forMethod(method);
- final TitleFacetViaTitleMethod facet = new TitleFacetViaTitleMethod(method, translationService, translationContext, facetHolder);
- FacetUtil.addFacet(facet);
+ val titleFacet = new TitleFacetViaTitleMethod(method, translationService, translationContext, facetHolder);
+ FacetUtil.addFacet(titleFacet);
return;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/validateobject/method/ValidateObjectFacetMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/validateobject/method/ValidateObjectFacetMethodFactory.java
index 6b008bd..91f23b5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/validateobject/method/ValidateObjectFacetMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/validating/validateobject/method/ValidateObjectFacetMethodFactory.java
@@ -53,7 +53,8 @@ public class ValidateObjectFacetMethodFactory extends MethodPrefixBasedFacetFact
if (method != null) {
val translationService = getTranslationService();
// sadness: same as in TranslationFactory
- TranslationContext translationContext = TranslationContext.ofIdentifier(((IdentifiedHolder)facetHolder).getIdentifier()); // .getClassName();
+ val translationContext = TranslationContext.forTranslationContextHolder(
+ ((IdentifiedHolder)facetHolder).getIdentifier());
FacetUtil.addFacet(new ValidateObjectFacetMethod(method, translationService, translationContext, facetHolder));
processClassContext.removeMethod(method);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mustsatisfyspec/MustSatisfySpecificationFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mustsatisfyspec/MustSatisfySpecificationFacetAbstract.java
index 17e776c..7b07e8f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mustsatisfyspec/MustSatisfySpecificationFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/mustsatisfyspec/MustSatisfySpecificationFacetAbstract.java
@@ -64,7 +64,8 @@ public abstract class MustSatisfySpecificationFacetAbstract extends FacetAbstrac
final TranslationService translationService = getTranslationService();
// sadness: same as in TranslationFactory
- final TranslationContext translationContext = TranslationContext.ofIdentifier(((IdentifiedHolder) holder).getIdentifier()); // .getTranslationContext();
+ final TranslationContext translationContext = TranslationContext.forTranslationContextHolder(
+ ((IdentifiedHolder) holder).getIdentifier()); // .getTranslationContext();
specificationEvaluator = new SpecificationEvaluator(translationService, translationContext);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethodFactory.java
index d9be520..7b91f8d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethodFactory.java
@@ -82,7 +82,7 @@ extends MethodPrefixBasedFacetFactoryAbstract {
// add facets directly to parameters, not to actions
val paramAsHolder = parameters.get(paramNum);
- TranslationContext translationContext = TranslationContext.ofIdentifierFullIdentity(paramAsHolder.getIdentifier()); // .getFullIdentityString();
+ val translationContext = TranslationContext.forTranslationContextHolder(paramAsHolder.getIdentifier());
val ppmFactory = searchResult.getPpmFactory();
val translationService = getMetaModelContext().getTranslationService();
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethodFactory.java
index 82e52cc..c8ca037 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethodFactory.java
@@ -28,8 +28,8 @@ import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facets.MethodLiteralConstants;
import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.ParameterSupport;
-import org.apache.isis.core.metamodel.facets.ParameterSupport.SearchAlgorithm;
import org.apache.isis.core.metamodel.facets.ParameterSupport.ParamSupportingMethodSearchRequest.ReturnType;
+import org.apache.isis.core.metamodel.facets.ParameterSupport.SearchAlgorithm;
import org.apache.isis.core.metamodel.facets.param.validate.ActionParameterValidationFacet;
import lombok.val;
@@ -82,7 +82,7 @@ public class ActionParameterValidationFacetViaMethodFactory extends MethodPrefix
// add facets directly to parameters, not to actions
val paramAsHolder = parameters.get(paramNum);
- val translationContext = TranslationContext.ofIdentifierFullIdentity(paramAsHolder.getIdentifier());
+ val translationContext = TranslationContext.forTranslationContextHolder(paramAsHolder.getIdentifier());
val ppmFactory = searchResult.getPpmFactory();
val translationService = getMetaModelContext().getTranslationService();
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacetAbstract.java
index 1a8c587..25dc605 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacetAbstract.java
@@ -63,7 +63,8 @@ extends SingleClassValueFacetAbstract implements PropertyDomainEventFacet {
this.translationService = getTranslationService();
// sadness: same as in TranslationFactory
- this.translationContext = TranslationContext.ofIdentifier(((IdentifiedHolder)holder).getIdentifier()); // .getTranslationContext();
+ this.translationContext = TranslationContext.forTranslationContextHolder(
+ ((IdentifiedHolder)holder).getIdentifier());
domainEventHelper = DomainEventHelper.ofServiceRegistry(getServiceRegistry());
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/method/PropertyValidateFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/method/PropertyValidateFacetViaMethodFactory.java
index ce3ad44..67706bc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/method/PropertyValidateFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/method/PropertyValidateFacetViaMethodFactory.java
@@ -64,7 +64,7 @@ public class PropertyValidateFacetViaMethodFactory extends MethodPrefixBasedFace
val facetHolder = processMethodContext.getFacetHolder();
val translationService = getTranslationService();
// sadness: same as in TranslationFactory
- val translationContext = TranslationContext.ofIdentifier(facetHolder.getIdentifier()); // .getTranslationContext();
+ val translationContext = TranslationContext.forTranslationContextHolder(facetHolder.getIdentifier());
super.addFacet(
new PropertyValidateFacetViaMethod(
validateMethod, translationService, translationContext, facetHolder));
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java
index 34856a2..b394b68 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java
@@ -213,7 +213,6 @@ implements GridSystemService<G> {
}
String memberOrderName = null;
- TranslationContext translationContext = TranslationContext.ofIdentifierForMemberOrderName(objectAction.getIdentifier());
int memberOrderSequence;
if(actionLayoutDataOwner instanceof FieldSet) {
final FieldSet fieldSet = (FieldSet) actionLayoutDataOwner;
@@ -238,10 +237,10 @@ implements GridSystemService<G> {
} else {
// don't add: any existing metadata should be preserved
memberOrderName = null;
- translationContext = null;
memberOrderSequence = actionDomainObjectSequence++;
}
if(memberOrderName != null) {
+ val translationContext = TranslationContext.forMemberOrderNameIdentifier(objectAction.getIdentifier());
addOrReplaceFacet(
new MemberOrderFacetXml(translationContext, memberOrderName, "" + memberOrderSequence, translationService, objectAction));
}
@@ -308,7 +307,7 @@ implements GridSystemService<G> {
final String groupName = fieldSet.getName();
final IdentifiedHolder identifiedHolder = (IdentifiedHolder) oneToOneAssociation;
- final TranslationContext translationContext = TranslationContext.ofIdentifierForMemberOrderName(identifiedHolder.getIdentifier());
+ val translationContext = TranslationContext.forMemberOrderNameIdentifier(identifiedHolder.getIdentifier());
// TranslationContext translationContext = TranslationContext.ofIdentifierForMemberOrderName(oneToOneAssociation.getIdentifier());
final String sequence = "" + (propertySequence.incrementAndGet());
addOrReplaceFacet(
@@ -336,7 +335,7 @@ implements GridSystemService<G> {
// @MemberOrder#name based on the collection's id (so that each has a single "member group")
final String groupName = collectionLayoutData.getId();
- TranslationContext translationContext = TranslationContext.ofIdentifierForMemberOrderName(oneToManyAssociation.getIdentifier());
+ val translationContext = TranslationContext.forMemberOrderNameIdentifier(oneToManyAssociation.getIdentifier());
final String sequence = "" + collectionSequence++;
addOrReplaceFacet(
new MemberOrderFacetXml(translationContext, groupName, sequence, translationService, oneToManyAssociation));
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/title/TitlesAndTranslationsValidator.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/title/TitlesAndTranslationsValidator.java
index fde69d7..0f055d6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/title/TitlesAndTranslationsValidator.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/title/TitlesAndTranslationsValidator.java
@@ -21,7 +21,6 @@ package org.apache.isis.core.metamodel.services.title;
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.id.LogicalType;
import org.apache.isis.applib.services.i18n.TranslationContext;
-import org.apache.isis.applib.services.i18n.TranslationService;
import org.apache.isis.applib.services.title.TitleService;
import org.apache.isis.commons.internal.base._Blackhole;
import org.apache.isis.core.config.messages.MessageRegistry;
@@ -139,22 +138,21 @@ public class TitlesAndTranslationsValidator extends MetaModelValidatorAbstract {
private void validateRegisteredMessageTranslation() {
- val serviceRegistry = super.getMetaModelContext().getServiceRegistry();
val specificationLoader = super.getMetaModelContext().getSpecificationLoader();
- val translationService = serviceRegistry.lookupServiceElseFail(TranslationService.class);
+ val translationService = super.getMetaModelContext().getTranslationService();
// as used by the Wicket UI?
// final TranslationContext context = "org.apache.isis.core.interaction.session.InteractionFactory";
// see @ConfirmUiModel#translate()
- final TranslationContext context = TranslationContext.ofClass(MessageRegistry.class);
+ val translationContext = TranslationContext.forClassName(MessageRegistry.class);
- final MessageRegistry messageRegistry = new MessageRegistry();
+ val messageRegistry = new MessageRegistry();
for (String message : messageRegistry.listMessages()) {
try {
- val translatedMessage = translationService.translate(context, message);
+ val translatedMessage = translationService.translate(translationContext, message);
_Blackhole.consume(translatedMessage);
} catch (Exception e) {
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/DeweyOrderSetTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/DeweyOrderSetTest.java
index 1cb7490..7d34cba 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/DeweyOrderSetTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/DeweyOrderSetTest.java
@@ -88,7 +88,7 @@ public class DeweyOrderSetTest extends TestCase {
@Rule
public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
- static TranslationContext ctx = TranslationContext.ofSimpleStringIdentifier("test");
+ static TranslationContext ctx = TranslationContext.ofName("test");
@Override
protected void setUp() {
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/MemberOrderComparatorTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/MemberOrderComparatorTest.java
index 056e08e..73bf7c7 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/MemberOrderComparatorTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/MemberOrderComparatorTest.java
@@ -60,7 +60,7 @@ public class MemberOrderComparatorTest extends TestCase {
@Rule
public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
- static TranslationContext ctx = TranslationContext.ofSimpleStringIdentifier("test");
+ static TranslationContext ctx = TranslationContext.ofName("test");
@Override
protected void setUp() {
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/i18n/po/PoReader.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/i18n/po/PoReader.java
index 30b2f69..19efe38 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/i18n/po/PoReader.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/i18n/po/PoReader.java
@@ -142,7 +142,7 @@ class PoReader extends PoAbstract {
final Map<ContextAndMsgId, String> translationsByKey = readAndCacheTranslationsIfRequired(targetLocale);
// search for translation with a context
- final ContextAndMsgId key = new ContextAndMsgId(context.stringify(), msgId, type);
+ final ContextAndMsgId key = new ContextAndMsgId(context.getName(), msgId, type);
final String translation = lookupTranslation(translationsByKey, key);
if (!_Strings.isNullOrEmpty(translation)) {
return translation;
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/i18n/po/PoWriter.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/i18n/po/PoWriter.java
index 7dbec6c..eaa4fb5 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/i18n/po/PoWriter.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/i18n/po/PoWriter.java
@@ -113,7 +113,7 @@ class PoWriter extends PoAbstract {
}
final Block block = blockFor(msgId);
synchronized(block) {
- block.contexts.add(context.stringify());
+ block.contexts.add(context.getName());
}
return msgId;
@@ -127,7 +127,7 @@ class PoWriter extends PoAbstract {
}
final Block block = blockFor(msgId);
synchronized(block) {
- block.contexts.add(context.stringify());
+ block.contexts.add(context.getName());
block.msgIdPlural = msgIdPlural;
}
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/message/MessageServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/message/MessageServiceDefault.java
index 40f4173..dc98fe2 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/message/MessageServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/message/MessageServiceDefault.java
@@ -118,8 +118,10 @@ public class MessageServiceDefault implements MessageService {
return translatedMessage;
}
- private static TranslationContext context(final Class<?> contextClass, final String contextMethod) {
- return TranslationContext.ofClassAndMethodName(contextClass, contextMethod);
+ // -- HELPER
+
+ private static TranslationContext context(final Class<?> contextClass, final String contextMethodName) {
+ return TranslationContext.forMethod(contextClass, contextMethodName);
}
private Optional<MessageBroker> currentMessageBroker() {
diff --git a/core/runtimeservices/src/test/java/org/apache/isis/core/runtimeservices/i18n/po/PoReaderTest.java b/core/runtimeservices/src/test/java/org/apache/isis/core/runtimeservices/i18n/po/PoReaderTest.java
index 46397fe..6b6b6ca 100644
--- a/core/runtimeservices/src/test/java/org/apache/isis/core/runtimeservices/i18n/po/PoReaderTest.java
+++ b/core/runtimeservices/src/test/java/org/apache/isis/core/runtimeservices/i18n/po/PoReaderTest.java
@@ -18,6 +18,10 @@
*/
package org.apache.isis.core.runtimeservices.i18n.po;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+
import java.util.List;
import java.util.Locale;
@@ -28,10 +32,6 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
import org.apache.isis.applib.services.i18n.LocaleProvider;
import org.apache.isis.applib.services.i18n.TranslationContext;
import org.apache.isis.applib.services.i18n.TranslationsResolver;
@@ -81,7 +81,7 @@ public class PoReaderTest {
public void singleContext() throws Exception {
// given
- final TranslationContext context = TranslationContext.ofSimpleStringIdentifier(
+ final TranslationContext context = TranslationContext.ofName(
"org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()");
final String msgId = "Work of art";
final String msgStr = "Objet d'art";
@@ -90,7 +90,7 @@ public class PoReaderTest {
@Override
protected List<String> readPo(final Locale locale) {
final List<String> lines = _Lists.newArrayList();
- lines.add(String.format("#: %s", context.stringify()));
+ lines.add(String.format("#: %s", context.getName()));
lines.add(String.format("msgid \"%s\"", msgId));
lines.add(String.format("msgstr \"%s\"", msgStr));
return lines;
@@ -108,9 +108,9 @@ public class PoReaderTest {
public void multipleContext() throws Exception {
// given
- final TranslationContext context1 = TranslationContext.ofSimpleStringIdentifier(
+ final TranslationContext context1 = TranslationContext.ofName(
"fixture.simple.SimpleObjectsFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)");
- final TranslationContext context2 = TranslationContext.ofSimpleStringIdentifier(
+ final TranslationContext context2 = TranslationContext.ofName(
"org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)");
final String msgId = "Parameters";
final String msgStr = "Paramètres";
@@ -119,8 +119,8 @@ public class PoReaderTest {
@Override
protected List<String> readPo(final Locale locale) {
final List<String> lines = _Lists.newArrayList();
- lines.add(String.format("#: %s", context1.stringify()));
- lines.add(String.format("#: %s", context2.stringify()));
+ lines.add(String.format("#: %s", context1.getName()));
+ lines.add(String.format("#: %s", context2.getName()));
lines.add(String.format("msgid \"%s\"", msgId));
lines.add(String.format("msgstr \"%s\"", msgStr));
return lines;
@@ -143,12 +143,12 @@ public class PoReaderTest {
public void multipleBlocks() throws Exception {
// given
- final TranslationContext context1 = TranslationContext.ofSimpleStringIdentifier(
+ final TranslationContext context1 = TranslationContext.ofName(
"org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()");
final String msgid1 = "Work of art";
final String msgstr1 = "Objet d'art";
- final TranslationContext context2 = TranslationContext.ofSimpleStringIdentifier(
+ final TranslationContext context2 = TranslationContext.ofName(
"org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#lookup()");
final String msgid2 = "Lookup";
final String msgstr2 = "Look up";
@@ -157,14 +157,14 @@ public class PoReaderTest {
@Override
protected List<String> readPo(final Locale locale) {
final List<String> lines = _Lists.newArrayList();
- lines.add(String.format("#: %s", context1.stringify()));
+ lines.add(String.format("#: %s", context1.getName()));
lines.add(String.format("msgid \"%s\"", msgid1));
lines.add(String.format("msgstr \"%s\"", msgstr1));
lines.add(String.format(""));
lines.add(String.format("# "));
- lines.add(String.format("#: %s", context2.stringify()));
+ lines.add(String.format("#: %s", context2.getName()));
lines.add(String.format("msgid \"%s\"", msgid2));
lines.add(String.format("msgstr \"%s\"", msgstr2));
@@ -190,7 +190,7 @@ public class PoReaderTest {
public void withPlurals() throws Exception {
// given
- final TranslationContext context = TranslationContext.ofSimpleStringIdentifier(
+ final TranslationContext context = TranslationContext.ofName(
"org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()");
final String msgid = "Work of art";
final String msgid_plural = "Works of art";
@@ -201,7 +201,7 @@ public class PoReaderTest {
@Override
protected List<String> readPo(final Locale locale) {
final List<String> lines = _Lists.newArrayList();
- lines.add(String.format("#: %s", context.stringify()));
+ lines.add(String.format("#: %s", context.getName()));
lines.add(String.format("msgid \"%s\"", msgid));
lines.add(String.format("msgid_plural \"%s\"", msgid_plural));
lines.add(String.format("msgstr[0] \"%s\"", msgstr$0));
@@ -237,7 +237,7 @@ public class PoReaderTest {
}
};
- TranslationContext context = TranslationContext.ofSimpleStringIdentifier("someContext");
+ TranslationContext context = TranslationContext.ofName("someContext");
// when
final String translated = poReader.translate(context, "Something to translate");
diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/decorator/confirm/ConfirmUiModel.java b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/decorator/confirm/ConfirmUiModel.java
index aad71b1..e89d990 100644
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/decorator/confirm/ConfirmUiModel.java
+++ b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/decorator/confirm/ConfirmUiModel.java
@@ -48,7 +48,7 @@ public class ConfirmUiModel implements Serializable {
public static ConfirmUiModel ofAreYouSure(TranslationService translationService, Placement placement) {
- TranslationContext context = TranslationContext.ofClass(MessageRegistry.class);
+ val context = TranslationContext.forClassName(MessageRegistry.class);
val areYouSure = translate(translationService, context, MessageRegistry.MSG_ARE_YOU_SURE);
val confirm = translate(translationService, context, MessageRegistry.MSG_CONFIRM);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/tabs/TabGroupPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/tabs/TabGroupPanel.java
index 74a74f3..5b2d327 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/tabs/TabGroupPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/tabs/TabGroupPanel.java
@@ -34,12 +34,10 @@ import org.apache.isis.applib.services.i18n.TranslationContext;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.model.util.ComponentHintKey;
-import org.apache.isis.viewer.wicket.ui.components.layout.bs3.col.RepeatingViewWithDynamicallyVisibleContent;
import org.apache.isis.viewer.wicket.ui.panels.HasDynamicallyVisibleContent;
-import lombok.val;
-
import de.agilecoders.wicket.core.markup.html.bootstrap.tabs.AjaxBootstrapTabbedPanel;
+import lombok.val;
// hmmm... not sure how to make this implement HasDynamicallyVisibleContent
public class TabGroupPanel
@@ -64,10 +62,8 @@ implements HasDynamicallyVisibleContent {
val translationService = entityModel.getCommonContext().getTranslationService();
for (val bs3Tab : tablist) {
- final RepeatingViewWithDynamicallyVisibleContent rv = TabPanel.newRows(entityModel, bs3Tab);
-
- TranslationContext translateContext = TranslationContext.ofIdentifierForTab(entityModel.getTypeOfSpecification().getIdentifier());
- // String translateContext = entityModel.getTypeOfSpecification().getFullIdentifier();
+ val repeatingViewWithDynamicallyVisibleContent = TabPanel.newRows(entityModel, bs3Tab);
+ val translateContext = TranslationContext.forTabIdentifier(entityModel.getTypeOfSpecification().getIdentifier());
String bs3TabName = bs3Tab.getName();
String tabName = translationService.translate(translateContext, bs3TabName);
@@ -76,12 +72,12 @@ implements HasDynamicallyVisibleContent {
@Override
public Panel getPanel(String panelId) {
- return new TabPanel(panelId, entityModel, bs3Tab, rv);
+ return new TabPanel(panelId, entityModel, bs3Tab, repeatingViewWithDynamicallyVisibleContent);
}
@Override
public boolean isVisible() {
- return rv.isVisible();
+ return repeatingViewWithDynamicallyVisibleContent.isVisible();
}
});
}
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/LocalizerForIsis.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/LocalizerForIsis.java
index 42e01c7..ce6eec3 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/LocalizerForIsis.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/LocalizerForIsis.java
@@ -75,7 +75,7 @@ public class LocalizerForIsis extends Localizer {
protected String translate(final String key, final Component component) {
final Class<?> contextClass = determineContextClassElse(component, IsisWicketApplication.class);
- final TranslationContext context = TranslationContext.ofClass(contextClass);
+ final TranslationContext context = TranslationContext.forClassName(contextClass);
if(isisInteractionTracker.isInInteraction()) {
return translate(key, context);
} else {
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/WebRequestCycleForIsis.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/WebRequestCycleForIsis.java
index c02f25c..41fe163 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/WebRequestCycleForIsis.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/WebRequestCycleForIsis.java
@@ -359,7 +359,7 @@ public class WebRequestCycleForIsis implements IRequestCycleListener {
}
return getCommonContext().getTranslationService()
.translate(
- TranslationContext.ofClass(WebRequestCycleForIsis.class),
+ TranslationContext.forClassName(WebRequestCycleForIsis.class),
text);
}