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);