Author: nextgens
Date: 2008-08-14 21:27:00 +0000 (Thu, 14 Aug 2008)
New Revision: 21875
Modified:
trunk/freenet/src/freenet/pluginmanager/PluginManager.java
Log:
attempt to improve PluginManager a bit... That class is a nightmare!
Modified: trunk/freenet/src/freenet/pluginmanager/PluginManager.java
===================================================================
--- trunk/freenet/src/freenet/pluginmanager/PluginManager.java 2008-08-14
21:22:53 UTC (rev 21874)
+++ trunk/freenet/src/freenet/pluginmanager/PluginManager.java 2008-08-14
21:27:00 UTC (rev 21875)
@@ -15,7 +15,6 @@
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.Vector;
@@ -116,7 +115,7 @@
// installDir = pmconfig.getString("installdir");
// Start plugins in the config
- pmconfig.register("loadplugin", null, 9, true, false,
"PluginManager.loadedOnStartup", "PluginManager.loadedOnStartupLong",
+ pmconfig.register("loadplugin", null, 0, true, false,
"PluginManager.loadedOnStartup", "PluginManager.loadedOnStartupLong",
new StringArrCallback() {
public String[] get() {
@@ -129,6 +128,7 @@
throw new
InvalidConfigValueException(L10n.getString("PluginManager.cannotSetOnceLoaded"));
}
+ @Override
public boolean isReadOnly() {
return true;
}
@@ -143,21 +143,15 @@
}
private String[] getConfigLoadString() {
- try {
- Iterator it = getPlugins().iterator();
-
- Vector v = new Vector();
-
- while(it.hasNext()) {
- PluginInfoWrapper pluginInfoWrapper =
(PluginInfoWrapper) it.next();
- v.add(pluginInfoWrapper.getFilename());
+ Vector<String> v = new Vector<String>();
+
+ synchronized(pluginWrappers) {
+ for(PluginInfoWrapper pi : pluginWrappers) {
+ v.add(pi.getFilename());
}
-
- return (String[]) v.toArray(new String[v.size()]);
- } catch(NullPointerException e) {
- Logger.error(this, "error while loading plugins:
disabling them:" + e);
- return new String[0];
}
+
+ return v.toArray(new String[v.size()]);
}
/**