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


Reply via email to