Author: chirino
Date: Thu Apr 19 10:53:55 2007
New Revision: 530499

URL: http://svn.apache.org/viewvc?view=rev&rev=530499
Log:
Better endpoint configuration

Modified:
    
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
    
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java

Modified: 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java?view=diff&rev=530499&r1=530498&r2=530499
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
 Thu Apr 19 10:53:55 2007
@@ -16,12 +16,17 @@
  */
 package org.apache.camel.component.direct;
 
+import java.net.URI;
+import java.util.Map;
 import java.util.concurrent.ScheduledExecutorService;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Component;
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
+import org.apache.camel.util.IntrospectionSupport;
+import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.util.URISupport;
 
 /**
  * Represents the component that manages [EMAIL PROTECTED] DirectEndpoint}.  
It holds the 
@@ -43,7 +48,16 @@
        }
 
        public Endpoint<E> resolveEndpoint(String uri) throws Exception {
-               return new DirectEndpoint<E>(uri,this);
+
+        ObjectHelper.notNull(getCamelContext(), "camelContext");        
+        URI u = new URI(uri);
+        Map parameters = URISupport.parseParamters(u);
+
+        Endpoint<E> endpoint = new DirectEndpoint<E>(uri,this);
+        if (parameters != null) {
+            IntrospectionSupport.setProperties(endpoint, parameters);
+        }
+        return endpoint;
        }
 
        public void setCamelContext(CamelContext context) {

Modified: 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java?view=diff&rev=530499&r1=530498&r2=530499
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
 Thu Apr 19 10:53:55 2007
@@ -38,7 +38,7 @@
 
        private final CopyOnWriteArrayList<DefaultConsumer<E>> consumers = new 
CopyOnWriteArrayList<DefaultConsumer<E>>();
        
-       boolean allowMutlipleConsumers=true;    
+       boolean allowMultipleConsumers=true;    
        
     public DirectEndpoint(String uri, DirectComponent<E> component) {
         super(uri, component);
@@ -62,7 +62,7 @@
                DefaultConsumer<E> consumer = new DefaultConsumer<E>(this, 
processor) {
                        @Override
                        public void start() throws Exception {
-                               if( !allowMutlipleConsumers && 
!consumers.isEmpty() )
+                               if( !allowMultipleConsumers && 
!consumers.isEmpty() )
                                        throw new 
IllegalStateException("Endpoint "+getEndpointUri()+" only allows 1 active 
consumer but you attempted to start a 2nd consumer.");
                                
                                consumers.add(this);
@@ -85,11 +85,11 @@
         return (E) new DefaultExchange(getContext());
     }
 
-       public boolean isAllowMutlipleConsumers() {
-               return allowMutlipleConsumers;
+       public boolean isAllowMultipleConsumers() {
+               return allowMultipleConsumers;
        }
-       public void setAllowMutlipleConsumers(boolean allowMutlipleConsumers) {
-               this.allowMutlipleConsumers = allowMutlipleConsumers;
+       public void setAllowMultipleConsumers(boolean allowMutlipleConsumers) {
+               this.allowMultipleConsumers = allowMutlipleConsumers;
        }
 
 


Reply via email to