ASSIGNED - bug 73: Detached getRequest crash
https://www.spartadn.com/bugzilla/show_bug.cgi?id=73
git-svn-id: https://svn.argeo.org/slc/trunk@2005
4cfe0d0a-d680-48aa-b62c-
e0a02a3f76cc
package org.argeo.slc.detached.admin;
package org.argeo.slc.detached.admin;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Properties;
import java.util.Properties;
+import java.util.StringTokenizer;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
String refreshedBundles = props
.getProperty("slc.detached.refreshedBundles");
if (refreshedBundles != null) {
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[] bundles = bundleContext.getBundles();
+
+ List bundlesToRefresh = new ArrayList();
for (int i = 0; i < bundles.length; i++) {
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]);
+ for (int i = 0; i < bundlesToRefresh.size(); i++) {
+ Bundle bundle = (Bundle) bundlesToRefresh.get(i);
try {
bundle.stop();
bundle.update();
try {
bundle.stop();
bundle.update();
throw new DetachedException("Could not refresh bundle "
+ bundle.getSymbolicName(), e);
}
throw new DetachedException("Could not refresh bundle "
+ bundle.getSymbolicName(), e);
}
- } else {
- log.warn("Did not find bundle to refresh " + refreshedBundles);