You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2014/12/19 09:07:30 UTC
[07/11] isis git commit: ISIS-284: use injected @Parameter for
configuration rather than reading directly.
ISIS-284: use injected @Parameter for configuration rather than reading directly.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/2520b007
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/2520b007
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/2520b007
Branch: refs/heads/master
Commit: 2520b007e12eca32fde39cb82fe95e1422a554b4
Parents: a5b728f
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Dec 19 07:55:55 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Dec 19 07:55:55 2014 +0000
----------------------------------------------------------------------
.../isis/tool/mavenplugin/IsisMojoAbstract.java | 33 ++++++++++----------
1 file changed, 16 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/2520b007/core/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/IsisMojoAbstract.java
----------------------------------------------------------------------
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 09de280..7e9d958 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
@@ -27,8 +27,8 @@ import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugin.logging.Log;
import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.commons.config.IsisConfigurationBuilderDefault;
import org.apache.isis.core.metamodel.app.IsisMetaModel;
@@ -40,7 +40,6 @@ import org.apache.isis.core.runtime.system.DeploymentType;
import org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5;
import org.apache.isis.tool.mavenplugin.util.IsisMetaModels;
import org.apache.isis.tool.mavenplugin.util.MavenProjects;
-import org.apache.isis.tool.mavenplugin.util.Xpp3Doms;
public abstract class IsisMojoAbstract extends AbstractMojo {
@@ -49,6 +48,9 @@ public abstract class IsisMojoAbstract extends AbstractMojo {
@Component
private MavenProject mavenProject;
+ @Parameter(required = true, readonly = false, property = "isisConfigDir")
+ private String isisConfigDir;
+
private final MetaModelProcessor metaModelProcessor;
private final ContextForMojo context;
@@ -83,7 +85,7 @@ public abstract class IsisMojoAbstract extends AbstractMojo {
}
private List<Object> serviceListFor(Plugin plugin) throws MojoFailureException {
- IsisConfiguration isisConfiguration = isisConfigurationFor(plugin);
+ IsisConfiguration isisConfiguration = getIsisConfiguration();
final ServicesInstaller servicesInstaller;
if(isisConfiguration == null) {
@@ -100,20 +102,8 @@ public abstract class IsisMojoAbstract extends AbstractMojo {
return servicesInstaller.getServices(DeploymentType.SERVER_PROTOTYPE);
}
- private IsisConfiguration isisConfigurationFor(final Plugin plugin) throws MojoFailureException {
- final Xpp3Dom configuration = (Xpp3Dom) plugin.getConfiguration();
- if (configuration == null) {
- context.throwFailureException("Configuration error", "No <configuration> element found");
- }
-
- final Xpp3Dom servicesEl = configuration.getChild("isisConfigDir");
- if (servicesEl == null) {
- context.throwFailureException("Configuration error", "No <configuration>/<isisConfigDir> element found");
- }
- final String isisConfigDir = Xpp3Doms.GET_VALUE.apply(servicesEl);
-
- final File basedir = mavenProject.getBasedir();
- final File file = new File(basedir, isisConfigDir);
+ private IsisConfiguration getIsisConfiguration() throws MojoFailureException {
+ final File file = getIsisConfigDir();
final String absoluteConfigDir = file.getAbsolutePath();
if(!file.exists() || !file.isDirectory()) {
context.throwFailureException("Configuration error",
@@ -124,6 +114,15 @@ public abstract class IsisMojoAbstract extends AbstractMojo {
return configBuilder.getConfiguration();
}
+ private File getIsisConfigDir() {
+ File file = new File(isisConfigDir);
+ if(!file.isAbsolute()) {
+ final File basedir = mavenProject.getBasedir();
+ file = new File(basedir, isisConfigDir);
+ }
+ return file;
+ }
+
private static IsisMetaModel bootstrapIsis(List<Object> serviceList) {
IsisMetaModel isisMetaModel = new IsisMetaModel(
new RuntimeContextNoRuntime(),