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)