Author: rmannibucau
Date: Wed Jul 31 11:54:19 2013
New Revision: 1508823
URL: http://svn.apache.org/r1508823
Log:
replacing hardcoded report stuff in MonitoringController by a plugin
Added:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ClearHandler.java
- copied, changed from r1508808,
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ClearHandler.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/FormatReportHandler.java
- copied, changed from r1508808,
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ReportHandler.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ReportHandler.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ReportPlugin.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ResetHandler.java
- copied, changed from r1508808,
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ResetHandler.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/
- copied from r1508808,
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/format/
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/report/
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/report/report.vm
- copied, changed from r1508808,
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/report.vm
Removed:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ClearHandler.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ReportHandler.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ResetHandler.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/format/
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/report.vm
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/MonitoringController.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/HandlerRendererAdapter.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/HomeHandler.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/Plugin.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/PluginRepository.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jmx/JMXHandler.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jmx/JMXPlugin.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/CSVFormat.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/Format.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/HTMLFormat.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/JSONFormat.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MapFormat.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MetricData.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/XMLFormat.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/template/MapBuilder.java
commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.reporting.web.plugin.Plugin
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/home.vm
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/jmx/main.vm
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/page.vm
commons/sandbox/monitoring/trunk/reporting/src/test/java/org/apache/commons/monitoring/reporting/FormatsTest.java
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/MonitoringController.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/MonitoringController.java?rev=1508823&r1=1508822&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/MonitoringController.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/MonitoringController.java
Wed Jul 31 11:54:19 2013
@@ -16,14 +16,10 @@
*/
package org.apache.commons.monitoring.reporting.web;
-import org.apache.commons.monitoring.reporting.web.handler.ClearHandler;
import org.apache.commons.monitoring.reporting.web.handler.FilteringHandler;
import org.apache.commons.monitoring.reporting.web.handler.Handler;
import org.apache.commons.monitoring.reporting.web.handler.HomeHandler;
import org.apache.commons.monitoring.reporting.web.handler.Renderer;
-import org.apache.commons.monitoring.reporting.web.handler.ReportHandler;
-import org.apache.commons.monitoring.reporting.web.handler.ResetHandler;
-import org.apache.commons.monitoring.reporting.web.handler.format.Format;
import org.apache.commons.monitoring.reporting.web.plugin.PluginRepository;
import org.apache.commons.monitoring.reporting.web.template.MapBuilder;
import org.apache.commons.monitoring.reporting.web.template.Templates;
@@ -63,12 +59,6 @@ public class MonitoringController implem
handlers.put("/", defaultHandler);
handlers.put("/home", defaultHandler);
- handlers.put("/report", new ReportHandler(Format.Defaults.HTML));
- handlers.put("/report.csv", new ReportHandler(Format.Defaults.CSV));
- handlers.put("/report.json", new ReportHandler(Format.Defaults.JSON));
- handlers.put("/report.xml", new ReportHandler(Format.Defaults.XML));
- handlers.put("/clear", new ClearHandler());
- handlers.put("/reset", new ResetHandler());
handlers.put("/resources/css/monitoring.css",
FilteringHandler.INSTANCE); // filtered to get the right base for pictures
for (final PluginRepository.PluginInfo plugin :
PluginRepository.PLUGIN_INFO) {
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/HandlerRendererAdapter.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/HandlerRendererAdapter.java?rev=1508823&r1=1508822&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/HandlerRendererAdapter.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/HandlerRendererAdapter.java
Wed Jul 31 11:54:19 2013
@@ -16,29 +16,47 @@
*/
package org.apache.commons.monitoring.reporting.web.handler;
+import org.apache.commons.monitoring.reporting.web.template.MapBuilder;
import org.apache.commons.monitoring.reporting.web.template.Templates;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
+import java.util.Collections;
import java.util.Map;
public abstract class HandlerRendererAdapter implements Handler, Renderer {
@Override
public Renderer handle(final HttpServletRequest request, final
HttpServletResponse response, final String path) {
+ final Renderer renderer = rendererFor(response, path);
+ if (renderer != null) {
+ return renderer;
+ }
return rendererFor(path);
}
@Override
public void render(final PrintWriter writer, final Map<String, ?> params) {
- Templates.htmlRender(writer, getTemplate(), getVariables());
+ Templates.htmlRender(writer, getTemplate(),
+ new MapBuilder<String, Object>()
+ .set(Map.class.cast(params))
+ .set(Map.class.cast(getVariables()))
+ .build());
+ }
+
+ protected Renderer rendererFor(final HttpServletResponse response, final
String path) {
+ return null;
}
protected Renderer rendererFor(final String path) {
return this;
}
- protected abstract String getTemplate();
+ protected String getTemplate() {
+ return null;
+ }
- protected abstract Map<String,?> getVariables();
+ protected Map<String,?> getVariables() {
+ return Collections.emptyMap();
+ }
}
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/HomeHandler.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/HomeHandler.java?rev=1508823&r1=1508822&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/HomeHandler.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/HomeHandler.java
Wed Jul 31 11:54:19 2013
@@ -16,29 +16,9 @@
*/
package org.apache.commons.monitoring.reporting.web.handler;
-import org.apache.commons.monitoring.reporting.web.template.Templates;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.PrintWriter;
-import java.util.Map;
-
-public class HomeHandler implements Handler {
- private final HomeRenderer renderer;
-
- public HomeHandler() {
- this.renderer = new HomeRenderer();
- }
-
+public class HomeHandler extends HandlerRendererAdapter {
@Override
- public Renderer handle(final HttpServletRequest request, final
HttpServletResponse response, final String path) {
- return renderer;
- }
-
- protected static class HomeRenderer implements Renderer {
- @Override
- public void render(final PrintWriter writer, final Map<String, ?>
params) {
- Templates.htmlRender(writer, "home.vm", params);
- }
+ protected String getTemplate() {
+ return "home.vm";
}
}
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/Plugin.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/Plugin.java?rev=1508823&r1=1508822&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/Plugin.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/Plugin.java
Wed Jul 31 11:54:19 2013
@@ -30,7 +30,7 @@ public interface Plugin {
Class<? extends Handler> handler();
/**
- * @return the mapping of the handler if not null. Note: it shouldn't
start with '/'.
+ * @return the mapping of the handler if not null. Note: it shouldn't
start with '/' but can end with /*.
*/
- String[] mappings();
+ String mapping();
}
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/PluginRepository.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/PluginRepository.java?rev=1508823&r1=1508822&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/PluginRepository.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/PluginRepository.java
Wed Jul 31 11:54:19 2013
@@ -37,14 +37,12 @@ public class PluginRepository {
continue;
}
- final String[] mappings = plugin.mappings();
+ final String mapping = plugin.mapping();
final Class<? extends Handler> handler = plugin.handler();
- if (mappings != null && handler != null) {
+ if (mapping != null && handler != null) {
try {
final Handler handlerInstance = new
PluginDecoratorHandler(handler.newInstance(), name);
- for (final String mapping : mappings) {
- PLUGIN_INFO.add(new PluginInfo(mapping,
handlerInstance, name));
- }
+ PLUGIN_INFO.add(new PluginInfo(mapping, handlerInstance,
name));
} catch (final Exception e) {
throw new MonitoringException(e);
}
@@ -62,10 +60,14 @@ public class PluginRepository {
this.url = url;
this.handler = handler;
this.name = name;
- if (!url.endsWith("/*")) {
+ if (!url.endsWith("*")) {
rootUrl = url;
} else {
- rootUrl = url.substring(0, url.length() - "/*".length());
+ if (url.endsWith("/")) {
+ rootUrl = url.substring(0, url.length() - "/*".length());
+ } else {
+ rootUrl = url.substring(0, url.length() - "*".length());
+ }
}
}
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jmx/JMXHandler.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jmx/JMXHandler.java?rev=1508823&r1=1508822&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jmx/JMXHandler.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jmx/JMXHandler.java
Wed Jul 31 11:54:19 2013
@@ -23,16 +23,12 @@ import org.apache.commons.monitoring.rep
import org.apache.commons.monitoring.reporting.web.template.MapBuilder;
import org.apache.commons.monitoring.reporting.web.template.Templates;
-import javax.management.AttributeNotFoundException;
-import javax.management.InstanceNotFoundException;
import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanException;
import javax.management.MBeanInfo;
import javax.management.MBeanServer;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectInstance;
import javax.management.ObjectName;
-import javax.management.ReflectionException;
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.TabularData;
import java.io.PrintWriter;
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jmx/JMXPlugin.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jmx/JMXPlugin.java?rev=1508823&r1=1508822&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jmx/JMXPlugin.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jmx/JMXPlugin.java
Wed Jul 31 11:54:19 2013
@@ -31,7 +31,7 @@ public class JMXPlugin implements Plugin
}
@Override
- public String[] mappings() {
- return new String[] { "jmx/*" };
+ public String mapping() {
+ return "jmx/*";
}
}
Copied:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ClearHandler.java
(from r1508808,
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ClearHandler.java)
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ClearHandler.java?p2=commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ClearHandler.java&p1=commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ClearHandler.java&r1=1508808&r2=1508823&rev=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ClearHandler.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ClearHandler.java
Wed Jul 31 11:54:19 2013
@@ -14,8 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.monitoring.reporting.web.handler;
+package org.apache.commons.monitoring.reporting.web.plugin.report;
+import org.apache.commons.monitoring.reporting.web.handler.RedirectHandler;
import org.apache.commons.monitoring.repositories.Repository;
public class ClearHandler extends RedirectHandler {
Copied:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/FormatReportHandler.java
(from r1508808,
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ReportHandler.java)
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/FormatReportHandler.java?p2=commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/FormatReportHandler.java&p1=commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ReportHandler.java&r1=1508808&r2=1508823&rev=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ReportHandler.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/FormatReportHandler.java
Wed Jul 31 11:54:19 2013
@@ -14,17 +14,19 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.monitoring.reporting.web.handler;
+package org.apache.commons.monitoring.reporting.web.plugin.report;
-import org.apache.commons.monitoring.reporting.web.handler.format.Format;
+import org.apache.commons.monitoring.reporting.web.handler.Handler;
+import org.apache.commons.monitoring.reporting.web.handler.Renderer;
+import org.apache.commons.monitoring.reporting.web.plugin.report.format.Format;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-public class ReportHandler implements Handler {
+public class FormatReportHandler implements Handler {
private final Format format;
- public ReportHandler(final Format frm) {
+ public FormatReportHandler(final Format frm) {
format = frm;
}
Added:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ReportHandler.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ReportHandler.java?rev=1508823&view=auto
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ReportHandler.java
(added)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ReportHandler.java
Wed Jul 31 11:54:19 2013
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.monitoring.reporting.web.plugin.report;
+
+import org.apache.commons.monitoring.reporting.web.handler.Handler;
+import org.apache.commons.monitoring.reporting.web.handler.Renderer;
+import org.apache.commons.monitoring.reporting.web.plugin.report.format.Format;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+public class ReportHandler implements Handler {
+ private final FormatReportHandler html;
+ private final FormatReportHandler csv;
+ private final FormatReportHandler json;
+ private final FormatReportHandler xml;
+ private final ClearHandler clear;
+ private final ResetHandler reset;
+
+ public ReportHandler() {
+ html = new FormatReportHandler(Format.Defaults.HTML);
+ csv = new FormatReportHandler(Format.Defaults.CSV);
+ json = new FormatReportHandler(Format.Defaults.JSON);
+ xml = new FormatReportHandler(Format.Defaults.XML);
+ clear = new ClearHandler();
+ reset = new ResetHandler();
+ }
+
+ @Override
+ public Renderer handle(final HttpServletRequest request, final
HttpServletResponse response, final String path) {
+ if (path.endsWith(".csv")) {
+ return csv.handle(request, response, path);
+ }
+ if (path.endsWith(".json")) {
+ return json.handle(request, response, path);
+ }
+ if (path.endsWith(".xml")) {
+ return xml.handle(request, response, path);
+ }
+ if (path.endsWith("/clear")) {
+ return clear.handle(request, response, path);
+ }
+ if (path.endsWith("/reset")) {
+ return reset.handle(request, response, path);
+ }
+
+ return html.handle(request, response, path);
+ }
+}
Added:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ReportPlugin.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ReportPlugin.java?rev=1508823&view=auto
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ReportPlugin.java
(added)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ReportPlugin.java
Wed Jul 31 11:54:19 2013
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.monitoring.reporting.web.plugin.report;
+
+import org.apache.commons.monitoring.reporting.web.handler.Handler;
+import org.apache.commons.monitoring.reporting.web.plugin.Plugin;
+
+public class ReportPlugin implements Plugin {
+ @Override
+ public String name() {
+ return "Report";
+ }
+
+ @Override
+ public Class<? extends Handler> handler() {
+ return ReportHandler.class;
+ }
+
+ @Override
+ public String mapping() {
+ return "report*";
+ }
+}
Copied:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ResetHandler.java
(from r1508808,
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ResetHandler.java)
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ResetHandler.java?p2=commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ResetHandler.java&p1=commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ResetHandler.java&r1=1508808&r2=1508823&rev=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/handler/ResetHandler.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/ResetHandler.java
Wed Jul 31 11:54:19 2013
@@ -14,8 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.monitoring.reporting.web.handler;
+package org.apache.commons.monitoring.reporting.web.plugin.report;
+import org.apache.commons.monitoring.reporting.web.handler.RedirectHandler;
import org.apache.commons.monitoring.repositories.Repository;
public class ResetHandler extends RedirectHandler {
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/CSVFormat.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/CSVFormat.java?rev=1508823&r1=1508808&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/CSVFormat.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/CSVFormat.java
Wed Jul 31 11:54:19 2013
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.monitoring.reporting.web.handler.format;
+package org.apache.commons.monitoring.reporting.web.plugin.report.format;
import org.apache.commons.monitoring.configuration.Configuration;
import org.apache.commons.monitoring.counter.Unit;
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/Format.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/Format.java?rev=1508823&r1=1508808&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/Format.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/Format.java
Wed Jul 31 11:54:19 2013
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.commons.monitoring.reporting.web.handler.format;
+package org.apache.commons.monitoring.reporting.web.plugin.report.format;
import org.apache.commons.monitoring.reporting.web.handler.Renderer;
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/HTMLFormat.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/HTMLFormat.java?rev=1508823&r1=1508808&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/HTMLFormat.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/HTMLFormat.java
Wed Jul 31 11:54:19 2013
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.monitoring.reporting.web.handler.format;
+package org.apache.commons.monitoring.reporting.web.plugin.report.format;
import org.apache.commons.monitoring.counter.Unit;
import org.apache.commons.monitoring.reporting.web.template.MapBuilder;
@@ -27,8 +27,9 @@ public class HTMLFormat extends MapForma
@Override
public void render(final PrintWriter writer, final Map<String, ?> params) {
final Unit timeUnit = timeUnit(params);
- Templates.htmlRender(writer, "report.vm",
+ Templates.htmlRender(writer, "report/report.vm",
new MapBuilder<String, Object>()
+ .set(Map.class.cast(params))
.set("headers", ATTRIBUTES_ORDERED_LIST)
.set("data", snapshot(timeUnit))
.build());
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/JSONFormat.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/JSONFormat.java?rev=1508823&r1=1508808&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/JSONFormat.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/JSONFormat.java
Wed Jul 31 11:54:19 2013
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.commons.monitoring.reporting.web.handler.format;
+package org.apache.commons.monitoring.reporting.web.plugin.report.format;
import org.apache.commons.monitoring.counter.Counter;
import org.apache.commons.monitoring.monitors.Monitor;
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MapFormat.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MapFormat.java?rev=1508823&r1=1508808&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MapFormat.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MapFormat.java
Wed Jul 31 11:54:19 2013
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.monitoring.reporting.web.handler.format;
+package org.apache.commons.monitoring.reporting.web.plugin.report.format;
import org.apache.commons.monitoring.counter.Counter;
import org.apache.commons.monitoring.counter.Unit;
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MetricData.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MetricData.java?rev=1508823&r1=1508808&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MetricData.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MetricData.java
Wed Jul 31 11:54:19 2013
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.commons.monitoring.reporting.web.handler.format;
+package org.apache.commons.monitoring.reporting.web.plugin.report.format;
import org.apache.commons.monitoring.counter.Counter;
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/XMLFormat.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/XMLFormat.java?rev=1508823&r1=1508808&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/XMLFormat.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/XMLFormat.java
Wed Jul 31 11:54:19 2013
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.commons.monitoring.reporting.web.handler.format;
+package org.apache.commons.monitoring.reporting.web.plugin.report.format;
import org.apache.commons.monitoring.counter.Counter;
import org.apache.commons.monitoring.monitors.Monitor;
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/template/MapBuilder.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/template/MapBuilder.java?rev=1508823&r1=1508822&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/template/MapBuilder.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/template/MapBuilder.java
Wed Jul 31 11:54:19 2013
@@ -27,6 +27,11 @@ public class MapBuilder<A, B> {
return this;
}
+ public MapBuilder<A, B> set(final Map<A, B> params) {
+ map.putAll(params);
+ return this;
+ }
+
public Map<A, B> build() {
return map;
}
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.reporting.web.plugin.Plugin
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.reporting.web.plugin.Plugin?rev=1508823&r1=1508822&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.reporting.web.plugin.Plugin
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.reporting.web.plugin.Plugin
Wed Jul 31 11:54:19 2013
@@ -1 +1,2 @@
+org.apache.commons.monitoring.reporting.web.plugin.report.ReportPlugin
org.apache.commons.monitoring.reporting.web.plugin.jmx.JMXPlugin
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/home.vm
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/home.vm?rev=1508823&r1=1508822&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/home.vm
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/home.vm
Wed Jul 31 11:54:19 2013
@@ -21,7 +21,6 @@
</div>
<div>
<ul>
- <li><a href="$mapping/report">Report</a> (<a
href="$mapping/report.xml">xml</a>, <a href="$mapping/report.json">json</a>, <a
href="$mapping/report.csv">csv</a>)</li>
#foreach ( $plugin in $plugins )
<li><a href="$mapping/$plugin.rootUrl">$plugin.name</a></li>
#end
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/jmx/main.vm
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/jmx/main.vm?rev=1508823&r1=1508822&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/jmx/main.vm
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/jmx/main.vm
Wed Jul 31 11:54:19 2013
@@ -35,7 +35,7 @@
#tree ( $jmxTree )
</div>
<div id="jmx-info" class="span10">
- TODO
+ Click on the left tree to select a leaf top show the attributes of
a MBean.
</div>
</div>
</div>
Modified:
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/page.vm
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/page.vm?rev=1508823&r1=1508822&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/page.vm
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/page.vm
Wed Jul 31 11:54:19 2013
@@ -39,13 +39,6 @@
#end
<a href="$mapping/">Home</a>
</li>
- #if ( $templateId == "report")
- <li class="active">
- #else
- <li>
- #end
- <a href="$mapping/report">Report</a>
- </li>
#foreach ( $plugin in $plugins )
#if ( $templateId == $plugin.name )
<li class="active">
Copied:
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/report/report.vm
(from r1508808,
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/report.vm)
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/report/report.vm?p2=commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/report/report.vm&p1=commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/report.vm&r1=1508808&r2=1508823&rev=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/report.vm
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/report/report.vm
Wed Jul 31 11:54:19 2013
@@ -16,13 +16,36 @@
*#
<h1>Report</h1>
-<ul class="breadcrumb">
- <li><a href="$mapping/clear">Clear</a> <span class="divider">/</span></li>
- <li><a href="$mapping/reset">Reset</a> </li>
-
- <li class="pull-right"><a href="$mapping/report?unit=s">s</a></li>
- <li class="pull-right"><a href="$mapping/report?unit=ms">ms</a> <span
class="divider">/</span></li>
- <li class="pull-right"><a href="$mapping/report?unit=ns">ns</a> <span
class="divider">/</span></li>
+<ul class="nav nav-pills">
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+ Actions <b class="caret"></b>
+ </a>
+ <ul class="dropdown-menu">
+ <li><a href="$mapping/report/clear">Clear</a></li>
+ <li><a href="$mapping/report/reset">Reset</a></li>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+ Formats <b class="caret"></b>
+ </a>
+ <ul class="dropdown-menu">
+ <li><a href="$mapping/report.xml">xml</a></li>
+ <li><a href="$mapping/report.csv">csv</a></li>
+ <li><a href="$mapping/report.json">json</a></li>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+ Time Unit <b class="caret"></b>
+ </a>
+ <ul class="dropdown-menu">
+ <li><a href="$mapping/report?unit=s">s</a></li>
+ <li><a href="$mapping/report?unit=ms">ms</a></li>
+ <li><a href="$mapping/report?unit=ns">ns</a></li>
+ </ul>
+ </li>
</ul>
<table id="report-table" class="table table-bordered table-striped
table-hover">
Modified:
commons/sandbox/monitoring/trunk/reporting/src/test/java/org/apache/commons/monitoring/reporting/FormatsTest.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/test/java/org/apache/commons/monitoring/reporting/FormatsTest.java?rev=1508823&r1=1508822&r2=1508823&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/reporting/src/test/java/org/apache/commons/monitoring/reporting/FormatsTest.java
(original)
+++
commons/sandbox/monitoring/trunk/reporting/src/test/java/org/apache/commons/monitoring/reporting/FormatsTest.java
Wed Jul 31 11:54:19 2013
@@ -19,8 +19,8 @@ package org.apache.commons.monitoring.re
import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.monitors.Monitor;
-import org.apache.commons.monitoring.reporting.web.handler.format.CSVFormat;
-import org.apache.commons.monitoring.reporting.web.handler.format.Format;
+import
org.apache.commons.monitoring.reporting.web.plugin.report.format.CSVFormat;
+import org.apache.commons.monitoring.reporting.web.plugin.report.format.Format;
import org.apache.commons.monitoring.repositories.Repository;
import org.junit.AfterClass;
import org.junit.BeforeClass;