Author: davsclaus
Date: Mon Dec 15 00:16:38 2008
New Revision: 726648

URL: http://svn.apache.org/viewvc?rev=726648&view=rev
Log:
Merged revisions 726640,726645 via svnmerge from 
https://svn.apache.org/repos/asf/activemq/camel/trunk

........
  r726640 | davsclaus | 2008-12-15 08:58:48 +0100 (ma, 15 dec 2008) | 1 line
  
  CAMEL-1187: camel-mina: Added options for the vm protocol as well
........
  r726645 | davsclaus | 2008-12-15 09:06:28 +0100 (ma, 15 dec 2008) | 1 line
  
  CAMEL-1187: camel-mina: Added options for the vm protocol as well
........

Added:
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMCustomCodecTest.java
      - copied unchanged from r726645, 
activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMCustomCodecTest.java
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMFileTcpTest.java
      - copied unchanged from r726645, 
activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMFileTcpTest.java
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMTextlineProtocolTest.java
      - copied unchanged from r726645, 
activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMTextlineProtocolTest.java
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMTransferExchangeOptionTest.java
      - copied unchanged from r726645, 
activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMTransferExchangeOptionTest.java
Modified:
    activemq/camel/branches/camel-1.x/   (props changed)
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaCustomCodecTest.java
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
    
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/resources/log4j.properties

Propchange: activemq/camel/branches/camel-1.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Dec 15 00:16:38 2008
@@ -1 +1 @@
-/activemq/camel/trunk:709850,711200,711206,711219-711220,711523,711531,711756,711784,711859,711874,711962,711971,712064,712119,712148,712662,712692,712925,713013,713107,713136,713273,713290,713292,713295,713314,713475,713625,713932,713944,714032,717965,717989,718242,718273,718312-718515,719163-719184,719334,719339,719524,719662,719848,719851,719855,719864,719978-719979,720207,720435-720437,720806,721272,721331,721333-721334,721360,721669,721764,721813,721985,722005,722070,722110,722415,722438,722726,722845,722878,723264,723314,723325-723327,723409,723835,723966,724122,724619,724681,725040,725309-725320,725340,725351,725569-725572,725612,725652-725660
+/activemq/camel/trunk:709850,711200,711206,711219-711220,711523,711531,711756,711784,711859,711874,711962,711971,712064,712119,712148,712662,712692,712925,713013,713107,713136,713273,713290,713292,713295,713314,713475,713625,713932,713944,714032,717965,717989,718242,718273,718312-718515,719163-719184,719334,719339,719524,719662,719848,719851,719855,719864,719978-719979,720207,720435-720437,720806,721272,721331,721333-721334,721360,721669,721764,721813,721985,722005,722070,722110,722415,722438,722726,722845,722878,723264,723314,723325-723327,723409,723835,723966,724122,724619,724681,725040,725309-725320,725340,725351,725569-725572,725612,725652-725660,726640-726645

Propchange: activemq/camel/branches/camel-1.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java?rev=726648&r1=726647&r2=726648&view=diff
==============================================================================
--- 
activemq/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
 (original)
+++ 
activemq/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
 Mon Dec 15 00:16:38 2008
@@ -117,7 +117,31 @@
         IoAcceptor acceptor = new VmPipeAcceptor();
         SocketAddress address = new VmPipeAddress(connectUri.getPort());
         IoConnector connector = new VmPipeConnector();
-        return new MinaEndpoint(uri, this, address, acceptor, null, connector, 
null, false, 0, false, false);
+
+        // connector config
+        configureCodecFactory("MinaProducer", connector.getDefaultConfig(), 
textline, encoding, codec);
+        if (minaLogger) {
+            connector.getFilterChain().addLast("logger", new LoggingFilter());
+        }
+
+        // acceptor connectorConfig
+        configureCodecFactory("MinaConsumer", acceptor.getDefaultConfig(), 
textline, encoding, codec);
+        if (minaLogger) {
+            acceptor.getFilterChain().addLast("logger", new LoggingFilter());
+        }
+
+        MinaEndpoint endpoint = new MinaEndpoint(uri, this, address, acceptor, 
null, connector, null, false, timeout, transferExchange, sync);
+        if (encoding != null) {
+            endpoint.setCharsetName(getEncodingParameter("MinaProducer", 
encoding).name());
+        }
+        // set sync or async mode after endpoint is created
+        if (sync) {
+            endpoint.setExchangePattern(ExchangePattern.InOut);
+        } else {
+            endpoint.setExchangePattern(ExchangePattern.InOnly);
+        }
+
+        return endpoint;
     }
 
     protected MinaEndpoint createSocketEndpoint(String uri, URI connectUri, 
Map parameters) {
@@ -127,7 +151,7 @@
 
         // connector config
         SocketConnectorConfig connectorConfig = new SocketConnectorConfig();
-        configureSocketCodecFactory("MinaProducer", connectorConfig, textline, 
encoding, codec);
+        configureCodecFactory("MinaProducer", connectorConfig, textline, 
encoding, codec);
         if (minaLogger) {
             connectorConfig.getFilterChain().addLast("logger", new 
LoggingFilter());
         }
@@ -137,7 +161,7 @@
 
         // acceptor connectorConfig
         SocketAcceptorConfig acceptorConfig = new SocketAcceptorConfig();
-        configureSocketCodecFactory("MinaConsumer", acceptorConfig, textline, 
encoding, codec);
+        configureCodecFactory("MinaConsumer", acceptorConfig, textline, 
encoding, codec);
         acceptorConfig.setReuseAddress(true);
         acceptorConfig.setDisconnectOnUnbind(true);
         if (minaLogger) {
@@ -158,7 +182,7 @@
         return endpoint;
     }
 
-    protected void configureSocketCodecFactory(String type, IoServiceConfig 
config, boolean textline, String encoding, String codec) {
+    protected void configureCodecFactory(String type, IoServiceConfig config, 
boolean textline, String encoding, String codec) {
         ProtocolCodecFactory codecFactory = getCodecFactory(type, codec);
 
         if (codecFactory == null) {
@@ -221,7 +245,7 @@
         return endpoint;
     }
 
-    private Charset getEncodingParameter(String type, String encoding) {
+    private static Charset getEncodingParameter(String type, String encoding) {
         if (encoding == null) {
             encoding = Charset.defaultCharset().name();
             if (LOG.isDebugEnabled()) {

Modified: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaCustomCodecTest.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaCustomCodecTest.java?rev=726648&r1=726647&r2=726648&view=diff
==============================================================================
--- 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaCustomCodecTest.java
 (original)
+++ 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaCustomCodecTest.java
 Mon Dec 15 00:16:38 2008
@@ -23,6 +23,7 @@
 import org.apache.camel.impl.JndiRegistry;
 import org.apache.mina.common.ByteBuffer;
 import org.apache.mina.common.IoSession;
+import org.apache.mina.filter.codec.CumulativeProtocolDecoder;
 import org.apache.mina.filter.codec.ProtocolCodecFactory;
 import org.apache.mina.filter.codec.ProtocolDecoder;
 import org.apache.mina.filter.codec.ProtocolDecoderOutput;
@@ -34,21 +35,23 @@
  */
 public class MinaCustomCodecTest extends ContextTestSupport {
 
-    private String uri = "mina:tcp://localhost:11300?sync=true&codec=myCodec";
+    protected String uri = 
"mina:tcp://localhost:11300?sync=true&codec=myCodec";
+    protected String badUri = "mina:tcp://localhost:11300?sync=true&codec=XXX";
 
     public void testMyCodec() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
         mock.expectedBodiesReceived("Bye World");
 
-        template.requestBody(uri, "Hello World");
+        Object out = template.requestBody(uri, "Hello World");
+        assertEquals("Bye World", out);
 
         mock.assertIsSatisfied();
     }
 
     public void testBadConfiguration() throws Exception {
         try {
-            
template.sendBody("mina:tcp://localhost:11300?sync=true&codec=XXX", "Hello 
World");
+            template.sendBody(badUri, "Hello World");
             fail("Should have thrown a ResolveEndpointFailedException");
         } catch (ResolveEndpointFailedException e) {
             // ok
@@ -90,20 +93,15 @@
         }
 
         public ProtocolDecoder getDecoder() throws Exception {
-            return new ProtocolDecoder() {
-                public void decode(IoSession ioSession, ByteBuffer in,
-                                   ProtocolDecoderOutput out) throws Exception 
{
-                    in.acquire();
-                    out.write(in);
-                }
-
-                public void finishDecode(IoSession ioSession, 
ProtocolDecoderOutput protocolDecoderOutput)
-                    throws Exception {
-                    // do nothing
-                }
-
-                public void dispose(IoSession ioSession) throws Exception {
-                    // do nothing
+            return new CumulativeProtocolDecoder() {
+                protected boolean doDecode(IoSession session, ByteBuffer in, 
ProtocolDecoderOutput out) throws Exception {
+                    if (in.remaining() > 0) {
+                        byte[] buf = MinaConverter.toByteArray(in);
+                        out.write(new String(buf));
+                        return true;
+                    } else {
+                        return false;
+                    }
                 }
             };
         }

Modified: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java?rev=726648&r1=726647&r2=726648&view=diff
==============================================================================
--- 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
 (original)
+++ 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
 Mon Dec 15 00:16:38 2008
@@ -36,7 +36,7 @@
  */
 public class MinaTransferExchangeOptionTest extends ContextTestSupport {
 
-    private static final String URI = 
"mina:tcp://localhost:6321?sync=true&encoding=UTF-8&transferExchange=true";
+    protected String uri = 
"mina:tcp://localhost:6321?sync=true&encoding=UTF-8&transferExchange=true";
 
     public void testMianTransferExchangeOptionWithoutException() throws 
Exception {
         Exchange exchange = sendExchange(false);
@@ -49,7 +49,7 @@
     }
 
     private Exchange sendExchange(boolean setException) throws Exception {
-        Endpoint endpoint = context.getEndpoint(URI);
+        Endpoint endpoint = context.getEndpoint(uri);
         Exchange exchange = endpoint.createExchange();
 
         Message message = exchange.getIn();
@@ -92,7 +92,7 @@
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from(URI).process(new Processor() {
+                from(uri).process(new Processor() {
                     public void process(Exchange e) throws 
InterruptedException {
                         Assert.assertNotNull(e.getIn().getBody());
                         Assert.assertNotNull(e.getIn().getHeaders());

Modified: 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/resources/log4j.properties
URL: 
http://svn.apache.org/viewvc/activemq/camel/branches/camel-1.x/components/camel-mina/src/test/resources/log4j.properties?rev=726648&r1=726647&r2=726648&view=diff
==============================================================================
--- 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/resources/log4j.properties
 (original)
+++ 
activemq/camel/branches/camel-1.x/components/camel-mina/src/test/resources/log4j.properties
 Mon Dec 15 00:16:38 2008
@@ -32,4 +32,5 @@
 log4j.appender.file.file=target/camel-mina-test.log
 
 # debug logging for camel-mina
-#log4j.logger.org.apache.camel.component.mina=DEBUG
+log4j.logger.org.apache.camel.component.mina=DEBUG
+#log4j.logger.org.apache.camel=DEBUG


Reply via email to