Author: dbkr
Date: 2008-04-13 23:42:00 +0000 (Sun, 13 Apr 2008)
New Revision: 19275
Added:
trunk/freenet/src/freenet/pluginmanager/FredPluginVersioned.java
Modified:
trunk/freenet/src/freenet/clients/http/PproxyToadlet.java
trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
trunk/freenet/src/freenet/pluginmanager/PluginInfoWrapper.java
Log:
Add versioned plugin & version column in plugin toadlet.
Modified: trunk/freenet/src/freenet/clients/http/PproxyToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/PproxyToadlet.java 2008-04-13
23:40:33 UTC (rev 19274)
+++ trunk/freenet/src/freenet/clients/http/PproxyToadlet.java 2008-04-13
23:42:00 UTC (rev 19275)
@@ -422,6 +422,7 @@
HTMLNode pluginTable = infoboxContent.addChild("table",
"class", "plugins");
HTMLNode headerRow = pluginTable.addChild("tr");
headerRow.addChild("th", l10n("classNameTitle"));
+ headerRow.addChild("th", l10n("versionTitle"));
headerRow.addChild("th", l10n("internalIDTitle"));
headerRow.addChild("th", l10n("startedAtTitle"));
headerRow.addChild("th");
@@ -432,6 +433,7 @@
PluginInfoWrapper pi = (PluginInfoWrapper)
it.next();
HTMLNode pluginRow = pluginTable.addChild("tr");
pluginRow.addChild("td",
pi.getPluginClassName());
+ pluginRow.addChild("td", pi.getPluginVersion());
pluginRow.addChild("td", pi.getThreadName());
pluginRow.addChild("td", new
Date(pi.getStarted()).toString());
if (pi.isStopping()) {
Modified: trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
===================================================================
--- trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties 2008-04-13
23:40:33 UTC (rev 19274)
+++ trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties 2008-04-13
23:42:00 UTC (rev 19275)
@@ -800,6 +800,7 @@
PproxyToadlet.loadOtherPluginText=Here you can enter the URL of a plugin you
want to load. Other plugins than the ones listed above are not even remotely
supported or checked for privacy leaks by us, so if you load a remote plugin
here, you are basically on your own.
PproxyToadlet.loadOtherURLLabel=Plugin URL
PproxyToadlet.noPlugins=No plugins loaded
+PproxyToadlet.noVersion=N/A
PproxyToadlet.pluginNotFoundReload=The specified plugin could not be located
in order to reload it.
PproxyToadlet.pluginNotFoundReloadTitle=Plugin Not Found (reloading)
PproxyToadlet.pluginUnloaded=Plugin unloaded
@@ -830,6 +831,7 @@
PproxyToadlet.unloadPluginTitle=Unload plugin?
PproxyToadlet.unloadPluginWithName=Are you sure you wish to unload ${name}?
PproxyToadlet.unloadPurge=Remove plugin from cache
+PproxyToadlet.versionTitle=Version
QueueToadlet.DUinProgress=Directory uploads in progress (${size})
QueueToadlet.DinProgress=Downloads in progress (${size})
QueueToadlet.UinProgress=Uploads in progress (${size})
Added: trunk/freenet/src/freenet/pluginmanager/FredPluginVersioned.java
===================================================================
--- trunk/freenet/src/freenet/pluginmanager/FredPluginVersioned.java
(rev 0)
+++ trunk/freenet/src/freenet/pluginmanager/FredPluginVersioned.java
2008-04-13 23:42:00 UTC (rev 19275)
@@ -0,0 +1,10 @@
+package freenet.pluginmanager;
+
+/**
+ * A Fred plugin that has a version
+ * @author dbkr
+ *
+ */
+public interface FredPluginVersioned {
+ public String getVersion();
+}
Modified: trunk/freenet/src/freenet/pluginmanager/PluginInfoWrapper.java
===================================================================
--- trunk/freenet/src/freenet/pluginmanager/PluginInfoWrapper.java
2008-04-13 23:40:33 UTC (rev 19274)
+++ trunk/freenet/src/freenet/pluginmanager/PluginInfoWrapper.java
2008-04-13 23:42:00 UTC (rev 19275)
@@ -3,6 +3,7 @@
import java.util.Date;
import java.util.HashSet;
+import freenet.l10n.L10n;
import freenet.support.Logger;
import freenet.support.StringArray;
@@ -21,6 +22,7 @@
private boolean isPortForwardPlugin;
private boolean isMultiplePlugin;
private boolean isFCPPlugin;
+ private boolean isVersionedPlugin;
private String filename;
private HashSet toadletLinks=new HashSet();
private boolean stopping = false;
@@ -41,6 +43,7 @@
isPortForwardPlugin = (plug instanceof FredPluginPortForward);
isMultiplePlugin = (plug instanceof FredPluginMultiple);
isFCPPlugin = (plug instanceof FredPluginFCP);
+ isVersionedPlugin = (plug instanceof FredPluginVersioned);
}
void setThread(Thread ps) {
@@ -66,6 +69,14 @@
return plug.getClass().getName();
}
+ public String getPluginVersion() {
+ if (isVersionedPlugin) {
+ return ((FredPluginVersioned)plug).getVersion();
+ } else {
+ return L10n.getString("PproxyToadlet.noVersion");
+ }
+ }
+
public synchronized String[] getPluginToadletSymlinks(){
return StringArray.toArray(toadletLinks.toArray());
}