[jboss-svn-commits] JBL Code SVN: r10982 - labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Apr 15 18:31:05 EDT 2007
Author: estebanschifman
Date: 2007-04-15 18:31:05 -0400 (Sun, 15 Apr 2007)
New Revision: 10982
Modified:
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/Invoker.java
Log:
Changes on Invoker for jbpm classes
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/Invoker.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/Invoker.java 2007-04-15 22:28:23 UTC (rev 10981)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/Invoker.java 2007-04-15 22:31:05 UTC (rev 10982)
@@ -21,6 +21,7 @@
*/
package org.jboss.soa.esb.listeners.message;
+import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Collection;
@@ -31,6 +32,9 @@
import org.jboss.soa.esb.addressing.Call;
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.addressing.eprs.SFTPEpr;
import org.jboss.soa.esb.couriers.Courier;
import org.jboss.soa.esb.couriers.CourierException;
import org.jboss.soa.esb.couriers.CourierFactory;
@@ -39,6 +43,7 @@
import org.jboss.soa.esb.listeners.RegistryUtil;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.services.registry.RegistryFactory;
import org.jboss.soa.esb.util.AbstractCommandVehicle;
@@ -93,8 +98,10 @@
Message outgoing = command.toCommandMessage();
Call call = outgoing.getHeader().getCall();
Collection<EPR> eprs = RegistryUtil.getEprs(category, name);
- EPR toEpr = (eprs.size()<1) ? null : eprs.iterator().next();
- call.setTo(toEpr);
+ if (null==eprs || eprs.size()<1)
+ throw new RegistryException("No eprs found for <"+category+","+name+">");
+ EPR service = eprs.iterator().next();
+ call.setTo(serviceDestination(service));
return invokeAndAwaitResponse(outgoing, maxWaitMillis);
}
@@ -141,5 +148,43 @@
;
} //________________________________
+ public static EPR serviceDestination(EPR epr) throws MalformedEPRException
+ {
+ // For all file Epr's (local, FTP and sFTP - destination EPR
+ // must be set to where the service expects the input
+ // dest.setPostSuffix (source.getInputSuffix)
+ try
+ {
+ if (epr instanceof SFTPEpr)
+ {
+ SFTPEpr source = (SFTPEpr)epr;
+ SFTPEpr dest = new SFTPEpr(source.getURL());
+ dest.setPostSuffix (source.getInputSuffix());
+ dest.setPassive (source.getPassive());
+ dest.setCertificateURL (source.getCertificateURL());
+ return dest;
+ }
+ if (epr instanceof FTPEpr)
+ {
+ FTPEpr source = (FTPEpr)epr;
+ FTPEpr dest = new FTPEpr(source.getURL());
+ dest.setPostSuffix (source.getInputSuffix());
+ dest.setPassive (source.getPassive());
+ return dest;
+ }
+ if (epr instanceof FileEpr)
+ {
+ FileEpr source = (FileEpr)epr;
+ FileEpr dest = new FileEpr(source.getURL());
+ dest.setPostSuffix (source.getInputSuffix());
+ return dest;
+ }
+ }
+ catch (URISyntaxException e) {throw new MalformedEPRException(e); }
+ catch (MalformedURLException e) {throw new MalformedEPRException(e); }
+
+ return epr;
+ }
+
private static Logger _logger = Logger.getLogger(Invoker.class);
}
More information about the jboss-svn-commits
mailing list