svn commit: r947 - in logback/trunk/logback-classic/src: main/java/ch/qos/logback/classic main/java/ch/qos/logback/classic/spi test/java/ch/qos/logback/classic/spi

Author: seb Date: Fri Nov 17 16:20:44 2006 New Revision: 947 Removed: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/spi/EventType.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/spi/LogbackEvent.java Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/spi/ContextListener.java logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/BasicContextListener.java logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/ContextListenerTest.java Log: Removed LogbackEvent, simplified process of notifying to listeners LoggerContext now implements LifeCycle Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java Fri Nov 17 16:20:44 2006 @@ -19,8 +19,6 @@ import org.slf4j.Marker; import ch.qos.logback.classic.spi.ContextListener; -import ch.qos.logback.classic.spi.EventType; -import ch.qos.logback.classic.spi.LogbackEvent; import ch.qos.logback.classic.spi.LoggerContextRemoteView; import ch.qos.logback.classic.spi.TurboFilterAttachable; import ch.qos.logback.classic.spi.TurboFilterAttachableImpl; @@ -28,13 +26,14 @@ import ch.qos.logback.core.ContextBase; import ch.qos.logback.core.CoreGlobal; import ch.qos.logback.core.spi.FilterReply; +import ch.qos.logback.core.spi.LifeCycle; import ch.qos.logback.core.status.ErrorStatus; /** * @author ceki */ public class LoggerContext extends ContextBase implements ILoggerFactory, - TurboFilterAttachable { + TurboFilterAttachable, LifeCycle { public static final String ROOT_NAME = "root"; @@ -53,6 +52,8 @@ LoggerContextRemoteView loggerContextRemoteView; TurboFilterAttachableImpl cfai = null; + + boolean started = false; public LoggerContext() { super(); @@ -171,7 +172,7 @@ public void shutdownAndReset() { root.recursiveReset(); - notifyListeners(EventType.CONTEXT_RESTART); + fireOnReset(); } public void addTurboFilter(TurboFilter newFilter) { @@ -219,12 +220,32 @@ } } - private void notifyListeners(EventType eventType) { - LogbackEvent event = new LogbackEvent(this, eventType); + private void fireOnReset() { + if (listenerList != null) { + for (ContextListener listener: listenerList) { + listener.onReset(this); + } + } + } + + private void fireOnStart() { if (listenerList != null) { for (ContextListener listener: listenerList) { - listener.update(event); + listener.onStart(this); } } } + + public boolean isStarted() { + return started; + } + + public void start() { + started = true; + fireOnStart(); + } + + public void stop() { + started = false; + } } Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/spi/ContextListener.java ============================================================================== --- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/spi/ContextListener.java (original) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/spi/ContextListener.java Fri Nov 17 16:20:44 2006 @@ -1,9 +1,10 @@ package ch.qos.logback.classic.spi; -import java.util.EventListener; +import ch.qos.logback.classic.LoggerContext; -public interface ContextListener extends EventListener { +public interface ContextListener { - public void update(LogbackEvent logbackEvent); + public void onReset(LoggerContext context); + public void onStart(LoggerContext contest); } Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/BasicContextListener.java ============================================================================== --- logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/BasicContextListener.java (original) +++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/BasicContextListener.java Fri Nov 17 16:20:44 2006 @@ -1,12 +1,19 @@ package ch.qos.logback.classic.spi; +import ch.qos.logback.classic.LoggerContext; + public class BasicContextListener implements ContextListener { boolean updated = false; - LogbackEvent lastEvent; + LoggerContext context; - public void update(LogbackEvent logbackEvent) { + public void onReset(LoggerContext context) { + updated = true; + this.context = context; + + } + public void onStart(LoggerContext context) { updated = true; - lastEvent = logbackEvent; + this.context = context; } } Modified: logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/ContextListenerTest.java ============================================================================== --- logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/ContextListenerTest.java (original) +++ logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/spi/ContextListenerTest.java Fri Nov 17 16:20:44 2006 @@ -15,11 +15,15 @@ super.setUp(); } - public void testNotify() { + public void testNotifyOnReset() { context.shutdownAndReset(); assertTrue(listener.updated); - assertEquals(EventType.CONTEXT_RESTART, listener.lastEvent.getType()); - assertEquals(context, listener.lastEvent.getSource()); + assertEquals(listener.context, context); + } + + public void testNotifyOnStart() { + context.start(); + assertTrue(listener.updated); + assertEquals(listener.context, context); } - }
participants (1)
-
noreply.seb@qos.ch