Author: gnodet
Date: Wed Oct 21 13:47:20 2009
New Revision: 828014

URL: http://svn.apache.org/viewvc?rev=828014&view=rev
Log:
FELIX-1787: fileinstall relies on location to be a valid URL for update to be 
successful

Modified:
    
felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/DirectoryWatcher.java

Modified: 
felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/DirectoryWatcher.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/DirectoryWatcher.java?rev=828014&r1=828013&r2=828014&view=diff
==============================================================================
--- 
felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/DirectoryWatcher.java
 (original)
+++ 
felix/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/DirectoryWatcher.java
 Wed Oct 21 13:47:20 2009
@@ -903,6 +903,7 @@
             // if the listener is an url transformer
             else if (artifact.getListener() instanceof ArtifactUrlTransformer)
             {
+                URL transformed = artifact.getTransformedUrl();
                 bundle = context.getBundle(artifact.getBundleId());
                 if (bundle == null)
                 {
@@ -913,7 +914,15 @@
                     return null;
                 }
                 Util.storeChecksum(bundle, artifact.getChecksum(), context);
-                bundle.update();
+                InputStream in = (transformed != null) ? 
transformed.openStream() : new FileInputStream(path);
+                try
+                {
+                    bundle.update(in);
+                }
+                finally
+                {
+                    in.close();
+                }
             }
             // else we need to ask for an update on the bundle
             else if (artifact.getListener() instanceof ArtifactTransformer)


Reply via email to