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:36:43 UTC
[isis] branch 2039-Redesign_of_Config updated: ISIS-2039: to fix
prev. commit: let the maven-plugin bootstrap the configuration properly
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 a581e75 ISIS-2039: to fix prev. commit: let the maven-plugin bootstrap the configuration properly
a581e75 is described below
commit a581e759da211f635e1a92275f098653164cb675
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Nov 29 20:36:36 2018 +0100
ISIS-2039: to fix prev. commit: let the maven-plugin bootstrap the
configuration properly
Task-Url: https://issues.apache.org/jira/browse/ISIS-2039
---
.../IsisConfigurationBuilderDefault.java | 2 ++
.../isis/tool/mavenplugin/IsisMojoAbstract.java | 10 ++++----
.../isis/core/runtime/headless/IsisSystem.java | 3 +--
.../IsisComponentProvider.java | 16 ++++++++-----
.../IsisComponentProviderBuilder.java | 27 ----------------------
5 files changed, 19 insertions(+), 39 deletions(-)
diff --git a/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilderDefault.java b/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilderDefault.java
index 9cdad48..650740a 100644
--- a/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilderDefault.java
+++ b/core/config/src/main/java/org/apache/isis/core/commons/configbuilder/IsisConfigurationBuilderDefault.java
@@ -343,6 +343,8 @@ final class IsisConfigurationBuilderDefault implements IsisConfigurationBuilder
if(configuration.getAppManifest()!=null) {
configuration.triggerTypeDiscovery();
+ } else {
+ LOG.info("Skipping domain type discovery due to missing AppManifest.");
}
if (LOG.isDebugEnabled()) {
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 c201ed1..b945d57 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
@@ -33,6 +33,8 @@ 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.config.AppConfigLocator;
+import org.apache.isis.core.commons.config.IsisConfiguration;
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;
@@ -60,7 +62,6 @@ 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());
@@ -68,9 +69,10 @@ public abstract class IsisMojoAbstract extends AbstractMojo {
final Plugin plugin = MavenProjects.lookupPlugin(mavenProject, CURRENT_PLUGIN_KEY);
final AppManifest appManifest = InstanceUtil.createInstance(this.appManifest, AppManifest.class);
- final IsisComponentProvider isisComponentProvider = IsisComponentProvider.builder()
- .appManifest(appManifest)
- .build();
+ IsisConfiguration.buildFromAppManifest(appManifest); // build and finalize config
+
+ final IsisComponentProvider isisComponentProvider = IsisComponentProvider.builder(appManifest)
+ .build();
final IsisSessionFactoryBuilder isisSessionFactoryBuilder =
new IsisSessionFactoryBuilder(isisComponentProvider);
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 b42d459..f41ae22 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
@@ -119,8 +119,7 @@ public final class IsisSystem {
boolean firstTime = isisSessionFactory == null;
if(firstTime) {
- componentProvider = IsisComponentProvider.builder()
- .appManifest(appManifest)
+ componentProvider = IsisComponentProvider.builder(appManifest)
.build();
//[2039] environment priming removed
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProvider.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProvider.java
index f1bcc24..a8ba6a0 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProvider.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProvider.java
@@ -47,10 +47,13 @@ import static org.apache.isis.config.internal._Config.getConfiguration;
*/
public final class IsisComponentProvider {
- // -- BUILDER
+ // -- BUILDER - DEFAULT
- public static IsisComponentProviderBuilder builder() {
- return new IsisComponentProviderBuilder();
+ public static IsisComponentProviderBuilder builder(AppManifest appManifest) {
+ // ensure we the appmanifest on the config
+
+ return new IsisComponentProviderBuilder()
+ .appManifest(appManifest);
}
// -- BUILDER - USING INSTALLERS
@@ -60,14 +63,13 @@ public final class IsisComponentProvider {
final IsisComponentProviderHelper_UsingInstallers helper =
new IsisComponentProviderHelper_UsingInstallers(appManifest);
- return builder()
- .appManifest(appManifest)
+ return builder(appManifest)
.authenticationManager(helper.authenticationManager)
.authorizationManager(helper.authorizationManager);
}
- // -- constructor, fields
+ // -- CONSTRUCTOR
private final AppManifest appManifest;
protected final List<Object> services;
@@ -87,6 +89,8 @@ public final class IsisComponentProvider {
this.authorizationManager = authorizationManager;
}
+ // --
+
public AppManifest getAppManifest() {
return appManifest;
}
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProviderBuilder.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProviderBuilder.java
index c93b873..f7d32c4 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProviderBuilder.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProviderBuilder.java
@@ -1,25 +1,18 @@
package org.apache.isis.core.runtime.systemusinginstallers;
-import java.util.List;
-
import org.apache.isis.applib.AppManifest;
-import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.core.commons.resource.ResourceStreamSource;
-import org.apache.isis.core.commons.resource.ResourceStreamSourceContextLoaderClassPath;
import org.apache.isis.core.runtime.authentication.AuthenticationManager;
import org.apache.isis.core.runtime.authentication.standard.AuthenticationManagerStandard;
import org.apache.isis.core.runtime.authorization.AuthorizationManager;
import org.apache.isis.core.runtime.authorization.standard.AuthorizationManagerStandard;
import static org.apache.isis.commons.internal.base._With.computeIfAbsent;
-import static org.apache.isis.config.internal._Config.acceptBuilder;
public class IsisComponentProviderBuilder {
private AppManifest appManifest;
private AuthenticationManager authenticationManager;
private AuthorizationManager authorizationManager;
-// private final List<ResourceStreamSource> resourceStreamSources = _Lists.newArrayList();
public IsisComponentProviderBuilder appManifest(AppManifest appManifest) {
this.appManifest = appManifest;
@@ -36,22 +29,6 @@ public class IsisComponentProviderBuilder {
return this;
}
-// public IsisComponentProviderBuilder addResourceStreamSource(ResourceStreamSource source) {
-// resourceStreamSources.add(source);
-// return this;
-// }
-
- // -- SHORTCUTS
-
-// /**
-// * Default will read <tt>isis.properties</tt> (and other optional property files) from the 'config'
-// * package on the current classpath.
-// */
-// public IsisComponentProviderBuilder addConfigPackageAsResourceStreamSource() {
-// addResourceStreamSource(ResourceStreamSourceContextLoaderClassPath.create("config"));
-// return this;
-// }
-
// -- BUILD
public IsisComponentProvider build() {
@@ -62,10 +39,6 @@ public class IsisComponentProviderBuilder {
authorizationManager = computeIfAbsent(authorizationManager,
AuthorizationManagerStandard::new);
-// acceptBuilder(builder->{
-// resourceStreamSources.forEach(builder::addResourceStreamSource);
-// });
-
return new IsisComponentProvider(appManifest, authenticationManager, authorizationManager);
}