You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2011/02/09 13:42:09 UTC
svn commit: r1068866 -
/camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiComponent.java
Author: davsclaus
Date: Wed Feb 9 12:42:09 2011
New Revision: 1068866
URL: http://svn.apache.org/viewvc?rev=1068866&view=rev
Log:
CAMEL-3645: Made it possible to set remoteInterfaces in XML DSL.
Modified:
camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiComponent.java
Modified: camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiComponent.java?rev=1068866&r1=1068865&r2=1068866&view=diff
==============================================================================
--- camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiComponent.java (original)
+++ camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiComponent.java Wed Feb 9 12:42:09 2011
@@ -16,11 +16,15 @@
*/
package org.apache.camel.component.rmi;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.impl.DefaultComponent;
+import org.apache.camel.util.CastUtils;
/**
* @version $Revision:520964 $
@@ -36,6 +40,23 @@ public class RmiComponent extends Defaul
@Override
protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
- return new RmiEndpoint(uri, this);
+ RmiEndpoint rmi = new RmiEndpoint(uri, this);
+
+ // lookup remote interfaces
+ List<Class<?>> classes = new ArrayList<Class<?>>();
+ Iterator it = getAndRemoveParameter(parameters, "remoteInterfaces", Iterator.class);
+ while (it != null && it.hasNext()) {
+ Object next = it.next();
+ Class clazz = getCamelContext().getTypeConverter().mandatoryConvertTo(Class.class, next);
+ classes.add(clazz);
+ }
+
+ if (!classes.isEmpty()) {
+ List<Class<?>> interfaces = CastUtils.cast(classes);
+ rmi.setRemoteInterfaces(interfaces);
+ }
+
+ setProperties(rmi, parameters);
+ return rmi;
}
}