Author: rmannibucau
Date: Fri Jan 31 17:39:21 2014
New Revision: 1563190

URL: http://svn.apache.org/r1563190
Log:
TOMEE-1114 useOpenEJB option in tmp

Modified:
    
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java

Modified: 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java?rev=1563190&r1=1563189&r2=1563190&view=diff
==============================================================================
--- 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
 (original)
+++ 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
 Fri Jan 31 17:39:21 2014
@@ -169,6 +169,12 @@ public abstract class AbstractTomEEMojo 
     @Parameter(defaultValue = "lib")
     protected String libDir;
 
+    @Parameter(defaultValue = "${project.basedir}/src/main")
+    protected File mainDir;
+
+    @Parameter(defaultValue = "${project.build.directory}")
+    protected File target;
+
     @Parameter(property = "tomee-plugin.conf", defaultValue = 
"${project.basedir}/src/main/tomee/conf")
     protected File config;
 
@@ -241,12 +247,20 @@ public abstract class AbstractTomEEMojo 
     @Parameter(defaultValue = "${settings}", readonly = true)
     protected Settings settings;
 
+    /**
+     * use openejb-standalone automatically instead of TomEE
+     */
+    @Parameter(property = "tomee-plugin.openejb", defaultValue = "false")
+    protected boolean useOpenEJB;
+
     protected File deployedFile = null;
     protected RemoteServer server = null;
     protected String container = "TomEE";
 
     @Override
     public void execute() throws MojoExecutionException, MojoFailureException {
+        fixConfig();
+
         if ("-1".equals(tomeeVersion)) {
             final String version = OpenEjbVersion.get().getVersion();
             tomeeVersion = "1" + version.substring(1, version.length());
@@ -297,6 +311,34 @@ public abstract class AbstractTomEEMojo 
         run();
     }
 
+    protected void fixConfig() {
+        if (useOpenEJB) {
+            tomeeGroupId = "org.apache.openejb";
+            tomeeArtifactId = "openejb-standalone";
+            tomeeClassifier = null;
+            tomeeShutdownCommand = "Q";
+            if (8005 == tomeeShutdownPort) { // default admin port
+                tomeeShutdownPort = 4200;
+            }
+            if (tomeeVersion.startsWith("1.")) {
+                tomeeVersion = OpenEjbVersion.get().getVersion();
+            }
+
+            if (catalinaBase.getName().equals("apache-tomee") && 
catalinaBase.getParentFile().equals(target)) {
+                catalinaBase = new File(target, "apache-openejb");
+            }
+            if (config.getParentFile().getName().equals("tomee") && 
config.getParentFile().getParentFile().equals(mainDir)) {
+                config = new File(mainDir, "openejb/conf");
+            }
+            if (lib.getParentFile().getName().equals("tomee") && 
lib.getParentFile().getParentFile().equals(mainDir)) {
+                lib = new File(mainDir, "openejb/lib");
+            }
+            if (bin.getParentFile().getName().equals("tomee") && 
bin.getParentFile().getParentFile().equals(mainDir)) {
+                bin = new File(mainDir, "openejb/bin");
+            }
+        }
+    }
+
     protected String getAdditionalClasspath() {
         if (!classpaths.isEmpty()) {
             final StringBuilder cpBuilder = new StringBuilder();


Reply via email to