You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by fm...@apache.org on 2010/03/13 17:53:28 UTC
svn commit: r922607 -
/felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
Author: fmeschbe
Date: Sat Mar 13 16:53:28 2010
New Revision: 922607
URL: http://svn.apache.org/viewvc?rev=922607&view=rev
Log:
FELIX-2199 Register newly extracted built-in ConfigurationPrinters with service registry and OsgiManager
FELIX-2147 Ensure all OsgiManagerPlugin implementations are deactivated when the OsgiManager servlet is destroyed
Modified:
felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
Modified: felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java?rev=922607&r1=922606&r2=922607&view=diff
==============================================================================
--- felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java (original)
+++ felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java Sat Mar 13 16:53:28 2010
@@ -18,6 +18,7 @@ package org.apache.felix.webconsole.inte
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Dictionary;
import java.util.Enumeration;
@@ -25,6 +26,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
+import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.ResourceBundle;
@@ -135,6 +137,8 @@ public class OsgiManager extends Generic
"org.apache.felix.webconsole.internal.misc.LicenseServlet",
"org.apache.felix.webconsole.internal.misc.ConfigurationRender",
"org.apache.felix.webconsole.internal.misc.ShellServlet",
+ "org.apache.felix.webconsole.internal.misc.SystemPropertiesPrinter",
+ "org.apache.felix.webconsole.internal.misc.ThreadPrinter",
"org.apache.felix.webconsole.internal.obr.BundleRepositoryRender",
"org.apache.felix.webconsole.internal.system.VMStatPlugin"
};
@@ -155,6 +159,10 @@ public class OsgiManager extends Generic
// AbstractWebConsolePlugin instances
private Map plugins = new HashMap();
+ // list of OsgiManagerPlugin instances activated during init. All these
+ // instances will have to be deactivated during destroy
+ private List osgiManagerPlugins = new ArrayList();
+
private AbstractWebConsolePlugin defaultPlugin;
private String defaultRenderName;
@@ -255,6 +263,7 @@ public class OsgiManager extends Generic
if ( plugin instanceof OsgiManagerPlugin )
{
( ( OsgiManagerPlugin ) plugin ).activate( bundleContext );
+ osgiManagerPlugins.add( plugin );
}
if ( plugin instanceof AbstractWebConsolePlugin )
{
@@ -384,7 +393,7 @@ public class OsgiManager extends Generic
}
// deactivate any remaining plugins
- for ( Iterator pi = plugins.values().iterator(); pi.hasNext(); )
+ for ( Iterator pi = osgiManagerPlugins.iterator(); pi.hasNext(); )
{
Object plugin = pi.next();
if ( plugin instanceof OsgiManagerPlugin )
@@ -395,6 +404,7 @@ public class OsgiManager extends Generic
// simply remove all operations, we should not be used anymore
this.plugins.clear();
+ this.osgiManagerPlugins.clear();
}