Author: ningjiang Date: Fri Oct 19 12:39:01 2012 New Revision: 1400074 URL: http://svn.apache.org/viewvc?rev=1400074&view=rev Log: CAMEL-5714 Throwing meaningful exception when the conetxt component cannot create a right endpoint.
Modified: camel/trunk/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java camel/trunk/components/camel-context/src/main/java/org/apache/camel/component/context/QualifiedContextComponent.java Modified: camel/trunk/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java?rev=1400074&r1=1400073&r2=1400074&view=diff ============================================================================== --- camel/trunk/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java (original) +++ camel/trunk/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java Fri Oct 19 12:39:01 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/trunk/components/camel-context/src/main/java/org/apache/camel/component/context/QualifiedContextComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-context/src/main/java/org/apache/camel/component/context/QualifiedContextComponent.java?rev=1400074&r1=1400073&r2=1400074&view=diff ============================================================================== --- camel/trunk/components/camel-context/src/main/java/org/apache/camel/component/context/QualifiedContextComponent.java (original) +++ camel/trunk/components/camel-context/src/main/java/org/apache/camel/component/context/QualifiedContextComponent.java Fri Oct 19 12:39:01 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; } }