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());
        }


Reply via email to