leosutic 2002/09/06 08:41:38
Modified: event/src/java/org/apache/excalibur/event/command
CommandManager.java
Log:
Added code to flush the event queue on disposal.
Revision Changes Path
1.13 +11 -1
jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/command/CommandManager.java
Index: CommandManager.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/command/CommandManager.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- CommandManager.java 3 Sep 2002 17:43:00 -0000 1.12
+++ CommandManager.java 6 Sep 2002 15:41:37 -0000 1.13
@@ -57,6 +57,7 @@
import org.apache.avalon.excalibur.collections.Buffer;
import org.apache.avalon.excalibur.collections.VariableSizeBuffer;
import org.apache.avalon.excalibur.concurrent.Mutex;
+import org.apache.avalon.framework.activity.Disposable;
import org.apache.excalibur.event.impl.DefaultQueue;
import org.apache.excalibur.event.EventHandler;
import org.apache.excalibur.event.Queue;
@@ -95,7 +96,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a>
*/
-public class CommandManager implements EventPipeline
+public class CommandManager implements EventPipeline, Disposable
{
private final Queue m_queue = new DefaultQueue();
private final HashMap m_signalHandlers = new HashMap();
@@ -171,6 +172,15 @@
m_mutex.release();
}
}
+
+ public void dispose ()
+ {
+ QueueElement[] remainingElements = getCommandQueue().dequeueAll();
+ for( int i = 0; i < remainingElements.length; i++ )
+ {
+ getEventHandler.handleEvent( remainingElements[i] );
+ }
+ }
public final Source[] getSources()
{
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>