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 2009/12/14 15:21:16 UTC

svn commit: r890339 - in /camel/trunk/camel-core/src: main/java/org/apache/camel/ main/java/org/apache/camel/processor/ main/java/org/apache/camel/processor/aggregate/ test/java/org/apache/camel/issues/ test/java/org/apache/camel/processor/

Author: davsclaus
Date: Mon Dec 14 14:21:16 2009
New Revision: 890339

URL: http://svn.apache.org/viewvc?rev=890339&view=rev
Log:
CAMEL-2288: Remove filter feature from split,enrich,pollEnrich as it was confusing and should not have been implemented in the first place.

Added:
    camel/trunk/camel-core/src/test/java/org/apache/camel/issues/TryCatchFinallyOnExceptionIssueTest.java   (with props)
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FilterBeforeSplitTest.java
      - copied, changed from r890261, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldSkipFilteredExchanges.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldNotSkipFilteredExchanges.java   (contents, props changed)
      - copied, changed from r890261, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldSkipFilteredExchanges.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitWithNestedFilterShouldNotSkipFilteredExchanges.java   (contents, props changed)
      - copied, changed from r890261, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitWithNestedFilterShouldSkipFilteredExchanges.java
Removed:
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldSkipFilteredExchanges.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitWithNestedFilterShouldSkipFilteredExchanges.java
Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Enricher.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/FilterProcessor.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/PollEnricher.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/DefaultAggregationCollection.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java?rev=890339&r1=890338&r2=890339&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java Mon Dec 14 14:21:16 2009
@@ -66,7 +66,6 @@
     String FILE_NAME_PRODUCED   = "CamelFileNameProduced";
     String FILE_PATH            = "CamelFilePath";
     String FILE_PARENT          = "CamelFileParent";
-    String FILTERED             = "CamelFiltered";
 
     String GROUPED_EXCHANGE = "CamelGroupedExchange";
     

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Enricher.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Enricher.java?rev=890339&r1=890338&r2=890339&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Enricher.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/Enricher.java Mon Dec 14 14:21:16 2009
@@ -35,7 +35,7 @@
  * input data and additional data is delegated to an {@link AggregationStrategy}
  * object.
  * <p/>
- * Uses a {@link org.apache.camel.Producer} to obatin the additional data as opposed to {@link PollEnricher}
+ * Uses a {@link org.apache.camel.Producer} to obtain the additional data as opposed to {@link PollEnricher}
  * that uses a {@link org.apache.camel.PollingConsumer}.
  *
  * @see PollEnricher
@@ -107,21 +107,12 @@
         } else {
             prepareResult(exchange);
 
-            // aggregate original exchange and resource exchange
-            // but do not aggregate if the resource exchange was filtered
-            Boolean filtered = resourceExchange.getProperty(Exchange.FILTERED, Boolean.class);
-            if (filtered == null || !filtered) {
-                // prepare the exchanges for aggregation
-                ExchangeHelper.prepareAggregation(exchange, resourceExchange);
-                Exchange aggregatedExchange = aggregationStrategy.aggregate(exchange, resourceExchange);
-                if (aggregatedExchange != null) {
-                    // copy aggregation result onto original exchange (preserving pattern)
-                    copyResultsPreservePattern(exchange, aggregatedExchange);
-                }
-            } else {
-                if (LOG.isTraceEnabled()) {
-                    LOG.trace("Cannot aggregate exchange as its filtered: " + resourceExchange);
-                }
+            // prepare the exchanges for aggregation
+            ExchangeHelper.prepareAggregation(exchange, resourceExchange);
+            Exchange aggregatedExchange = aggregationStrategy.aggregate(exchange, resourceExchange);
+            if (aggregatedExchange != null) {
+                // copy aggregation result onto original exchange (preserving pattern)
+                copyResultsPreservePattern(exchange, aggregatedExchange);
             }
         }
     }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/FilterProcessor.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/FilterProcessor.java?rev=890339&r1=890338&r2=890339&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/FilterProcessor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/FilterProcessor.java Mon Dec 14 14:21:16 2009
@@ -39,14 +39,14 @@
     }
 
     public void process(Exchange exchange) throws Exception {
-        if (predicate.matches(exchange)) {
+        boolean matches = predicate.matches(exchange);
+
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Filter matches: " + matches + " for exchange: " + exchange);
+        }
+
+        if (matches) {
             super.process(exchange);
-        } else {
-            if (LOG.isDebugEnabled()) {
-                LOG.debug("Marking exchange as filtered: " + exchange);
-            }
-            // mark this exchange as filtered
-            exchange.setProperty(Exchange.FILTERED, Boolean.TRUE);
         }
     }
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java?rev=890339&r1=890338&r2=890339&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java Mon Dec 14 14:21:16 2009
@@ -291,17 +291,11 @@
      * @param exchange the exchange to be added to the result
      */
     protected synchronized void doAggregate(AtomicExchange result, Exchange exchange) {
-        // only aggregate if the exchange is not filtered (eg by the FilterProcessor)
-        Boolean filtered = exchange.getProperty(Exchange.FILTERED, Boolean.class);
-        if (aggregationStrategy != null && (filtered == null || !filtered)) {
+        if (aggregationStrategy != null) {
             // prepare the exchanges for aggregation
             Exchange oldExchange = result.get();
             ExchangeHelper.prepareAggregation(oldExchange, exchange);
             result.set(aggregationStrategy.aggregate(oldExchange, exchange));
-        } else {
-            if (LOG.isTraceEnabled()) {
-                LOG.trace("Cannot aggregate exchange as its filtered: " + exchange);
-            }
         }
     }
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/PollEnricher.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/PollEnricher.java?rev=890339&r1=890338&r2=890339&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/PollEnricher.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/PollEnricher.java Mon Dec 14 14:21:16 2009
@@ -17,7 +17,6 @@
 package org.apache.camel.processor;
 
 import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
 import org.apache.camel.PollingConsumer;
 import org.apache.camel.Processor;
 import org.apache.camel.impl.EventDrivenPollingConsumer;
@@ -35,7 +34,7 @@
  * input data and additional data is delegated to an {@link org.apache.camel.processor.aggregate.AggregationStrategy}
  * object.
  * <p/>
- * Uses a {@link org.apache.camel.PollingConsumer} to obatin the additional data as opposed to {@link Enricher}
+ * Uses a {@link org.apache.camel.PollingConsumer} to obtain the additional data as opposed to {@link Enricher}
  * that uses a {@link org.apache.camel.Producer}.
  *
  * @see Enricher
@@ -145,24 +144,12 @@
         } else {
             prepareResult(exchange);
 
-            // aggregate original exchange and resource exchange
-            // but do not aggregate if the resource exchange was filtered
-            Boolean filtered = null;
-            if (resourceExchange != null) {
-                filtered = resourceExchange.getProperty(Exchange.FILTERED, Boolean.class);
-            }
-            if (filtered == null || !filtered) {
-                // prepare the exchanges for aggregation
-                ExchangeHelper.prepareAggregation(exchange, resourceExchange);
-                Exchange aggregatedExchange = aggregationStrategy.aggregate(exchange, resourceExchange);
-                if (aggregatedExchange != null) {
-                    // copy aggregation result onto original exchange (preserving pattern)
-                    copyResultsPreservePattern(exchange, aggregatedExchange);
-                }
-            } else {
-                if (LOG.isTraceEnabled()) {
-                    LOG.trace("Cannot aggregate exchange as its filtered: " + resourceExchange);
-                }
+            // prepare the exchanges for aggregation
+            ExchangeHelper.prepareAggregation(exchange, resourceExchange);
+            Exchange aggregatedExchange = aggregationStrategy.aggregate(exchange, resourceExchange);
+            if (aggregatedExchange != null) {
+                // copy aggregation result onto original exchange (preserving pattern)
+                copyResultsPreservePattern(exchange, aggregatedExchange);
             }
         }
     }
@@ -189,21 +176,6 @@
         }
     }
 
-    /**
-     * Creates a new {@link org.apache.camel.impl.DefaultExchange} instance from the given
-     * <code>exchange</code>. The resulting exchange's pattern is defined by
-     * <code>pattern</code>.
-     *
-     * @param source  exchange to copy from.
-     * @param pattern exchange pattern to set.
-     * @return created exchange.
-     */
-    protected Exchange createResourceExchange(Exchange source, ExchangePattern pattern) {
-        Exchange target = source.copy();
-        target.setPattern(pattern);
-        return target;
-    }
-
     private static void prepareResult(Exchange exchange) {
         if (exchange.getPattern().isOutCapable()) {
             exchange.getOut().copyFrom(exchange.getIn());

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/DefaultAggregationCollection.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/DefaultAggregationCollection.java?rev=890339&r1=890338&r2=890339&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/DefaultAggregationCollection.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/DefaultAggregationCollection.java Mon Dec 14 14:21:16 2009
@@ -58,15 +58,6 @@
 
     @Override
     public boolean add(Exchange exchange) {
-        // do not add exchange if it was filtered
-        Boolean filtered = exchange.getProperty(Exchange.FILTERED, Boolean.class);
-        if (filtered != null && filtered) {
-            if (LOG.isTraceEnabled()) {
-                LOG.trace("Cannot aggregate exchange as its filtered: " + exchange);
-            }
-            return false;
-        }
-
         Object correlationKey = correlationExpression.evaluate(exchange, Object.class);
         if (LOG.isTraceEnabled()) {
             LOG.trace("Evaluated expression: " + correlationExpression + " as correlation key: " + correlationKey);

Added: camel/trunk/camel-core/src/test/java/org/apache/camel/issues/TryCatchFinallyOnExceptionIssueTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/TryCatchFinallyOnExceptionIssueTest.java?rev=890339&view=auto
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/issues/TryCatchFinallyOnExceptionIssueTest.java (added)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/issues/TryCatchFinallyOnExceptionIssueTest.java Mon Dec 14 14:21:16 2009
@@ -0,0 +1,59 @@
+/**
+ * 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.issues;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+
+/**
+ * @version $Revision$
+ */
+public class TryCatchFinallyOnExceptionIssueTest extends ContextTestSupport {
+
+    public void testTryCatchFinallyOnExceptionIssue() throws Exception {
+        // doTry .. doCatch .. doFinally uses its own error handling so we wont get one here
+        getMockEndpoint("mock:error").expectedMessageCount(0);
+
+        getMockEndpoint("mock:finally").expectedMessageCount(1);
+        getMockEndpoint("mock:end").expectedMessageCount(0);
+
+        template.sendBody("seda:start", "Hello World");
+
+        assertMockEndpointsSatisfied();
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("seda:start")
+                    .onException(Exception.class)
+                        .handled(true)
+                        .maximumRedeliveries(2)
+                        .to("mock:error")
+                    .end()
+                    .doTry()
+                        .throwException(new IllegalArgumentException("Damn"))
+                    .doFinally()
+                        .to("mock:finally")
+                    .end()
+                    .to("mock:end");
+            }
+        };
+    }
+}

Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/issues/TryCatchFinallyOnExceptionIssueTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/issues/TryCatchFinallyOnExceptionIssueTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FilterBeforeSplitTest.java (from r890261, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldSkipFilteredExchanges.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FilterBeforeSplitTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FilterBeforeSplitTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldSkipFilteredExchanges.java&r1=890261&r2=890339&rev=890339&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldSkipFilteredExchanges.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FilterBeforeSplitTest.java Mon Dec 14 14:21:16 2009
@@ -16,9 +16,6 @@
  */
 package org.apache.camel.processor;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Predicate;
@@ -27,26 +24,36 @@
 import org.apache.camel.processor.aggregate.AggregationStrategy;
 
 /**
- * Unit test to verify that Splitter aggregator does not included filtered exchanges.
+ * Unit test to verify that Splitter aggregator clear the filtered history in case
+ * filter has been used <b>before</b> the splitter.
  *
  * @version $Revision$
  */
-public class SplitShouldSkipFilteredExchanges extends ContextTestSupport {
 
-    public void testSplitWithFilter() throws Exception {
+public class FilterBeforeSplitTest extends ContextTestSupport {
+
+    public void testFilterBeforeSplit() throws Exception {
+        getMockEndpoint("mock:good").expectedBodiesReceived("Hello World how are you?");
+
         MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedBodiesReceived("Hello World,Bye World");
+        mock.expectedBodiesReceived("Hello,World,how,are,you?");
 
-        MockEndpoint filtered = getMockEndpoint("mock:filtered");
-        filtered.expectedBodiesReceived("Hello World", "Bye World");
+        MockEndpoint split = getMockEndpoint("mock:split");
+        split.expectedBodiesReceived("Hello", "World", "how", "are", "you?");
 
-        List<String> body = new ArrayList<String>();
-        body.add("Hello World");
-        body.add("Hi there");
-        body.add("Bye World");
-        body.add("How do you do?");
+        template.sendBody("direct:start", "Hello World how are you?");
+
+        assertMockEndpointsSatisfied();
+    }
 
-        template.sendBody("direct:start", body);
+    public void testFiltered() throws Exception {
+        getMockEndpoint("mock:good").expectedBodiesReceived("Hello World");
+        getMockEndpoint("mock:before").expectedBodiesReceived("I will be filtered", "Hello World");
+        getMockEndpoint("mock:result").expectedBodiesReceived("I,will,be,filtered", "Hello,World");
+        getMockEndpoint("mock:split").expectedBodiesReceived("I", "will", "be", "filtered", "Hello", "World");
+
+        template.sendBody("direct:start", "I will be filtered");
+        template.sendBody("direct:start", "Hello World");
 
         assertMockEndpointsSatisfied();
     }
@@ -56,15 +63,17 @@
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
+                Predicate goodWord = body().contains("World");
+
                 from("direct:start")
-                    .to("direct:split")
+                    .to("mock:before")
+                    .filter(goodWord)
+                        .to("mock:good")
+                    .end()
+                    .split(body().tokenize(" "), new MyAggregationStrategy())
+                        .to("mock:split")
+                    .end()
                     .to("mock:result");
-
-                Predicate goodWord = body().contains("World");
-                from("direct:split")
-                    .split(body(List.class), new MyAggregationStrategy())
-                        .filter(goodWord)
-                            .to("mock:filtered");
             }
         };
     }
@@ -85,4 +94,4 @@
         }
 
     }
-}
+}
\ No newline at end of file

Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldNotSkipFilteredExchanges.java (from r890261, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldSkipFilteredExchanges.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldNotSkipFilteredExchanges.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldNotSkipFilteredExchanges.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldSkipFilteredExchanges.java&r1=890261&r2=890339&rev=890339&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldSkipFilteredExchanges.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldNotSkipFilteredExchanges.java Mon Dec 14 14:21:16 2009
@@ -27,15 +27,15 @@
 import org.apache.camel.processor.aggregate.AggregationStrategy;
 
 /**
- * Unit test to verify that Splitter aggregator does not included filtered exchanges.
+ * Unit test to verify that Splitter aggregator always include any exchanges.
  *
  * @version $Revision$
  */
-public class SplitShouldSkipFilteredExchanges extends ContextTestSupport {
+public class SplitShouldNotSkipFilteredExchanges extends ContextTestSupport {
 
     public void testSplitWithFilter() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedBodiesReceived("Hello World,Bye World");
+        mock.expectedBodiesReceived("Hello World,Hi there,Bye World,How do you do?");
 
         MockEndpoint filtered = getMockEndpoint("mock:filtered");
         filtered.expectedBodiesReceived("Hello World", "Bye World");

Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldNotSkipFilteredExchanges.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldNotSkipFilteredExchanges.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitWithNestedFilterShouldNotSkipFilteredExchanges.java (from r890261, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitWithNestedFilterShouldSkipFilteredExchanges.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitWithNestedFilterShouldNotSkipFilteredExchanges.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitWithNestedFilterShouldNotSkipFilteredExchanges.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitWithNestedFilterShouldSkipFilteredExchanges.java&r1=890261&r2=890339&rev=890339&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitWithNestedFilterShouldSkipFilteredExchanges.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitWithNestedFilterShouldNotSkipFilteredExchanges.java Mon Dec 14 14:21:16 2009
@@ -22,11 +22,11 @@
 import org.apache.camel.builder.RouteBuilder;
 
 /**
- * Unit test to verify that Splitter aggregator does not included filtered exchanges.
+ * Unit test to verify that Splitter aggregator always include any exchanges.
  *
  * @version $Revision$
  */
-public class SplitWithNestedFilterShouldSkipFilteredExchanges extends SplitShouldSkipFilteredExchanges {
+public class SplitWithNestedFilterShouldNotSkipFilteredExchanges extends SplitShouldNotSkipFilteredExchanges {
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {

Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitWithNestedFilterShouldNotSkipFilteredExchanges.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitWithNestedFilterShouldNotSkipFilteredExchanges.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date