Author: davsclaus
Date: Fri Feb 19 10:16:48 2010
New Revision: 911771

URL: http://svn.apache.org/viewvc?rev=911771&view=rev
Log:
CAMEL-2471: seda endpoint is unbounded by default. Fixed test and setting 
initial size.

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java?rev=911771&r1=911770&r2=911771&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
 Fri Feb 19 10:16:48 2010
@@ -61,6 +61,7 @@
     public SedaEndpoint(String endpointUri, Component component, 
BlockingQueue<Exchange> queue, int concurrentConsumers) {
         super(endpointUri, component);
         this.queue = queue;
+        this.size = queue.remainingCapacity();
         this.concurrentConsumers = concurrentConsumers;
     }
 
@@ -71,6 +72,7 @@
     public SedaEndpoint(String endpointUri, BlockingQueue<Exchange> queue, int 
concurrentConsumers) {
         super(endpointUri);
         this.queue = queue;
+        this.size = queue.remainingCapacity();
         this.concurrentConsumers = concurrentConsumers;
     }
     
@@ -95,6 +97,7 @@
     
     public void setQueue(BlockingQueue<Exchange> queue) {
         this.queue = queue;
+        this.size = queue.remainingCapacity();
     }
 
     public int getSize() {

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java?rev=911771&r1=911770&r2=911771&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java
 Fri Feb 19 10:16:48 2010
@@ -18,6 +18,7 @@
 
 import java.util.concurrent.ArrayBlockingQueue;
 import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
 
 import org.apache.camel.Consumer;
 import org.apache.camel.ContextTestSupport;
@@ -32,6 +33,30 @@
 
     private BlockingQueue<Exchange> queue = new 
ArrayBlockingQueue<Exchange>(1000);
 
+    public void testSedaEndpointUnboundedQueue() throws Exception {
+        BlockingQueue<Exchange> unbounded = new 
LinkedBlockingQueue<Exchange>();
+        SedaEndpoint seda = new SedaEndpoint("seda://foo", unbounded);
+        assertNotNull(seda);
+
+        assertEquals(Integer.MAX_VALUE, seda.getSize());
+        assertSame(unbounded, seda.getQueue());
+        assertEquals(1, seda.getConcurrentConsumers());
+
+        Producer prod = seda.createProducer();
+        seda.onStarted((SedaProducer) prod);
+        assertEquals(1, seda.getProducers().size());
+
+        Consumer cons = seda.createConsumer(new Processor() {
+            public void process(Exchange exchange) throws Exception {
+                // do nothing
+            }
+        });
+        seda.onStarted((SedaConsumer) cons);
+        assertEquals(1, seda.getConsumers().size());
+
+        assertEquals(0, seda.getExchanges().size());
+    }
+
     public void testSedaEndpoint() throws Exception {
         SedaEndpoint seda = new SedaEndpoint("seda://foo", queue);
         assertNotNull(seda);
@@ -107,7 +132,7 @@
 
     public void testSedaConsumer() throws Exception {
         SedaEndpoint seda = context.getEndpoint("seda://foo", 
SedaEndpoint.class);
-        Consumer consumer = (SedaConsumer) seda.createConsumer(new Processor() 
{
+        Consumer consumer = seda.createConsumer(new Processor() {
             public void process(Exchange exchange) throws Exception {
                 // do nothing
             }


Reply via email to