You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2007/09/06 11:21:47 UTC

svn commit: r573195 - /activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java

Author: jstrachan
Date: Thu Sep  6 02:21:46 2007
New Revision: 573195

URL: http://svn.apache.org/viewvc?rev=573195&view=rev
Log:
added helper methods to make it easier to create endpoints from beans from the BeanComponent itself

Modified:
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java

Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java?rev=573195&r1=573194&r2=573195&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java Thu Sep  6 02:21:46 2007
@@ -19,6 +19,7 @@
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.ExchangePattern;
 import org.apache.camel.impl.DefaultComponent;
 import org.apache.camel.impl.ProcessorEndpoint;
 import org.apache.camel.spi.Registry;
@@ -40,6 +41,22 @@
     public BeanComponent() {
     }
 
+    /**
+     * A helper method to create a new endpoint from a bean with a generated URI
+     */
+    public ProcessorEndpoint createEndpoint(Object bean) {
+        String uri = "bean:generated:" + bean;
+        return createEndpoint(bean, uri);
+    }
+
+    /**
+     * A helper method to create a new endpoint from a bean with a given URI
+     */
+    public ProcessorEndpoint createEndpoint(Object bean, String uri) {
+        BeanProcessor processor = new BeanProcessor(bean, getCamelContext(), getParameterMappingStrategy());
+        return createEndpoint(uri, processor);
+    }
+
     public ParameterMappingStrategy getParameterMappingStrategy() {
         if (parameterMappingStrategy == null) {
             parameterMappingStrategy = createParameterMappingStrategy();
@@ -58,7 +75,7 @@
         Object bean = getBean(remaining);
         BeanProcessor processor = new BeanProcessor(bean, getCamelContext(), getParameterMappingStrategy());
         setProperties(processor, parameters);
-        return new ProcessorEndpoint(uri, this, processor);
+        return createEndpoint(uri, processor);
     }
 
     public Object getBean(String remaining) throws NoBeanAvailableException {
@@ -70,6 +87,12 @@
         return bean;
     }
 
+    protected ProcessorEndpoint createEndpoint(String uri, BeanProcessor processor) {
+        ProcessorEndpoint answer = new ProcessorEndpoint(uri, this, processor);
+        answer.setExchangePattern(ExchangePattern.InOut);
+        return answer;
+    }
+               
     protected ParameterMappingStrategy createParameterMappingStrategy() {
         return BeanProcessor.createParameterMappingStrategy(getCamelContext());
     }