Author: ningjiang Date: Sat Oct 20 01:20:21 2012 New Revision: 1400353 URL: http://svn.apache.org/viewvc?rev=1400353&view=rev Log: CAMEL-5714 Throwing meaningful exception when the conetxt component cannot create a right endpoint.
Modified: camel/branches/camel-2.9.x/ (props changed) camel/branches/camel-2.9.x/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java camel/branches/camel-2.9.x/components/camel-context/src/main/java/org/apache/camel/component/context/QualifiedContextComponent.java Propchange: camel/branches/camel-2.9.x/ ------------------------------------------------------------------------------ Merged /camel/trunk:r1400074 Merged /camel/branches/camel-2.10.x:r1400352 Propchange: camel/branches/camel-2.9.x/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: camel/branches/camel-2.9.x/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java?rev=1400353&r1=1400352&r2=1400353&view=diff ============================================================================== --- camel/branches/camel-2.9.x/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java (original) +++ camel/branches/camel-2.9.x/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java Sat Oct 20 01:20:21 2012 @@ -23,6 +23,7 @@ import java.util.Map; import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; +import org.apache.camel.ResolveEndpointFailedException; import org.apache.camel.impl.DefaultComponent; import org.apache.camel.util.ObjectHelper; import org.slf4j.Logger; @@ -90,7 +91,8 @@ public class LocalContextComponent exten } } } - return null; + throw new ResolveEndpointFailedException("Cannot find the endpoint with uri " + uri + " in the CamelContext " + getLocalCamelContext().getName()); + } protected void logUsingEndpoint(String uri, Endpoint endpoint) { Modified: camel/branches/camel-2.9.x/components/camel-context/src/main/java/org/apache/camel/component/context/QualifiedContextComponent.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-context/src/main/java/org/apache/camel/component/context/QualifiedContextComponent.java?rev=1400353&r1=1400352&r2=1400353&view=diff ============================================================================== --- camel/branches/camel-2.9.x/components/camel-context/src/main/java/org/apache/camel/component/context/QualifiedContextComponent.java (original) +++ camel/branches/camel-2.9.x/components/camel-context/src/main/java/org/apache/camel/component/context/QualifiedContextComponent.java Sat Oct 20 01:20:21 2012 @@ -20,6 +20,7 @@ import java.util.Map; import org.apache.camel.Component; import org.apache.camel.Endpoint; +import org.apache.camel.ResolveEndpointFailedException; import org.apache.camel.impl.DefaultComponent; import org.apache.camel.util.ObjectHelper; import org.slf4j.Logger; @@ -43,11 +44,19 @@ public class QualifiedContextComponent e Component component = getCamelContext().getComponent(contextId); if (component != null) { LOG.debug("Attempting to create local endpoint: {} inside the component: {}", localEndpoint, component); - return component.createEndpoint(localEndpoint); + Endpoint endpoint = component.createEndpoint(localEndpoint); + if (endpoint == null) { + // throw the exception tell we cannot find an then endpoint from the given context + throw new ResolveEndpointFailedException("Cannot create a endpoint with uri" + localEndpoint + " for the CamelContext Component " + contextId); + } else { + return endpoint; + } + } else { + throw new ResolveEndpointFailedException("Cannot create the camel context component for context " + contextId); } + } else { // the uri is wrong + throw new ResolveEndpointFailedException("The uri " + remaining + "from camel context component is wrong"); } - - return null; } }