4 new revisions:
Revision: 52dc1f8810aa
Author:
troy.k...@gmail.com
Date: Fri Jul 8 15:39:41 2011
Log: Updated stajistics-servlet module with new core API. Added
request/res...
http://code.google.com/p/stajistics/source/detail?r=52dc1f8810aa
Revision: 61e0302400d8
Author:
troy.k...@gmail.com
Date: Fri Jul 8 15:40:00 2011
Log: Updated stajistics-jdbc module with new core API.
http://code.google.com/p/stajistics/source/detail?r=61e0302400d8
Revision: 64901c5d7e48
Author:
troy.k...@gmail.com
Date: Fri Jul 8 15:40:16 2011
Log: Updated stajistics-examples module with new core API.
http://code.google.com/p/stajistics/source/detail?r=64901c5d7e48
Revision: 040925061ae1
Author:
troy.k...@gmail.com
Date: Fri Jul 8 15:42:07 2011
Log: Updated parent pom reporting to work with maven 3. Upgraded
plugin ver...
http://code.google.com/p/stajistics/source/detail?r=040925061ae1
==============================================================================
Revision: 52dc1f8810aa
Author:
troy.k...@gmail.com
Date: Fri Jul 8 15:39:41 2011
Log: Updated stajistics-servlet module with new core API. Added
request/response stream monitoring.
http://code.google.com/p/stajistics/source/detail?r=52dc1f8810aa
Added:
/stajistics-servlet/src/main/java/org/stajistics/integration/servlet/StatsHttpServletRequest.java
/stajistics-servlet/src/main/java/org/stajistics/integration/servlet/StatsServletInputStream.java
/stajistics-servlet/src/main/java/org/stajistics/integration/servlet/StatsServletOutputStream.java
Modified:
/stajistics-servlet/src/main/java/org/stajistics/integration/servlet/StatsFilter.java
/stajistics-servlet/src/main/java/org/stajistics/integration/servlet/StatsHttpServletResponse.java
/stajistics-servlet/src/main/java/org/stajistics/integration/servlet/http/StatsHttpSessionListener.java
/stajistics-servlet/src/test/java/org/stajistics/integration/servlet/StatsFilterTest.java
=======================================
--- /dev/null
+++
/stajistics-servlet/src/main/java/org/stajistics/integration/servlet/StatsHttpServletRequest.java
Fri Jul 8 15:39:41 2011
@@ -0,0 +1,70 @@
+package org.stajistics.integration.servlet;
+
+import static org.stajistics.Util.assertNotNull;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.Reader;
+
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+
+import org.stajistics.StatsFactory;
+import org.stajistics.StatsKey;
+import org.stajistics.io.StatsFilterReader;
+
+/**
+ *
+ *
+ * @author The Stajistics Project
+ */
+public class StatsHttpServletRequest extends HttpServletRequestWrapper {
+
+ private final StatsFactory statsFactory;
+ private final StatsKey requestStreamKey;
+
+ private ServletInputStream statsInputStream;
+ private BufferedReader statsReader;
+
+ public StatsHttpServletRequest(final HttpServletRequest request,
+ final StatsFactory statsFactory,
+ final StatsKey requestStreamKey) {
+ super(request);
+
+ assertNotNull(statsFactory, "statsFactory");
+
+ this.statsFactory = statsFactory;
+ this.requestStreamKey = requestStreamKey;
+ }
+
+ protected ServletInputStream wrapInputStream(final ServletInputStream
in) {
+ return new StatsServletInputStream(statsFactory, requestStreamKey,
in);
+ }
+
+ protected BufferedReader wrapReader(final BufferedReader reader) {
+ return new BufferedReader(new StatsFilterReader(statsFactory,
requestStreamKey, reader));
+ }
+
+ @Override
+ public ServletInputStream getInputStream() throws IOException {
+ if (requestStreamKey != null) {
+ if (statsInputStream == null) {
+ statsInputStream = wrapInputStream(super.getInputStream());
+ }
+ return statsInputStream;
+ }
+ return super.getInputStream();
+ }
+
+ @Override
+ public BufferedReader getReader() throws IOException {
+ if (requestStreamKey != null) {
+ if (statsReader == null) {
+ statsReader = wrapReader(super.getReader());
+ }
+ }
+ return statsReader;
+ }
+
+}
=======================================
--- /dev/null
+++
/stajistics-servlet/src/main/java/org/stajistics/integration/servlet/StatsServletInputStream.java
Fri Jul 8 15:39:41 2011
@@ -0,0 +1,60 @@
+package org.stajistics.integration.servlet;
+
+import static org.stajistics.Util.assertNotNull;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.servlet.ServletInputStream;
+
+import org.stajistics.StatsConstants;
+import org.stajistics.StatsFactory;
+import org.stajistics.StatsKey;
+import org.stajistics.tracker.manual.ManualTracker;
+
+/**
+ *
+ *
+ * @author The Stajistics Project
+ */
+public class StatsServletInputStream extends ServletInputStream {
+
+ private ManualTracker tracker;
+ private final ServletInputStream in;
+
+ public StatsServletInputStream(StatsFactory factory,
+ final StatsKey key,
+ final ServletInputStream in) {
+ super();
+
+ if (factory == null) {
+ factory = StatsFactory
+ .forNamespace(StatsConstants.DEFAULT_NAMESPACE);
+ }
+
+ assertNotNull(in, "in");
+
this.in = in;
+
+ assertNotNull(key, "key");
+ tracker = factory.getManualTracker(key);
+ }
+
+ @Override
+ public int read() throws IOException {
+ final int i = in.read();
+ if (i > -1) {
+ tracker.addValue(1);
+ }
+ return i;
+ }
+
+ @Override
+ public void close() throws IOException {
+ if (tracker != null) {
+ tracker.commit();
+ tracker = null;
+ }
+ in.close();
+ }
+
+}
=======================================
--- /dev/null
+++
/stajistics-servlet/src/main/java/org/stajistics/integration/servlet/StatsServletOutputStream.java
Fri Jul 8 15:39:41 2011
@@ -0,0 +1,62 @@
+package org.stajistics.integration.servlet;
+
+import static org.stajistics.Util.assertNotNull;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+import javax.servlet.ServletOutputStream;
+
+import org.stajistics.StatsConstants;
+import org.stajistics.StatsFactory;
+import org.stajistics.StatsKey;
+import org.stajistics.tracker.manual.ManualTracker;
+
+/**
+ *
+ *
+ * @author The Stajistics Project
+ */
+public class StatsServletOutputStream extends ServletOutputStream {
+
+ private final ServletOutputStream out;
+
+ private ManualTracker tracker;
+
+ public StatsServletOutputStream(final StatsKey key,
+ final ServletOutputStream out) {
+ this(null, key, out);
+ }
+
+ public StatsServletOutputStream(StatsFactory factory,
+ final StatsKey key,
+ final ServletOutputStream out) {
+ super();
+
+ if (factory == null) {
+ factory =
StatsFactory.forNamespace(StatsConstants.DEFAULT_NAMESPACE);
+ }
+
+ assertNotNull(out, "out");
+ this.out = out;
+
+ assertNotNull(key, "key");
+ tracker = factory.getManualTracker(key);
+ }
+
+ @Override
+ public void write(final int b) throws IOException {
+ tracker.addValue(1);
+ out.write(b);
+ }
+
+ @Override
+ public void close() throws IOException {
+ if (tracker != null) {
+ tracker.commit();
+ tracker = null;
+ }
+ out.close();
+ }
+
+}
=======================================
---
/stajistics-servlet/src/main/java/org/stajistics/integration/servlet/StatsFilter.java
Wed Jun 2 21:28:40 2010
+++
/stajistics-servlet/src/main/java/org/stajistics/integration/servlet/StatsFilter.java
Fri Jul 8 15:39:41 2011
@@ -14,9 +14,23 @@
*/
package org.stajistics.integration.servlet;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.stajistics.Stats;
+import org.stajistics.StatsFactory;
import org.stajistics.StatsKey;
import org.stajistics.configuration.StatsConfig;
import org.stajistics.configuration.StatsConfigBuilder;
@@ -24,14 +38,6 @@
import org.stajistics.tracker.incident.IncidentTracker;
import org.stajistics.tracker.span.SpanTracker;
-import javax.servlet.*;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.LinkedList;
-import java.util.List;
-
/**
*
*
@@ -42,74 +48,107 @@
private static final Logger logger =
LoggerFactory.getLogger(StatsFilter.class);
+ static final String INIT_PARAM_NAMESPACE = "namespace";
static final String INIT_PARAM_KEY_NAME = "keyName";
static final String INIT_PARAM_BIND_PARAMS = "bindParameters";
static final String INIT_PARAM_BIND_HEADERS = "bindHeaders";
- static final String INIT_PARAM_TRACK_EXCEPTION_INCIDENTS
= "trackExceptionIncidents";
- static final String INIT_PARAM_EXCEPTION_KEY_NAME_SUFFIX
= "exceptionKeyNameSuffix";
- static final String INIT_PARAM_TRACK_RESPONSE_CODES
= "trackResponseCodes";
- static final String INIT_PARAM_RESPONSE_CODE_KEY_NAME_SUFFIX
= "responseCodeKeyNameSuffix";
-
- static final String DEFAULT_PARAM_EXCEPTION_KEY_NAME_SUFFIX
= "exception";
- static final String DEFAULT_PARAM_RESPONSE_CODE_KEY_NAME_SUFFIX
= "responseCode";
+ static final String INIT_PARAM_TRACK_REQUEST_URI = "trackRequestURI";
+ static final String INIT_PARAM_TRACK_RESPONSE_CODE
= "trackResponseCode";
+ static final String INIT_PARAM_TRACK_REQUEST_STREAM
= "trackRequestStream";
+ static final String INIT_PARAM_TRACK_RESPONSE_STREAM
= "trackResponseStream";
+ static final String INIT_PARAM_TRACK_EXCEPTION = "trackException";
+
+ static final String KEY_NAME_SUFFIX_REQUEST_URI = "requestURI";
+ static final String KEY_NAME_SUFFIX_REQUEST_STREAM = "requestStream";
+ static final String KEY_NAME_SUFFIX_RESPONSE_STREAM = "responseStream";
+ static final String KEY_NAME_SUFFIX_RESPONSE_CODE = "responseCode";
+ static final String KEY_NAME_SUFFIX_EXCEPTION = "exception";
static final String KEY_ATTR_BINDING = "binding";
static final String KEY_ATTR_BINDING_PARAM = "parameter";
static final String KEY_ATTR_BINDING_HEADER = "header";
+ static final String KEY_ATTR_REQUEST_URI = "requestURI";
+
+ private StatsFactory statsFactory;
private StatsKey key;
private String[] bindParams;
private String[] bindHeaders;
private StatsKey exceptionKey;
+ private StatsKey requestURIKey;
private StatsKey responseCodeKey;
+ private StatsKey requestStreamKey;
+ private StatsKey responseStreamKey;
@Override
public void init(final FilterConfig config) throws ServletException {
+
+ String namespace = config.getInitParameter(INIT_PARAM_NAMESPACE);
+ if (namespace != null) {
+ statsFactory = StatsFactory.forNamespace(namespace);
+ } else {
+ statsFactory = StatsFactory.forClass(StatsFilter.class);
+ }
+
String keyName = config.getInitParameter(INIT_PARAM_KEY_NAME);
if (keyName == null) {
keyName = getClass().getName();
}
- key = Stats.newKey(keyName);
+ key = statsFactory.newKey(keyName);
// Binding parameters
bindParams = parseBindings(config, INIT_PARAM_BIND_PARAMS);
bindHeaders = parseBindings(config, INIT_PARAM_BIND_HEADERS);
- // Exception parameters
- boolean exceptionIncidents =
Boolean.parseBoolean(config.getInitParameter(INIT_PARAM_TRACK_EXCEPTION_INCIDENTS));
- if (exceptionIncidents) {
- String exceptionKeyNameSuffix =
config.getInitParameter(INIT_PARAM_EXCEPTION_KEY_NAME_SUFFIX);
- if (exceptionKeyNameSuffix == null ||
exceptionKeyNameSuffix.length() == 0) {
- exceptionKeyNameSuffix =
DEFAULT_PARAM_EXCEPTION_KEY_NAME_SUFFIX;
- }
-
- exceptionKey = key.buildCopy()
- .withNameSuffix(exceptionKeyNameSuffix)
- .newKey();
- configureIncidentTracker(exceptionKey);
+ // Request URI
+ boolean requestURI =
Boolean.parseBoolean(config.getInitParameter(INIT_PARAM_TRACK_REQUEST_URI));
+ if (requestURI) {
+ requestURIKey = key.buildCopy()
+ .withNameSuffix(KEY_NAME_SUFFIX_REQUEST_URI)
+ .newKey();
+ }
+
+ // Request stream
+ boolean requestStream =
Boolean.parseBoolean(config.getInitParameter(INIT_PARAM_TRACK_REQUEST_STREAM));
+ if (requestStream) {
+ requestStreamKey = key.buildCopy()
+ .withNameSuffix(KEY_NAME_SUFFIX_REQUEST_STREAM)
+ .newKey();
}
- // Response codes
- boolean responseCodes =
Boolean.parseBoolean(config.getInitParameter(INIT_PARAM_TRACK_RESPONSE_CODES));
- if (responseCodes) {
- String responseCodeKeyNameSuffix =
config.getInitParameter(INIT_PARAM_RESPONSE_CODE_KEY_NAME_SUFFIX);
- if (responseCodeKeyNameSuffix == null ||
responseCodeKeyNameSuffix.length() == 0) {
- responseCodeKeyNameSuffix =
DEFAULT_PARAM_RESPONSE_CODE_KEY_NAME_SUFFIX;
- }
-
+ // Response stream
+ boolean responseStream =
Boolean.parseBoolean(config.getInitParameter(INIT_PARAM_TRACK_RESPONSE_STREAM));
+ if (responseStream) {
+ responseStreamKey = key.buildCopy()
+ .withNameSuffix(KEY_NAME_SUFFIX_RESPONSE_STREAM)
+ .newKey();
+ }
+
+ // Response code
+ boolean responseCode =
Boolean.parseBoolean(config.getInitParameter(INIT_PARAM_TRACK_RESPONSE_CODE));
+ if (responseCode) {
responseCodeKey = key.buildCopy()
- .withNameSuffix(responseCodeKeyNameSuffix)
+ .withNameSuffix(KEY_NAME_SUFFIX_RESPONSE_CODE)
.newKey();
configureIncidentTracker(responseCodeKey);
}
+
+ // Exceptions
+ boolean exceptionIncidents =
Boolean.parseBoolean(config.getInitParameter(INIT_PARAM_TRACK_EXCEPTION));
+ if (exceptionIncidents) {
+ exceptionKey = key.buildCopy()
+ .withNameSuffix(KEY_NAME_SUFFIX_EXCEPTION)
+ .newKey();
+ configureIncidentTracker(exceptionKey);
+ }
logger.info("{} initialized", getClass().getSimpleName());
}
private void configureIncidentTracker(StatsKey key) {
- StatsConfig originalConfig =
Stats.getConfigManager().getConfig(key);
+ StatsConfig originalConfig =
statsFactory.getManager().getConfigManager().getConfig(key);
// Do we have an incident tracker configured already?
if (originalConfig != null
&& IncidentTracker.class
@@ -118,8 +157,9 @@
}
// If not, configure one based on the (possibly) existing config
- StatsConfigBuilder newConfigBuilder =
Stats.getManager().getConfigBuilderFactory().createConfigBuilder(
- originalConfig);
+ StatsConfigBuilder newConfigBuilder = statsFactory.getManager()
+ .getConfigBuilderFactory()
+ .createConfigBuilder(originalConfig);
newConfigBuilder.withTrackerFactory(DefaultIncidentTracker.FACTORY);
newConfigBuilder.setConfigFor(key);
}
@@ -141,22 +181,16 @@
@Override
public void destroy() {
- key = null;
- bindParams = null;
- bindHeaders = null;
-
- exceptionKey = null;
-
logger.info("{} destroyed", getClass().getSimpleName());
}
private SpanTracker getSpanTracker(final ServletRequest request) {
SpanTracker tracker;
- if (bindParams == null && bindHeaders == null) {
- tracker = Stats.getSpanTracker(key);
+ if (bindParams == null && bindHeaders == null && requestURIKey ==
null) {
+ tracker = statsFactory.getSpanTracker(key);
} else {
- tracker = Stats.getSpanTracker(getStatsKeys(request));
+ tracker = statsFactory.getSpanTracker(getStatsKeys(request));
}
return tracker;
@@ -166,6 +200,12 @@
List<StatsKey> keyList = new LinkedList<StatsKey>();
keyList.add(key);
+ if (requestURIKey != null && request instanceof
HttpServletRequest) {
+ keyList.add(requestURIKey.buildCopy()
+ .withAttribute(KEY_ATTR_REQUEST_URI,
+ ((HttpServletRequest)request).getRequestURI())
+ .newKey());
+ }
if (bindParams != null) {
addParamBoundStatsKeys(request, keyList);
}
@@ -216,9 +256,35 @@
}
}
}
+
+ protected ServletRequest wrapRequest(final ServletRequest request) {
+ if (request instanceof HttpServletRequest) {
+ if (requestStreamKey != null) {
+ StatsHttpServletRequest statsRequest =
+ new StatsHttpServletRequest((HttpServletRequest)request,
+ statsFactory,
+ requestStreamKey);
+ return statsRequest;
+ }
+ }
+ return request;
+ }
+
+ protected ServletResponse wrapResponse(final ServletResponse response)
{
+ if (response instanceof HttpServletResponse) {
+ if (responseCodeKey != null || responseStreamKey != null) {
+ StatsHttpServletResponse statsResponse =
+ new
StatsHttpServletResponse((HttpServletResponse)response,
+ statsFactory,
+ responseStreamKey);
+ return statsResponse;
+ }
+ }
+ return response;
+ }
@Override
- public void doFilter(final ServletRequest request,
+ public void doFilter(ServletRequest request,
ServletResponse response,
final FilterChain chain)
throws IOException, ServletException {
@@ -227,23 +293,21 @@
tracker.track();
try {
- StatsHttpServletResponse statsResponse = null;
- if (responseCodeKey != null && response instanceof
HttpServletResponse) {
- statsResponse = new
StatsHttpServletResponse((HttpServletResponse)response);
- response = statsResponse;
- }
+ request = wrapRequest(request);
+ response = wrapResponse(response);
chain.doFilter(request, response);
- if (statsResponse != null) {
- Stats.incident(responseCodeKey.buildCopy()
- .withAttribute("code",
statsResponse.getStatus())
- .newKey());
+ if (response != null && response.getClass() ==
StatsHttpServletResponse.class) {
+ StatsHttpServletResponse statsResponse =
(StatsHttpServletResponse) response;
+ statsFactory.incident(responseCodeKey.buildCopy()
+ .withAttribute("code",
statsResponse.getStatus())
+ .newKey());
}
} catch (Throwable t) {
if (exceptionKey != null) {
- Stats.failure(t, exceptionKey);
+ statsFactory.failure(t, exceptionKey);
}
if (t instanceof IOException) {
=======================================
---
/stajistics-servlet/src/main/java/org/stajistics/integration/servlet/StatsHttpServletResponse.java
Thu Feb 25 15:37:57 2010
+++
/stajistics-servlet/src/main/java/org/stajistics/integration/servlet/StatsHttpServletResponse.java
Fri Jul 8 15:39:41 2011
@@ -14,9 +14,20 @@
*/
package org.stajistics.integration.servlet;
+import static org.stajistics.Util.assertNotNull;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.Writer;
+
+import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
+import org.stajistics.StatsFactory;
+import org.stajistics.StatsKey;
+import org.stajistics.io.StatsFilterWriter;
+
/**
*
* @author The Stajistics Project
@@ -25,8 +36,21 @@
private int statusCode = SC_OK;
- public StatsHttpServletResponse(final HttpServletResponse response) {
+ private final StatsFactory statsFactory;
+ private final StatsKey responseStreamKey;
+
+ private ServletOutputStream statsOutputStream;
+ private PrintWriter statsWriter;
+
+ public StatsHttpServletResponse(final HttpServletResponse response,
+ final StatsFactory statsFactory,
+ final StatsKey responseStreamKey) {
super(response);
+
+ assertNotNull(statsFactory, "statsFactory");
+
+ this.statsFactory = statsFactory;
+ this.responseStreamKey = responseStreamKey;
}
@Override
@@ -44,4 +68,35 @@
super.reset();
this.statusCode = SC_OK;
}
-}
+
+ protected ServletOutputStream wrapOutputStream(final
ServletOutputStream out) {
+ return new StatsServletOutputStream(statsFactory,
responseStreamKey, out);
+ }
+
+ protected PrintWriter wrapWriter(final Writer writer) {
+ return new PrintWriter(new StatsFilterWriter(statsFactory,
responseStreamKey, writer));
+ }
+
+ @Override
+ public ServletOutputStream getOutputStream() throws IOException {
+ if (responseStreamKey != null) {
+ if (statsOutputStream == null) {
+ statsOutputStream =
wrapOutputStream(super.getOutputStream());
+ }
+ return statsOutputStream;
+ }
+ return super.getOutputStream();
+ }
+
+ @Override
+ public PrintWriter getWriter() throws IOException {
+ if (responseStreamKey != null) {
+ if (statsWriter == null) {
+ statsWriter = wrapWriter(super.getWriter());
+ }
+ return statsWriter;
+ }
+ return super.getWriter();
+ }
+
+}
=======================================
---
/stajistics-servlet/src/main/java/org/stajistics/integration/servlet/http/StatsHttpSessionListener.java
Wed Jun 2 21:28:40 2010
+++
/stajistics-servlet/src/main/java/org/stajistics/integration/servlet/http/StatsHttpSessionListener.java
Fri Jul 8 15:39:41 2011
@@ -14,16 +14,17 @@
*/
package org.stajistics.integration.servlet.http;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpSession;
+import javax.servlet.http.HttpSessionEvent;
+import javax.servlet.http.HttpSessionListener;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.stajistics.Stats;
+import org.stajistics.StatsFactory;
import org.stajistics.StatsKey;
import org.stajistics.tracker.span.SpanTracker;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionEvent;
-import javax.servlet.http.HttpSessionListener;
-
/**
*
* @author The Stajistics Project
@@ -32,27 +33,38 @@
private static final Logger logger =
LoggerFactory.getLogger(StatsHttpSessionListener.class);
+ private static final String INIT_PARAM_NAMESPACE =
StatsHttpSessionListener.class.getSimpleName() + ".namespace";
+ private static final String INIT_PARAM_KEY_NAME =
StatsHttpSessionListener.class.getSimpleName() + ".keyName";
+
private static final String ATTR_TRACKER =
StatsHttpSessionListener.class.getName() + "_tracker";
- private final StatsKey key;
-
- public StatsHttpSessionListener() {
- key = Stats.newKey(getClass().getSimpleName());
- }
+ private final StatsFactory statsFactory =
StatsFactory.forClass(StatsHttpSessionListener.class);
@Override
public void sessionCreated(final HttpSessionEvent event) {
- HttpSession session = event.getSession();
-
- String servletContextName = session.getServletContext()
- .getServletContextName();
-
+ final HttpSession session = event.getSession();
+ final ServletContext servletContext = session.getServletContext();
+ final String servletContextName =
servletContext.getServletContextName();
+
+ StatsFactory f = statsFactory;
+
+ String namespace =
session.getServletContext().getInitParameter(INIT_PARAM_NAMESPACE);
+ if (namespace != null) {
+ f = StatsFactory.forNamespace(namespace);
+ }
+
+ String keyName =
servletContext.getInitParameter(INIT_PARAM_KEY_NAME);
+ if (keyName == null) {
+ keyName = getClass().getSimpleName();
+ }
+
+ StatsKey key = f.newKey(keyName);
StatsKey ctxKey = key.buildCopy()
.withAttribute("servletContext",
servletContextName)
.newKey();
- SpanTracker tracker = Stats.track(key, ctxKey);
+ SpanTracker tracker = statsFactory.track(key, ctxKey);
event.getSession()
.setAttribute(ATTR_TRACKER, tracker);
=======================================
---
/stajistics-servlet/src/test/java/org/stajistics/integration/servlet/StatsFilterTest.java
Wed Jun 2 21:28:40 2010
+++
/stajistics-servlet/src/test/java/org/stajistics/integration/servlet/StatsFilterTest.java
Fri Jul 8 15:39:41 2011
@@ -14,18 +14,20 @@
*/
package org.stajistics.integration.servlet;
+import static org.junit.Assert.assertEquals;
+
import org.junit.Before;
import org.junit.Test;
import org.springframework.mock.web.MockFilterChain;
import org.springframework.mock.web.MockFilterConfig;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
-import org.stajistics.Stats;
+import org.stajistics.StatsConstants;
+import org.stajistics.StatsFactory;
import org.stajistics.StatsKey;
+import org.stajistics.bootstrap.DefaultStatsManagerFactory;
import org.stajistics.session.StatsSession;
-import static org.junit.Assert.assertEquals;
-
/**
*
* @author The Stajistics Project
@@ -37,6 +39,7 @@
private MockFilterChain chain;
private MockFilterConfig config;
+ private StatsFactory statsFactory;
private StatsFilter statsFilter;
@Before
@@ -45,6 +48,8 @@
chain = new MockFilterChain();
config = new MockFilterConfig();
+ statsFactory = new StatsFactory(new
DefaultStatsManagerFactory().createManager(StatsConstants.DEFAULT_NAMESPACE));
+
statsFilter = new StatsFilter();
}
@@ -52,13 +57,13 @@
public void testHit() throws Exception {
req = new MockHttpServletRequest("GET", "/");
- StatsKey key = Stats.newKey("test");
+ StatsKey key = statsFactory.newKey("test");
config.addInitParameter(StatsFilter.INIT_PARAM_KEY_NAME,
key.getName());
statsFilter.init(config);
statsFilter.doFilter(req, res, chain);
- StatsSession session = Stats.getSessionManager().getSession(key);
+ StatsSession session =
statsFactory.getManager().getSessionManager().getSession(key);
assertEquals(1, session.getHits());
assertEquals(1, session.getCommits());
@@ -69,7 +74,7 @@
req = new MockHttpServletRequest("GET", "/");
req.addParameter("testParam", "true");
- StatsKey key = Stats.newKey("test");
+ StatsKey key = statsFactory.newKey("test");
StatsKey paramKey = key.buildCopy()
.withAttribute(StatsFilter.KEY_ATTR_BINDING,
StatsFilter.KEY_ATTR_BINDING_PARAM)
.withAttribute("testParam", "true")
@@ -80,12 +85,12 @@
statsFilter.init(config);
statsFilter.doFilter(req, res, chain);
- StatsSession session = Stats.getSessionManager().getSession(key);
+ StatsSession session =
statsFactory.getManager().getSessionManager().getSession(key);
assertEquals(1, session.getHits());
assertEquals(1, session.getCommits());
- StatsSession paramSession =
Stats.getSessionManager().getSession(paramKey);
+ StatsSession paramSession =
statsFactory.getManager().getSessionManager().getSession(paramKey);
assertEquals(1, paramSession.getHits());
assertEquals(1, paramSession.getCommits());
@@ -96,7 +101,7 @@
req = new MockHttpServletRequest("GET", "/");
req.addHeader("testHeader", "true");
- StatsKey key = Stats.newKey("test");
+ StatsKey key = statsFactory.newKey("test");
StatsKey headerKey = key.buildCopy()
.withAttribute(StatsFilter.KEY_ATTR_BINDING,
StatsFilter.KEY_ATTR_BINDING_HEADER)
.withAttribute("testHeader", "true")
@@ -107,12 +112,12 @@
statsFilter.init(config);
statsFilter.doFilter(req, res, chain);
- StatsSession session = Stats.getSessionManager().getSession(key);
+ StatsSession session =
statsFactory.getManager().getSessionManager().getSession(key);
assertEquals(1, session.getHits());
assertEquals(1, session.getCommits());
- StatsSession headerSession =
Stats.getSessionManager().getSession(headerKey);
+ StatsSession headerSession =
statsFactory.getManager().getSessionManager().getSession(headerKey);
assertEquals(1, headerSession.getHits());
assertEquals(1, headerSession.getCommits());
==============================================================================
Revision: 61e0302400d8
Author:
troy.k...@gmail.com
Date: Fri Jul 8 15:40:00 2011
Log: Updated stajistics-jdbc module with new core API.
http://code.google.com/p/stajistics/source/detail?r=61e0302400d8
Modified:
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/DefaultJDBCProxyFactory.java
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/StatsDataBaseURL.java
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsCallableStatementWrapper.java
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsConnectionWrapper.java
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsPooledConnectionWrapper.java
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsPreparedStatementWrapper.java
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsResultSetWrapper.java
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsStatementWrapper.java
=======================================
---
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/DefaultJDBCProxyFactory.java
Thu Feb 25 15:37:57 2010
+++
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/DefaultJDBCProxyFactory.java
Fri Jul 8 15:40:00 2011
@@ -14,7 +14,7 @@
*/
package org.stajistics.jdbc;
-import org.stajistics.Stats;
+import org.stajistics.StatsFactory;
import org.stajistics.StatsKey;
import org.stajistics.StatsManager;
import org.stajistics.aop.ProxyFactory;
@@ -27,11 +27,11 @@
*/
public class DefaultJDBCProxyFactory<T> implements ProxyFactory<T> {
- private final StatsManager manager;
+ private final StatsFactory factory;
private final Class<T> proxyClass;
private final StatsKey proxyKey;
- public DefaultJDBCProxyFactory(final StatsManager manager,
+ public DefaultJDBCProxyFactory(final StatsFactory factory,
final Class<T> proxyClass,
final StatsKey proxyKey) {
if (proxyKey == null) {
@@ -41,10 +41,10 @@
throw new NullPointerException("proxyClass");
}
- if (manager == null) {
- this.manager = Stats.getManager();
+ if (factory == null) {
+ this.factory = StatsFactory.forClass(getClass());
} else {
- this.manager = manager;
+ this.factory = factory;
}
this.proxyClass = proxyClass;
@@ -56,22 +56,20 @@
throw new NullPointerException("proxyClass");
}
- StatsManager manager = Stats.getManager();
- StatsKey key = manager.getKeyFactory()
- .createKeyBuilder(proxyClass.getName())
+ StatsFactory factory =
StatsFactory.forClass(DefaultJDBCProxyFactory.class);
+ StatsKey key = factory.buildKey(proxyClass.getName())
.withNameSuffix("proxy")
.newKey();
- DefaultJDBCProxyFactory<T> factory = new
DefaultJDBCProxyFactory<T>(manager,
-
proxyClass,
-
key);
-
- return factory;
+ DefaultJDBCProxyFactory<T> proxyFactory =
+ new DefaultJDBCProxyFactory<T>(factory, proxyClass, key);
+
+ return proxyFactory;
}
@Override
public T createProxy(final T instance) {
- return StatsProxy.wrap(manager,
+ return StatsProxy.wrap(factory,
proxyKey,
instance,
proxyClass);
=======================================
---
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/StatsDataBaseURL.java
Wed Jun 2 21:28:40 2010
+++
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/StatsDataBaseURL.java
Fri Jul 8 15:40:00 2011
@@ -14,7 +14,14 @@
*/
package org.stajistics.jdbc;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.stajistics.StatsConstants;
/**
@@ -92,6 +99,10 @@
public Map<String,String> getParameters() {
return parameterMap;
}
+
+ public String getNamespace() {
+ return parameterMap.get(Parameters.NAMESPACE.getParameterName());
+ }
private String extractDelegateDriverClassName(final StringBuilder buf)
{
String delegateDriverClassName = removeParameter(buf,
Parameters.DELEGATE_DRIVER
@@ -115,6 +126,10 @@
parameterMap.put(parameterName, parameterValue);
}
}
+
+ if (parameterMap.get(Parameters.NAMESPACE.getParameterName()) ==
null) {
+ parameterMap.put(Parameters.NAMESPACE.getParameterName(),
StatsConstants.DEFAULT_NAMESPACE);
+ }
return Collections.unmodifiableMap(parameterMap);
}
@@ -248,6 +263,7 @@
/* NESTED CLASSES */
public enum Parameters {
+ NAMESPACE("namespace"),
DELEGATE_DRIVER("statsDelegateDriver"),
KEY_PREFIX("statsKeyPrefix"),
DRIVER_WRAPPER_ENABLED("statsDriverWrapperEnabled"),
=======================================
---
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsCallableStatementWrapper.java
Wed Jun 2 21:28:40 2010
+++
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsCallableStatementWrapper.java
Fri Jul 8 15:40:00 2011
@@ -14,13 +14,6 @@
*/
package org.stajistics.jdbc.wrapper;
-import org.stajistics.Stats;
-import org.stajistics.StatsKey;
-import org.stajistics.aop.ProxyFactory;
-import org.stajistics.jdbc.StatsJDBCConfig;
-import org.stajistics.jdbc.decorator.AbstractCallableStatementDecorator;
-import org.stajistics.tracker.span.SpanTracker;
-
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
@@ -28,6 +21,13 @@
import java.util.LinkedList;
import java.util.List;
+import org.stajistics.StatsFactory;
+import org.stajistics.StatsKey;
+import org.stajistics.aop.ProxyFactory;
+import org.stajistics.jdbc.StatsJDBCConfig;
+import org.stajistics.jdbc.decorator.AbstractCallableStatementDecorator;
+import org.stajistics.tracker.span.SpanTracker;
+
/**
*
* @author The Stajistics Project
@@ -35,6 +35,8 @@
*/
public class StatsCallableStatementWrapper extends
AbstractCallableStatementDecorator {
+ private static StatsFactory statsFactory =
StatsFactory.forClass(StatsCallableStatementWrapper.class);
+
private final StatsJDBCConfig config;
private final Connection connection;
@@ -69,11 +71,11 @@
resultSetProxyFactory = config.getProxyFactory(ResultSet.class);
- StatsKey openClosedKey =
Stats.buildKey(CallableStatement.class.getName())
- .withNameSuffix("open")
- .newKey();
-
- openClosedTracker = Stats.track(openClosedKey);
+ StatsKey openClosedKey =
statsFactory.buildKey(CallableStatement.class.getName())
+ .withNameSuffix("open")
+ .newKey();
+
+ openClosedTracker = statsFactory.track(openClosedKey);
}
public String getSQL() {
=======================================
---
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsConnectionWrapper.java
Wed Jun 2 21:28:40 2010
+++
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsConnectionWrapper.java
Fri Jul 8 15:40:00 2011
@@ -14,15 +14,19 @@
*/
package org.stajistics.jdbc.wrapper;
-import org.stajistics.Stats;
+import java.sql.CallableStatement;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import org.stajistics.StatsFactory;
import org.stajistics.StatsKey;
import org.stajistics.aop.ProxyFactory;
import org.stajistics.jdbc.StatsJDBCConfig;
import org.stajistics.jdbc.decorator.AbstractConnectionDecorator;
import org.stajistics.tracker.span.SpanTracker;
-import java.sql.*;
-
/**
*
*
@@ -31,6 +35,8 @@
*/
public class StatsConnectionWrapper extends AbstractConnectionDecorator {
+ private static StatsFactory statsFactory =
StatsFactory.forClass(StatsConnectionWrapper.class);
+
private final StatsJDBCConfig config;
private final ProxyFactory<CallableStatement>
callableStatementProxyFactory;
@@ -53,11 +59,11 @@
preparedStatementProxyFactory =
config.getProxyFactory(PreparedStatement.class);
statementProxyFactory = config.getProxyFactory(Statement.class);
- StatsKey openClosedKey = Stats.buildKey(Connection.class.getName())
- .withNameSuffix("open")
- .newKey();
-
- openClosedTracker = Stats.track(openClosedKey);
+ StatsKey openClosedKey =
statsFactory.buildKey(Connection.class.getName())
+ .withNameSuffix("open")
+ .newKey();
+
+ openClosedTracker = statsFactory.track(openClosedKey);
}
@Override
=======================================
---
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsPooledConnectionWrapper.java
Wed Jun 2 21:28:40 2010
+++
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsPooledConnectionWrapper.java
Fri Jul 8 15:40:00 2011
@@ -14,16 +14,21 @@
*/
package org.stajistics.jdbc.wrapper;
-import org.stajistics.Stats;
+import java.sql.Connection;
+import java.sql.SQLException;
+
+import javax.sql.ConnectionEvent;
+import javax.sql.ConnectionEventListener;
+import javax.sql.PooledConnection;
+import javax.sql.StatementEvent;
+import javax.sql.StatementEventListener;
+
+import org.stajistics.StatsFactory;
import org.stajistics.StatsKey;
import org.stajistics.jdbc.StatsJDBCConfig;
import org.stajistics.jdbc.decorator.AbstractPooledConnectionDecorator;
import org.stajistics.tracker.span.SpanTracker;
-import javax.sql.*;
-import java.sql.Connection;
-import java.sql.SQLException;
-
/**
*
* @author The Stajistics Project
@@ -31,6 +36,8 @@
*/
public class StatsPooledConnectionWrapper extends
AbstractPooledConnectionDecorator {
+ private static StatsFactory statsFactory =
StatsFactory.forClass(StatsPooledConnectionWrapper.class);
+
private final StatsJDBCConfig config;
private final SpanTracker openClosedTracker;
@@ -46,15 +53,15 @@
this.config = config;
- StatsKey openClosedKey =
Stats.buildKey(PooledConnection.class.getName())
- .withNameSuffix("open")
- .newKey();
-
- StatsKey checkInCheckOutKey =
Stats.buildKey(PooledConnection.class.getName())
- .withNameSuffix("checkedOut")
- .newKey();
-
- openClosedTracker = Stats.track(openClosedKey);
+ StatsKey openClosedKey =
statsFactory.buildKey(PooledConnection.class.getName())
+ .withNameSuffix("open")
+ .newKey();
+
+ StatsKey checkInCheckOutKey =
statsFactory.buildKey(PooledConnection.class.getName())
+ .withNameSuffix("checkedOut")
+ .newKey();
+
+ openClosedTracker = statsFactory.track(openClosedKey);
//checkInCheckOutTracker = null;
}
=======================================
---
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsPreparedStatementWrapper.java
Wed Jun 2 21:28:40 2010
+++
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsPreparedStatementWrapper.java
Fri Jul 8 15:40:00 2011
@@ -14,13 +14,6 @@
*/
package org.stajistics.jdbc.wrapper;
-import org.stajistics.Stats;
-import org.stajistics.StatsKey;
-import org.stajistics.aop.ProxyFactory;
-import org.stajistics.jdbc.StatsJDBCConfig;
-import org.stajistics.jdbc.decorator.AbstractPreparedStatementDecorator;
-import org.stajistics.tracker.span.SpanTracker;
-
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
@@ -28,6 +21,13 @@
import java.util.LinkedList;
import java.util.List;
+import org.stajistics.StatsFactory;
+import org.stajistics.StatsKey;
+import org.stajistics.aop.ProxyFactory;
+import org.stajistics.jdbc.StatsJDBCConfig;
+import org.stajistics.jdbc.decorator.AbstractPreparedStatementDecorator;
+import org.stajistics.tracker.span.SpanTracker;
+
/**
*
*
@@ -36,6 +36,8 @@
*/
public class StatsPreparedStatementWrapper extends
AbstractPreparedStatementDecorator {
+ private static StatsFactory statsFactory =
StatsFactory.forClass(StatsPreparedStatementWrapper.class);
+
private final Connection connection;
private final String sql;
private final List<String> batchSQL;
@@ -70,11 +72,11 @@
this.resultSetProxyFactory =
config.getProxyFactory(ResultSet.class);
- StatsKey openClosedKey =
Stats.buildKey(PreparedStatement.class.getName())
- .withNameSuffix("open")
- .newKey();
-
- openClosedTracker = Stats.track(openClosedKey);
+ StatsKey openClosedKey =
statsFactory.buildKey(PreparedStatement.class.getName())
+ .withNameSuffix("open")
+ .newKey();
+
+ openClosedTracker = statsFactory.track(openClosedKey);
}
public String getSQL() {
=======================================
---
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsResultSetWrapper.java
Wed Jun 2 21:28:40 2010
+++
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsResultSetWrapper.java
Fri Jul 8 15:40:00 2011
@@ -14,15 +14,15 @@
*/
package org.stajistics.jdbc.wrapper;
-import org.stajistics.Stats;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import org.stajistics.StatsFactory;
import org.stajistics.StatsKey;
import org.stajistics.jdbc.StatsJDBCConfig;
import org.stajistics.jdbc.decorator.AbstractResultSetDecorator;
import org.stajistics.tracker.span.SpanTracker;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
/**
*
* @author The Stajistics Project
@@ -30,6 +30,8 @@
*/
public class StatsResultSetWrapper extends AbstractResultSetDecorator {
+ private static StatsFactory statsFactory =
StatsFactory.forClass(StatsResultSetWrapper.class);
+
private final StatsJDBCConfig config;
private final SpanTracker openClosedTracker;
@@ -44,11 +46,11 @@
this.config = config;
- StatsKey openClosedKey = Stats.buildKey(ResultSet.class.getName())
- .withNameSuffix("open")
- .newKey();
-
- openClosedTracker = Stats.track(openClosedKey);
+ StatsKey openClosedKey =
statsFactory.buildKey(ResultSet.class.getName())
+ .withNameSuffix("open")
+ .newKey();
+
+ openClosedTracker = statsFactory.track(openClosedKey);
}
@Override
=======================================
---
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsStatementWrapper.java
Wed Jun 2 21:28:40 2010
+++
/stajistics-jdbc/src/main/java/org/stajistics/jdbc/wrapper/StatsStatementWrapper.java
Fri Jul 8 15:40:00 2011
@@ -14,13 +14,6 @@
*/
package org.stajistics.jdbc.wrapper;
-import org.stajistics.Stats;
-import org.stajistics.StatsKey;
-import org.stajistics.aop.ProxyFactory;
-import org.stajistics.jdbc.StatsJDBCConfig;
-import org.stajistics.jdbc.decorator.AbstractStatementDecorator;
-import org.stajistics.tracker.span.SpanTracker;
-
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -28,6 +21,13 @@
import java.util.LinkedList;
import java.util.List;
+import org.stajistics.StatsFactory;
+import org.stajistics.StatsKey;
+import org.stajistics.aop.ProxyFactory;
+import org.stajistics.jdbc.StatsJDBCConfig;
+import org.stajistics.jdbc.decorator.AbstractStatementDecorator;
+import org.stajistics.tracker.span.SpanTracker;
+
/**
*
* @author The Stajistics Project
@@ -35,6 +35,8 @@
*/
public class StatsStatementWrapper extends AbstractStatementDecorator {
+ private static StatsFactory statsFactory =
StatsFactory.forClass(StatsStatementWrapper.class);
+
private final StatsJDBCConfig config;
private final Connection connection;
@@ -63,11 +65,11 @@
this.resultSetProxyFactory =
config.getProxyFactory(ResultSet.class);
- StatsKey openClosedKey = Stats.buildKey(Statement.class.getName())
- .withNameSuffix("open")
- .newKey();
-
- openClosedTracker = Stats.track(openClosedKey);
+ StatsKey openClosedKey =
statsFactory.buildKey(Statement.class.getName())
+ .withNameSuffix("open")
+ .newKey();
+
+ openClosedTracker = statsFactory.track(openClosedKey);
}
private void handleSQL(final String sql) {
==============================================================================
Revision: 64901c5d7e48
Author:
troy.k...@gmail.com
Date: Fri Jul 8 15:40:16 2011
Log: Updated stajistics-examples module with new core API.
http://code.google.com/p/stajistics/source/detail?r=64901c5d7e48
Modified:
/stajistics-examples/src/main/java/org/stajistics/examples/basic/MethodTimeDuration.java
=======================================
---
/stajistics-examples/src/main/java/org/stajistics/examples/basic/MethodTimeDuration.java
Thu Feb 25 15:37:57 2010
+++
/stajistics-examples/src/main/java/org/stajistics/examples/basic/MethodTimeDuration.java
Fri Jul 8 15:40:16 2011
@@ -14,7 +14,7 @@
*/
package org.stajistics.examples.basic;
-import org.stajistics.Stats;
+import org.stajistics.StatsFactory;
import org.stajistics.StatsKey;
import org.stajistics.tracker.span.SpanTracker;
@@ -27,20 +27,22 @@
*/
public class MethodTimeDuration implements Runnable {
+ private static StatsFactory statsFactory =
StatsFactory.forClass(MethodTimeDuration.class);
+
public void run() {
- StatsKey key = Stats.newKey("myMethod");
+ StatsKey key = statsFactory.newKey("myMethod");
for (int i = 0; i < 20; i++) {
- SpanTracker tracker = Stats.track(key);
+ SpanTracker tracker = statsFactory.track(key);
myMethod();
tracker.commit();
}
- System.out.println(Stats.getSessionManager().getSession(key));
+
System.out.println(statsFactory.getManager().getSessionManager().getSession(key));
}
private void myMethod() {
==============================================================================
Revision: 040925061ae1
Author:
troy.k...@gmail.com
Date: Fri Jul 8 15:42:07 2011
Log: Updated parent pom reporting to work with maven 3. Upgraded
plugin versions.
http://code.google.com/p/stajistics/source/detail?r=040925061ae1
Modified:
/pom.xml
=======================================
--- /pom.xml Fri Jul 8 12:27:43 2011
+++ /pom.xml Fri Jul 8 15:42:07 2011
@@ -6,7 +6,7 @@
<name>Stajistics Parent</name>
<version>0.4-SNAPSHOT</version>
<description>A Java monitoring and performance statistics collection
API</description>
- <url>
http://www.stajistics.org</url>
+ <url>
http://stajistics.org</url>
<issueManagement>
<system>Google Code Issue Tracker</system>
@@ -42,11 +42,12 @@
<id>troy.kinsella</id>
<name>Troy Kinsella</name>
<email>
tr...@stajistics.org</email>
- <url>
http://www.stajistics.org</url>
+ <url>
http://stajistics.org</url>
<organization>
stajistics.org</organization>
- <organizationUrl>
http://www.stajistics.org</organizationUrl>
+ <organizationUrl>
http://stajistics.org</organizationUrl>
<roles>
<role>founder</role>
+ <role>owner</role>
<role>developer</role>
</roles>
<timezone>-7</timezone>
@@ -55,11 +56,12 @@
<id>lorant.pinter</id>
<name>Lóránt Pintér</name>
<email>
lorant...@gmail.com</email>
- <url>
http://www.stajistics.org</url>
+ <url>
http://stajistics.org</url>
<organization>
stajistics.org</organization>
- <organizationUrl>
http://www.stajistics.org</organizationUrl>
+ <organizationUrl>
http://stajistics.org</organizationUrl>
<roles>
- <role>committer</role>
+ <role>owner</role>
+ <role>developer</role>
</roles>
<timezone>+1</timezone>
</developer>
@@ -85,11 +87,22 @@
<junit-version>4.4</junit-version>
<jmock-version>2.5.1</jmock-version>
<slf4j-version>1.5.10</slf4j-version>
+
+ <maven-javadoc-plugin-version>2.8</maven-javadoc-plugin-version>
+ <maven-jxr-plugin-version>2.2</maven-jxr-plugin-version>
</properties>
<build>
<defaultGoal>install</defaultGoal>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <version>1.0-beta-6</version>
+ </extension>
+ </extensions>
+
<pluginManagement>
<plugins>
<plugin>
@@ -143,7 +156,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>2.8</version>
+ <version>${maven-javadoc-plugin-version}</version>
<executions>
<execution>
<id>attach-javadocs</id>
@@ -215,7 +228,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
- <version>2.1</version>
+ <version>2.2</version>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
<preparationGoals>clean install</preparationGoals>
@@ -243,6 +256,11 @@
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>3.0-beta-3</version>
+ </plugin>
</plugins>
</pluginManagement>
@@ -262,6 +280,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
+ <version>${maven-javadoc-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -270,6 +289,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
+ <version>${maven-jxr-plugin-version}</version>
</plugin>
</plugins>
</build>
@@ -281,6 +301,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
+ <version>${maven-javadoc-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -289,6 +310,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
+ <version>${maven-jxr-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -317,13 +339,15 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
</plugin>
- <plugin>
+ <!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changelog-plugin</artifactId>
- </plugin>
+ <version>2.2</version>
+ </plugin> -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
+ <version>2.9</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
@@ -336,10 +360,12 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jdepend-maven-plugin</artifactId>
+ <version>2.0-beta-2</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
+ <version>2.4</version>
<configuration>
<tags>
<tag>@fixme</tag>