You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cm...@apache.org on 2012/08/20 21:39:32 UTC

svn commit: r1375181 - in /camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet: DefaultRestletBinding.java MethodBasedRouter.java RestletComponent.java RestletProducer.java

Author: cmueller
Date: Mon Aug 20 19:39:31 2012
New Revision: 1375181

URL: http://svn.apache.org/viewvc?rev=1375181&view=rev
Log:
CAMEL-5482: Clean up the camel restlet component code and fixed a logging entry that displayed the wrong data.
Thanks Claudio Corsi for the patch

Modified:
    camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java
    camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java
    camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java
    camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletProducer.java

Modified: camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java?rev=1375181&r1=1375180&r2=1375181&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java (original)
+++ camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java Mon Aug 20 19:39:31 2012
@@ -66,8 +66,10 @@ public class DefaultRestletBinding imple
         // extract headers from restlet
         for (Map.Entry<String, Object> entry : request.getAttributes().entrySet()) {
             if (!headerFilterStrategy.applyFilterToExternalHeaders(entry.getKey(), entry.getValue(), exchange)) {
-                inMessage.setHeader(entry.getKey(), entry.getValue());
-                LOG.debug("Populate exchange from Restlet request header: {} value: {}", entry.getKey(), entry.getValue());
+                String key = entry.getKey();
+                Object value = entry.getValue();
+                inMessage.setHeader(key, value);
+                LOG.debug("Populate exchange from Restlet request header: {} value: {}", key, value);
             }
         }
 
@@ -91,13 +93,15 @@ public class DefaultRestletBinding imple
         if (request.getEntity().getMediaType() != null && request.getEntity().getMediaType().equals(MediaType.APPLICATION_WWW_FORM)) {
             Form form = new Form(request.getEntity());
             for (Map.Entry<String, String> entry : form.getValuesMap().entrySet()) {
-                if (entry.getValue() == null) {
-                    inMessage.setBody(entry.getKey());
-                    LOG.debug("Populate exchange from Restlet request body: {}", entry.getValue());
+                String key = entry.getKey();
+                String value = entry.getValue();
+                if (value == null) {
+                    inMessage.setBody(key);
+                    LOG.debug("Populate exchange from Restlet request body: {}", key);
                 } else {
-                    if (!headerFilterStrategy.applyFilterToExternalHeaders(entry.getKey(), entry.getValue(), exchange)) {
-                        inMessage.setHeader(entry.getKey(), entry.getValue());
-                        LOG.debug("Populate exchange from Restlet request user header: {} value: {}", entry.getKey(), entry.getValue());
+                    if (!headerFilterStrategy.applyFilterToExternalHeaders(key, value, exchange)) {
+                        inMessage.setHeader(key, value);
+                        LOG.debug("Populate exchange from Restlet request user header: {} value: {}", key, value);
                     }
                 }
             }
@@ -132,21 +136,23 @@ public class DefaultRestletBinding imple
         }
 
         for (Map.Entry<String, Object> entry : exchange.getIn().getHeaders().entrySet()) {
-            if (!headerFilterStrategy.applyFilterToCamelHeaders(entry.getKey(), entry.getValue(), exchange)) {
+            String key = entry.getKey();
+            Object value = entry.getValue();
+            if (!headerFilterStrategy.applyFilterToCamelHeaders(key, value, exchange)) {
                 // Use forms only for GET and POST/x-www-form-urlencoded
                 if (request.getMethod() == Method.GET || (request.getMethod() == Method.POST && mediaType == MediaType.APPLICATION_WWW_FORM)) {
-                    if (entry.getKey().startsWith("org.restlet.")) {
+                    if (key.startsWith("org.restlet.")) {
                         // put the org.restlet headers in attributes
-                        request.getAttributes().put(entry.getKey(), entry.getValue());
+                        request.getAttributes().put(key, value);
                     } else {
                         // put the user stuff in the form
-                        form.add(entry.getKey(), entry.getValue().toString());
+                        form.add(key, value.toString());
                     }
                 } else {
                     // For non-form post put all the headers in attributes
-                    request.getAttributes().put(entry.getKey(), entry.getValue());
+                    request.getAttributes().put(key, value);
                 }
-                LOG.debug("Populate Restlet request from exchange header: {} value: {}", entry.getKey(), entry.getValue());
+                LOG.debug("Populate Restlet request from exchange header: {} value: {}", key, value);
             }
         }
 
@@ -236,18 +242,22 @@ public class DefaultRestletBinding imple
 
         // set headers at the end, as the entity must be set first
         for (Map.Entry<String, Object> entry : out.getHeaders().entrySet()) {
-            if (!headerFilterStrategy.applyFilterToCamelHeaders(entry.getKey(), entry.getValue(), exchange)) {
-                setResponseHeader(exchange, response, entry.getKey(), entry.getValue());
-                LOG.debug("Populate Restlet HTTP header in response from exchange header: {} value: {}", entry.getKey(), entry.getValue());
+            String key = entry.getKey();
+            Object value = entry.getValue();
+            if (!headerFilterStrategy.applyFilterToCamelHeaders(key, value, exchange)) {
+                setResponseHeader(exchange, response, key, value);
+                LOG.debug("Populate Restlet HTTP header in response from exchange header: {} value: {}", key, value);
             }
         }
     }
 
     public void populateExchangeFromRestletResponse(Exchange exchange, Response response) throws Exception {
         for (Map.Entry<String, Object> entry : response.getAttributes().entrySet()) {
-            if (!headerFilterStrategy.applyFilterToExternalHeaders(entry.getKey(), entry.getValue(), exchange)) {
-                exchange.getOut().setHeader(entry.getKey(), entry.getValue());
-                LOG.debug("Populate exchange from Restlet response header: {} value: {}", entry.getKey(), entry.getValue());
+            String key = entry.getKey();
+            Object value = entry.getValue();
+            if (!headerFilterStrategy.applyFilterToExternalHeaders(key, value, exchange)) {
+                exchange.getOut().setHeader(key, value);
+                LOG.debug("Populate exchange from Restlet response header: {} value: {}", key, value);
             }
         }
 

Modified: camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java?rev=1375181&r1=1375180&r2=1375181&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java (original)
+++ camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java Mon Aug 20 19:39:31 2012
@@ -46,13 +46,14 @@ class MethodBasedRouter extends Restlet 
     
     @Override
     public void handle(Request request, Response response) {
-        LOG.debug("MethodRouter ({}) received request method: {}", uriPattern, request.getMethod());
+        Method method = request.getMethod();
+        LOG.debug("MethodRouter ({}) received request method: {}", uriPattern, method);
         
-        Restlet target = routes.get(request.getMethod());
+        Restlet target = routes.get(method);
         if (target != null) {
             target.handle(request, response);
         } else {
-            LOG.debug("No route for request method: {}", request.getMethod());
+            LOG.debug("No route for request method: {}", method);
             response.setStatus(Status.CLIENT_ERROR_NOT_FOUND);
         }
     }

Modified: camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java?rev=1375181&r1=1375180&r2=1375181&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java (original)
+++ camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java Mon Aug 20 19:39:31 2012
@@ -280,10 +280,9 @@ public class RestletComponent extends He
                 LOG.debug("Attached restlet uriPattern: {} method: {}", uriPattern, method);
             }
         } else {
-            router.addRoute(endpoint.getRestletMethod(), target);
-            if (LOG.isDebugEnabled()) {
-                LOG.debug("Attached restlet uriPattern: {} method: {}", uriPattern, endpoint.getRestletMethod());
-            }
+            Method method = endpoint.getRestletMethod();
+            router.addRoute(method, target);
+            LOG.debug("Attached restlet uriPattern: {} method: {}", uriPattern, method);
         }
 
         if (!router.hasBeenAttached()) {

Modified: camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletProducer.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletProducer.java?rev=1375181&r1=1375180&r2=1375181&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletProducer.java (original)
+++ camel/branches/camel-2.10.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletProducer.java Mon Aug 20 19:39:31 2012
@@ -130,9 +130,7 @@ public class RestletProducer extends Def
 
         String query = exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class);
         if (query != null) {
-            if (LOG.isTraceEnabled()) {
-                LOG.trace("Adding query: " + query + " to uri: " + uri);
-            }
+            LOG.trace("Adding query: {} to uri: {}", query, uri);
             uri = addQueryToUri(uri, query);
         }
 
@@ -145,7 +143,7 @@ public class RestletProducer extends Def
             return uri;
         }
 
-        StringBuffer answer = new StringBuffer();
+        StringBuilder answer = new StringBuilder();
 
         int index = uri.indexOf('?');
         if (index < 0) {
@@ -204,8 +202,10 @@ public class RestletProducer extends Def
         if (response instanceof Response) {
 
             for (Map.Entry<String, Object> entry : ((Response) response).getAttributes().entrySet()) {
-                LOG.trace("Parse external header {}={}", entry.getKey(), entry.getValue());
-                answer.put(entry.getKey(), entry.getValue().toString());
+                String key = entry.getKey();
+                Object value = entry.getValue();
+                LOG.trace("Parse external header {}={}", key, value);
+                answer.put(key, value.toString());
             }
         }