This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag slingstart-maven-plugin-1.0.0 in repository https://gitbox.apache.org/repos/asf/sling-slingstart-maven-plugin.git
commit 799c12913d95134f032a7f7d0bc90d2298527c92 Author: Carsten Ziegeler <[email protected]> AuthorDate: Wed Oct 1 09:11:48 2014 +0000 Move io methods to helper class git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/tooling/maven/slingstart-maven-plugin@1628655 13f79535-47bb-0310-9956-ffa450edef68 --- .../maven/slingstart/AbstractSlingStartMojo.java | 42 ---------------------- .../maven/slingstart/AttachSlingStartModel.java | 3 +- .../apache/sling/maven/slingstart/ModelUtils.java | 25 +++++++++---- .../sling/maven/slingstart/PreparePackageMojo.java | 12 ++++--- 4 files changed, 29 insertions(+), 53 deletions(-) diff --git a/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java b/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java index bc53b23..aa83a69 100644 --- a/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java +++ b/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java @@ -17,16 +17,13 @@ package org.apache.sling.maven.slingstart; import java.io.File; -import java.io.IOException; import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; import org.apache.maven.project.MavenProjectHelper; -import org.apache.sling.provisioning.model.Model; public abstract class AbstractSlingStartMojo extends AbstractMojo { @@ -45,45 +42,6 @@ public abstract class AbstractSlingStartMojo extends AbstractMojo { @Parameter(defaultValue="false") protected boolean createWebapp; - private static final String CTX_RAW = Model.class.getName() + "/r"; - private static final String CTX_EFFECTIVE = Model.class.getName() + "/e"; - - /** - * Read the model prepared by the lifecycle plugin - */ - protected Model readRawModel() - throws MojoExecutionException { - Model result = (Model)this.project.getContextValue(CTX_RAW); - if ( result == null ) { - try { - result = ModelUtils.getRawModel(this.project); - - this.project.setContextValue(CTX_RAW, result); - } catch ( final IOException ioe) { - throw new MojoExecutionException("Unable to cache model", ioe); - } - } - return result; - } - - /** - * Read the model prepared by the lifecycle plugin - */ - protected Model readEffectiveModel() - throws MojoExecutionException { - Model result = (Model)this.project.getContextValue(CTX_EFFECTIVE); - if ( result == null ) { - try { - result = ModelUtils.getEffectiveModel(this.project); - - this.project.setContextValue(CTX_EFFECTIVE, result); - } catch ( final IOException ioe) { - throw new MojoExecutionException("Unable to cache model", ioe); - } - } - return result; - } - protected File getTmpDir() { return new File(this.project.getBuild().getDirectory(), "slingstart-tmp"); } diff --git a/src/main/java/org/apache/sling/maven/slingstart/AttachSlingStartModel.java b/src/main/java/org/apache/sling/maven/slingstart/AttachSlingStartModel.java index 2bdefbe..be284ea 100644 --- a/src/main/java/org/apache/sling/maven/slingstart/AttachSlingStartModel.java +++ b/src/main/java/org/apache/sling/maven/slingstart/AttachSlingStartModel.java @@ -44,12 +44,13 @@ public class AttachSlingStartModel extends AbstractSlingStartMojo { @Override public void execute() throws MojoExecutionException, MojoFailureException { - final Model model = this.readRawModel(); final File outputFile = new File(this.project.getBuild().getDirectory() + File.separatorChar + "slingstart.txt"); outputFile.getParentFile().mkdirs(); Writer writer = null; try { + final Model model = ModelUtils.getRawModel(this.project); + writer = new FileWriter(outputFile); ModelWriter.write(writer, model); } catch (IOException e) { diff --git a/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java b/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java index f1a4a15..7fe7be9 100644 --- a/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java +++ b/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java @@ -188,6 +188,9 @@ public abstract class ModelUtils { return null; } + private static final String RAW_MODEL_TXT = Model.class.getName() + "/raw"; + private static final String EFFECTIVE_MODEL_TXT = Model.class.getName() + "/effective"; + private static final String RAW_MODEL = Model.class.getName() + "/raw"; private static final String EFFECTIVE_MODEL = Model.class.getName() + "/effective"; @@ -201,7 +204,7 @@ public abstract class ModelUtils { throws IOException { final StringWriter w = new StringWriter(); ModelWriter.write(w, model); - project.setContextValue(RAW_MODEL, w.toString()); + project.setContextValue(RAW_MODEL_TXT, w.toString()); } /** @@ -211,8 +214,13 @@ public abstract class ModelUtils { * @throws IOException If reading fails */ public static Model getRawModel(final MavenProject project) throws IOException { - final String contents = (String)project.getContextValue(RAW_MODEL); - return ModelReader.read(new StringReader(contents), null); + Model result = (Model)project.getContextValue(RAW_MODEL); + if ( result == null ) { + final String contents = (String)project.getContextValue(RAW_MODEL_TXT); + result = ModelReader.read(new StringReader(contents), null); + project.setContextValue(RAW_MODEL, result); + } + return result; } /** @@ -225,7 +233,7 @@ public abstract class ModelUtils { throws IOException { final StringWriter w = new StringWriter(); ModelWriter.write(w, model); - project.setContextValue(EFFECTIVE_MODEL, w.toString()); + project.setContextValue(EFFECTIVE_MODEL_TXT, w.toString()); } /** @@ -235,7 +243,12 @@ public abstract class ModelUtils { * @throws IOException If reading fails */ public static Model getEffectiveModel(final MavenProject project) throws IOException { - final String contents = (String)project.getContextValue(EFFECTIVE_MODEL); - return ModelReader.read(new StringReader(contents), null); + Model result = (Model)project.getContextValue(EFFECTIVE_MODEL); + if ( result == null ) { + final String contents = (String)project.getContextValue(EFFECTIVE_MODEL_TXT); + result = ModelReader.read(new StringReader(contents), null); + project.setContextValue(EFFECTIVE_MODEL, result); + } + return result; } } diff --git a/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java b/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java index e05a27f..b2f627b 100644 --- a/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java +++ b/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java @@ -78,11 +78,15 @@ public class PreparePackageMojo extends AbstractSlingStartMojo { @Override public void execute() throws MojoExecutionException, MojoFailureException { - final Model model = this.readEffectiveModel(); + try { + final Model model = ModelUtils.getEffectiveModel(this.project); - this.prepareGlobal(model); - this.prepareStandaloneApp(model); - this.prepareWebapp(model); + this.prepareGlobal(model); + this.prepareStandaloneApp(model); + this.prepareWebapp(model); + } catch ( final IOException io) { + throw new MojoExecutionException("Unable to read cached model.", io); + } } /** -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
