You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/02/14 11:58:41 UTC
svn commit: r1243869 -
/openejb/trunk/maven-plugins/info-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/info/InfoMojo.java
Author: rmannibucau
Date: Tue Feb 14 10:58:40 2012
New Revision: 1243869
URL: http://svn.apache.org/viewvc?rev=1243869&view=rev
Log:
manage path
Modified:
openejb/trunk/maven-plugins/info-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/info/InfoMojo.java
Modified: openejb/trunk/maven-plugins/info-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/info/InfoMojo.java
URL: http://svn.apache.org/viewvc/openejb/trunk/maven-plugins/info-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/info/InfoMojo.java?rev=1243869&r1=1243868&r2=1243869&view=diff
==============================================================================
--- openejb/trunk/maven-plugins/info-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/info/InfoMojo.java (original)
+++ openejb/trunk/maven-plugins/info-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/info/InfoMojo.java Tue Feb 14 10:58:40 2012
@@ -9,11 +9,14 @@ import org.apache.openejb.OpenEJBExcepti
import org.apache.openejb.assembler.classic.AppInfo;
import org.apache.openejb.config.AppModule;
import org.apache.openejb.config.ConfigurationFactory;
+import org.apache.openejb.loader.IO;
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.LogStream;
import org.apache.openejb.util.LogStreamFactory;
import java.io.File;
+import java.io.FileWriter;
+import java.io.StringWriter;
import java.util.Arrays;
/**
@@ -36,31 +39,48 @@ public class InfoMojo extends AbstractMo
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
- getLog().info("creating module for " + module.getPath());
+ final String path = module.getPath();
+ getLog().info("creating module for " + path);
System.setProperty("openejb.log.factory", MavenLogStreamFactory.class.getName());
MavenLogStreamFactory.setLogger(getLog());
final ConfigurationFactory configurationFactory = new ConfigurationFactory();
+ FileWriter outputWriter = null;
try {
OpenEJB.init(System.getProperties());
final AppModule appModule = configurationFactory.loadApplication(Thread.currentThread().getContextClassLoader(), id, Arrays.asList(module));
AppInfo info = configurationFactory.configureApplication(appModule);
- info = replacePath(info);
- info = replaceContainer(info);
+ info = replaceContainers(info);
+
+ final StringWriter writer = new StringWriter();
+ ConfigurationFactory.dump(writer, info);
+ final String xml = replacePath(path, writer.toString());
final File output = new File(module, ConfigurationFactory.APP_INFO_XML);
- configurationFactory.dump(output, info);
+ final File parent = output.getParentFile();
+ if (!parent.exists() && !parent.mkdirs()) {
+ throw new OpenEJBException("can't create directory " + output.getParent());
+ }
+ outputWriter = new FileWriter(output);
+ outputWriter.write(xml);
+
getLog().info("dumped configuration in " + output.getPath());
- } catch (OpenEJBException e) {
+ } catch (Exception e) {
throw new MojoFailureException("can't get the configuration", e);
+ } finally {
+ IO.close(outputWriter);
}
}
+ private String replacePath(final String path, final String s) {
+ return s.replace(path, ConfigurationFactory.APP_INFO_XML_PATH);
+ }
+
// TODO?
- private AppInfo replaceContainer(AppInfo appInfo) {
+ private AppInfo replaceContainers(AppInfo appInfo) {
return appInfo;
}