Author: davsclaus
Date: Mon Feb  4 08:13:10 2013
New Revision: 1442047

URL: http://svn.apache.org/viewvc?rev=1442047&view=rev
Log:
CAMEL-5953: Fixed Java DSL endChoice to avoid class cast exception when using 
unmarshal.

Added:
    
camel/branches/camel-2.10.x/camel-core/src/test/java/org/apache/camel/processor/CBRWhenUnmarshalEndChoiceTest.java
      - copied unchanged from r1442046, 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/CBRWhenUnmarshalEndChoiceTest.java
Modified:
    camel/branches/camel-2.10.x/   (props changed)
    
camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java

Propchange: camel/branches/camel-2.10.x/
------------------------------------------------------------------------------
  Merged /camel/trunk:r1442046

Propchange: camel/branches/camel-2.10.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java?rev=1442047&r1=1442046&r2=1442047&view=diff
==============================================================================
--- 
camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
 (original)
+++ 
camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
 Mon Feb  4 08:13:10 2013
@@ -1250,7 +1250,14 @@ public abstract class ProcessorDefinitio
      * @return the builder
      */
     public ChoiceDefinition endChoice() {
-        ProcessorDefinition<?> def = end();
+        // are we already a choice?
+        ProcessorDefinition<?> def = this;
+        if (def instanceof ChoiceDefinition) {
+            return (ChoiceDefinition) def;
+        }
+
+        // okay end this and get back to the choice
+        def = end();
         if (def instanceof WhenDefinition) {
             return (ChoiceDefinition) def.getParent();
         } else if (def instanceof OtherwiseDefinition) {


Reply via email to