Author: rmannibucau
Date: Wed Jun 12 07:29:05 2013
New Revision: 1492089
URL: http://svn.apache.org/r1492089
Log:
TOMEE-972 removing need of openejb-provisinning by default in our arquillian
adapter
Modified:
tomee/tomee/trunk/arquillian/arquillian-tomee-common/pom.xml
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/MavenCache.java
tomee/tomee/trunk/arquillian/arquillian-tomee-tests/pom.xml
tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java
Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-common/pom.xml
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-common/pom.xml?rev=1492089&r1=1492088&r2=1492089&view=diff
==============================================================================
--- tomee/tomee/trunk/arquillian/arquillian-tomee-common/pom.xml (original)
+++ tomee/tomee/trunk/arquillian/arquillian-tomee-common/pom.xml Wed Jun 12
07:29:05 2013
@@ -223,12 +223,6 @@
</dependency>
<dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>openejb-provisionning</artifactId>
- <version>${openejb.version}</version>
- </dependency>
-
- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
Modified:
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/MavenCache.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/MavenCache.java?rev=1492089&r1=1492088&r2=1492089&view=diff
==============================================================================
---
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/MavenCache.java
(original)
+++
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/MavenCache.java
Wed Jun 12 07:29:05 2013
@@ -16,10 +16,13 @@
*/
package org.apache.openejb.arquillian.common;
-import org.apache.openejb.loader.*;
-import org.apache.openejb.resolver.Resolver;
+import org.apache.openejb.loader.ProvisioningUtil;
-import java.io.*;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.net.URI;
import java.util.logging.Logger;
@@ -30,7 +33,7 @@ public class MavenCache {
LOGGER.info("Downloading " + artifactInfo + " please wait...");
try {
- return new File(new
Resolver().resolve(artifactInfo.startsWith("mvn") ? "" : "mvn:" +
artifactInfo));
+ return new
File(ProvisioningUtil.realLocation(artifactInfo.startsWith("mvn") ? "" : "mvn:"
+ artifactInfo));
} catch (Exception e) {
// ignored
}
Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-tests/pom.xml
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-tests/pom.xml?rev=1492089&r1=1492088&r2=1492089&view=diff
==============================================================================
--- tomee/tomee/trunk/arquillian/arquillian-tomee-tests/pom.xml (original)
+++ tomee/tomee/trunk/arquillian/arquillian-tomee-tests/pom.xml Wed Jun 12
07:29:05 2013
@@ -71,6 +71,12 @@
</dependency>
<dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.2.2</version>
+ </dependency>
+
+ <dependency>
<groupId>org.jboss.shrinkwrap.descriptors</groupId>
<artifactId>shrinkwrap-descriptors-impl-javaee</artifactId>
<version>${version.shrinkwrap.descriptor}</version>
Modified:
tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java?rev=1492089&r1=1492088&r2=1492089&view=diff
==============================================================================
---
tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java
(original)
+++
tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java
Wed Jun 12 07:29:05 2013
@@ -37,13 +37,16 @@ public class ProvisioningUtil {
public static final String OPENEJB_DEPLOYER_CACHE_FOLDER =
"openejb.deployer.cache.folder";
public static final String HTTP_PREFIX = "http";
public static final String MVN_PREFIX = "mvn:";
+
private static final int CONNECT_TIMEOUT = 10000;
private static final String ADDITIONAL_LIB_CONFIG =
"provisioning.properties";
private static final String REPO1 = "http://repo1.maven.org/maven2/";
+ private static final String APACHE_SNAPSHOT =
"repository.apache.org/snapshots/";
private static final String ZIP_KEY = "zip";
private static final String DESTINATION_KEY = "destination";
private static final String JAR_KEY = "jar";
+
public static final String TEMP_DIR = "temp";
private ProvisioningUtil() {
@@ -80,7 +83,7 @@ public class ProvisioningUtil {
final URLConnection urlConnection = url.openConnection(proxy);
urlConnection.setConnectTimeout(CONNECT_TIMEOUT);
return new BufferedInputStream(urlConnection.getInputStream());
- } catch (IOException e) {
+ } catch (final IOException e) {
// ignored
}
}
@@ -117,37 +120,48 @@ public class ProvisioningUtil {
final Class<?> clazz =
ProvisioningUtil.class.getClassLoader().loadClass("org.apache.openejb.resolver.Resolver");
final LocationResolver instance = (LocationResolver)
clazz.newInstance();
return instance.resolve(rawLocation);
- } catch (Exception e) {
- if (rawLocation.startsWith(MVN_PREFIX)) {
- try {
- final String repo1Url =
quickMvnUrl(rawLocation.substring(MVN_PREFIX.length()).replace(":", "/"));
- return realLocation(repo1Url);
- } catch (MalformedURLException e1) {
-
Logger.getLogger(ProvisioningUtil.class.getName()).severe("Can't find " +
rawLocation);
- }
- } else { // try url
+ } catch (final Throwable e) { // NoClassDefFoundError is not an
exception
+ return fallback(rawLocation);
+ }
+ }
+
+ private static String fallback(final String rawLocation) {
+ if (rawLocation.startsWith(MVN_PREFIX)) {
+ try {
+ final String repo1Url =
quickMvnUrl(rawLocation.substring(MVN_PREFIX.length()).replace(":", "/"));
+ return realLocation(repo1Url);
+ } catch (MalformedURLException e1) {
+
Logger.getLogger(ProvisioningUtil.class.getName()).severe("Can't find " +
rawLocation);
+ }
+ } else { // try url
+ try {
+ final File file = cacheFile(lastPart(rawLocation));
+ final URL url = new URL(rawLocation);
+ InputStream is = null;
try {
- final File file = cacheFile(lastPart(rawLocation));
- final URL url = new URL(rawLocation);
- InputStream is = null;
- try {
- is = new BufferedInputStream(url.openStream());
- IO.copy(is, file);
- return file.getAbsolutePath();
- } finally {
- IO.close(is);
- }
- } catch (final Exception e1) {
- // no-op
+ is = new BufferedInputStream(url.openStream());
+ IO.copy(is, file);
+ return file.getAbsolutePath();
+ } finally {
+ IO.close(is);
}
+ } catch (final Exception e1) {
+ // no-op
}
-
- // if it was not an url that's just a file path
- return rawLocation;
}
+
+ // if it was not an url that's just a file path
+ return rawLocation;
}
private static String quickMvnUrl(final String raw) throws
MalformedURLException {
+ final String base;
+ if (raw.contains("-SNAPSHOT") && raw.contains("apache")) {
+ base = APACHE_SNAPSHOT;
+ } else {
+ base = REPO1;
+ }
+
StringBuilder builder = new StringBuilder();
final String toParse;
if (!raw.contains("!")) {
@@ -159,7 +173,7 @@ public class ProvisioningUtil {
// else use repo1
builder = new StringBuilder();
- builder.append(REPO1);
+ builder.append(base);
toParse = raw;
// try first locally