You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2013/01/21 14:38:10 UTC

svn commit: r1436339 - in /karaf/trunk/deployer: blueprint/src/main/java/org/apache/karaf/deployer/blueprint/ features/src/main/java/org/apache/karaf/deployer/features/ spring/src/main/java/org/apache/karaf/deployer/spring/

Author: gnodet
Date: Mon Jan 21 13:38:09 2013
New Revision: 1436339

URL: http://svn.apache.org/viewvc?rev=1436339&view=rev
Log:
[KARAF-2134] Deployers do not support mvn urls well

Modified:
    karaf/trunk/deployer/blueprint/src/main/java/org/apache/karaf/deployer/blueprint/BlueprintTransformer.java
    karaf/trunk/deployer/features/src/main/java/org/apache/karaf/deployer/features/FeatureTransformer.java
    karaf/trunk/deployer/spring/src/main/java/org/apache/karaf/deployer/spring/SpringTransformer.java

Modified: karaf/trunk/deployer/blueprint/src/main/java/org/apache/karaf/deployer/blueprint/BlueprintTransformer.java
URL: http://svn.apache.org/viewvc/karaf/trunk/deployer/blueprint/src/main/java/org/apache/karaf/deployer/blueprint/BlueprintTransformer.java?rev=1436339&r1=1436338&r2=1436339&view=diff
==============================================================================
--- karaf/trunk/deployer/blueprint/src/main/java/org/apache/karaf/deployer/blueprint/BlueprintTransformer.java (original)
+++ karaf/trunk/deployer/blueprint/src/main/java/org/apache/karaf/deployer/blueprint/BlueprintTransformer.java Mon Jan 21 13:38:09 2013
@@ -64,7 +64,7 @@ public class BlueprintTransformer {
         // Build dom document
         Document doc = parse(url);
         // Heuristicly retrieve name and version
-        String name = url.getPath();
+        String name = getPath(url);
         int idx = name.lastIndexOf('/');
         if (idx >= 0) {
             name = name.substring(idx + 1);
@@ -185,6 +185,28 @@ public class BlueprintTransformer {
         return db.parse(url.toString());
     }
 
+    protected static String getPath(URL url) {
+        if (url.getProtocol().equals("mvn")) {
+            String[] parts = url.toExternalForm().substring(4).split("/");
+            String groupId;
+            String artifactId;
+            String version;
+            String type;
+            String qualifier;
+            if (parts.length < 3 || parts.length > 5) {
+                return url.getPath();
+            }
+            groupId = parts[0];
+            artifactId = parts[1];
+            version = parts[2];
+            type = (parts.length >= 4) ?  "." + parts[3] : ".jar";
+            qualifier = (parts.length >= 5) ? "-" + parts[4] :  "";
+            return groupId.replace('.', '/') + "/" + artifactId + "/"
+                    + version + "/" + artifactId + "-" + version + qualifier + type;
+        }
+        return url.getPath();
+    }
+
     protected static void copyInputStream(InputStream in, OutputStream out) throws Exception {
         byte[] buffer = new byte[4096];
         int len = in.read(buffer);

Modified: karaf/trunk/deployer/features/src/main/java/org/apache/karaf/deployer/features/FeatureTransformer.java
URL: http://svn.apache.org/viewvc/karaf/trunk/deployer/features/src/main/java/org/apache/karaf/deployer/features/FeatureTransformer.java?rev=1436339&r1=1436338&r2=1436339&view=diff
==============================================================================
--- karaf/trunk/deployer/features/src/main/java/org/apache/karaf/deployer/features/FeatureTransformer.java (original)
+++ karaf/trunk/deployer/features/src/main/java/org/apache/karaf/deployer/features/FeatureTransformer.java Mon Jan 21 13:38:09 2013
@@ -36,7 +36,7 @@ public class FeatureTransformer {
 
     public static void transform(URL url, OutputStream os) throws Exception {
         // Heuristicly retrieve name and version
-        String name = url.getPath();
+        String name = getPath(url);
         int idx = name.lastIndexOf('/');
         if (idx >= 0) {
             name = name.substring(idx + 1);
@@ -72,6 +72,28 @@ public class FeatureTransformer {
         os.close();
     }
 
+    private static String getPath(URL url) {
+        if (url.getProtocol().equals("mvn")) {
+            String[] parts = url.toExternalForm().substring(4).split("/");
+            String groupId;
+            String artifactId;
+            String version;
+            String type;
+            String qualifier;
+            if (parts.length < 3 || parts.length > 5) {
+                return url.getPath();
+            }
+            groupId = parts[0];
+            artifactId = parts[1];
+            version = parts[2];
+            type = (parts.length >= 4) ?  "." + parts[3] : ".jar";
+            qualifier = (parts.length >= 5) ? "-" + parts[4] :  "";
+            return groupId.replace('.', '/') + "/" + artifactId + "/"
+                    + version + "/" + artifactId + "-" + version + qualifier + type;
+        }
+        return url.getPath();
+    }
+
     private static void copyInputStream(InputStream in, OutputStream out) throws IOException {
         byte[] buffer = new byte[8192];
         int len = in.read(buffer);

Modified: karaf/trunk/deployer/spring/src/main/java/org/apache/karaf/deployer/spring/SpringTransformer.java
URL: http://svn.apache.org/viewvc/karaf/trunk/deployer/spring/src/main/java/org/apache/karaf/deployer/spring/SpringTransformer.java?rev=1436339&r1=1436338&r2=1436339&view=diff
==============================================================================
--- karaf/trunk/deployer/spring/src/main/java/org/apache/karaf/deployer/spring/SpringTransformer.java (original)
+++ karaf/trunk/deployer/spring/src/main/java/org/apache/karaf/deployer/spring/SpringTransformer.java Mon Jan 21 13:38:09 2013
@@ -64,7 +64,7 @@ public class SpringTransformer {
         // Build dom document
         Document doc = parse(url);
         // Heuristicly retrieve name and version
-        String name = url.getPath();
+        String name = getPath(url);
         int idx = name.lastIndexOf('/');
         if (idx >= 0) {
             name = name.substring(idx + 1);
@@ -182,6 +182,28 @@ public class SpringTransformer {
         return db.parse(url.toString());
     }
 
+    protected static String getPath(URL url) {
+        if (url.getProtocol().equals("mvn")) {
+            String[] parts = url.toExternalForm().substring(4).split("/");
+            String groupId;
+            String artifactId;
+            String version;
+            String type;
+            String qualifier;
+            if (parts.length < 3 || parts.length > 5) {
+                return url.getPath();
+            }
+            groupId = parts[0];
+            artifactId = parts[1];
+            version = parts[2];
+            type = (parts.length >= 4) ?  "." + parts[3] : ".jar";
+            qualifier = (parts.length >= 5) ? "-" + parts[4] :  "";
+            return groupId.replace('.', '/') + "/" + artifactId + "/"
+                    + version + "/" + artifactId + "-" + version + qualifier + type;
+        }
+        return url.getPath();
+    }
+
     protected static void copyInputStream(InputStream in, OutputStream out) throws Exception {
         byte[] buffer = new byte[4096];
         int len = in.read(buffer);