Author: rmannibucau
Date: Tue Aug 14 15:10:42 2012
New Revision: 1372917
URL: http://svn.apache.org/viewvc?rev=1372917&view=rev
Log:
TOMEE-373 supporting a conf folder template for tomee remote arquillian adapter
Modified:
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java
openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
Modified:
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java?rev=1372917&r1=1372916&r2=1372917&view=diff
==============================================================================
---
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java
(original)
+++
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java
Tue Aug 14 15:10:42 2012
@@ -17,13 +17,14 @@
package org.apache.openejb.arquillian.common;
import java.lang.reflect.Method;
-import org.apache.openejb.loader.ProvisioningUtil;
-import org.apache.openejb.loader.SystemInstance;
+
+import org.apache.openejb.loader.*;
import org.apache.openejb.util.JarExtractor;
import org.jboss.arquillian.container.spi.client.container.LifecycleException;
import java.io.*;
import java.net.Socket;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -265,4 +266,37 @@ public class Setup {
}
}
}
+
+ public static void synchronizeConf(final File openejbHome, final File
confSrc) {
+ final File conf = new File(openejbHome, "conf");
+ final Collection<File> files =
org.apache.openejb.loader.Files.collect(confSrc, TrueFileFilter.instance());
+ files.remove(confSrc);
+ for (File f : files) {
+ try {
+ org.apache.openejb.loader.IO.copy(f, new File(conf,
relativize(f, confSrc)));
+ } catch (Exception e) {
+ LOGGER.log(Level.WARNING, "ignoring copy of " +
f.getAbsolutePath(), e);
+ }
+ }
+ }
+
+ private static String relativize(final File f, final File base) {
+ return f.getAbsolutePath().substring(base.getAbsolutePath().length() +
1);
+ }
+
+ private static class TrueFileFilter implements FileFilter {
+ private static TrueFileFilter INSTANCE = null;
+
+ public static TrueFileFilter instance() {
+ if (INSTANCE == null) {
+ INSTANCE = new TrueFileFilter();
+ }
+ return INSTANCE;
+ }
+
+ @Override
+ public boolean accept(final File pathname) {
+ return true;
+ }
+ }
}
Modified:
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java?rev=1372917&r1=1372916&r2=1372917&view=diff
==============================================================================
---
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
(original)
+++
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
Tue Aug 14 15:10:42 2012
@@ -222,7 +222,11 @@ public abstract class TomEEContainer<Con
final AppInfo appInfo;
try {
appInfo = deployer().deploy(file.getAbsolutePath());
- moduleIds.put(archive.getName(), new DeployedApp(appInfo.path,
file.getParentFile()));
+ if (appInfo != null) {
+ moduleIds.put(archive.getName(), new
DeployedApp(appInfo.path, file.getParentFile()));
+ } else {
+ throw new OpenEJBException("can't get appInfo");
+ }
} catch (OpenEJBException re) { // clean up in undeploy needs it
moduleIds.put(archive.getName(), new
DeployedApp(file.getPath(), file.getParentFile()));
throw re;
Modified:
openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java?rev=1372917&r1=1372916&r2=1372917&view=diff
==============================================================================
---
openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java
(original)
+++
openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java
Tue Aug 14 15:10:42 2012
@@ -32,6 +32,7 @@ public class RemoteTomEEConfiguration ex
private String type = "zip";
private boolean removeUnusedWebapps = true;
private int ajpPort = 8009;
+ private String conf;
public String getGroupId() {
return groupId;
@@ -97,4 +98,11 @@ public class RemoteTomEEConfiguration ex
this.ajpPort = ajpPort;
}
+ public String getConf() {
+ return conf;
+ }
+
+ public void setConf(String conf) {
+ this.conf = conf;
+ }
}
Modified:
openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java?rev=1372917&r1=1372916&r2=1372917&view=diff
==============================================================================
---
openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
(original)
+++
openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
Tue Aug 14 15:10:42 2012
@@ -96,6 +96,15 @@ public class RemoteTomEEContainer extend
Setup.configureServerXml(openejbHome, configuration);
Setup.configureSystemProperties(openejbHome, configuration);
+ if (configuration.getConf() != null &&
!configuration.getConf().isEmpty()) {
+ final File confSrc = new File(configuration.getConf());
+ if (confSrc.exists()) {
+ Setup.synchronizeConf(openejbHome, confSrc);
+ } else {
+ LOGGER.warning("can't find " + confSrc.getAbsolutePath());
+ }
+ }
+
Setup.exportProperties(openejbHome, configuration);
if (configuration.isRemoveUnusedWebapps()) {