[FELIX-3712] Avoid displaying an InterruptedException if the file install bundle end up refreshing itself
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1548470 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/DirectoryWatcher.java b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/DirectoryWatcher.java
index 7dd57d6..05fe31b 100644
--- a/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/DirectoryWatcher.java
+++ b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/DirectoryWatcher.java
@@ -231,7 +231,14 @@
Set/*<File>*/ files = scanner.scan(true);
if (files != null)
{
- process(files);
+ try
+ {
+ process(files);
+ }
+ catch (InterruptedException e)
+ {
+ throw new RuntimeException(e);
+ }
}
}
super.start();
@@ -345,7 +352,7 @@
}
}
- private void process(Set files)
+ private void process(Set files) throws InterruptedException
{
List/*<ArtifactListener>*/ listeners = FileInstall.getListeners();
List/*<Artifact>*/ deleted = new ArrayList/*<Artifact>*/();
@@ -685,7 +692,7 @@
/**
* Convenience to refresh the packages
*/
- void refresh(Bundle[] bundles)
+ void refresh(Bundle[] bundles) throws InterruptedException
{
FileInstall.refresh(bundles);
}
diff --git a/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/FileInstall.java b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/FileInstall.java
index f14b8c4..6ba0114 100644
--- a/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/FileInstall.java
+++ b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/FileInstall.java
@@ -306,18 +306,14 @@
/**
* Convenience to refresh the packages
*/
- static void refresh(Bundle[] bundles)
+ static void refresh(Bundle[] bundles) throws InterruptedException
{
PackageAdmin padmin = getPackageAdmin();
if (padmin != null)
{
synchronized (refreshLock) {
padmin.refreshPackages(bundles);
- try {
- refreshLock.wait(30000);
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
+ refreshLock.wait(30000);
}
}
}