You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2008/11/25 15:22:05 UTC
svn commit: r720503 -
/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RoutingSlip.java
Author: janstey
Date: Tue Nov 25 06:22:04 2008
New Revision: 720503
URL: http://svn.apache.org/viewvc?rev=720503&view=rev
Log:
Clean up code
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RoutingSlip.java
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RoutingSlip.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RoutingSlip.java?rev=720503&r1=720502&r2=720503&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RoutingSlip.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RoutingSlip.java Tue Nov 25 06:22:04 2008
@@ -94,8 +94,12 @@
private void updateRoutingSlip(Exchange current) {
Message message = getResultMessage(current);
- // TODO: Why not use indexOf and substr to find first delimiter, to skip first elemeent
- message.setHeader(header, removeFirstElement(recipients(message)));
+ String oldSlip = message.getHeader(header, String.class);
+ if (oldSlip != null) {
+ int delimiterIndex = oldSlip.indexOf(uriDelimiter);
+ String newSlip = delimiterIndex > 0 ? oldSlip.substring(delimiterIndex + 1) : "";
+ message.setHeader(header, newSlip);
+ }
}
/**
@@ -125,18 +129,6 @@
}
/**
- * Return a string representation of the element list with the first element
- * removed.
- */
- private String removeFirstElement(String[] elements) {
- CollectionStringBuffer updatedElements = new CollectionStringBuffer(uriDelimiter);
- for (int i = 1; i < elements.length; i++) {
- updatedElements.append(elements[i]);
- }
- return updatedElements.toString();
- }
-
- /**
* Copy the outbound data in 'source' to the inbound data in 'result'.
*/
private void copyOutToIn(Exchange result, Exchange source) {