Author: andygumbrecht
Date: Sat Sep 20 18:11:41 2014
New Revision: 1626483
URL: http://svn.apache.org/r1626483
Log:
TOMEE-1354 - Auto set 'openejb.deployer.binaries.use' for remote test.
Modified:
tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianFilterRunner.java
tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEInjectionEnricher.java
tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java
tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/test/java/org/apache/openejb/util/NetworkUtilTest.java
Modified:
tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianFilterRunner.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianFilterRunner.java?rev=1626483&r1=1626482&r2=1626483&view=diff
==============================================================================
---
tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianFilterRunner.java
(original)
+++
tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianFilterRunner.java
Sat Sep 20 18:11:41 2014
@@ -38,13 +38,13 @@ import java.io.IOException;
public class ArquillianFilterRunner implements Filter {
private static final String ARQUILLIAN_SERVLET_RUNNER =
"org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner";
- private HttpServlet deletage;
+ private HttpServlet delegate;
@Override
public void init(final FilterConfig filterConfig) throws ServletException {
try {
- deletage =
HttpServlet.class.cast(Thread.currentThread().getContextClassLoader().loadClass(ARQUILLIAN_SERVLET_RUNNER).newInstance());
- deletage.init();
+ delegate =
HttpServlet.class.cast(Thread.currentThread().getContextClassLoader().loadClass(ARQUILLIAN_SERVLET_RUNNER).newInstance());
+ delegate.init();
} catch (final Exception e) {
// no-op: can happen if the servlet is not present, that's a
normal case
}
@@ -52,15 +52,15 @@ public class ArquillianFilterRunner impl
@Override
public void doFilter(final ServletRequest servletRequest, final
ServletResponse servletResponse, final FilterChain filterChain) throws
IOException, ServletException {
- if (deletage != null) {
- deletage.service(servletRequest, servletResponse);
+ if (delegate != null) {
+ delegate.service(servletRequest, servletResponse);
}
}
@Override
public void destroy() {
- if (deletage != null) {
- deletage.destroy();
+ if (delegate != null) {
+ delegate.destroy();
}
}
}
Modified:
tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEInjectionEnricher.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEInjectionEnricher.java?rev=1626483&r1=1626482&r2=1626483&view=diff
==============================================================================
---
tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEInjectionEnricher.java
(original)
+++
tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEInjectionEnricher.java
Sat Sep 20 18:11:41 2014
@@ -28,8 +28,11 @@ import org.jboss.arquillian.test.spi.Tes
import org.jboss.arquillian.test.spi.TestEnricher;
import java.lang.reflect.Method;
+import java.util.logging.Level;
+import java.util.logging.Logger;
public class TomEEInjectionEnricher implements TestEnricher {
+
@Inject
private Instance<TestClass> testClass;
@@ -49,6 +52,9 @@ public class TomEEInjectionEnricher impl
return app;
}
}
+
+
Logger.getLogger(TomEEInjectionEnricher.class.getName()).log(Level.WARNING,
"Failed to find AppContext for: " + className);
+
return null;
}
Modified:
tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java?rev=1626483&r1=1626482&r2=1626483&view=diff
==============================================================================
---
tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
(original)
+++
tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
Sat Sep 20 18:11:41 2014
@@ -24,6 +24,7 @@ import org.apache.openejb.arquillian.com
import org.apache.openejb.arquillian.common.TomEEContainer;
import org.apache.openejb.assembler.Deployer;
import org.apache.openejb.config.RemoteServer;
+import org.apache.openejb.util.NetworkUtil;
import org.jboss.arquillian.container.spi.client.container.LifecycleException;
import org.jboss.arquillian.protocol.servlet.ServletMethodExecutor;
import org.jboss.shrinkwrap.api.Archive;
@@ -75,7 +76,15 @@ public class RemoteTomEEContainer extend
if (Setup.isRunning(configuration.getHost(), httpPort)) {
- logger.info(String.format("TomEE found running on port %s",
httpPort));
+ String host = "local";
+
+ if (!NetworkUtil.isLocalAddress(configuration.getHost())) {
+ //Supply at least this property so that the archive is
transmitted on deploy
+
deployerProperties.setProperty("openejb.deployer.binaries.use", "true");
+ host = "remote";
+ }
+
+ logger.info(String.format("TomEE found running on %s port %s",
host, httpPort));
return;
}
Modified:
tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java?rev=1626483&r1=1626482&r2=1626483&view=diff
==============================================================================
---
tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java
(original)
+++
tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java
Sat Sep 20 18:11:41 2014
@@ -18,7 +18,10 @@
package org.apache.openejb.util;
import java.io.IOException;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
import java.net.ServerSocket;
+import java.net.SocketException;
import java.util.Collection;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.ReentrantLock;
@@ -133,6 +136,28 @@ public final class NetworkUtil {
return start + "localhost:" + getNextAvailablePort() + end;
}
+ public static boolean isLocalAddress(final String addr) {
+ try {
+ return isLocalAddress(InetAddress.getByName(addr));
+ } catch (final Exception e) {
+ return false;
+ }
+ }
+
+ public static boolean isLocalAddress(final InetAddress addr) {
+
+ if (addr.isAnyLocalAddress() || addr.isLoopbackAddress()) {
+ return true;
+ }
+
+ // Check if the address is defined on any interface
+ try {
+ return NetworkInterface.getByInetAddress(addr) != null;
+ } catch (final SocketException e) {
+ return false;
+ }
+ }
+
private static final class LastPort {
private final int port;
private final long time;
Modified:
tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/test/java/org/apache/openejb/util/NetworkUtilTest.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/test/java/org/apache/openejb/util/NetworkUtilTest.java?rev=1626483&r1=1626482&r2=1626483&view=diff
==============================================================================
---
tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/test/java/org/apache/openejb/util/NetworkUtilTest.java
(original)
+++
tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/test/java/org/apache/openejb/util/NetworkUtilTest.java
Sat Sep 20 18:11:41 2014
@@ -20,6 +20,7 @@ package org.apache.openejb.util;
import org.junit.Assert;
import org.junit.Test;
+import java.net.InetAddress;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
@@ -58,4 +59,14 @@ public class NetworkUtilTest {
System.out.println("Thread safe port list = " + list);
}
+
+ @Test
+ public void testLocal() throws Exception {
+
Assert.assertTrue(NetworkUtil.isLocalAddress(InetAddress.getLocalHost()));
+ }
+
+ @Test
+ public void testLocalhost() throws Exception {
+ Assert.assertTrue(NetworkUtil.isLocalAddress("localhost"));
+ }
}