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 2019/10/30 15:03:24 UTC

[isis] 05/07: ISIS-2158: decouple PoWriter from IsisContext

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 7648485a9b3ca819acecbf6c55acbc520d84d65b
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Oct 30 14:51:18 2019 +0100

    ISIS-2158: decouple PoWriter from IsisContext
---
 .../isis/runtime/services/i18n/po/PoAbstract.java  |  8 +++----
 .../isis/runtime/services/i18n/po/PoDisabled.java  |  5 -----
 .../isis/runtime/services/i18n/po/PoReader.java    |  5 -----
 .../isis/runtime/services/i18n/po/PoWriter.java    | 13 +----------
 .../services/i18n/po/TranslationServicePo.java     | 14 +++++-------
 .../isis/runtime/system/context/IsisContext.java   | 26 ----------------------
 6 files changed, 11 insertions(+), 60 deletions(-)

diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoAbstract.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoAbstract.java
index 6530609..92ccd71 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoAbstract.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoAbstract.java
@@ -31,15 +31,15 @@ abstract class PoAbstract {
         this.mode = mode;
     }
 
-
-    abstract void shutdown();
-
     abstract String translate(final String context, final String msgId);
-
     abstract String translate(final String context, final String msgId, final String msgIdPlural, int num);
 
     TranslationService.Mode getMode() {
         return mode;
     }
 
+    void logTranslations() {
+        // default: do nothing
+    }
+
 }
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoDisabled.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoDisabled.java
index 706eae8..2d202a7 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoDisabled.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoDisabled.java
@@ -27,11 +27,6 @@ class PoDisabled extends PoAbstract {
     }
 
     @Override
-    void shutdown() {
-        // nothing to do
-    }
-
-    @Override
     String translate(String context, String msgId) {
         return msgId;
     }
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoReader.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoReader.java
index 4e06008..bec4f5c 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoReader.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoReader.java
@@ -91,11 +91,6 @@ class PoReader extends PoAbstract {
     }
 
     @Override
-    void shutdown() {
-    }
-
-
-    @Override
     public String translate(final String context, final String msgId) {
         if(translationsResolver == null) {
             // already logged as WARN (in constructor) if null.
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoWriter.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoWriter.java
index ddb7b00..c5c33a1 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoWriter.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/PoWriter.java
@@ -26,7 +26,6 @@ import org.joda.time.LocalDateTime;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.commons.internal.collections._Sets;
-import org.apache.isis.runtime.system.context.IsisContext;
 
 import lombok.extern.log4j.Log4j2;
 
@@ -46,18 +45,8 @@ class PoWriter extends PoAbstract {
         super(translationServicePo, TranslationService.Mode.WRITE);
     }
 
-    // -- shutdown
-
     @Override
-    void shutdown() {
-        if(IsisContext.getMetaModelDeficienciesIfAny() != null) {
-            // suppress logging translations
-            return;
-        }
-        logTranslations();
-    }
-
-    private void logTranslations() {
+    void logTranslations() {
         final StringBuilder buf = new StringBuilder();
 
         buf.append("\n");
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 4942519..e5b8188 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
@@ -30,10 +30,8 @@ import org.apache.isis.applib.services.i18n.TranslationsResolver;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.base._Lazy;
-import org.apache.isis.commons.internal.context._Context;
 import org.apache.isis.commons.internal.environment.IsisSystemEnvironment;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.runtime.system.context.IsisContext;
 
 @Service
 public class TranslationServicePo implements TranslationService {
@@ -50,9 +48,6 @@ public class TranslationServicePo implements TranslationService {
 
     // -- init, shutdown
 
-    @Inject
-    IsisConfiguration configuration;
-
     @PostConstruct
     public void init() {
 
@@ -86,12 +81,14 @@ public class TranslationServicePo implements TranslationService {
     }
 
     protected boolean isPrototypeOrTest() {
-        return isisSystemEnvironment.isPrototyping();
+        return systemEnvironment.isPrototyping() || systemEnvironment.isUnitTesting();
     }
 
     @PreDestroy
     public void shutdown() {
-        po.shutdown();
+        if(systemEnvironment.isPrototyping() && !systemEnvironment.isUnitTesting()) {
+            po.logTranslations();  
+        }
     }
 
     @Override
@@ -161,8 +158,9 @@ public class TranslationServicePo implements TranslationService {
 
     // -- DEPENDENCIES
 
-    @Inject private IsisSystemEnvironment isisSystemEnvironment;
+    @Inject private IsisSystemEnvironment systemEnvironment;
     @Inject private ServiceRegistry serviceRegistry;
+    @Inject private IsisConfiguration configuration;
     
     private _Lazy<Can<TranslationsResolver>> translationsResolvers = _Lazy.threadSafe(()->
     serviceRegistry.select(TranslationsResolver.class) );
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/system/context/IsisContext.java b/core/runtime/src/main/java/org/apache/isis/runtime/system/context/IsisContext.java
index 16b47be..9ffa7b9 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/system/context/IsisContext.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/system/context/IsisContext.java
@@ -91,24 +91,6 @@ public interface IsisContext {
                 .getFirst();
     }
 
-    // likely to be extended to support multiple PlatformTransactionManagers, by selecting one by its name
-//    public static TransactionTemplate createTransactionTemplate() {
-//        val txMan = getSingletonElseFail(PlatformTransactionManager.class);
-//        return new TransactionTemplate(txMan);
-//    }
-
-//    /**
-//     * @return framework's ServiceRegistry
-//     * @throws NoSuchElementException - if ServiceRegistry not managed
-//     */
-//    public static ObjectAdapterProvider getObjectAdapterProvider() {
-//        return getSingletonElseFail(ObjectAdapterService.class);
-//    }
-
-//    public static Function<Object, ObjectAdapter> pojoToAdapter() {
-//        return getObjectAdapterProvider()::adapterFor;
-//    }
-
     public static Function<RootOid, ObjectAdapter> rootOidToAdapter() {
         return rootOid -> {
             val ps = IsisContext.getPersistenceSession()
@@ -127,13 +109,5 @@ public interface IsisContext {
                 .map(IsisSession::getAuthenticationSession);
     }
 
-//    public static AuthenticationManager getAuthenticationManager() {
-//        return getSingletonElseFail(AuthenticationManager.class);
-//    }
-//
-//    public static AuthorizationManager getAuthorizationManager() {
-//        return getSingletonElseFail(AuthorizationManager.class);
-//    }
-
 
 }