bloritsch 2002/09/03 10:10:56
Modified: event/src/java/org/apache/excalibur/event AbstractQueue.java
DefaultQueue.java EventHandler.java
FixedSizeQueue.java Message.java Signal.java
Sink.java Source.java
event/src/java/org/apache/excalibur/event/command
CommandManager.java
event/src/test QueueTest.java
event/src/test/org/apache/excalibur/event/command/test
TPCThreadManagerTestCase.java
event/src/test/org/apache/excalibur/event/test
AbstractQueueTestCase.java
ThreadedQueueTestCase.java
Removed: event/src/java/org/apache/excalibur/event QueueElement.java
Log:
remove requirement of QueueElement enabling a more generic solution
Revision Changes Path
1.11 +1 -1
jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/AbstractQueue.java
Index: AbstractQueue.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/AbstractQueue.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- AbstractQueue.java 7 Aug 2002 23:30:48 -0000 1.10
+++ AbstractQueue.java 3 Sep 2002 17:10:55 -0000 1.11
@@ -58,7 +58,7 @@
public abstract class AbstractQueue implements Queue
{
// this object is immutable, so it can be safely shared
- protected final static QueueElement[] EMPTY_ARRAY = new QueueElement[ 0 ];
+ protected final static Object[] EMPTY_ARRAY = new Object[ 0 ];
protected long m_timeout = 0;
/**
1.16 +17 -17
jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/DefaultQueue.java
Index: DefaultQueue.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/DefaultQueue.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- DefaultQueue.java 7 Aug 2002 23:30:48 -0000 1.15
+++ DefaultQueue.java 3 Sep 2002 17:10:55 -0000 1.16
@@ -126,7 +126,7 @@
return m_maxSize;
}
- public PreparedEnqueue prepareEnqueue( final QueueElement[] elements )
+ public PreparedEnqueue prepareEnqueue( final Object[] elements )
throws SinkException
{
PreparedEnqueue enqueue = null;
@@ -156,7 +156,7 @@
return enqueue;
}
- public boolean tryEnqueue( final QueueElement element )
+ public boolean tryEnqueue( final Object element )
{
boolean success = false;
@@ -186,7 +186,7 @@
return success;
}
- public void enqueue( final QueueElement[] elements )
+ public void enqueue( final Object[] elements )
throws SinkException
{
final int len = elements.length;
@@ -216,7 +216,7 @@
}
}
- public void enqueue( final QueueElement element )
+ public void enqueue( final Object element )
throws SinkException
{
try
@@ -241,9 +241,9 @@
}
}
- public QueueElement[] dequeue( final int numElements )
+ public Object[] dequeue( final int numElements )
{
- QueueElement[] elements = EMPTY_ARRAY;
+ Object[] elements = EMPTY_ARRAY;
try
{
@@ -268,9 +268,9 @@
return elements;
}
- public QueueElement[] dequeueAll()
+ public Object[] dequeueAll()
{
- QueueElement[] elements = EMPTY_ARRAY;
+ Object[] elements = EMPTY_ARRAY;
try
{
@@ -296,7 +296,7 @@
/**
* Removes the given number of elements from the given <code>buf</code>
* and returns them in an array. Trusts the caller to pass in a buffer
- * full of <code>QueueElement</code>s and with at least
+ * full of <code>Object</code>s and with at least
* <code>count</code> elements available.
* <p>
* @param buf to remove elements from, the caller is responsible
@@ -304,21 +304,21 @@
* @param count number of elements to remove/return
* @return requested number of elements
*/
- private static QueueElement[] retrieveElements( Buffer buf, int count )
+ private static Object[] retrieveElements( Buffer buf, int count )
{
- QueueElement[] elements = new QueueElement[ count ];
+ Object[] elements = new Object[ count ];
for( int i = 0; i < count; i++ )
{
- elements[ i ] = (QueueElement) buf.remove();
+ elements[ i ] = (Object) buf.remove();
}
return elements;
}
- public QueueElement dequeue()
+ public Object dequeue()
{
- QueueElement element = null;
+ Object element = null;
try
{
@@ -328,7 +328,7 @@
{
if( size() > 0 )
{
- element = (QueueElement)m_elements.remove();
+ element = (Object)m_elements.remove();
}
}
finally
@@ -347,9 +347,9 @@
private static final class DefaultPreparedEnqueue implements PreparedEnqueue
{
private final DefaultQueue m_parent;
- private QueueElement[] m_elements;
+ private Object[] m_elements;
- private DefaultPreparedEnqueue( DefaultQueue parent, QueueElement[]
elements )
+ private DefaultPreparedEnqueue( DefaultQueue parent, Object[] elements )
{
m_parent = parent;
m_elements = elements;
1.7 +2 -2
jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/EventHandler.java
Index: EventHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/EventHandler.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- EventHandler.java 7 Aug 2002 23:30:48 -0000 1.6
+++ EventHandler.java 3 Sep 2002 17:10:55 -0000 1.7
@@ -60,10 +60,10 @@
/**
* Handle one event at a time.
*/
- void handleEvent( QueueElement element );
+ void handleEvent( Object element );
/**
* Handle a whole array of events at a time.
*/
- void handleEvents( QueueElement[] elements );
+ void handleEvents( Object[] elements );
}
1.13 +20 -20
jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/FixedSizeQueue.java
Index: FixedSizeQueue.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/FixedSizeQueue.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- FixedSizeQueue.java 8 Aug 2002 00:36:26 -0000 1.12
+++ FixedSizeQueue.java 3 Sep 2002 17:10:55 -0000 1.13
@@ -61,7 +61,7 @@
public final class FixedSizeQueue
extends AbstractQueue
{
- private final QueueElement[] m_elements;
+ private final Object[] m_elements;
private final Mutex m_mutex;
private int m_start = 0;
private int m_end = 0;
@@ -76,7 +76,7 @@
if ( size < 1 )
throw new IllegalArgumentException("Cannot specify an unbounded Queue");
- m_elements = new QueueElement[ size + 1 ];
+ m_elements = new Object[ size + 1 ];
m_mutex = new Mutex();
}
@@ -101,7 +101,7 @@
return m_elements.length;
}
- public PreparedEnqueue prepareEnqueue( final QueueElement[] elements )
+ public PreparedEnqueue prepareEnqueue( final Object[] elements )
throws SinkException
{
PreparedEnqueue enqueue = null;
@@ -130,7 +130,7 @@
return enqueue;
}
- public boolean tryEnqueue( final QueueElement element )
+ public boolean tryEnqueue( final Object element )
{
boolean success = false;
@@ -159,7 +159,7 @@
return success;
}
- public void enqueue( final QueueElement[] elements )
+ public void enqueue( final Object[] elements )
throws SinkException
{
final int len = elements.length;
@@ -189,7 +189,7 @@
}
}
- public void enqueue( final QueueElement element )
+ public void enqueue( final Object element )
throws SinkException
{
try
@@ -214,9 +214,9 @@
}
}
- public QueueElement[] dequeue( final int numElements )
+ public Object[] dequeue( final int numElements )
{
- QueueElement[] elements = EMPTY_ARRAY;
+ Object[] elements = EMPTY_ARRAY;
try
{
@@ -240,7 +240,7 @@
return elements;
}
- private final void addElement( QueueElement element )
+ private final void addElement( Object element )
{
m_elements[ m_end ] = element;
@@ -251,9 +251,9 @@
}
}
- private final QueueElement removeElement()
+ private final Object removeElement()
{
- QueueElement element = m_elements[ m_start ];
+ Object element = m_elements[ m_start ];
if( null != element )
{
@@ -271,7 +271,7 @@
/**
* Removes exactly <code>count</code> elements from the underlying
- * element store and returns them as an array of QueueElements.
+ * element store and returns them as an array of Objects.
* The caller is responsible for synchronizing access to the
* element store and passing the correct value for
* <code>count</code>.
@@ -282,9 +282,9 @@
* @param count number of elements to return
* @return requested number of elements
*/
- private final QueueElement[] retrieveElements( int count )
+ private final Object[] retrieveElements( int count )
{
- QueueElement[] elements = new QueueElement[ count ];
+ Object[] elements = new Object[ count ];
for( int i = 0; i < count; i++ )
{
@@ -294,9 +294,9 @@
return elements;
}
- public QueueElement[] dequeueAll()
+ public Object[] dequeueAll()
{
- QueueElement[] elements = EMPTY_ARRAY;
+ Object[] elements = EMPTY_ARRAY;
try
{
@@ -319,9 +319,9 @@
return elements;
}
- public QueueElement dequeue()
+ public Object dequeue()
{
- QueueElement element = null;
+ Object element = null;
try
{
@@ -350,9 +350,9 @@
private static final class FixedSizePreparedEnqueue implements PreparedEnqueue
{
private final FixedSizeQueue m_parent;
- private QueueElement[] m_elements;
+ private Object[] m_elements;
- private FixedSizePreparedEnqueue( FixedSizeQueue parent, QueueElement[]
elements )
+ private FixedSizePreparedEnqueue( FixedSizeQueue parent, Object[] elements )
{
m_parent = parent;
m_elements = elements;
1.6 +2 -2
jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/Message.java
Index: Message.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/Message.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Message.java 7 Aug 2002 23:08:25 -0000 1.5
+++ Message.java 3 Sep 2002 17:10:55 -0000 1.6
@@ -50,12 +50,12 @@
package org.apache.excalibur.event;
/**
- * A Source implements the side of an event queue where QueueElements are
+ * A Source implements the side of an event queue where queue elements are
* dequeued operations only.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a>
*/
-public interface Message extends QueueElement
+public interface Message
{
/**
* Get the attachment associated with this Message. If there is no
1.4 +2 -2
jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/Signal.java
Index: Signal.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/Signal.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Signal.java 7 Aug 2002 23:08:25 -0000 1.3
+++ Signal.java 3 Sep 2002 17:10:56 -0000 1.4
@@ -50,11 +50,11 @@
package org.apache.excalibur.event;
/**
- * A Signal is a specific type of QueueElement that denotes a Control code for
+ * A Signal is a specific type of queue element that denotes a Control code for
* the Queue system.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a>
*/
-public interface Signal extends QueueElement
+public interface Signal
{
}
1.11 +4 -4
jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/Sink.java
Index: Sink.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/Sink.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Sink.java 7 Aug 2002 23:08:25 -0000 1.10
+++ Sink.java 3 Sep 2002 17:10:56 -0000 1.11
@@ -67,7 +67,7 @@
* @throws SinkClosedException Indicates that the sink is
* no longer being serviced.
*/
- void enqueue( QueueElement element )
+ void enqueue( Object element )
throws SinkException;
/**
@@ -84,7 +84,7 @@
* no longer being serviced.
*
*/
- void enqueue( QueueElement[] elements )
+ void enqueue( Object[] elements )
throws SinkException;
/**
@@ -94,7 +94,7 @@
* @param element The element to attempt to enqueue
* @return <code>true</code> if successful, <code>false</code> if not.
*/
- boolean tryEnqueue( QueueElement element );
+ boolean tryEnqueue( Object element );
/**
* Support for transactional enqueue.
@@ -137,7 +137,7 @@
*
* @see PreparedEnqueue
*/
- PreparedEnqueue prepareEnqueue( QueueElement[] elements )
+ PreparedEnqueue prepareEnqueue( Object[] elements )
throws SinkException;
/**
1.11 +5 -5
jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/Source.java
Index: Source.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/event/src/java/org/apache/excalibur/event/Source.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Source.java 7 Aug 2002 23:08:25 -0000 1.10
+++ Source.java 3 Sep 2002 17:10:56 -0000 1.11
@@ -73,18 +73,18 @@
* nothing left on the queue or in case of a timeout while
* attempting to obtain the mutex
*
- * @return the next <code>QueueElement</code> on the queue
+ * @return the next queue element on the queue
*/
- QueueElement dequeue();
+ Object dequeue();
/**
* Dequeues all available elements. Returns a zero-sized array in
* case of a timeout while attempting to obtain the mutex or if
* there is nothing left on the queue.
*
- * @return all pending <code>QueueElement</code>s on the queue
+ * @return all pending queue elements on the queue
*/
- QueueElement[] dequeueAll();
+ Object[] dequeueAll();
/**
* Dequeues at most <code>num</code> available elements. Returns a
@@ -94,7 +94,7 @@
* @return At most <code>num</code> <code>QueueElement</code>s from the
* queue
*/
- QueueElement[] dequeue( int num );
+ Object[] dequeue( int num );
/**
* Returns the number of elements waiting in this queue.
1.11 +2 -3
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.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- CommandManager.java 28 Aug 2002 17:39:59 -0000 1.10
+++ CommandManager.java 3 Sep 2002 17:10:56 -0000 1.11
@@ -60,7 +60,6 @@
import org.apache.excalibur.event.DefaultQueue;
import org.apache.excalibur.event.EventHandler;
import org.apache.excalibur.event.Queue;
-import org.apache.excalibur.event.QueueElement;
import org.apache.excalibur.event.Signal;
import org.apache.excalibur.event.Source;
@@ -193,7 +192,7 @@
m_signalHandlers = signalHandlers;
}
- public final void handleEvents( QueueElement[] elements )
+ public final void handleEvents( Object[] elements )
{
for( int i = 0; i < elements.length; i++ )
{
@@ -234,7 +233,7 @@
}
}
- public final void handleEvent( QueueElement element )
+ public final void handleEvent( Object element )
{
if( !( element instanceof Signal ) )
{
1.7 +3 -4 jakarta-avalon-excalibur/event/src/test/QueueTest.java
Index: QueueTest.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/event/src/test/QueueTest.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- QueueTest.java 13 Aug 2002 08:15:21 -0000 1.6
+++ QueueTest.java 3 Sep 2002 17:10:56 -0000 1.7
@@ -51,7 +51,6 @@
import org.apache.avalon.framework.CascadingRuntimeException;
import org.apache.excalibur.event.DefaultQueue;
import org.apache.excalibur.event.Queue;
-import org.apache.excalibur.event.QueueElement;
import org.apache.excalibur.event.Sink;
import org.apache.excalibur.event.SinkException;
import org.apache.excalibur.event.Source;
@@ -126,7 +125,7 @@
System.out.println( "Dequeue: " + this.end.getCount() );
}
- private class QueueInteger implements QueueElement
+ private class QueueInteger
{
private int integer;
@@ -207,7 +206,7 @@
{
while( true )
{
- QueueElement qe = this.source.dequeue();
+ Object qe = this.source.dequeue();
if( qe == null )
{
1.8 +5 -6
jakarta-avalon-excalibur/event/src/test/org/apache/excalibur/event/command/test/TPCThreadManagerTestCase.java
Index: TPCThreadManagerTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/event/src/test/org/apache/excalibur/event/command/test/TPCThreadManagerTestCase.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- TPCThreadManagerTestCase.java 9 Aug 2002 19:06:51 -0000 1.7
+++ TPCThreadManagerTestCase.java 3 Sep 2002 17:10:56 -0000 1.8
@@ -56,7 +56,6 @@
import org.apache.excalibur.event.DefaultQueue;
import org.apache.excalibur.event.EventHandler;
import org.apache.excalibur.event.Queue;
-import org.apache.excalibur.event.QueueElement;
import org.apache.excalibur.event.Sink;
import org.apache.excalibur.event.SinkException;
import org.apache.excalibur.event.Source;
@@ -151,7 +150,7 @@
m_errorOut = errorOut;
// even though TPCThreadManager currently calls event handlers
// when there is nothing to do, that may change
- m_queue.enqueue( new QueueElement()
+ m_queue.enqueue( new Object()
{
} );
}
@@ -171,12 +170,12 @@
return m_queue;
}
- public void handleEvent( QueueElement element )
+ public void handleEvent( Object element )
{
- handleEvents( new QueueElement[]{element} );
+ handleEvents( new Object[]{element} );
}
- public void handleEvents( QueueElement[] elements )
+ public void handleEvents( Object[] elements )
{
// records the fact that the handler was called
m_result.append( 'a' );
@@ -185,7 +184,7 @@
// sleeps to occupy the thread and let thread manager try to
reschedule
Thread.sleep( SCHEDULING_TIMEOUT );
// enqueues another element to be called again
- m_queue.enqueue( new QueueElement()
+ m_queue.enqueue( new Object()
{
} );
}
1.7 +6 -7
jakarta-avalon-excalibur/event/src/test/org/apache/excalibur/event/test/AbstractQueueTestCase.java
Index: AbstractQueueTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/event/src/test/org/apache/excalibur/event/test/AbstractQueueTestCase.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- AbstractQueueTestCase.java 7 Aug 2002 23:08:26 -0000 1.6
+++ AbstractQueueTestCase.java 3 Sep 2002 17:10:56 -0000 1.7
@@ -52,7 +52,6 @@
import junit.framework.TestCase;
import org.apache.excalibur.event.PreparedEnqueue;
import org.apache.excalibur.event.Queue;
-import org.apache.excalibur.event.QueueElement;
/**
* The default queue implementation is a variabl size queue.
@@ -61,10 +60,10 @@
*/
public abstract class AbstractQueueTestCase extends TestCase
{
- QueueElement element = new TestQueueElement();
- QueueElement[] elements = new TestQueueElement[ 10 ];
+ Object element = new TestQueueElement();
+ Object[] elements = new TestQueueElement[ 10 ];
- private static final class TestQueueElement implements QueueElement
+ private static final class TestQueueElement
{
}
@@ -125,7 +124,7 @@
queue.enqueue( elements );
assertEquals( 10, queue.size() );
- QueueElement[] results = queue.dequeueAll();
+ Object[] results = queue.dequeueAll();
assertEquals( 10, results.length );
assertEquals( 0, queue.size() );
}
@@ -140,7 +139,7 @@
assertEquals( "Queue Size: " + queue.size(), 10 * ( j + 1 ),
queue.size() );
}
- QueueElement[] results = queue.dequeueAll();
+ Object[] results = queue.dequeueAll();
assertEquals( "Queue Size: " + queue.size(), 10 * 1000,
results.length );
assertEquals( "Queue Size: " + queue.size(), 0, queue.size() );
}
@@ -161,7 +160,7 @@
queue.enqueue( elements );
assertEquals( 10, queue.size() );
- QueueElement[] results = queue.dequeue( 3 );
+ Object[] results = queue.dequeue( 3 );
assertEquals( 3, results.length );
assertEquals( 7, queue.size() );
1.8 +3 -4
jakarta-avalon-excalibur/event/src/test/org/apache/excalibur/event/test/ThreadedQueueTestCase.java
Index: ThreadedQueueTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/event/src/test/org/apache/excalibur/event/test/ThreadedQueueTestCase.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ThreadedQueueTestCase.java 13 Aug 2002 08:15:21 -0000 1.7
+++ ThreadedQueueTestCase.java 3 Sep 2002 17:10:56 -0000 1.8
@@ -52,7 +52,6 @@
import junit.framework.TestCase;
import org.apache.excalibur.event.DefaultQueue;
import org.apache.excalibur.event.Queue;
-import org.apache.excalibur.event.QueueElement;
import org.apache.excalibur.event.Sink;
import org.apache.excalibur.event.SinkException;
import org.apache.excalibur.event.Source;
@@ -157,7 +156,7 @@
assertEquals( this.start.getSum(), this.end.getSum() );
}
- private class QueueInteger implements QueueElement
+ private class QueueInteger
{
private int integer;
@@ -257,7 +256,7 @@
{
while( true )
{
- QueueElement qe = this.source.dequeue();
+ Object qe = this.source.dequeue();
if( qe == null )
{
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>