X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=runtime%2Forg.argeo.slc.detached%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fdetached%2Fadmin%2FOpenSession.java;fp=runtime%2Forg.argeo.slc.detached%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fdetached%2Fadmin%2FOpenSession.java;h=2b89a7223d3df080468d0cf504e7337d82c2d5ec;hb=d34a6b8b9904f130f7928cea61f7e500094a58b1;hp=11966a97563af5371c5f156e68d92b80d611440f;hpb=0d05ae182680ae824125f9cce17886e6e8e3bf1d;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/admin/OpenSession.java b/runtime/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/admin/OpenSession.java index 11966a975..2b89a7223 100644 --- a/runtime/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/admin/OpenSession.java +++ b/runtime/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/admin/OpenSession.java @@ -1,6 +1,9 @@ package org.argeo.slc.detached.admin; +import java.util.ArrayList; +import java.util.List; import java.util.Properties; +import java.util.StringTokenizer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -28,15 +31,23 @@ public class OpenSession implements DetachedAdminCommand { String refreshedBundles = props .getProperty("slc.detached.refreshedBundles"); if (refreshedBundles != null) { + List refreshedBundleNames = new ArrayList(); + StringTokenizer st = new StringTokenizer(refreshedBundles, ","); + while (st.hasMoreTokens()) { + refreshedBundleNames.add(st.nextElement()); + } + Bundle[] bundles = bundleContext.getBundles(); - Bundle bundle = null; + + List bundlesToRefresh = new ArrayList(); for (int i = 0; i < bundles.length; i++) { - if (bundles[i].getSymbolicName().equals(refreshedBundles)) { - bundle = bundles[i]; + if (refreshedBundleNames.contains(bundles[i].getSymbolicName())) { + bundlesToRefresh.add(bundles[i]); } } - if (bundle != null) { + for (int i = 0; i < bundlesToRefresh.size(); i++) { + Bundle bundle = (Bundle) bundlesToRefresh.get(i); try { bundle.stop(); bundle.update(); @@ -46,10 +57,7 @@ public class OpenSession implements DetachedAdminCommand { throw new DetachedException("Could not refresh bundle " + bundle.getSymbolicName(), e); } - } else { - log.warn("Did not find bundle to refresh " + refreshedBundles); } - } return session;