You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2019/09/27 15:55:21 UTC
[isis] 01/05: ISIS-2086: converts isis.services.translation.po.mode
to type-safe config.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-2086
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 4874fcccac8bd572e65736774946be71ce38ba8e
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Sep 27 16:31:50 2019 +0100
ISIS-2086: converts isis.services.translation.po.mode to type-safe config.
---
.../java/org/apache/isis/config/IsisConfiguration.java | 16 ++++++++++++++++
.../runtime/services/i18n/po/TranslationServicePo.java | 13 ++++++++-----
2 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
index 31a898d..ff044a6 100644
--- a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
@@ -18,6 +18,7 @@
*/
package org.apache.isis.config;
+import org.apache.isis.applib.services.i18n.TranslationService;
import org.springframework.boot.context.properties.ConfigurationProperties;
import lombok.Data;
@@ -83,6 +84,21 @@ public class IsisConfiguration {
private boolean disableAutoFlush = false;
}
+
+ private final Translation translation = new Translation();
+
+ @Data
+ public static class Translation {
+
+ private final Po po = new Po();
+
+ @Data
+ public static class Po {
+
+ TranslationService.Mode mode = TranslationService.Mode.WRITE;
+ }
+
+ }
}
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/TranslationServicePo.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/TranslationServicePo.java
index dfa38e4..e5522dc 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/TranslationServicePo.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/TranslationServicePo.java
@@ -20,6 +20,7 @@ package org.apache.isis.runtime.services.i18n.po;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
+import javax.inject.Inject;
import javax.inject.Singleton;
import org.apache.isis.applib.services.i18n.LocaleProvider;
@@ -28,6 +29,7 @@ import org.apache.isis.applib.services.i18n.TranslationsResolver;
import org.apache.isis.commons.collections.Bin;
import org.apache.isis.commons.internal.base._Lazy;
import org.apache.isis.commons.internal.context._Context;
+import org.apache.isis.config.IsisConfiguration;
import org.apache.isis.runtime.system.context.IsisContext;
import static org.apache.isis.config.internal._Config.getConfiguration;
@@ -35,8 +37,6 @@ import static org.apache.isis.config.internal._Config.getConfiguration;
@Singleton
public class TranslationServicePo implements TranslationService {
- public static final String KEY_PO_MODE = "isis.services.translation.po.mode";
-
private PoAbstract po;
/**
@@ -49,12 +49,15 @@ public class TranslationServicePo implements TranslationService {
// -- init, shutdown
+ @Inject
+ IsisConfiguration configuration;
+
@PostConstruct
public void init() {
- final String translationMode = getConfiguration().getString(KEY_PO_MODE);
+ final Mode translationMode = configuration.getServices().getTranslation().getPo().getMode();
- final boolean translationDisabled = TranslationService.Mode.DISABLED.matches(translationMode);
+ final boolean translationDisabled = (Mode.DISABLED == translationMode);
if(translationDisabled) {
// switch to disabled mode
po = new PoDisabled(this);
@@ -68,7 +71,7 @@ public class TranslationServicePo implements TranslationService {
final boolean prototypeOrTest = isPrototypeOrTest();
- final boolean forceRead = TranslationService.Mode.READ.matches(translationMode);
+ final boolean forceRead = (Mode.READ == translationMode);
if(prototypeOrTest && !forceRead) {
// remain in write mode