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")