Author: davsclaus Date: Sat Jun 4 15:57:29 2011 New Revision: 1131420 URL: http://svn.apache.org/viewvc?rev=1131420&view=rev Log: CAMEL-4052: JAXB will now invoke setId so we know if its a custom assigned id when defining routes in XML.
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java camel/trunk/camel-core/src/test/java/org/apache/camel/processor/intercept/ParentChildInterceptStrategyTest.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java?rev=1131420&r1=1131419&r2=1131420&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java Sat Jun 4 15:57:29 2011 @@ -34,15 +34,11 @@ import org.apache.camel.spi.NodeIdFactor * @version */ @XmlType(name = "optionalIdentifiedDefinition") -@XmlAccessorType(XmlAccessType.FIELD) +@XmlAccessorType(XmlAccessType.PROPERTY) public abstract class OptionalIdentifiedDefinition<T extends OptionalIdentifiedDefinition<T>> { - @XmlAttribute - @XmlJavaTypeAdapter(CollapsedStringAdapter.class) - @XmlID private String id; @XmlTransient private boolean customId; - @XmlElement private DescriptionDefinition description; /** @@ -55,6 +51,9 @@ public abstract class OptionalIdentified /** * Sets the value of the id property. */ + @XmlAttribute + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID public void setId(String value) { this.id = value; customId = true; @@ -64,6 +63,7 @@ public abstract class OptionalIdentified return description; } + @XmlElement public void setDescription(DescriptionDefinition description) { this.description = description; } Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/intercept/ParentChildInterceptStrategyTest.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/intercept/ParentChildInterceptStrategyTest.java?rev=1131420&r1=1131419&r2=1131420&view=diff ============================================================================== --- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/intercept/ParentChildInterceptStrategyTest.java (original) +++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/intercept/ParentChildInterceptStrategyTest.java Sat Jun 4 15:57:29 2011 @@ -52,7 +52,8 @@ public class ParentChildInterceptStrateg assertEquals("Parent when2 -> target task-d", LIST.get(3)); assertEquals("Parent otherwise -> target task-e", LIST.get(4)); assertEquals("Parent route -> target choice", LIST.get(5)); - assertEquals("Parent route -> target task-done", LIST.get(6)); + // the last one has no custom id so its using its label instead + assertEquals("Parent route -> target mock:done", LIST.get(6)); } @Override @@ -73,7 +74,7 @@ public class ParentChildInterceptStrateg .otherwise().id("otherwise") .to("mock:e").id("task-e") .end() - .to("mock:done").id("task-done"); + .to("mock:done"); } }; } @@ -83,8 +84,12 @@ public class ParentChildInterceptStrateg @Override public Processor wrapProcessorInInterceptors(final CamelContext context, final ProcessorDefinition<?> definition, final Processor target, final Processor nextTarget) throws Exception { - String targetId = definition.getId(); - String parentId = definition.getParent() != null ? definition.getParent().getId() : ""; + String targetId = definition.hasCustomIdAssigned() ? definition.getId() : definition.getLabel(); + ProcessorDefinition parent = definition.getParent(); + String parentId = ""; + if (parent != null) { + parentId = parent.hasCustomIdAssigned() ? parent.getId() : parent.getLabel(); + } LIST.add("Parent " + parentId + " -> target " + targetId);