Author: cmueller Date: Thu Aug 2 22:11:44 2012 New Revision: 1368734 URL: http://svn.apache.org/viewvc?rev=1368734&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/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletProducer.java Modified: camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java?rev=1368734&r1=1368733&r2=1368734&view=diff ============================================================================== --- camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java (original) +++ camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java Thu Aug 2 22:11:44 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/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java?rev=1368734&r1=1368733&r2=1368734&view=diff ============================================================================== --- camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java (original) +++ camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java Thu Aug 2 22:11:44 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/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java?rev=1368734&r1=1368733&r2=1368734&view=diff ============================================================================== --- camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java (original) +++ camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java Thu Aug 2 22:11:44 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/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletProducer.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletProducer.java?rev=1368734&r1=1368733&r2=1368734&view=diff ============================================================================== --- camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletProducer.java (original) +++ camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletProducer.java Thu Aug 2 22:11:44 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()); } }