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) {