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 2018/11/29 19:07:00 UTC
[isis] branch 2039-Redesign_of_Config updated: ISIS-2039: unify
config bootstrapping code for maven-plugin, wicket-viewer and headless
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch 2039-Redesign_of_Config
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/2039-Redesign_of_Config by this push:
new c30a157 ISIS-2039: unify config bootstrapping code for maven-plugin, wicket-viewer and headless
c30a157 is described below
commit c30a15729ccb10db4e717234d06c3e6571f74779
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Nov 29 20:06:53 2018 +0100
ISIS-2039: unify config bootstrapping code for maven-plugin,
wicket-viewer and headless
Task-Url: https://issues.apache.org/jira/browse/ISIS-2039
---
.../apache/isis/tool/mavenplugin/IsisMojoAbstract.java | 17 +++++++++++++----
.../apache/isis/core/runtime/headless/IsisSystem.java | 2 +-
.../system/session/IsisSessionFactoryBuilder.java | 14 ++------------
.../viewer/integration/isis/IsisInjectModule.java | 4 ++--
4 files changed, 18 insertions(+), 19 deletions(-)
diff --git a/core/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/IsisMojoAbstract.java b/core/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/IsisMojoAbstract.java
index bec3b05..c201ed1 100644
--- a/core/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/IsisMojoAbstract.java
+++ b/core/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/IsisMojoAbstract.java
@@ -32,12 +32,15 @@ import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.isis.applib.AppManifest;
+import org.apache.isis.config.internal._Config;
import org.apache.isis.core.commons.factory.InstanceUtil;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelInvalidException;
+import org.apache.isis.core.plugins.environment.IsisSystemEnvironment;
import org.apache.isis.core.runtime.logging.IsisLoggingConfigurer;
import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
import org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder;
+import org.apache.isis.core.runtime.systemusinginstallers.IsisComponentProvider;
import org.apache.isis.tool.mavenplugin.util.MavenProjects;
public abstract class IsisMojoAbstract extends AbstractMojo {
@@ -57,14 +60,20 @@ public abstract class IsisMojoAbstract extends AbstractMojo {
public void execute() throws MojoExecutionException, MojoFailureException {
new IsisLoggingConfigurer(Level.INFO).configureLogging(".", new String[]{});
-
+ _Config.clear();
+ IsisSystemEnvironment.setUnitTesting(true);
+
final ContextForMojo context = new ContextForMojo(mavenProject, getLog());
final Plugin plugin = MavenProjects.lookupPlugin(mavenProject, CURRENT_PLUGIN_KEY);
- final AppManifest manifest = InstanceUtil.createInstance(this.appManifest, AppManifest.class);
-
- final IsisSessionFactoryBuilder isisSessionFactoryBuilder = new IsisSessionFactoryBuilder(manifest);
+ final AppManifest appManifest = InstanceUtil.createInstance(this.appManifest, AppManifest.class);
+ final IsisComponentProvider isisComponentProvider = IsisComponentProvider.builder()
+ .appManifest(appManifest)
+ .build();
+ final IsisSessionFactoryBuilder isisSessionFactoryBuilder =
+ new IsisSessionFactoryBuilder(isisComponentProvider);
+
IsisSessionFactory isisSessionFactory = null;
try {
isisSessionFactory = isisSessionFactoryBuilder.buildSessionFactory();
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystem.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystem.java
index 1637c72..b42d459 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystem.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystem.java
@@ -127,7 +127,7 @@ public final class IsisSystem {
// _Config.acceptBuilder(IsisContext.EnvironmentPrimer::primeEnvironment);
final IsisSessionFactoryBuilder isisSessionFactoryBuilder =
- new IsisSessionFactoryBuilder(componentProvider, appManifest);
+ new IsisSessionFactoryBuilder(componentProvider);
// ensures that a FixtureClock is installed as the singleton underpinning the ClockService
FixtureClock.initialize();
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java
index 38eae5e..3b9e718 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java
@@ -71,20 +71,10 @@ public class IsisSessionFactoryBuilder {
private final IsisLocaleInitializer localeInitializer;
private final IsisTimeZoneInitializer timeZoneInitializer;
- public IsisSessionFactoryBuilder(final AppManifest appManifest) {
- this(IsisComponentProvider.builder()
- .appManifest(appManifest)
-// .addConfigPackageAsResourceStreamSource()
- .build(),
- appManifest);
- }
-
- public IsisSessionFactoryBuilder(
- final IsisComponentProvider componentProvider,
- final AppManifest appManifest) {
+ public IsisSessionFactoryBuilder(final IsisComponentProvider componentProvider) {
this.componentProvider = componentProvider;
- this.appManifest = appManifest;
+ this.appManifest = componentProvider.getAppManifest();
this.localeInitializer = new IsisLocaleInitializer();
this.timeZoneInitializer = new IsisTimeZoneInitializer();
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/isis/IsisInjectModule.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/isis/IsisInjectModule.java
index f2e2ec3..9f1350a 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/isis/IsisInjectModule.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/isis/IsisInjectModule.java
@@ -43,14 +43,14 @@ public class IsisInjectModule extends AbstractModule {
@Singleton
protected IsisSessionFactory provideIsisSessionFactory(IsisConfiguration isisConfiguration) {
- AppManifest appManifest = isisConfiguration.getAppManifest();
+ final AppManifest appManifest = isisConfiguration.getAppManifest();
final IsisComponentProvider componentProvider = IsisComponentProvider
.builderUsingInstallers(appManifest)
.build();
final IsisSessionFactoryBuilder builder =
- new IsisSessionFactoryBuilder(componentProvider, appManifest);
+ new IsisSessionFactoryBuilder(componentProvider);
// as a side-effect, if the metamodel turns out to be invalid, then
// this will push the MetaModelInvalidException into IsisContext.