You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2011/12/20 09:11:29 UTC
svn commit: r1221134 - in /sling/trunk/bundles/extensions/threaddump: pom.xml
src/main/java/org/apache/sling/extensions/threaddump/internal/Activator.java
src/main/java/org/apache/sling/extensions/threaddump/internal/ThreadDumperPanel.java
Author: cziegeler
Date: Tue Dec 20 08:11:28 2011
New Revision: 1221134
URL: http://svn.apache.org/viewvc?rev=1221134&view=rev
Log:
SLING-1836 : Remove direct dependency to web console by using new configuration printer support
Modified:
sling/trunk/bundles/extensions/threaddump/pom.xml
sling/trunk/bundles/extensions/threaddump/src/main/java/org/apache/sling/extensions/threaddump/internal/Activator.java
sling/trunk/bundles/extensions/threaddump/src/main/java/org/apache/sling/extensions/threaddump/internal/ThreadDumperPanel.java
Modified: sling/trunk/bundles/extensions/threaddump/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/threaddump/pom.xml?rev=1221134&r1=1221133&r2=1221134&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/threaddump/pom.xml (original)
+++ sling/trunk/bundles/extensions/threaddump/pom.xml Tue Dec 20 08:11:28 2011
@@ -58,11 +58,7 @@
<configuration>
<instructions>
<Import-Package>
- org.osgi.framework,
- org.slf4j.*,
- javax.servlet.*;
- org.apache.felix.shell;
- org.apache.felix.webconsole;resolution:=optional,
+ org.apache.felix.shell;resolution:=optional,
*
</Import-Package>
<Private-Package>
@@ -91,11 +87,6 @@
<version>1.0.0</version>
</dependency>
<dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.webconsole</artifactId>
- <version>1.2.0</version>
- </dependency>
- <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</dependency>
Modified: sling/trunk/bundles/extensions/threaddump/src/main/java/org/apache/sling/extensions/threaddump/internal/Activator.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/threaddump/src/main/java/org/apache/sling/extensions/threaddump/internal/Activator.java?rev=1221134&r1=1221133&r2=1221134&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/threaddump/src/main/java/org/apache/sling/extensions/threaddump/internal/Activator.java (original)
+++ sling/trunk/bundles/extensions/threaddump/src/main/java/org/apache/sling/extensions/threaddump/internal/Activator.java Tue Dec 20 08:11:28 2011
@@ -45,37 +45,41 @@ public class Activator implements Bundle
try {
register(bundleContext,
new String[] { "org.apache.felix.shell.Command" },
- new ThreadDumpCommand());
+ new ThreadDumpCommand(), null);
} catch (Throwable t) {
// shell service might not be available, don't care
}
// install Web Console configuration printer
- try {
- ThreadDumperPanel tdp = new ThreadDumperPanel();
+ final Dictionary<String, Object> props = new Hashtable<String, Object>();
+ props.put("felix.webconsole.label", "slingthreads");
+ props.put("felix.webconsole.title", "Threads");
+ props.put("felix.webconsole.configprinter.modes", "always");
- register(bundleContext, new String[] {
- "org.apache.felix.webconsole.ConfigurationPrinter" }, tdp);
- } catch (Throwable t) {
- // web console might not be available, don't care
- }
+ final ThreadDumperPanel tdp = new ThreadDumperPanel();
+
+ register(bundleContext, new String[] {
+ "org.apache.felix.webconsole.ConfigurationPrinter" }, tdp, props);
}
public void stop(BundleContext bundleContext) {
Thread.setDefaultUncaughtExceptionHandler(oldHandler);
}
- private void register(BundleContext context, String[] serviceNames,
- Object service) {
+ private void register(final BundleContext context,
+ final String[] serviceNames,
+ final Object service,
+ final Dictionary<String, Object> properties) {
- final Dictionary<String, Object> properties = new Hashtable<String, Object>();
+ final Dictionary<String, Object> props =
+ (properties == null ? new Hashtable<String, Object>() : properties);
// default settings
- properties.put(Constants.SERVICE_DESCRIPTION, "Thread Dumper ("
+ props.put(Constants.SERVICE_DESCRIPTION, "Thread Dumper ("
+ serviceNames[0] + ")");
- properties.put(Constants.SERVICE_VENDOR, "Apache Software Foundation");
+ props.put(Constants.SERVICE_VENDOR, "Apache Software Foundation");
- context.registerService(serviceNames, service, properties);
+ context.registerService(serviceNames, service, props);
}
// ---------- UncaughtExceptionHandler
Modified: sling/trunk/bundles/extensions/threaddump/src/main/java/org/apache/sling/extensions/threaddump/internal/ThreadDumperPanel.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/threaddump/src/main/java/org/apache/sling/extensions/threaddump/internal/ThreadDumperPanel.java?rev=1221134&r1=1221133&r2=1221134&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/threaddump/src/main/java/org/apache/sling/extensions/threaddump/internal/ThreadDumperPanel.java (original)
+++ sling/trunk/bundles/extensions/threaddump/src/main/java/org/apache/sling/extensions/threaddump/internal/ThreadDumperPanel.java Tue Dec 20 08:11:28 2011
@@ -20,27 +20,13 @@ package org.apache.sling.extensions.thre
import java.io.PrintWriter;
-import org.apache.felix.webconsole.ConfigurationPrinter;
+public class ThreadDumperPanel {
-public class ThreadDumperPanel implements ConfigurationPrinter {
-
- private static final String TITLE = "Threads";
-
- private BaseThreadDumper baseThreadDumper = new BaseThreadDumper();
-
- /**
- * @see org.apache.felix.webconsole.ConfigurationPrinter#getTitle()
- */
- public String getTitle() {
- return TITLE;
- }
+ private final BaseThreadDumper baseThreadDumper = new BaseThreadDumper();
// ---------- ConfigurationPrinter
- /**
- * @see org.apache.felix.webconsole.ConfigurationPrinter#printConfiguration(java.io.PrintWriter)
- */
- public void printConfiguration(PrintWriter pw) {
+ public void printConfiguration(final PrintWriter pw) {
pw.println("*** Threads Dumps:");
baseThreadDumper.printThreads(pw, true);
}