You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/11/18 14:51:35 UTC

[1/2] camel git commit: Fix memory leak in undertow producer

Repository: camel
Updated Branches:
  refs/heads/master 56ddf955f -> 39174b7e7


Fix memory leak in undertow producer


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/62352740
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/62352740
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/62352740

Branch: refs/heads/master
Commit: 6235274060324d405a6d4f9b3542ca7a4a31689a
Parents: 56ddf95
Author: James Netherton <ja...@gmail.com>
Authored: Tue Nov 17 16:06:02 2015 +0000
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Nov 18 14:45:14 2015 +0100

----------------------------------------------------------------------
 .../undertow/DefaultUndertowHttpBinding.java    | 83 ++++++++++----------
 .../component/undertow/UndertowProducer.java    | 20 ++---
 .../undertow/UndertowProducerTest.java          |  1 -
 .../undertow/rest/RestApiUndertowTest.java      |  2 -
 ...UndertowHttpBindingModeAutoWithJsonTest.java |  2 +-
 ...tUndertowHttpBindingModeAutoWithXmlTest.java |  2 +-
 .../RestUndertowHttpBindingModeJsonTest.java    |  2 +-
 .../RestUndertowHttpBindingModeXmlTest.java     |  2 +-
 .../rest/RestUndertowHttpPojoInOutTest.java     |  4 +-
 .../RestUndertowHttpPostJsonJaxbPojoTest.java   |  2 +-
 .../RestUndertowHttpPostJsonPojoListTest.java   |  2 +-
 .../rest/RestUndertowHttpPostJsonPojoTest.java  |  2 +-
 .../RestUndertowHttpPostXmlJaxbPojoTest.java    |  2 +-
 13 files changed, 63 insertions(+), 63 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
index 481d29a..f3310e1 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.undertow;
 
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -28,14 +29,13 @@ import java.util.Map;
 import io.undertow.client.ClientExchange;
 import io.undertow.client.ClientRequest;
 import io.undertow.client.ClientResponse;
-import io.undertow.connector.ByteBufferPool;
-import io.undertow.connector.PooledByteBuffer;
 import io.undertow.predicate.Predicate;
 import io.undertow.server.HttpServerExchange;
 import io.undertow.util.Headers;
 import io.undertow.util.HttpString;
 import io.undertow.util.Methods;
 import io.undertow.util.MimeMappings;
+
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.TypeConverter;
@@ -46,6 +46,8 @@ import org.apache.camel.util.MessageHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.xnio.ChannelListener;
+import org.xnio.channels.StreamSourceChannel;
 
 /**
  * DefaultUndertowHttpBinding represent binding used by default, if user doesn't provide any.
@@ -83,8 +85,7 @@ public class DefaultUndertowHttpBinding implements UndertowHttpBinding {
         //extract body if the method is allowed to have one
         //body is extracted as byte[] then auto TypeConverter kicks in
         if (Methods.POST.equals(httpExchange.getRequestMethod()) || Methods.PUT.equals(httpExchange.getRequestMethod())) {
-            byte[] bytes = readRequestBody(httpExchange);
-            result.setBody(bytes);
+            result.setBody(readFromChannel(httpExchange.getRequestChannel()));
         } else {
             result.setBody(null);
         }
@@ -99,7 +100,7 @@ public class DefaultUndertowHttpBinding implements UndertowHttpBinding {
         //retrieve response headers
         populateCamelHeaders(clientExchange.getResponse(), result.getHeaders(), exchange);
 
-        result.setBody(readResponseBody(clientExchange));
+        result.setBody(readFromChannel(clientExchange.getResponseChannel()));
 
         return result;
     }
@@ -322,40 +323,42 @@ public class DefaultUndertowHttpBinding implements UndertowHttpBinding {
         return body;
     }
 
-    private byte[] readRequestBody(HttpServerExchange httpExchange) throws IOException {
-        ByteBufferPool bufferPool = httpExchange.getConnection().getByteBufferPool();
-        PooledByteBuffer pooledByteBuffer = bufferPool.allocate();
-        ByteBuffer byteBuffer = pooledByteBuffer.getBuffer();
-
-        byteBuffer.clear();
-
-        httpExchange.getRequestChannel().read(byteBuffer);
-        int pos = byteBuffer.position();
-        byteBuffer.rewind();
-        byte[] bytes = new byte[pos];
-        byteBuffer.get(bytes);
-
-        byteBuffer.clear();
-        pooledByteBuffer.close();
-        return bytes;
-    }
-
-    private byte[] readResponseBody(ClientExchange httpExchange) throws IOException {
-        ByteBufferPool bufferPool = httpExchange.getConnection().getBufferPool();
-        PooledByteBuffer pooledByteBuffer = bufferPool.allocate();
-        ByteBuffer byteBuffer = pooledByteBuffer.getBuffer();
-
-        byteBuffer.clear();
-
-        httpExchange.getResponseChannel().read(byteBuffer);
-        int pos = byteBuffer.position();
-        byteBuffer.rewind();
-        byte[] bytes = new byte[pos];
-        byteBuffer.get(bytes);
-
-        byteBuffer.clear();
-        pooledByteBuffer.close();
-        return bytes;
+    private byte[] readFromChannel(StreamSourceChannel source) throws IOException {
+        final ByteArrayOutputStream out = new ByteArrayOutputStream();
+        final ByteBuffer buffer = ByteBuffer.wrap(new byte[1024]);
+
+        for (; ; ) {
+            int res = source.read(buffer);
+            if (res == -1) {
+                return out.toByteArray();
+            } else if (res == 0) {
+                source.getReadSetter().set(new ChannelListener<StreamSourceChannel>() {
+                    @Override
+                    public void handleEvent(StreamSourceChannel channel) {
+                        for (; ; ) {
+                            try {
+                                int res = channel.read(buffer);
+                                if (res == -1 || res == 0) {
+                                    out.toByteArray();
+                                    return;
+                                } else {
+                                    buffer.flip();
+                                    out.write(buffer.array(), buffer.arrayOffset() + buffer.position(), buffer.arrayOffset() + buffer.limit());
+                                    buffer.clear();
+                                }
+                            } catch (IOException e) {
+                                LOG.error("Exception reading from channel {}", e);
+                            }
+                        }
+                    }
+                });
+                source.resumeReads();
+                return out.toByteArray();
+            } else {
+                buffer.flip();
+                out.write(buffer.array(), buffer.arrayOffset() + buffer.position(), buffer.arrayOffset() + buffer.limit());
+                buffer.clear();
+            }
+        }
     }
-
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
index 8e13e52..641cdbd 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
@@ -16,19 +16,20 @@
  */
 package org.apache.camel.component.undertow;
 
-import java.io.IOException;
-import java.net.URI;
-import java.nio.ByteBuffer;
-
 import io.undertow.client.ClientCallback;
 import io.undertow.client.ClientConnection;
 import io.undertow.client.ClientExchange;
 import io.undertow.client.ClientRequest;
 import io.undertow.client.UndertowClient;
-import io.undertow.server.XnioByteBufferPool;
+import io.undertow.server.DefaultByteBufferPool;
 import io.undertow.util.Headers;
 import io.undertow.util.HttpString;
 import io.undertow.util.Protocols;
+
+import java.io.IOException;
+import java.net.URI;
+import java.nio.ByteBuffer;
+
 import org.apache.camel.AsyncCallback;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
@@ -38,8 +39,6 @@ import org.apache.camel.util.ExchangeHelper;
 import org.apache.camel.util.IOHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.xnio.BufferAllocator;
-import org.xnio.ByteBufferSlicePool;
 import org.xnio.IoFuture;
 import org.xnio.OptionMap;
 import org.xnio.Xnio;
@@ -56,7 +55,7 @@ public class UndertowProducer extends DefaultAsyncProducer {
     private static final Logger LOG = LoggerFactory.getLogger(UndertowProducer.class);
     private UndertowEndpoint endpoint;
     private XnioWorker worker;
-    private ByteBufferSlicePool pool;
+    private DefaultByteBufferPool pool;
     private OptionMap options;
 
     public UndertowProducer(UndertowEndpoint endpoint, OptionMap options) {
@@ -77,7 +76,7 @@ public class UndertowProducer extends DefaultAsyncProducer {
         try {
             final UndertowClient client = UndertowClient.getInstance();
 
-            IoFuture<ClientConnection> connect = client.connect(endpoint.getHttpURI(), worker, new XnioByteBufferPool(pool), options);
+            IoFuture<ClientConnection> connect = client.connect(endpoint.getHttpURI(), worker, pool, options);
 
             // creating the url to use takes 2-steps
             String url = UndertowHelper.createURL(exchange, getEndpoint());
@@ -127,7 +126,8 @@ public class UndertowProducer extends DefaultAsyncProducer {
     protected void doStart() throws Exception {
         super.doStart();
 
-        pool = new ByteBufferSlicePool(BufferAllocator.DIRECT_BYTE_BUFFER_ALLOCATOR, 8192, 8192 * 8192);
+        pool = new DefaultByteBufferPool(true, 8192);
+
         worker = Xnio.getInstance().createWorker(options);
 
         LOG.debug("Created worker: {} with options: {}", worker, options);

http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowProducerTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowProducerTest.java
index 03059ef..ed6f2a4 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowProducerTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowProducerTest.java
@@ -66,7 +66,6 @@ public class UndertowProducerTest extends BaseUndertowTest {
 
     @Test
     public void testHttpSimpleHeaderAndBody() throws Exception {
-
         getMockEndpoint("mock:input").expectedBodiesReceived("Hello World");
         getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.HTTP_METHOD, "POST");
 

http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestApiUndertowTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestApiUndertowTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestApiUndertowTest.java
index 946c0b5..beece9e 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestApiUndertowTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestApiUndertowTest.java
@@ -32,8 +32,6 @@ public class RestApiUndertowTest extends BaseUndertowTest {
     public void testApi() throws Exception {
         String out = template.requestBody("undertow:http://localhost:{{port}}/api-doc", null, String.class);
         assertNotNull(out);
-        log.info(out);
-
         assertTrue(out.contains("\"version\" : \"1.2.3\""));
         assertTrue(out.contains("\"title\" : \"The hello rest thing\""));
         assertTrue(out.contains("\"/hello/bye/{name}\""));

http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithJsonTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithJsonTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithJsonTest.java
index dd03f09..e5fcd37 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithJsonTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithJsonTest.java
@@ -31,7 +31,7 @@ public class RestUndertowHttpBindingModeAutoWithJsonTest extends BaseUndertowTes
         mock.message(0).body().isInstanceOf(UserPojo.class);
 
         String body = "{\"id\": 123, \"name\": \"Donald Duck\"}";
-        template.sendBody("undertow:http://localhost:" + getPort() + "/users/new", body);
+        template.sendBody("undertow:http://localhost:{{port}}/users/new", body);
 
         assertMockEndpointsSatisfied();
 

http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithXmlTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithXmlTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithXmlTest.java
index 528ca4b..b94f25a 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithXmlTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithXmlTest.java
@@ -31,7 +31,7 @@ public class RestUndertowHttpBindingModeAutoWithXmlTest extends BaseUndertowTest
         mock.message(0).body().isInstanceOf(UserJaxbPojo.class);
 
         String body = "<user name=\"Donald Duck\" id=\"123\"></user>";
-        template.sendBody("undertow:http://localhost:" + getPort() + "/users/new", body);
+        template.sendBody("undertow:http://localhost:{{port}}/users/new", body);
 
         assertMockEndpointsSatisfied();
 

http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeJsonTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeJsonTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeJsonTest.java
index d28b45e..100afee 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeJsonTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeJsonTest.java
@@ -32,7 +32,7 @@ public class RestUndertowHttpBindingModeJsonTest extends BaseUndertowTest {
         mock.message(0).body().isInstanceOf(UserJaxbPojo.class);
 
         String body = "{\"id\": 123, \"name\": \"Donald Duck\"}";
-        template.sendBody("undertow:http://localhost:" + getPort() + "/users/new", body);
+        template.sendBody("undertow:http://localhost:{{port}}/users/new", body);
 
         assertMockEndpointsSatisfied();
 

http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeXmlTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeXmlTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeXmlTest.java
index 33cb016..f9baba4 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeXmlTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeXmlTest.java
@@ -31,7 +31,7 @@ public class RestUndertowHttpBindingModeXmlTest extends BaseUndertowTest {
         mock.message(0).body().isInstanceOf(UserJaxbPojo.class);
 
         String body = "<user name=\"Donald Duck\" id=\"123\"></user>";
-        template.sendBody("undertow:http://localhost:" + getPort() + "/users/new", body);
+        template.sendBody("undertow:http://localhost:{{port}}/users/new", body);
 
         assertMockEndpointsSatisfied();
 

http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPojoInOutTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPojoInOutTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPojoInOutTest.java
index efc9a34..68ccc8c 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPojoInOutTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPojoInOutTest.java
@@ -26,7 +26,7 @@ public class RestUndertowHttpPojoInOutTest extends BaseUndertowTest {
     @Test
     public void testUndertowPojoInOut() throws Exception {
         String body = "{\"id\": 123, \"name\": \"Donald Duck\"}";
-        String out = template.requestBody("undertow:http://localhost:" + getPort() + "/users/lives", body, String.class);
+        String out = template.requestBody("undertow:http://localhost:{{port}}/users/lives", body, String.class);
 
         assertNotNull(out);
         assertEquals("{\"iso\":\"EN\",\"country\":\"England\"}", out);
@@ -34,7 +34,7 @@ public class RestUndertowHttpPojoInOutTest extends BaseUndertowTest {
     
     @Test
     public void testUndertowGetRequest() throws Exception {
-        String out = template.requestBody("undertow:http://localhost:" + getPort() + "/users/lives", null, String.class);
+        String out = template.requestBody("undertow:http://localhost:{{port}}/users/lives", null, String.class);
 
         assertNotNull(out);
         assertEquals("{\"iso\":\"EN\",\"country\":\"England\"}", out);

http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonJaxbPojoTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonJaxbPojoTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonJaxbPojoTest.java
index 0d7d2ab..375acad 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonJaxbPojoTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonJaxbPojoTest.java
@@ -31,7 +31,7 @@ public class RestUndertowHttpPostJsonJaxbPojoTest extends BaseUndertowTest {
         mock.message(0).body().isInstanceOf(UserJaxbPojo.class);
 
         String body = "{\"id\": 123, \"name\": \"Donald Duck\"}";
-        template.sendBody("undertow:http://localhost:" + getPort() + "/users/new", body);
+        template.sendBody("undertow:http://localhost:{{port}}/users/new", body);
 
         assertMockEndpointsSatisfied();
 

http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoListTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoListTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoListTest.java
index 8a42dd1..27a5a2c 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoListTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoListTest.java
@@ -32,7 +32,7 @@ public class RestUndertowHttpPostJsonPojoListTest extends BaseUndertowTest {
         mock.expectedMessageCount(1);
 
         String body = "[ {\"id\": 123, \"name\": \"Donald Duck\"}, {\"id\": 456, \"name\": \"John Doe\"} ]";
-        template.sendBody("undertow:http://localhost:" + getPort() + "/users/new", body);
+        template.sendBody("undertow:http://localhost:{{port}}/users/new", body);
 
         assertMockEndpointsSatisfied();
 

http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoTest.java
index 10b7b43..02370d6 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoTest.java
@@ -31,7 +31,7 @@ public class RestUndertowHttpPostJsonPojoTest extends BaseUndertowTest {
         mock.message(0).body().isInstanceOf(UserPojo.class);
 
         String body = "{\"id\": 123, \"name\": \"Donald Duck\"}";
-        template.sendBody("undertow:http://localhost:" + getPort() + "/users/new", body);
+        template.sendBody("undertow:http://localhost:{{port}}/users/new", body);
 
         assertMockEndpointsSatisfied();
 

http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostXmlJaxbPojoTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostXmlJaxbPojoTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostXmlJaxbPojoTest.java
index 1b15bf0..b4d0e44 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostXmlJaxbPojoTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostXmlJaxbPojoTest.java
@@ -32,7 +32,7 @@ public class RestUndertowHttpPostXmlJaxbPojoTest extends BaseUndertowTest {
         mock.message(0).body().isInstanceOf(UserJaxbPojo.class);
 
         String body = "<user name=\"Donald Duck\" id=\"123\"></user>";
-        template.sendBodyAndHeader("undertow:http://localhost:" + getPort() + "/users/new", body, Exchange.CONTENT_TYPE, "text/xml");
+        template.sendBodyAndHeader("undertow:http://localhost:{{port}}/users/new", body, Exchange.CONTENT_TYPE, "text/xml");
 
         assertMockEndpointsSatisfied();
 


[2/2] camel git commit: Fixed CS

Posted by da...@apache.org.
Fixed CS


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/39174b7e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/39174b7e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/39174b7e

Branch: refs/heads/master
Commit: 39174b7e75e9d2e25c4b2849c00ca3179143818e
Parents: 6235274
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Nov 18 14:51:26 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Nov 18 14:51:26 2015 +0100

----------------------------------------------------------------------
 .../undertow/DefaultUndertowHttpBinding.java    |  4 ++--
 .../component/undertow/UndertowComponent.java   | 17 ++++++++--------
 .../component/undertow/UndertowConsumer.java    |  2 +-
 .../undertow/UndertowConsumerResolver.java      | 21 +++++++++++++++++---
 .../component/undertow/UndertowProducer.java    |  9 ++++-----
 .../component/undertow/rest/RestGetTest.java    |  2 +-
 6 files changed, 34 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/39174b7e/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
index f3310e1..4fbd762 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
@@ -327,7 +327,7 @@ public class DefaultUndertowHttpBinding implements UndertowHttpBinding {
         final ByteArrayOutputStream out = new ByteArrayOutputStream();
         final ByteBuffer buffer = ByteBuffer.wrap(new byte[1024]);
 
-        for (; ; ) {
+        for (;;) {
             int res = source.read(buffer);
             if (res == -1) {
                 return out.toByteArray();
@@ -335,7 +335,7 @@ public class DefaultUndertowHttpBinding implements UndertowHttpBinding {
                 source.getReadSetter().set(new ChannelListener<StreamSourceChannel>() {
                     @Override
                     public void handleEvent(StreamSourceChannel channel) {
-                        for (; ; ) {
+                        for (;;) {
                             try {
                                 int res = channel.read(buffer);
                                 if (res == -1 || res == 0) {

http://git-wip-us.apache.org/repos/asf/camel/blob/39174b7e/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
index 28c4a2d..062a6c9 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
@@ -16,15 +16,6 @@
  */
 package org.apache.camel.component.undertow;
 
-import io.undertow.Handlers;
-import io.undertow.Undertow;
-import io.undertow.attribute.ExchangeAttributes;
-import io.undertow.predicate.PathTemplatePredicate;
-import io.undertow.predicate.Predicate;
-import io.undertow.predicate.Predicates;
-import io.undertow.server.handlers.PathHandler;
-import io.undertow.server.handlers.PredicateHandler;
-
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.ArrayList;
@@ -33,6 +24,14 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
+import io.undertow.Handlers;
+import io.undertow.Undertow;
+import io.undertow.attribute.ExchangeAttributes;
+import io.undertow.predicate.PathTemplatePredicate;
+import io.undertow.predicate.Predicate;
+import io.undertow.predicate.Predicates;
+import io.undertow.server.handlers.PathHandler;
+import io.undertow.server.handlers.PredicateHandler;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Consumer;
 import org.apache.camel.Endpoint;

http://git-wip-us.apache.org/repos/asf/camel/blob/39174b7e/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumer.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumer.java
index 9eca7a3..f7d9ace 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumer.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumer.java
@@ -68,7 +68,7 @@ public class UndertowConsumer extends DefaultConsumer {
         httpCamelHandler.connectConsumer(this);
 
         host.validateEndpointURI(httpUri);
-        host.registerHandler(httpUri.getPath(), httpCamelHandler) ;
+        host.registerHandler(httpUri.getPath(), httpCamelHandler);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/39174b7e/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumerResolver.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumerResolver.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumerResolver.java
index f8f4ec3..9a56c2a 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumerResolver.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumerResolver.java
@@ -1,12 +1,27 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.camel.component.undertow;
 
-import io.undertow.server.HttpServerExchange;
-import io.undertow.util.HttpString;
-
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
+import io.undertow.server.HttpServerExchange;
+import io.undertow.util.HttpString;
 import org.apache.camel.support.RestConsumerContextPathMatcher;
 
 public class UndertowConsumerResolver {

http://git-wip-us.apache.org/repos/asf/camel/blob/39174b7e/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
index 641cdbd..c74b7c3 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
@@ -16,6 +16,10 @@
  */
 package org.apache.camel.component.undertow;
 
+import java.io.IOException;
+import java.net.URI;
+import java.nio.ByteBuffer;
+
 import io.undertow.client.ClientCallback;
 import io.undertow.client.ClientConnection;
 import io.undertow.client.ClientExchange;
@@ -25,11 +29,6 @@ import io.undertow.server.DefaultByteBufferPool;
 import io.undertow.util.Headers;
 import io.undertow.util.HttpString;
 import io.undertow.util.Protocols;
-
-import java.io.IOException;
-import java.net.URI;
-import java.nio.ByteBuffer;
-
 import org.apache.camel.AsyncCallback;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;

http://git-wip-us.apache.org/repos/asf/camel/blob/39174b7e/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestGetTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestGetTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestGetTest.java
index 5474278..40ec680 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestGetTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestGetTest.java
@@ -44,7 +44,7 @@ public class RestGetTest extends BaseUndertowTest {
                                 String id = exchange.getIn().getHeader("id", String.class);
                                 exchange.getOut().setBody(id + ";Donald Duck");
                             }
-                         });
+                        });
             }
         };
     }