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 2020/12/04 13:04:44 UTC

[isis] 01/02: ISIS-2464: move IsisLocaleInitializer/IsisTimeZoneInitializer to config and make them managed by Spring

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

commit f5a48c5f50fd4257ce258978b3e4aa3777375ec6
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Dec 4 14:03:08 2020 +0100

    ISIS-2464: move IsisLocaleInitializer/IsisTimeZoneInitializer to config
    and make them managed by Spring
---
 .../org/apache/isis/core/config/IsisModuleCoreConfig.java |  5 ++++-
 .../core/config/environment}/IsisLocaleInitializer.java   | 15 ++++++++++++---
 .../core/config/environment/IsisSystemEnvironment.java    |  1 -
 .../core/config/environment}/IsisTimeZoneInitializer.java | 11 +++++++++--
 .../session/InteractionFactoryDefault.java                | 14 ++------------
 5 files changed, 27 insertions(+), 19 deletions(-)

diff --git a/core/config/src/main/java/org/apache/isis/core/config/IsisModuleCoreConfig.java b/core/config/src/main/java/org/apache/isis/core/config/IsisModuleCoreConfig.java
index 3d31c9e..ff40f3a 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/IsisModuleCoreConfig.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/IsisModuleCoreConfig.java
@@ -29,7 +29,9 @@ import org.springframework.context.annotation.Import;
 
 import org.apache.isis.core.config.beans.IsisBeanFactoryPostProcessorForSpring;
 import org.apache.isis.core.config.converters.PatternsConverter;
+import org.apache.isis.core.config.environment.IsisLocaleInitializer;
 import org.apache.isis.core.config.environment.IsisSystemEnvironment;
+import org.apache.isis.core.config.environment.IsisTimeZoneInitializer;
 import org.apache.isis.core.config.validators.PatternOptionalStringConstraintValidator;
 import org.apache.isis.core.config.viewer.wicket.WebAppContextPath;
 
@@ -39,6 +41,8 @@ import org.apache.isis.core.config.viewer.wicket.WebAppContextPath;
     // @Component's
     PatternsConverter.class,
     IsisBeanFactoryPostProcessorForSpring.class,
+    IsisLocaleInitializer.class,
+    IsisTimeZoneInitializer.class,
     PatternOptionalStringConstraintValidator.class,
 
     // @Service's
@@ -63,5 +67,4 @@ public class IsisModuleCoreConfig {
         return new HashMap<>();
     }
 
-
 }
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/session/init/IsisLocaleInitializer.java b/core/config/src/main/java/org/apache/isis/core/config/environment/IsisLocaleInitializer.java
similarity index 89%
rename from core/runtime/src/main/java/org/apache/isis/core/runtime/session/init/IsisLocaleInitializer.java
rename to core/config/src/main/java/org/apache/isis/core/config/environment/IsisLocaleInitializer.java
index 57a16b2..0e984ab 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/session/init/IsisLocaleInitializer.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/environment/IsisLocaleInitializer.java
@@ -16,24 +16,33 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-
-package org.apache.isis.core.runtime.session.init;
+package org.apache.isis.core.config.environment;
 
 import java.util.Locale;
 import java.util.Optional;
 
+import javax.inject.Inject;
+
+import org.springframework.stereotype.Component;
+
 import org.apache.isis.core.config.IsisConfiguration;
 
 import lombok.extern.log4j.Log4j2;
 
+import jakarta.annotation.PostConstruct;
+
+@Component
 @Log4j2
 public class IsisLocaleInitializer {
-
+    
+    @PostConstruct @Inject
     public void initLocale(final IsisConfiguration configuration) {
         final Optional<String> localeSpecOpt = configuration.getCore().getRuntime().getLocale();
         localeSpecOpt.map(IsisLocaleInitializer::toLocale).ifPresent(IsisLocaleInitializer::setLocaleDefault);
         log.debug("locale is {}", Locale.getDefault());
     }
+    
+    // -- HELPER
 
     private static Locale toLocale(String localeSpec) {
         final int pos = localeSpec.indexOf('_');
diff --git a/core/config/src/main/java/org/apache/isis/core/config/environment/IsisSystemEnvironment.java b/core/config/src/main/java/org/apache/isis/core/config/environment/IsisSystemEnvironment.java
index 99c97d7..62dde28 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/environment/IsisSystemEnvironment.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/environment/IsisSystemEnvironment.java
@@ -85,7 +85,6 @@ public class IsisSystemEnvironment {
             this.setUnitTesting(primed.isUnitTesting());
         }
         _Context.putSingleton(IsisSystemEnvironment.class, this);
-        
     }
     
     @PreDestroy
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/session/init/IsisTimeZoneInitializer.java b/core/config/src/main/java/org/apache/isis/core/config/environment/IsisTimeZoneInitializer.java
similarity index 87%
rename from core/runtime/src/main/java/org/apache/isis/core/runtime/session/init/IsisTimeZoneInitializer.java
rename to core/config/src/main/java/org/apache/isis/core/config/environment/IsisTimeZoneInitializer.java
index d2a0c42..9bf964a 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/session/init/IsisTimeZoneInitializer.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/environment/IsisTimeZoneInitializer.java
@@ -16,18 +16,25 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-
-package org.apache.isis.core.runtime.session.init;
+package org.apache.isis.core.config.environment;
 
 import java.util.TimeZone;
 
+import javax.inject.Inject;
+
+import org.springframework.stereotype.Component;
+
 import org.apache.isis.core.config.IsisConfiguration;
 
 import lombok.extern.log4j.Log4j2;
 
+import jakarta.annotation.PostConstruct;
+
+@Component
 @Log4j2
 public class IsisTimeZoneInitializer {
 
+    @PostConstruct @Inject
     public void initTimeZone(final IsisConfiguration configuration) {
         final String timeZoneSpec = configuration.getCore().getRuntime().getTimezone();
         if (timeZoneSpec != null) {
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionFactoryDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionFactoryDefault.java
index c245e4c..406779a 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionFactoryDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionFactoryDefault.java
@@ -52,16 +52,14 @@ import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.services.publishing.CommandPublisher;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.runtime.events.RuntimeEventService;
+import org.apache.isis.core.runtime.iactn.InteractionFactory;
 import org.apache.isis.core.runtime.iactn.InteractionLayer;
 import org.apache.isis.core.runtime.iactn.InteractionSession;
-import org.apache.isis.core.runtime.iactn.IsisInteraction;
-import org.apache.isis.core.runtime.iactn.InteractionFactory;
 import org.apache.isis.core.runtime.iactn.InteractionTracker;
+import org.apache.isis.core.runtime.iactn.IsisInteraction;
 import org.apache.isis.core.runtime.iactn.scope.IsisInteractionScopeBeanFactoryPostProcessor;
 import org.apache.isis.core.runtime.iactn.scope.IsisInteractionScopeCloseListener;
 import org.apache.isis.core.runtime.session.init.InitialisationSession;
-import org.apache.isis.core.runtime.session.init.IsisLocaleInitializer;
-import org.apache.isis.core.runtime.session.init.IsisTimeZoneInitializer;
 import org.apache.isis.core.security.authentication.AuthenticationSession;
 import org.apache.isis.core.security.authentication.manager.AuthenticationManager;
 
@@ -101,8 +99,6 @@ implements InteractionFactory, InteractionTracker {
     @Inject ClockService clockService;
     @Inject CommandPublisher commandPublisher;
 
-    private IsisLocaleInitializer localeInitializer;
-    private IsisTimeZoneInitializer timeZoneInitializer;
     private IsisInteractionScopeCloseListener isisInteractionScopeCloseListener;
 
     @PostConstruct
@@ -116,15 +112,9 @@ implements InteractionFactory, InteractionTracker {
 
         requires(authenticationManager, "authenticationManager");
 
-        this.localeInitializer = new IsisLocaleInitializer();
-        this.timeZoneInitializer = new IsisTimeZoneInitializer();
-
         log.info("Initialising Isis System");
         log.info("working directory: {}", new File(".").getAbsolutePath());
 
-        localeInitializer.initLocale(configuration);
-        timeZoneInitializer.initTimeZone(configuration);
-
         runtimeEventService.fireAppPreMetamodel();
 
         val taskList = _ConcurrentTaskList.named("IsisInteractionFactoryDefault Init")