You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by rm...@apache.org on 2013/10/15 11:04:55 UTC
svn commit: r1532253 - in /commons/sandbox/monitoring/trunk: ./ cdi/
graphite/ reporting/
reporting/src/main/java/org/apache/commons/monitoring/reporting/web/
reporting/src/main/java/org/apache/commons/monitoring/reporting/web/registration/
reporting/s...
Author: rmannibucau
Date: Tue Oct 15 09:04:54 2013
New Revision: 1532253
URL: http://svn.apache.org/r1532253
Log:
allowing to register automatically reporting gui
Added:
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/registration/
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/registration/MonitoringReportingInitializer.java
commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer
Modified:
commons/sandbox/monitoring/trunk/cdi/pom.xml
commons/sandbox/monitoring/trunk/graphite/pom.xml
commons/sandbox/monitoring/trunk/pom.xml
commons/sandbox/monitoring/trunk/reporting/pom.xml
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/MonitoringController.java
commons/sandbox/monitoring/trunk/src/site/markdown/reporting.md
commons/sandbox/monitoring/trunk/web/pom.xml
Modified: commons/sandbox/monitoring/trunk/cdi/pom.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/cdi/pom.xml?rev=1532253&r1=1532252&r2=1532253&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/cdi/pom.xml (original)
+++ commons/sandbox/monitoring/trunk/cdi/pom.xml Tue Oct 15 09:04:54 2013
@@ -54,7 +54,7 @@
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-servlet_2.5_spec</artifactId>
+ <artifactId>geronimo-servlet_3.0_spec</artifactId>
<scope>test</scope>
</dependency>
<dependency>
Modified: commons/sandbox/monitoring/trunk/graphite/pom.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/graphite/pom.xml?rev=1532253&r1=1532252&r2=1532253&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/graphite/pom.xml (original)
+++ commons/sandbox/monitoring/trunk/graphite/pom.xml Tue Oct 15 09:04:54 2013
@@ -32,7 +32,7 @@
<dependencies>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-servlet_2.5_spec</artifactId>
+ <artifactId>geronimo-servlet_3.0_spec</artifactId>
</dependency>
<dependency>
Modified: commons/sandbox/monitoring/trunk/pom.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/pom.xml?rev=1532253&r1=1532252&r2=1532253&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/pom.xml (original)
+++ commons/sandbox/monitoring/trunk/pom.xml Tue Oct 15 09:04:54 2013
@@ -157,8 +157,8 @@
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-servlet_2.5_spec</artifactId>
- <version>1.2</version>
+ <artifactId>geronimo-servlet_3.0_spec</artifactId>
+ <version>1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
Modified: commons/sandbox/monitoring/trunk/reporting/pom.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/pom.xml?rev=1532253&r1=1532252&r2=1532253&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/pom.xml (original)
+++ commons/sandbox/monitoring/trunk/reporting/pom.xml Tue Oct 15 09:04:54 2013
@@ -37,7 +37,7 @@
<dependencies>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-servlet_2.5_spec</artifactId>
+ <artifactId>geronimo-servlet_3.0_spec</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons.monitoring</groupId>
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=1532253&r1=1532252&r2=1532253&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 Tue Oct 15 09:04:54 2013
@@ -51,14 +51,14 @@ import java.util.regex.Pattern;
public class MonitoringController implements Filter {
private final Map<String, byte[]> cachedResources = new ConcurrentHashMap<String, byte[]>();
private final Map<Pattern, Invoker> invokers = new HashMap<Pattern, Invoker>();
- private String mapping;
+ private String mapping = null;
private ClassLoader classloader;
private Invoker defaultInvoker;
@Override
public void init(final FilterConfig config) throws ServletException {
classloader = Thread.currentThread().getContextClassLoader();
- initMapping(config);
+ initMapping(config.getInitParameter("monitoring-mapping"));
Templates.init(config.getServletContext().getContextPath(), mapping);
initHandlers();
}
@@ -79,13 +79,23 @@ public class MonitoringController implem
}
}
- private void initMapping(FilterConfig config) {
- mapping = config.getInitParameter("monitoring-mapping");
- if (mapping == null) {
+ public void setMapping(final String mapping) {
+ initMapping(mapping);
+ }
+
+ private void initMapping(final String value) {
+ if (mapping != null) { // already done, surely the initializer
+ return;
+ }
+
+ if (value == null) {
mapping = "";
- } else if (!mapping.startsWith("/")) {
+ } else if (!value.startsWith("/")) {
mapping = "/" + mapping;
+ } else {
+ mapping = value;
}
+
if (mapping.endsWith("/")) {
mapping = mapping.substring(0, mapping.length() - 1);
}
Added: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/registration/MonitoringReportingInitializer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/registration/MonitoringReportingInitializer.java?rev=1532253&view=auto
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/registration/MonitoringReportingInitializer.java (added)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/registration/MonitoringReportingInitializer.java Tue Oct 15 09:04:54 2013
@@ -0,0 +1,52 @@
+/*
+ * 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.registration;
+
+import org.apache.commons.monitoring.configuration.Configuration;
+import org.apache.commons.monitoring.reporting.web.MonitoringController;
+
+import javax.servlet.DispatcherType;
+import javax.servlet.ServletContainerInitializer;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import java.util.EnumSet;
+import java.util.Set;
+
+public class MonitoringReportingInitializer implements ServletContainerInitializer {
+ @Override
+ public void onStartup(final Set<Class<?>> classes, final ServletContext ctx) throws ServletException {
+ final String activated = ctx.getInitParameter(Configuration.COMMONS_MONITORING_PREFIX + "reporting.activated");
+ if ("false".equalsIgnoreCase(activated)) {
+ return;
+ }
+
+ String mapping = ctx.getInitParameter(Configuration.COMMONS_MONITORING_PREFIX + "reporting.mapping");
+ if (mapping == null) {
+ mapping = "/monitoring";
+ }
+ if (mapping.endsWith("*")) {
+ mapping = mapping.substring(0, mapping.length() - 1);
+ }
+ if (mapping.endsWith("/")) {
+ mapping = mapping.substring(0, mapping.length() - 1);
+ }
+
+ final MonitoringController controller = new MonitoringController();
+ controller.setMapping(mapping);
+ ctx.addFilter("commons-monitoring-reporting", controller).addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, mapping + "/*");
+ }
+}
Added: commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer?rev=1532253&view=auto
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer (added)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer Tue Oct 15 09:04:54 2013
@@ -0,0 +1 @@
+org.apache.commons.monitoring.reporting.web.registration.MonitoringReportingInitializer
Modified: commons/sandbox/monitoring/trunk/src/site/markdown/reporting.md
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/site/markdown/reporting.md?rev=1532253&r1=1532252&r2=1532253&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/site/markdown/reporting.md (original)
+++ commons/sandbox/monitoring/trunk/src/site/markdown/reporting.md Tue Oct 15 09:04:54 2013
@@ -58,6 +58,11 @@ you can embed it. You'll need to update
</web-app>
+Note: in a servlet 3.0 container you can just configure it through init parameters:
+
+* `org.apache.commons.monitoring.reporting.activated`: boolean activating/deactivating the reporting GUI
+* `org.apache.commons.monitoring.reporting.mapping`: the url mapping of the GUI
+
## Usage
Once started you'll arrive on the home page which should look like:
Modified: commons/sandbox/monitoring/trunk/web/pom.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/web/pom.xml?rev=1532253&r1=1532252&r2=1532253&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/web/pom.xml (original)
+++ commons/sandbox/monitoring/trunk/web/pom.xml Tue Oct 15 09:04:54 2013
@@ -38,7 +38,7 @@
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-servlet_2.5_spec</artifactId>
+ <artifactId>geronimo-servlet_3.0_spec</artifactId>
</dependency>
<dependency>