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 2011/01/27 10:41:57 UTC

svn commit: r1064060 - in /karaf/trunk/deployer/wrap: pom.xml src/main/java/org/apache/karaf/deployer/wrap/WrapDeploymentListener.java

Author: gnodet
Date: Thu Jan 27 09:41:57 2011
New Revision: 1064060

URL: http://svn.apache.org/viewvc?rev=1064060&view=rev
Log:
[KARAF-380] Compute meaninfull symbolic name and version for the wrap deployer

Modified:
    karaf/trunk/deployer/wrap/pom.xml
    karaf/trunk/deployer/wrap/src/main/java/org/apache/karaf/deployer/wrap/WrapDeploymentListener.java

Modified: karaf/trunk/deployer/wrap/pom.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/deployer/wrap/pom.xml?rev=1064060&r1=1064059&r2=1064060&view=diff
==============================================================================
--- karaf/trunk/deployer/wrap/pom.xml (original)
+++ karaf/trunk/deployer/wrap/pom.xml Thu Jan 27 09:41:57 2011
@@ -39,6 +39,10 @@
 
     <dependencies>
         <dependency>
+            <groupId>org.apache.karaf</groupId>
+            <artifactId>org.apache.karaf.util</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
             <scope>provided</scope>
@@ -67,7 +71,10 @@
                         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                         <Export-Package>${project.artifactId}*;version=${project.version}</Export-Package>
                         <Import-Package>!${project.artifactId}*,*</Import-Package>
-                        <Private-Package>org.apache.karaf.deployer.wrap</Private-Package>
+                        <Private-Package>
+                            org.apache.karaf.deployer.wrap,
+                            org.apache.karaf.util
+                        </Private-Package>
                         <_versionpolicy>${bnd.version.policy}</_versionpolicy>
                     </instructions>
                 </configuration>

Modified: karaf/trunk/deployer/wrap/src/main/java/org/apache/karaf/deployer/wrap/WrapDeploymentListener.java
URL: http://svn.apache.org/viewvc/karaf/trunk/deployer/wrap/src/main/java/org/apache/karaf/deployer/wrap/WrapDeploymentListener.java?rev=1064060&r1=1064059&r2=1064060&view=diff
==============================================================================
--- karaf/trunk/deployer/wrap/src/main/java/org/apache/karaf/deployer/wrap/WrapDeploymentListener.java (original)
+++ karaf/trunk/deployer/wrap/src/main/java/org/apache/karaf/deployer/wrap/WrapDeploymentListener.java Thu Jan 27 09:41:57 2011
@@ -17,14 +17,15 @@
  */
 package org.apache.karaf.deployer.wrap;
 
-import org.apache.felix.fileinstall.ArtifactUrlTransformer;
-
 import java.io.File;
 import java.net.URL;
 import java.util.jar.Attributes;
 import java.util.jar.JarFile;
 import java.util.jar.Manifest;
 
+import org.apache.felix.fileinstall.ArtifactUrlTransformer;
+import org.apache.karaf.util.DeployerUtils;
+
 /**
  * <p>
  * A deployment listener that listens for non OSGi jar deployements.
@@ -55,11 +56,15 @@ public class WrapDeploymentListener impl
     }
 
     public URL transform(URL artifact) throws Exception {
-        String path = artifact.getPath();
-        String protocol = artifact.getProtocol();
-
-        // TODO add Bundle-SymbolicName and Bundle-Version to the wrap URL
-        return new URL("wrap", null, protocol + ":" + path);
+        try
+        {
+            String path = artifact.getPath();
+            String name = path.substring( path.lastIndexOf('/') + 1);
+            String[] nv = DeployerUtils.extractNameVersionType( name );
+            return new URL("wrap", null, artifact.toExternalForm() + "$Bundle-SymbolicName=" + nv[0] + "&Bundle-Version=" + nv[1]);
+        } catch (Exception e) {
+            return new URL("wrap", null, artifact.toExternalForm());
+        }
     }
 
 }