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


Reply via email to