You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2008/03/10 03:27:49 UTC
svn commit: r635415 - in /activemq/camel/trunk/components/camel-mina/src:
main/java/org/apache/camel/component/mina/
test/java/org/apache/camel/component/mina/ test/resources/
Author: ningjiang
Date: Sun Mar 9 19:27:48 2008
New Revision: 635415
URL: http://svn.apache.org/viewvc?rev=635415&view=rev
Log:
CAMEL-380 patch applied with thanks to Claus
Modified:
activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConverter.java
activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaConverterTest.java
activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaUdpTest.java
activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaUdpUsingTemplateTest.java
activemq/camel/trunk/components/camel-mina/src/test/resources/log4j.properties
Modified: activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java?rev=635415&r1=635414&r2=635415&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java (original)
+++ activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java Sun Mar 9 19:27:48 2008
@@ -235,9 +235,6 @@
protected ByteBuffer toByteBuffer(Object message) throws CharacterCodingException {
ByteBuffer answer = convertTo(ByteBuffer.class, message);
- if (answer == null && message instanceof byte[]) {
- answer = MinaConverter.toByteBuffer((byte[]) message);
- }
if (answer == null) {
String value = convertTo(String.class, message);
answer = ByteBuffer.allocate(value.length()).setAutoExpand(true);
Modified: activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConverter.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConverter.java?rev=635415&r1=635414&r2=635415&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConverter.java (original)
+++ activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConverter.java Sun Mar 9 19:27:48 2008
@@ -34,7 +34,6 @@
public class MinaConverter {
@Converter
public static byte[] toByteArray(ByteBuffer buffer) {
- // TODO is there a neater way?
byte[] answer = new byte[buffer.remaining()];
buffer.get(answer);
return answer;
@@ -57,6 +56,8 @@
@Converter
public static ByteBuffer toByteBuffer(byte[] bytes) {
- return ByteBuffer.wrap(bytes);
+ ByteBuffer buf = ByteBuffer.allocate(bytes.length);
+ buf.put(bytes);
+ return buf;
}
}
Modified: activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaConverterTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaConverterTest.java?rev=635415&r1=635414&r2=635415&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaConverterTest.java (original)
+++ activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaConverterTest.java Sun Mar 9 19:27:48 2008
@@ -44,7 +44,11 @@
byte[] in = "Hello World".getBytes();
ByteBuffer bb = MinaConverter.toByteBuffer(in);
- byte[] out = bb.array();
+ assertNotNull(bb);
+
+ // convert back to byte[] and see if the bytes are equal
+ bb.flip(); // must flip to change direction to read
+ byte[] out = MinaConverter.toByteArray(bb);
for (int i = 0; i < out.length; i++) {
assertEquals(in[i], out[i]);
Modified: activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaUdpTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaUdpTest.java?rev=635415&r1=635414&r2=635415&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaUdpTest.java (original)
+++ activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaUdpTest.java Sun Mar 9 19:27:48 2008
@@ -19,20 +19,15 @@
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
-import java.util.List;
import org.apache.camel.ContextTestSupport;
-import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
/**
* @version $Revision$
*/
public class MinaUdpTest extends ContextTestSupport {
- private static final transient Log LOG = LogFactory.getLog(MinaUdpTest.class);
protected int messageCount = 3;
protected int port = 4445;
@@ -45,11 +40,6 @@
sendUdpMessages();
assertMockEndpointsSatisifed();
- List<Exchange> list = endpoint.getReceivedExchanges();
- Exchange exchange = list.get(0);
- Object body = exchange.getIn().getBody();
- LOG.debug("Type: " + body.getClass().getName() + " value: " + body);
- LOG.debug("String value: " + exchange.getIn().getBody(String.class));
}
protected void sendUdpMessages() throws Exception {
@@ -63,7 +53,6 @@
socket.send(packet);
Thread.sleep(1000);
}
- LOG.debug("Sent " + messageCount + " messages");
}
protected RouteBuilder createRouteBuilder() {
Modified: activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaUdpUsingTemplateTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaUdpUsingTemplateTest.java?rev=635415&r1=635414&r2=635415&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaUdpUsingTemplateTest.java (original)
+++ activemq/camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaUdpUsingTemplateTest.java Sun Mar 9 19:27:48 2008
@@ -22,33 +22,48 @@
import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
/**
* @version $Revision$
*/
public class MinaUdpUsingTemplateTest extends ContextTestSupport {
- private static final transient Log LOG = LogFactory.getLog(MinaUdpUsingTemplateTest.class);
private int messageCount = 3;
public void testMinaRoute() throws Exception {
MockEndpoint endpoint = getMockEndpoint("mock:result");
endpoint.expectedMessageCount(3);
+ endpoint.expectedBodiesReceived("Hello Message: 0", "Hello Message: 1", "Hello Message: 2");
sendUdpMessages();
// sleeping for while to let the mock endpoint get all the message
- Thread.sleep(1000);
+ Thread.sleep(2000);
assertMockEndpointsSatisifed();
- List<Exchange> list = endpoint.getReceivedExchanges();
- LOG.debug("Received: " + list);
}
protected void sendUdpMessages() throws Exception {
for (int i = 0; i < messageCount; i++) {
template.sendBody("mina:udp://127.0.0.1:4445", "Hello Message: " + i);
+ }
+ }
+
+ public void testSendingByteMessages() throws Exception {
+ MockEndpoint endpoint = getMockEndpoint("mock:result");
+ endpoint.expectedMessageCount(1);
+
+ byte[] in = "Hello from bytes".getBytes();
+ template.sendBody("mina:udp://127.0.0.1:4445", in);
+
+ // sleeping for while to let the mock endpoint get all the message
+ Thread.sleep(2000);
+
+ assertMockEndpointsSatisifed();
+ List<Exchange> list = endpoint.getReceivedExchanges();
+ byte[] out = list.get(0).getIn().getBody(byte[].class);
+
+ for (int i = 0; i < in.length; i++) {
+ assertEquals("Thew bytes should be the same", in[i], out[i]);
}
}
Modified: activemq/camel/trunk/components/camel-mina/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mina/src/test/resources/log4j.properties?rev=635415&r1=635414&r2=635415&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mina/src/test/resources/log4j.properties (original)
+++ activemq/camel/trunk/components/camel-mina/src/test/resources/log4j.properties Sun Mar 9 19:27:48 2008
@@ -5,9 +5,9 @@
## The ASF licenses this file to You under the Apache License, Version 2.0
## (the "License"); you may not use this file except in compliance with
## the License. You may obtain a copy of the License at
-##
+##
## http://www.apache.org/licenses/LICENSE-2.0
-##
+##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -32,4 +32,4 @@
log4j.appender.file.file=target/camel-mina-test.log
# debug loging for Camel
-log4j.logger.org.apache.camel.component.mina=DEBUG
+log4j.logger.org.apache.camel.component.mina=INFO