Author: davsclaus
Date: Fri Jul 31 06:04:43 2009
New Revision: 799523

URL: http://svn.apache.org/viewvc?rev=799523&view=rev
Log:
CAMEL-1864: Fixed issue with lookup of endpoint as it should not create a new 
one but just check whether a intercetped one existed.

Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendProcessor.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java?rev=799523&r1=799522&r2=799523&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java 
(original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java Fri 
Jul 31 06:04:43 2009
@@ -147,6 +147,14 @@
     Map<String, Endpoint> getEndpointMap();
 
     /**
+     * Is the given endpoint already registered?
+     *
+     * @param uri  the URI of the endpoint
+     * @return the registered endpoint or <tt>null</tt> if not registered
+     */
+    Endpoint hasEndpoint(String uri);
+
+    /**
      * Returns the collection of all registered endpoints for a uri or an 
empty collection.
      * For a singleton endpoint the collection will contain exactly one 
element.
      *

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java?rev=799523&r1=799522&r2=799523&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
 Fri Jul 31 06:04:43 2009
@@ -275,6 +275,18 @@
         }
     }
 
+    public Endpoint hasEndpoint(String uri) {
+        // normalize uri so we can do endpoint hits with minor mistakes and 
parameters is not in the same order
+        try {
+            uri = URISupport.normalizeUri(uri);
+        } catch (Exception e) {
+            throw new ResolveEndpointFailedException(uri, e);
+        }
+        synchronized (endpoints) {
+            return endpoints.get(uri);
+        }
+    }
+
     public Collection<Endpoint> getEndpoints(String uri) {
         Collection<Endpoint> answer = new ArrayList<Endpoint>();
         Collection<Endpoint> coll;

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendProcessor.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendProcessor.java?rev=799523&r1=799522&r2=799523&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendProcessor.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendProcessor.java
 Fri Jul 31 06:04:43 2009
@@ -65,7 +65,7 @@
         // init this before we can use the destination
         if (!init) {
             init = true;
-            Endpoint lookup = 
exchange.getContext().getEndpoint(destination.getEndpointUri());
+            Endpoint lookup = 
exchange.getContext().hasEndpoint(destination.getEndpointKey());
             if (lookup instanceof InterceptSendToEndpoint) {
                 if (LOG.isDebugEnabled()) {
                     LOG.debug("SendTo is intercepted using a 
interceptSendToEndpoint: " + lookup.getEndpointUri());


Reply via email to