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;
     }
 
 }


Reply via email to