
Author: ceki Date: Tue Jan 9 23:25:48 2007 New Revision: 1184 Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/PatternLayout.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/html/HTMLLayout.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/AccessConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/ContentLengthConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalIPAddressConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalPortConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/NAConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/PostContentConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteHostConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteIPAddressConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteUserConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestAttributeConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestCookieConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestHeaderConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestMethodConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestParameterConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestProtocolConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURIConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURLConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/ResponseHeaderConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/ServerNameConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/StatusCodeConverter.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/spi/BasicContext.java logback/trunk/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java logback/trunk/logback-classic/pom.xml logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/Logger.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/PatternLayout.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/html/HTMLLayout.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/CallerDataConverter.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/ClassicConverter.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/DateConverter.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/FileOfCallerConverter.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/LevelConverter.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/LineOfCallerConverter.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/LineSeparatorConverter.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MDCConverter.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MessageConverter.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MethodOfCallerConverter.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/NamedConverter.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/NopThrowableInformationConverter.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/RelativeTimeConverter.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/SyslogStartConverter.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/ThreadConverter.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/ThrowableInformationConverter.java logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/LoggerPerfTest.java logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/pattern/ConverterTest.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/html/HTMLLayoutBase.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/action/AppenderRefAction.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/CompositeConverter.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/Converter.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/DynamicConverter.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/FormattingConverter.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/LiteralConverter.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/PatternLayoutBase.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/parser/Compiler.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/parser/Parser.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/helper/FileNamePattern.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/spi/AppenderAttachable.java logback/trunk/logback-core/src/main/java/ch/qos/logback/core/spi/AppenderAttachableImpl.java logback/trunk/logback-core/src/test/java/ch/qos/logback/core/appender/NOPAppender.java logback/trunk/logback-core/src/test/java/ch/qos/logback/core/pattern/parser/CompilerTest.java Log: Converters have been modified to use generic syntax Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/PatternLayout.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/PatternLayout.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/PatternLayout.java Tue Jan 9 23:25:48 2007 @@ -137,9 +137,11 @@ /** * Add a line separator so that each line is on a separate line. */ - protected void postCompileProcessing(Converter head) { - Converter tail = findTail(head); - Converter newLineConverter = new LineSeparatorConverter(); + @SuppressWarnings("unchecked") + @Override + protected void postCompileProcessing(Converter<AccessEvent> head) { + Converter<AccessEvent> tail = findTail(head); + Converter<AccessEvent> newLineConverter = new LineSeparatorConverter(); if (tail == null) { head = newLineConverter; } else { Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/html/HTMLLayout.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/html/HTMLLayout.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/html/HTMLLayout.java Tue Jan 9 23:25:48 2007 @@ -73,7 +73,7 @@ } buf.append(LINE_SEP); - Converter c = head; + Converter<AccessEvent> c = head; while (c != null) { appendEventToBuffer(buf, c, event); c = c.getNext(); @@ -84,7 +84,7 @@ return buf.toString(); } - private void appendEventToBuffer(StringBuffer buf, Converter c, + private void appendEventToBuffer(StringBuffer buf, Converter<AccessEvent> c, AccessEvent event) { buf.append("<td class=\""); buf.append(computeConverterName(c)); Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java Tue Jan 9 23:25:48 2007 @@ -228,11 +228,11 @@ } - public boolean detachAppender(Appender appender) { + public boolean detachAppender(Appender<AccessEvent> appender) { return aai.detachAppender(appender); } - public Appender detachAppender(String name) { + public Appender<AccessEvent> detachAppender(String name) { return aai.detachAppender(name); } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/AccessConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/AccessConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/AccessConverter.java Tue Jan 9 23:25:48 2007 @@ -8,7 +8,7 @@ import ch.qos.logback.core.status.Status; -abstract public class AccessConverter extends DynamicConverter implements ContextAware { +abstract public class AccessConverter extends DynamicConverter<AccessEvent> implements ContextAware { public final static char SPACE_CHAR = ' '; public final static char QUESTION_CHAR = '?'; @@ -23,12 +23,6 @@ return cab.getContext(); } - public final String convert(Object event) { - return convert((AccessEvent) event); - } - - abstract protected String convert(AccessEvent accessEvent); - public void addStatus(Status status) { cab.addStatus(status); } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/ContentLengthConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/ContentLengthConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/ContentLengthConverter.java Tue Jan 9 23:25:48 2007 @@ -4,7 +4,7 @@ public class ContentLengthConverter extends AccessConverter { - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { long len = accessEvent.getContentLength(); if(len == AccessEvent.SENTINEL) { return AccessEvent.NA; Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalIPAddressConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalIPAddressConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalIPAddressConverter.java Tue Jan 9 23:25:48 2007 @@ -17,7 +17,7 @@ } } - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { return localIPAddressStr; } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalPortConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalPortConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalPortConverter.java Tue Jan 9 23:25:48 2007 @@ -5,7 +5,7 @@ public class LocalPortConverter extends AccessConverter { - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { return Integer.toString(accessEvent.getLocalPort()); } } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/NAConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/NAConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/NAConverter.java Tue Jan 9 23:25:48 2007 @@ -10,7 +10,7 @@ */ public class NAConverter extends AccessConverter { - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { return AccessEvent.NA; } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/PostContentConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/PostContentConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/PostContentConverter.java Tue Jan 9 23:25:48 2007 @@ -16,7 +16,7 @@ public class PostContentConverter extends AccessConverter { @Override - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { return accessEvent.getPostContent(); } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteHostConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteHostConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteHostConverter.java Tue Jan 9 23:25:48 2007 @@ -5,7 +5,7 @@ public class RemoteHostConverter extends AccessConverter { - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { return accessEvent.getRemoteHost(); } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteIPAddressConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteIPAddressConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteIPAddressConverter.java Tue Jan 9 23:25:48 2007 @@ -4,7 +4,7 @@ public class RemoteIPAddressConverter extends AccessConverter { - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { return accessEvent.getRemoteAddr(); } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteUserConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteUserConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteUserConverter.java Tue Jan 9 23:25:48 2007 @@ -5,7 +5,7 @@ public class RemoteUserConverter extends AccessConverter { - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { String user = accessEvent.getRemoteUser(); if(user == null) { Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestAttributeConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestAttributeConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestAttributeConverter.java Tue Jan 9 23:25:48 2007 @@ -17,7 +17,7 @@ } } - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { if (!isStarted()) { return "INACTIVE_REQUEST_ATTRIB_CONV"; } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestCookieConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestCookieConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestCookieConverter.java Tue Jan 9 23:25:48 2007 @@ -17,7 +17,7 @@ } } - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { if (!isStarted()) { return "INACTIVE_COOKIE_CONVERTER"; } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestHeaderConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestHeaderConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestHeaderConverter.java Tue Jan 9 23:25:48 2007 @@ -17,7 +17,7 @@ } } - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { if(!isStarted()) { return "INACTIVE_HEADER_CONV"; } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestMethodConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestMethodConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestMethodConverter.java Tue Jan 9 23:25:48 2007 @@ -5,7 +5,7 @@ public class RequestMethodConverter extends AccessConverter { - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { return accessEvent.getMethod(); } } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestParameterConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestParameterConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestParameterConverter.java Tue Jan 9 23:25:48 2007 @@ -17,7 +17,7 @@ } } - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { if (!isStarted()) { return "INACTIVE_REQUEST_PARAM_CONV"; } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestProtocolConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestProtocolConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestProtocolConverter.java Tue Jan 9 23:25:48 2007 @@ -5,7 +5,7 @@ public class RequestProtocolConverter extends AccessConverter { - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { return accessEvent.getProtocol(); } } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURIConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURIConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURIConverter.java Tue Jan 9 23:25:48 2007 @@ -9,7 +9,7 @@ */ public class RequestURIConverter extends AccessConverter { - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { return accessEvent.getRequestURI(); } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURLConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURLConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURLConverter.java Tue Jan 9 23:25:48 2007 @@ -9,7 +9,7 @@ */ public class RequestURLConverter extends AccessConverter { - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { return accessEvent.getRequestURL(); } } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/ResponseHeaderConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/ResponseHeaderConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/ResponseHeaderConverter.java Tue Jan 9 23:25:48 2007 @@ -17,7 +17,7 @@ } } - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { if(!isStarted()) { return "INACTIVE_REPONSE_HEADER_CONV"; } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/ServerNameConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/ServerNameConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/ServerNameConverter.java Tue Jan 9 23:25:48 2007 @@ -4,7 +4,7 @@ public class ServerNameConverter extends AccessConverter { - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { return accessEvent.getServerName(); } } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/StatusCodeConverter.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/StatusCodeConverter.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/pattern/StatusCodeConverter.java Tue Jan 9 23:25:48 2007 @@ -4,7 +4,7 @@ public class StatusCodeConverter extends AccessConverter { - protected String convert(AccessEvent accessEvent) { + public String convert(AccessEvent accessEvent) { return Integer.toString(accessEvent.getStatusCode()); } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/spi/BasicContext.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/spi/BasicContext.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/spi/BasicContext.java Tue Jan 9 23:25:48 2007 @@ -18,16 +18,16 @@ * * @author Sébastien Pennec */ -public class BasicContext extends ContextBase implements AppenderAttachable, FilterAttachable { +public class BasicContext extends ContextBase implements AppenderAttachable<AccessEvent>, FilterAttachable { - AppenderAttachableImpl aai = new AppenderAttachableImpl(); + AppenderAttachableImpl<AccessEvent> aai = new AppenderAttachableImpl<AccessEvent>(); FilterAttachableImpl fai = new FilterAttachableImpl(); public void callAppenders(AccessEvent event) { aai.appendLoopOnAppenders(event); } - public void addAppender(Appender newAppender) { + public void addAppender(Appender<AccessEvent> newAppender) { aai.addAppender(newAppender); } @@ -39,11 +39,11 @@ return aai.detachAppender(appender); } - public Appender detachAppender(String name) { + public Appender<AccessEvent> detachAppender(String name) { return aai.detachAppender(name); } - public Appender getAppender(String name) { + public Appender<AccessEvent> getAppender(String name) { return aai.getAppender(name); } Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java ============================================================================== --- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java (original) +++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java Tue Jan 9 23:25:48 2007 @@ -173,7 +173,7 @@ return aai.detachAppender(appender); } - public Appender detachAppender(String name) { + public Appender<AccessEvent> detachAppender(String name) { return aai.detachAppender(name); } Modified: logback/trunk/logback-classic/pom.xml ============================================================================== --- logback/trunk/logback-classic/pom.xml (original) +++ logback/trunk/logback-classic/pom.xml Tue Jan 9 23:25:48 2007 @@ -70,11 +70,12 @@ <classifier>tests</classifier> <scope>test</scope> </dependency> - + <!-- <dependency> <groupId>javax.jms</groupId> <artifactId>jms</artifactId> </dependency> + --> </dependencies> <build> Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/Logger.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/Logger.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/Logger.java Tue Jan 9 23:25:48 2007 @@ -214,7 +214,7 @@ } } - public synchronized Appender detachAppender(String name) { + public synchronized Appender<LoggingEvent> detachAppender(String name) { if (aai == null) { return null; } Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/PatternLayout.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/PatternLayout.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/PatternLayout.java Tue Jan 9 23:25:48 2007 @@ -119,10 +119,10 @@ * * */ - protected void postCompileProcessing(Converter head) { + protected void postCompileProcessing(Converter<LoggingEvent> head) { if (!chainHandlesThrowable(head)) { - Converter tail = findTail(head); - Converter exConverter = new ThrowableInformationConverter(); + Converter<LoggingEvent> tail = findTail(head); + Converter<LoggingEvent> exConverter = new ThrowableInformationConverter(); if (tail == null) { head = exConverter; } else { Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/html/HTMLLayout.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/html/HTMLLayout.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/html/HTMLLayout.java Tue Jan 9 23:25:48 2007 @@ -75,7 +75,7 @@ } buf.append(LINE_SEP); - Converter c = head; + Converter<LoggingEvent> c = head; while (c != null) { appendEventToBuffer(buf, c, event); c = c.getNext(); @@ -89,7 +89,7 @@ return buf.toString(); } - private void appendEventToBuffer(StringBuffer buf, Converter c, + private void appendEventToBuffer(StringBuffer buf, Converter<LoggingEvent> c, LoggingEvent event) { buf.append("<td class=\""); buf.append(computeConverterName(c)); Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/CallerDataConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/CallerDataConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/CallerDataConverter.java Tue Jan 9 23:25:48 2007 @@ -73,9 +73,7 @@ evaluatorList.add(ee); } - public String convert(Object event) { - - LoggingEvent le = (LoggingEvent) event; + public String convert(LoggingEvent le) { StringBuffer buf = new StringBuffer(); if (evaluatorList != null) { @@ -83,7 +81,7 @@ for (int i = 0; i < evaluatorList.size(); i++) { EventEvaluator ee = (EventEvaluator) evaluatorList.get(i); try { - if (ee.evaluate(event)) { + if (ee.evaluate(le)) { printCallerData = true; break; } Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/ClassicConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/ClassicConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/ClassicConverter.java Tue Jan 9 23:25:48 2007 @@ -12,6 +12,7 @@ import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.spi.LoggerContextAware; import ch.qos.logback.classic.spi.LoggerContextAwareBase; +import ch.qos.logback.classic.spi.LoggingEvent; import ch.qos.logback.core.Context; import ch.qos.logback.core.pattern.DynamicConverter; import ch.qos.logback.core.status.Status; @@ -23,7 +24,7 @@ * * @author Ceki Gulcu */ -abstract public class ClassicConverter extends DynamicConverter implements +abstract public class ClassicConverter extends DynamicConverter<LoggingEvent> implements LoggerContextAware { LoggerContextAwareBase lcab = new LoggerContextAwareBase(); Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/DateConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/DateConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/DateConverter.java Tue Jan 9 23:25:48 2007 @@ -53,8 +53,7 @@ } } - public String convert(Object event) { - LoggingEvent le = (LoggingEvent) event; + public String convert(LoggingEvent le) { long timestamp = le.getTimeStamp(); // if called multiple times within the same millisecond Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/FileOfCallerConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/FileOfCallerConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/FileOfCallerConverter.java Tue Jan 9 23:25:48 2007 @@ -14,9 +14,7 @@ public class FileOfCallerConverter extends ClassicConverter { - public String convert(Object event) { - - LoggingEvent le = (LoggingEvent) event; + public String convert(LoggingEvent le) { CallerData[] cda = le.getCallerData(); if (cda != null && cda.length > 0) { return cda[0].getFileName(); Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/LevelConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/LevelConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/LevelConverter.java Tue Jan 9 23:25:48 2007 @@ -9,8 +9,7 @@ */ public class LevelConverter extends ClassicConverter { - public String convert(Object event) { - LoggingEvent le = (LoggingEvent) event; + public String convert(LoggingEvent le) { return le.getLevel().toString(); } Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/LineOfCallerConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/LineOfCallerConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/LineOfCallerConverter.java Tue Jan 9 23:25:48 2007 @@ -14,9 +14,7 @@ public class LineOfCallerConverter extends ClassicConverter { - public String convert(Object event) { - - LoggingEvent le = (LoggingEvent) event; + public String convert(LoggingEvent le) { CallerData[] cda = le.getCallerData(); if (cda != null && cda.length > 0) { return Integer.toString(cda[0].getLineNumber()); Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/LineSeparatorConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/LineSeparatorConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/LineSeparatorConverter.java Tue Jan 9 23:25:48 2007 @@ -1,10 +1,11 @@ package ch.qos.logback.classic.pattern; +import ch.qos.logback.classic.spi.LoggingEvent; import ch.qos.logback.core.CoreGlobal; public class LineSeparatorConverter extends ClassicConverter { - public String convert(Object event) { + public String convert(LoggingEvent event) { return CoreGlobal.LINE_SEPARATOR; } Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MDCConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MDCConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MDCConverter.java Tue Jan 9 23:25:48 2007 @@ -27,9 +27,8 @@ } @Override - public String convert(Object event) { - LoggingEvent loggingEvent = (LoggingEvent) event; - Map<String, String> mdcPropertyMap = loggingEvent.getMDCPropertyMap(); + public String convert(LoggingEvent event) { + Map<String, String> mdcPropertyMap = event.getMDCPropertyMap(); if (mdcPropertyMap == null) { return EMPTY_STRING; @@ -55,7 +54,7 @@ return buf.toString(); } - String value = loggingEvent.getMDCPropertyMap().get(key); + String value = event.getMDCPropertyMap().get(key); if (value != null) { return value; } else { Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MessageConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MessageConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MessageConverter.java Tue Jan 9 23:25:48 2007 @@ -18,9 +18,8 @@ */ public class MessageConverter extends ClassicConverter { - public String convert(Object event) { - LoggingEvent le = (LoggingEvent) event; - return le.getFormattedMessage(); + public String convert(LoggingEvent event) { + return event.getFormattedMessage(); } } Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MethodOfCallerConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MethodOfCallerConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/MethodOfCallerConverter.java Tue Jan 9 23:25:48 2007 @@ -14,8 +14,7 @@ public class MethodOfCallerConverter extends ClassicConverter { - public String convert(Object event) { - LoggingEvent le = (LoggingEvent) event; + public String convert(LoggingEvent le) { CallerData[] cda = le.getCallerData(); if (cda != null && cda.length > 0) { return cda[0].getMethodName(); Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/NamedConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/NamedConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/NamedConverter.java Tue Jan 9 23:25:48 2007 @@ -38,8 +38,8 @@ } } - public String convert(Object event) { - String fqn = getFullyQualifiedName((LoggingEvent) event); + public String convert(LoggingEvent event) { + String fqn = getFullyQualifiedName(event); if (abbreviator == null) { return fqn; Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/NopThrowableInformationConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/NopThrowableInformationConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/NopThrowableInformationConverter.java Tue Jan 9 23:25:48 2007 @@ -1,6 +1,7 @@ package ch.qos.logback.classic.pattern; import ch.qos.logback.classic.PatternLayout; +import ch.qos.logback.classic.spi.LoggingEvent; import ch.qos.logback.core.CoreGlobal; @@ -22,7 +23,7 @@ */ public class NopThrowableInformationConverter extends ThrowableHandlingConverter { - public String convert(Object event) { + public String convert(LoggingEvent event) { return CoreGlobal.EMPTY_STRING; } Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/RelativeTimeConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/RelativeTimeConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/RelativeTimeConverter.java Tue Jan 9 23:25:48 2007 @@ -16,9 +16,8 @@ long lastTimestamp = -1; String timesmapStr = null; - public String convert(Object event) { - LoggingEvent le = (LoggingEvent) event; - long timestamp = le.getTimeStamp(); + public String convert(LoggingEvent event) { + long timestamp = event.getTimeStamp(); // if called multiple times within the same millisecond // return old value Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/SyslogStartConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/SyslogStartConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/SyslogStartConverter.java Tue Jan 9 23:25:48 2007 @@ -52,16 +52,15 @@ } } - public String convert(Object event) { - LoggingEvent le = (LoggingEvent) event; + public String convert(LoggingEvent event) { StringBuilder sb = new StringBuilder(); - int pri = facility + LevelToSyslogSeverity.convert(le); + int pri = facility + LevelToSyslogSeverity.convert(event); sb.append("<"); sb.append(pri); sb.append(">"); - fillInTimestamp(sb, le.getTimeStamp()); + fillInTimestamp(sb, event.getTimeStamp()); sb.append(' '); sb.append(localHostName); sb.append(' '); Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/ThreadConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/ThreadConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/ThreadConverter.java Tue Jan 9 23:25:48 2007 @@ -9,9 +9,8 @@ */ public class ThreadConverter extends ClassicConverter { - public String convert(Object event) { - LoggingEvent le = (LoggingEvent) event; - return le.getThreadName(); + public String convert(LoggingEvent event) { + return event.getThreadName(); } } Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/ThrowableInformationConverter.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/ThrowableInformationConverter.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/pattern/ThrowableInformationConverter.java Tue Jan 9 23:25:48 2007 @@ -84,11 +84,10 @@ super.stop(); } - public String convert(Object event) { + public String convert(LoggingEvent event) { StringBuffer buf = new StringBuffer(32); - LoggingEvent le = (LoggingEvent) event; - ThrowableInformation information = le.getThrowableInformation(); + ThrowableInformation information = event.getThrowableInformation(); if (information == null) { return CoreGlobal.EMPTY_STRING; Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/LoggerPerfTest.java ============================================================================== --- logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/LoggerPerfTest.java (original) +++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/LoggerPerfTest.java Tue Jan 9 23:25:48 2007 @@ -13,6 +13,7 @@ import java.net.InetAddress; import junit.framework.TestCase; +import ch.qos.logback.classic.spi.LoggingEvent; import ch.qos.logback.classic.turbo.NOPTurboFilter; import ch.qos.logback.core.appender.NOPAppender; @@ -27,7 +28,7 @@ public void testSpeed() { long len = 1000*1000*10; loopBasic(len); - double avg = loopBasic(len); + double avg = loopBasic(len); System.out.println("Running on "+localhostName); // check for performance on KAL only @@ -53,7 +54,7 @@ double loopBasic(long len) { LoggerContext lc = new LoggerContext(); - NOPAppender mopAppender = new NOPAppender(); + NOPAppender<LoggingEvent> mopAppender = new NOPAppender<LoggingEvent>(); mopAppender.start(); Logger logger = lc.getLogger(this.getClass()); logger.setLevel(Level.OFF); @@ -67,7 +68,7 @@ double loopNopFilter(long len) { LoggerContext lc = new LoggerContext(); - NOPAppender mopAppender = new NOPAppender(); + NOPAppender<LoggingEvent> mopAppender = new NOPAppender<LoggingEvent>(); NOPTurboFilter nopFilter = new NOPTurboFilter(); nopFilter.setName("nop"); mopAppender.start(); Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/pattern/ConverterTest.java ============================================================================== --- logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/pattern/ConverterTest.java (original) +++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/pattern/ConverterTest.java Tue Jan 9 23:25:48 2007 @@ -69,7 +69,7 @@ public void testLineOfCaller() { { - DynamicConverter converter = new LineOfCallerConverter(); + DynamicConverter<LoggingEvent> converter = new LineOfCallerConverter(); StringBuffer buf = new StringBuffer(); converter.write(buf, le); // the number below should be the line number of the previous line @@ -79,13 +79,13 @@ public void testLevel() { { - DynamicConverter converter = new LevelConverter(); + DynamicConverter<LoggingEvent> converter = new LevelConverter(); StringBuffer buf = new StringBuffer(); converter.write(buf, le); assertEquals("INFO", buf.toString()); } { - DynamicConverter converter = new LevelConverter(); + DynamicConverter<LoggingEvent> converter = new LevelConverter(); converter.setFormattingInfo(new FormatInfo(1, 1, true, false)); StringBuffer buf = new StringBuffer(); converter.write(buf, le); @@ -94,21 +94,21 @@ } public void testThread() { - DynamicConverter converter = new ThreadConverter(); + DynamicConverter<LoggingEvent> converter = new ThreadConverter(); StringBuffer buf = new StringBuffer(); converter.write(buf, le); assertEquals("main", buf.toString()); } public void testMessage() { - DynamicConverter converter = new MessageConverter(); + DynamicConverter<LoggingEvent> converter = new MessageConverter(); StringBuffer buf = new StringBuffer(); converter.write(buf, le); assertEquals("Some message", buf.toString()); } public void testLineSeparator() { - DynamicConverter converter = new LineSeparatorConverter(); + DynamicConverter<LoggingEvent> converter = new LineSeparatorConverter(); StringBuffer buf = new StringBuffer(); converter.write(buf, le); assertEquals(CoreGlobal.LINE_SEPARATOR, buf.toString()); @@ -116,14 +116,14 @@ public void testException() { { - DynamicConverter converter = new ThrowableInformationConverter(); + DynamicConverter<LoggingEvent> converter = new ThrowableInformationConverter(); StringBuffer buf = new StringBuffer(); converter.write(buf, le); // System.out.println(buf); } { - DynamicConverter converter = new ThrowableInformationConverter(); + DynamicConverter<LoggingEvent> converter = new ThrowableInformationConverter(); this.optionList.add("3"); converter.setOptionList(this.optionList); StringBuffer buf = new StringBuffer(); @@ -134,14 +134,14 @@ public void testLogger() { { - DynamicConverter converter = new LoggerConverter(); + DynamicConverter<LoggingEvent> converter = new LoggerConverter(); StringBuffer buf = new StringBuffer(); converter.write(buf, le); assertEquals(this.getClass().getName(), buf.toString()); } { - DynamicConverter converter = new LoggerConverter(); + DynamicConverter<LoggingEvent> converter = new LoggerConverter(); this.optionList.add("20"); converter.setOptionList(this.optionList); converter.start(); @@ -153,7 +153,7 @@ public void testClass() { { - DynamicConverter converter = new ClassOfCallerConverter(); + DynamicConverter<LoggingEvent> converter = new ClassOfCallerConverter(); StringBuffer buf = new StringBuffer(); converter.write(buf, le); assertEquals(this.getClass().getName(), buf.toString()); @@ -162,7 +162,7 @@ public void testMethodOfCaller() { { - DynamicConverter converter = new MethodOfCallerConverter(); + DynamicConverter<LoggingEvent> converter = new MethodOfCallerConverter(); StringBuffer buf = new StringBuffer(); converter.write(buf, le); assertEquals("testMethodOfCaller", buf.toString()); @@ -171,7 +171,7 @@ public void testFileOfCaller() { { - DynamicConverter converter = new FileOfCallerConverter(); + DynamicConverter<LoggingEvent> converter = new FileOfCallerConverter(); StringBuffer buf = new StringBuffer(); converter.write(buf, le); assertEquals("ConverterTest.java", buf.toString()); @@ -180,7 +180,7 @@ public void testCallerData() { { - DynamicConverter converter = new CallerDataConverter(); + DynamicConverter<LoggingEvent> converter = new CallerDataConverter(); converter.start(); StringBuffer buf = new StringBuffer(); @@ -191,7 +191,7 @@ } { - DynamicConverter converter = new CallerDataConverter(); + DynamicConverter<LoggingEvent> converter = new CallerDataConverter(); this.optionList.add("2"); this.optionList.add("XXX"); converter.setOptionList(this.optionList); @@ -207,7 +207,7 @@ } { - DynamicConverter converter = new CallerDataConverter(); + DynamicConverter<LoggingEvent> converter = new CallerDataConverter(); this.optionList.clear(); this.optionList.add("2"); this.optionList.add("XXX"); @@ -224,7 +224,7 @@ } } { - DynamicConverter converter = new CallerDataConverter(); + DynamicConverter<LoggingEvent> converter = new CallerDataConverter(); this.optionList.clear(); this.optionList.add("2"); this.optionList.add("XXX"); @@ -242,7 +242,7 @@ } { - DynamicConverter converter = new CallerDataConverter(); + DynamicConverter<LoggingEvent> converter = new CallerDataConverter(); this.optionList.clear(); this.optionList.add("2"); this.optionList.add("XXX"); @@ -262,7 +262,7 @@ public void testRelativeTime() throws Exception { { - DynamicConverter converter = new RelativeTimeConverter(); + DynamicConverter<LoggingEvent> converter = new RelativeTimeConverter(); Thread.sleep(100); StringBuffer buf = new StringBuffer(); converter.write(buf, makeLoggingEvent(null)); @@ -275,7 +275,7 @@ public void testSyslogStart() throws Exception { { - DynamicConverter converter = new SyslogStartConverter(); + DynamicConverter<LoggingEvent> converter = new SyslogStartConverter(); this.optionList.clear(); this.optionList.add("MAIL"); converter.setOptionList(this.optionList); Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/html/HTMLLayoutBase.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/html/HTMLLayoutBase.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/html/HTMLLayoutBase.java Tue Jan 9 23:25:48 2007 @@ -18,7 +18,7 @@ protected String pattern; - protected Converter head; + protected Converter<E> head; protected String title = "Logback Log Messages"; @@ -70,7 +70,7 @@ } try { - Parser p = new Parser(pattern); + Parser<E> p = new Parser<E>(pattern); p.setContext(getContext()); Node t = p.parse(); this.head = p.compile(t, getDefaultConverterMap()); Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/action/AppenderRefAction.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/action/AppenderRefAction.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/action/AppenderRefAction.java Tue Jan 9 23:25:48 2007 @@ -76,6 +76,4 @@ public void end(InterpretationContext ec, String n) { } - public void finish(InterpretationContext ec) { - } } Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/CompositeConverter.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/CompositeConverter.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/CompositeConverter.java Tue Jan 9 23:25:48 2007 @@ -9,25 +9,25 @@ */ package ch.qos.logback.core.pattern; -public class CompositeConverter extends FormattingConverter { +public class CompositeConverter<E> extends FormattingConverter<E> { StringBuffer buf = new StringBuffer(); - Converter childConverter; + Converter<E> childConverter; - public String convert(Object event) { + public String convert(E event) { if (buf.capacity() > MAX_CAPACITY) { buf = new StringBuffer(INITIAL_BUF_SIZE); } else { buf.setLength(0); } - for (Converter c = childConverter; c != null; c = c.next) { + for (Converter<E> c = childConverter; c != null; c = c.next) { c.write(buf, event); } return buf.toString(); } - public void setChildConverter(Converter child) { + public void setChildConverter(Converter<E> child) { childConverter = child; } Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/Converter.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/Converter.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/Converter.java Tue Jan 9 23:25:48 2007 @@ -15,9 +15,9 @@ * * @author ceki */ -abstract public class Converter { +abstract public class Converter<E> { - Converter next; + Converter<E> next; /** * The convert method is responsible for extracting data from the event and @@ -25,7 +25,7 @@ * * @param event */ - public abstract String convert(Object event); + public abstract String convert(E event); /** * In its simplest incarnation, a convert simply appends the data extracted from @@ -34,18 +34,18 @@ * @param buf The input buffer where data is appended * @param event The event from where data is extracted */ - public void write(StringBuffer buf, Object event) { + public void write(StringBuffer buf, E event) { buf.append(convert(event)); } - public final void setNext(Converter next) { + public final void setNext(Converter<E> next) { if (this.next != null) { throw new IllegalStateException("Next converter has been already set"); } this.next = next; } - public final Converter getNext() { + public final Converter<E> getNext() { return next; } } Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/DynamicConverter.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/DynamicConverter.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/DynamicConverter.java Tue Jan 9 23:25:48 2007 @@ -4,7 +4,7 @@ import ch.qos.logback.core.spi.LifeCycle; -abstract public class DynamicConverter extends FormattingConverter implements LifeCycle { +abstract public class DynamicConverter<E> extends FormattingConverter<E> implements LifeCycle { // Contains a list of option Strings. private List optionList; Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/FormattingConverter.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/FormattingConverter.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/FormattingConverter.java Tue Jan 9 23:25:48 2007 @@ -9,7 +9,7 @@ */ package ch.qos.logback.core.pattern; -abstract public class FormattingConverter extends Converter { +abstract public class FormattingConverter<E> extends Converter<E> { static final int INITIAL_BUF_SIZE = 256; static final int MAX_CAPACITY = 1024; @@ -28,7 +28,7 @@ this.formattingInfo = formattingInfo; } - final public void write(StringBuffer buf, Object event) { + final public void write(StringBuffer buf, E event) { String s = convert(event); if(formattingInfo == null) { Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/LiteralConverter.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/LiteralConverter.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/LiteralConverter.java Tue Jan 9 23:25:48 2007 @@ -9,7 +9,7 @@ */ package ch.qos.logback.core.pattern; -public final class LiteralConverter extends Converter { +public final class LiteralConverter<E> extends Converter<E> { String literal; @@ -17,7 +17,7 @@ this.literal = literal; } - public String convert(Object o) { + public String convert(E o) { return literal; } Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/PatternLayoutBase.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/PatternLayoutBase.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/PatternLayoutBase.java Tue Jan 9 23:25:48 2007 @@ -25,7 +25,7 @@ abstract public class PatternLayoutBase<E> extends LayoutBase<E> { - Converter head; + Converter<E> head; String pattern; Map<String, String> instanceConverterMap = new HashMap<String, String>(); @@ -71,7 +71,7 @@ public void start() { try { - Parser p = new Parser(pattern); + Parser<E> p = new Parser<E>(pattern); if (getContext() != null) { p.setContext(getContext()); } @@ -94,10 +94,10 @@ * * @param head */ - protected void postCompileProcessing(Converter head) { + protected void postCompileProcessing(Converter<E> head) { } - protected void setContextForConverters(Converter head) { + protected void setContextForConverters(Converter<E> head) { Context context = getContext(); Converter c = head; @@ -111,7 +111,7 @@ protected String writeLoopOnConverters(E event) { StringBuffer buf = new StringBuffer(128); - Converter c = head; + Converter<E> c = head; while (c != null) { c.write(buf, event); c = c.getNext(); @@ -131,10 +131,10 @@ return this.getClass().getName() + "(" + getPattern() + ")"; } - protected static Converter findTail(Converter head) { - Converter c = head; + protected Converter<E> findTail(Converter<E> head) { + Converter<E> c = head; while (c != null) { - Converter next = c.getNext(); + Converter<E> next = c.getNext(); if (next == null) { break; } else { Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/parser/Compiler.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/parser/Compiler.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/parser/Compiler.java Tue Jan 9 23:25:48 2007 @@ -20,10 +20,10 @@ import ch.qos.logback.core.util.OptionHelper; -class Compiler extends ContextAwareBase { +class Compiler<E> extends ContextAwareBase { - Converter head; - Converter tail; + Converter<E> head; + Converter<E> tail; final Node top; final Map converterMap; @@ -32,26 +32,26 @@ this.converterMap = converterMap; } - Converter compile() { + Converter<E> compile() { head = tail = null; for (Node n = top; n != null; n = n.next) { switch (n.type) { case Node.LITERAL: - addToList(new LiteralConverter((String) n.getValue())); + addToList(new LiteralConverter<E>((String) n.getValue())); break; case Node.COMPOSITE: CompositeNode cn = (CompositeNode) n; - CompositeConverter compositeConverter = new CompositeConverter(); + CompositeConverter<E> compositeConverter = new CompositeConverter<E>(); compositeConverter.setFormattingInfo(cn.getFormatInfo()); - Compiler childCompiler = new Compiler(cn.getChildNode(), converterMap); + Compiler<E> childCompiler = new Compiler<E>(cn.getChildNode(), converterMap); childCompiler.setContext(context); - Converter childConverter = childCompiler.compile(); + Converter<E> childConverter = childCompiler.compile(); compositeConverter.setChildConverter(childConverter); addToList(compositeConverter); break; case Node.KEYWORD: KeywordNode kn = (KeywordNode) n; - DynamicConverter dynaConverter = createConverter(kn); + DynamicConverter<E> dynaConverter = createConverter(kn); if (dynaConverter != null) { dynaConverter.setFormattingInfo(kn.getFormatInfo()); dynaConverter.setOptionList(kn.getOptions()); @@ -59,7 +59,7 @@ } else { // if the appropriate dynaconverter cannot be found, then replace // it with a dummy LiteralConverter indicating an error. - Converter errConveter = new LiteralConverter("%PARSER_ERROR_" + Converter<E> errConveter = new LiteralConverter<E>("%PARSER_ERROR_" + kn.getValue()); addStatus(new ErrorStatus("["+kn.getValue()+"] is not a valid conversion word", this)); addToList(errConveter); @@ -70,7 +70,7 @@ return head; } - private void addToList(Converter c) { + private void addToList(Converter<E> c) { if (head == null) { head = tail = c; } else { @@ -85,7 +85,8 @@ * @param kn * @return */ - DynamicConverter createConverter(KeywordNode kn) { + @SuppressWarnings("unchecked") + DynamicConverter<E> createConverter(KeywordNode kn) { String keyword = (String) kn.getValue(); String converterClassStr = (String) converterMap.get(keyword); Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/parser/Parser.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/parser/Parser.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/pattern/parser/Parser.java Tue Jan 9 23:25:48 2007 @@ -8,7 +8,7 @@ import ch.qos.logback.core.spi.ContextAwareBase; -public class Parser extends ContextAwareBase { +public class Parser<E> extends ContextAwareBase { final List tokenList; int pointer = 0; @@ -39,8 +39,8 @@ * @return * @throws ScanException */ - public Converter compile(final Node top, Map converterMap) { - Compiler compiler = new Compiler(top, converterMap); + public Converter<E> compile(final Node top, Map converterMap) { + Compiler<E> compiler = new Compiler<E>(top, converterMap); compiler.setContext(context); //compiler.setStatusManager(statusManager); return compiler.compile(); Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/helper/FileNamePattern.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/helper/FileNamePattern.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/helper/FileNamePattern.java Tue Jan 9 23:25:48 2007 @@ -41,7 +41,7 @@ } String pattern; - Converter headTokenConverter; + Converter<Object> headTokenConverter; public FileNamePattern(String patternArg, Context contextArg) { setPattern(patternArg); @@ -52,7 +52,7 @@ void parse() { try { - Parser p = new Parser(pattern); + Parser<Object> p = new Parser<Object>(pattern); p.setContext(context); Node t = p.parse(); this.headTokenConverter = p.compile(t, CONVERTER_MAP); @@ -195,7 +195,7 @@ } public String convert(Object o) { - Converter p = headTokenConverter; + Converter<Object> p = headTokenConverter; StringBuffer buf = new StringBuffer(); while (p != null) { buf.append(p.convert(o)); Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/spi/AppenderAttachable.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/spi/AppenderAttachable.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/spi/AppenderAttachable.java Tue Jan 9 23:25:48 2007 @@ -54,5 +54,5 @@ * Detach the appender with the name passed as parameter from the list of * appenders. */ - Appender detachAppender(String name); + Appender<E> detachAppender(String name); } Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/spi/AppenderAttachableImpl.java ============================================================================== --- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/spi/AppenderAttachableImpl.java (original) +++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/spi/AppenderAttachableImpl.java Tue Jan 9 23:25:48 2007 @@ -143,7 +143,7 @@ * Remove the appender with the name passed as parameter form the list of * appenders. */ - public Appender detachAppender(String name) { + public Appender<E> detachAppender(String name) { if (name == null) { return null; } @@ -151,8 +151,8 @@ int size = appenderList.size(); for (int i = 0; i < size; i++) { - if (name.equals(((Appender) appenderList.get(i)).getName())) { - return (Appender) appenderList.remove(i); + if (name.equals((appenderList.get(i)).getName())) { + return appenderList.remove(i); } } return null; Modified: logback/trunk/logback-core/src/test/java/ch/qos/logback/core/appender/NOPAppender.java ============================================================================== --- logback/trunk/logback-core/src/test/java/ch/qos/logback/core/appender/NOPAppender.java (original) +++ logback/trunk/logback-core/src/test/java/ch/qos/logback/core/appender/NOPAppender.java Tue Jan 9 23:25:48 2007 @@ -2,9 +2,10 @@ import ch.qos.logback.core.AppenderBase; -public class NOPAppender extends AppenderBase { +public class NOPAppender<E> extends AppenderBase<E> { @Override - protected void append(Object eventObject) { - } + protected void append(E eventObject) { + } } + \ No newline at end of file Modified: logback/trunk/logback-core/src/test/java/ch/qos/logback/core/pattern/parser/CompilerTest.java ============================================================================== --- logback/trunk/logback-core/src/test/java/ch/qos/logback/core/pattern/parser/CompilerTest.java (original) +++ logback/trunk/logback-core/src/test/java/ch/qos/logback/core/pattern/parser/CompilerTest.java Tue Jan 9 23:25:48 2007 @@ -41,9 +41,9 @@ super.tearDown(); } - String write(final Converter head, Object event) { + String write(final Converter<Object> head, Object event) { StringBuffer buf = new StringBuffer(); - Converter c = head; + Converter<Object> c = head; while (c != null) { c.write(buf, event); c = c.getNext(); @@ -52,27 +52,27 @@ } public void testLiteral() throws Exception { - Parser p = new Parser("hello"); + Parser<Object> p = new Parser<Object>("hello"); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("hello", result); } public void testBasic() throws Exception { { - Parser p = new Parser("abc %hello"); + Parser<Object> p = new Parser<Object>("abc %hello"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); - assertEquals("abc Hello", result); + assertEquals("abc Hello", result); } { - Parser p = new Parser("abc %hello %OTT"); + Parser<Object> p = new Parser<Object>("abc %hello %OTT"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("abc Hello 123", result); } @@ -80,70 +80,70 @@ public void testFormat() throws Exception { { - Parser p = new Parser("abc %7hello"); + Parser<Object> p = new Parser<Object>("abc %7hello"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("abc Hello", result); } { - Parser p = new Parser("abc %-7hello"); + Parser<Object> p = new Parser<Object>("abc %-7hello"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("abc Hello ", result); } { - Parser p = new Parser("abc %.3hello"); + Parser<Object> p = new Parser<Object>("abc %.3hello"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("abc llo", result); } { - Parser p = new Parser("abc %.-3hello"); + Parser<Object> p = new Parser<Object>("abc %.-3hello"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("abc Hel", result); } { - Parser p = new Parser("abc %4.5OTT"); + Parser<Object> p = new Parser<Object>("abc %4.5OTT"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("abc 123", result); } { - Parser p = new Parser("abc %-4.5OTT"); + Parser<Object> p = new Parser<Object>("abc %-4.5OTT"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("abc 123 ", result); } { - Parser p = new Parser("abc %3.4hello"); + Parser<Object> p = new Parser<Object>("abc %3.4hello"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("abc ello", result); } { - Parser p = new Parser("abc %-3.-4hello"); + Parser<Object> p = new Parser<Object>("abc %-3.-4hello"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("abc Hell", result); } @@ -151,28 +151,28 @@ public void testComposite() throws Exception { // { -// Parser p = new Parser("%(ABC)"); +// Parser<Object> p = new Parser<Object>("%(ABC)"); // p.setContext(context); // Node t = p.parse(); -// Converter head = p.compile(t, converterMap); +// Converter<Object> head = p.compile(t, converterMap); // String result = write(head, new Object()); // assertEquals("ABC", result); // } { Context c = new ContextBase(); - Parser p = new Parser("%(ABC %hello)"); + Parser<Object> p = new Parser<Object>("%(ABC %hello)"); p.setContext(c); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); StatusPrinter.print(c); assertEquals("ABC Hello", result); } { - Parser p = new Parser("%(ABC %hello)"); + Parser<Object> p = new Parser<Object>("%(ABC %hello)"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("ABC Hello", result); } @@ -180,53 +180,53 @@ public void testCompositeFormatting() throws Exception { { - Parser p = new Parser("xyz %4.10(ABC)"); + Parser<Object> p = new Parser<Object>("xyz %4.10(ABC)"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("xyz ABC", result); } { - Parser p = new Parser("xyz %-4.10(ABC)"); + Parser<Object> p = new Parser<Object>("xyz %-4.10(ABC)"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("xyz ABC ", result); } { - Parser p = new Parser("xyz %.2(ABC %hello)"); + Parser<Object> p = new Parser<Object>("xyz %.2(ABC %hello)"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("xyz lo", result); } { - Parser p = new Parser("xyz %.-2(ABC)"); + Parser<Object> p = new Parser<Object>("xyz %.-2(ABC)"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("xyz AB", result); } { - Parser p = new Parser("xyz %30.30(ABC %20hello)"); + Parser<Object> p = new Parser<Object>("xyz %30.30(ABC %20hello)"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("xyz ABC Hello", result); } } public void testUnknownWord() throws Exception { - Parser p = new Parser("%unknown"); + Parser<Object> p = new Parser<Object>("%unknown"); p.setContext(context); Node t = p.parse(); p.compile(t, converterMap); @@ -237,10 +237,10 @@ public void testWithNopEscape() throws Exception { { - Parser p = new Parser("xyz %hello\\_world"); + Parser<Object> p = new Parser<Object>("xyz %hello\\_world"); p.setContext(context); Node t = p.parse(); - Converter head = p.compile(t, converterMap); + Converter<Object> head = p.compile(t, converterMap); String result = write(head, new Object()); assertEquals("xyz Helloworld", result); }