[jboss-svn-commits] JBL Code SVN: r18526 - in labs/jbossesb/workspace/chharris: product/lib/ext and 10 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Feb 20 09:21:22 EST 2008


Author: kevin.conner at jboss.com
Date: 2008-02-20 09:21:22 -0500 (Wed, 20 Feb 2008)
New Revision: 18526

Added:
   labs/jbossesb/workspace/chharris/product/lib/ext/edtftpj-pro-1.5.6.jar
   labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/addressing/eprs/DefaultFtpsReplyToEpr.java
   labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpsImpl.java
   labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPSEpr.java
   labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/util/ftps/
   labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/util/ftps/Handler.java
Removed:
   labs/jbossesb/workspace/chharris/product/lib/ext/edtftpj-1.5.4.jar
   labs/jbossesb/workspace/chharris/qa/lib/ext/edtftpj-pro.jar
Modified:
   labs/jbossesb/workspace/chharris/product/install/Deployment.txt
   labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/EPRHelper.java
   labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpImpl.java
   labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/addressing/util/DefaultReplyTo.java
   labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java
   labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java
   labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystemFactory.java
Log:
Added FTPS codebase on behalf of Chris

Modified: labs/jbossesb/workspace/chharris/product/install/Deployment.txt
===================================================================
--- labs/jbossesb/workspace/chharris/product/install/Deployment.txt	2008-02-20 14:06:14 UTC (rev 18525)
+++ labs/jbossesb/workspace/chharris/product/install/Deployment.txt	2008-02-20 14:21:22 UTC (rev 18526)
@@ -23,7 +23,7 @@
 |                                  	|                              |
 | cglib                            	| 2.0-RC2 (full)               | http://cglib.sourceforge.net/
 | XStream                          	| 1.1.3                        | http://xstream.codehaus.org/
-| edtftpj                          	| 1.5.2                        | http://www.enterprisedt.com/products/edtftpj/download.html
+| edtftpj                          	| 1.5.6                        | http://www.enterprisedt.com/products/edtftpj/download.html
 |                                  	|                              |
 | milyn-commons                    	| 0.9                          | http://milyn.codehaus.org/downloads
 | milyn-smooks-core                	| 0.9                          | http://milyn.codehaus.org/downloads

Deleted: labs/jbossesb/workspace/chharris/product/lib/ext/edtftpj-1.5.4.jar
===================================================================
(Binary files differ)

Added: labs/jbossesb/workspace/chharris/product/lib/ext/edtftpj-pro-1.5.6.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/chharris/product/lib/ext/edtftpj-pro-1.5.6.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/addressing/eprs/DefaultFtpsReplyToEpr.java
===================================================================
--- labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/addressing/eprs/DefaultFtpsReplyToEpr.java	                        (rev 0)
+++ labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/addressing/eprs/DefaultFtpsReplyToEpr.java	2008-02-20 14:21:22 UTC (rev 18526)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ */
+
+package org.jboss.internal.soa.esb.addressing.eprs;
+
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+
+import org.jboss.soa.esb.addressing.eprs.FTPSEpr;
+
+public class DefaultFtpsReplyToEpr extends FTPSEpr 
+{
+	
+	public DefaultFtpsReplyToEpr(FTPSEpr epr)
+		throws URISyntaxException, MalformedURLException
+	{
+		super(epr.getURL());
+		String suffix = DefaultFileReplyToEpr.uniqueFileSuffix(epr);
+		setInputSuffix(suffix);
+		setPostSuffix(suffix);
+		setPostDelete(true);
+		
+		setPassive(epr.getPassive());
+		setCertificateURL(epr.getCertificateURL());
+	}
+
+}


Property changes on: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/addressing/eprs/DefaultFtpsReplyToEpr.java
___________________________________________________________________
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Modified: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/EPRHelper.java
===================================================================
--- labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/EPRHelper.java	2008-02-20 14:06:14 UTC (rev 18525)
+++ labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/EPRHelper.java	2008-02-20 14:21:22 UTC (rev 18526)
@@ -159,6 +159,8 @@
 
 		if (epr instanceof EmailEpr)
 			eprType = EmailEpr.type().toString();
+		else if (epr instanceof FTPSEpr)
+		    eprType = FTPSEpr.type().toString();
 		else if (epr instanceof SFTPEpr)
 			eprType = SFTPEpr.type().toString();
 		else if (epr instanceof HTTPEpr)
@@ -197,6 +199,8 @@
 
 			if (eprType.equals(EmailEpr.type().toString()))
 				return new EmailEpr(epr);
+			else if (eprType.equals(FTPSEpr.type().toString()))
+			    return new FTPSEpr(epr);
 			else if (eprType.equals(SFTPEpr.type().toString()))
 				return new SFTPEpr(epr);
 			else if (eprType.equals(HTTPEpr.type().toString()))

Modified: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpImpl.java
===================================================================
--- labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpImpl.java	2008-02-20 14:06:14 UTC (rev 18525)
+++ labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpImpl.java	2008-02-20 14:21:22 UTC (rev 18526)
@@ -72,11 +72,11 @@
 	private int m_iPort;
 	private int _timeout = 0;
 
-	private FTPClient m_oConn = new FTPClient();
+	protected FTPClient m_oConn ;
 
 	private FTPEpr m_oEpr;
 
-	private ConfigTree m_oParms;
+	protected ConfigTree m_oParms;
 
 	private FTPTransferType m_oXferType;
 
@@ -112,6 +112,16 @@
 	public EdtFtpImpl (FTPEpr p_oP, boolean p_bConnect)
 			throws ConfigurationException, RemoteFileSystemException
 	{
+		this(p_oP) ;
+		// TODO there is still a bit of space for improvements here.
+		configTreeFromEpr();
+
+		initialize(p_bConnect);
+	}
+	
+	protected EdtFtpImpl(FTPEpr p_oP)
+		throws ConfigurationException
+	{
 		m_oEpr = p_oP;
 
 		URL url = null;
@@ -171,7 +181,7 @@
 		{
 			_logger.warn(e);
 		}
-
+		
 		String timeout = ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.FTP_SOCKET_TIMEOUT, null);
 		
 		if (timeout != null)
@@ -187,11 +197,6 @@
 		}
 		else
 			_timeout = 0;
-
-		// TODO there is still a bit of space for improvements here.
-		configTreeFromEpr();
-
-		initialize(p_bConnect);
 	}
 
 	public EdtFtpImpl (List<KeyValuePair> p_oAttribs, boolean p_bConnect)
@@ -203,7 +208,7 @@
 		initialize(p_bConnect);
 	}
 
-	private void checkParms () throws ConfigurationException
+	protected void checkParms () throws ConfigurationException
 	{
 		String att = m_oParms.getAttribute(FileEpr.URL_TAG);
 		URL url = null;
@@ -263,7 +268,7 @@
 		return;
 	}
 
-	private void configTreeFromEpr () throws RemoteFileSystemException
+	protected void configTreeFromEpr () throws RemoteFileSystemException
 	{
 		m_oParms = new ConfigTree("fromEpr");
 		try
@@ -393,9 +398,22 @@
 		return m_sRemoteDir;
 	}
 
-	private void initialize (boolean bConnect) throws ConfigurationException,
+	protected void initialize (boolean bConnect) throws ConfigurationException,
 			RemoteFileSystemException
 	{
+		try
+		{
+			m_oConn = instantiateClient() ;
+		}
+		catch (final FTPException ftpe)
+		{
+			throw new RemoteFileSystemException("Failed to instantiate client", ftpe) ;
+		}
+		catch (final IOException ioe)
+		{
+			throw new RemoteFileSystemException("Failed to instantiate client", ioe) ;
+		}
+		
 		checkParms();
 		if (bConnect)
 		{
@@ -426,7 +444,7 @@
 			{
 				m_oConn.setRemotePort(m_iPort);
 
-				m_oConn.connect();
+				connect() ;
 				for (int i1 = 0; i1 < 10 && !m_oConn.connected(); i1++)
 				{
 					try
@@ -473,7 +491,19 @@
 		}
 	}
 
-	/*
+	protected FTPClient instantiateClient()
+		throws FTPException, IOException
+	{
+	    return new FTPClient() ;
+	}
+	
+	protected void connect()
+	    throws FTPException, IOException
+	{
+	    m_oConn.connect() ;
+	}
+
+    /*
 	 * (non-Javadoc)
 	 * 
 	 * @see org.jboss.soa.esb.util.RemoteFileSystem#quit()

Added: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpsImpl.java
===================================================================
--- labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpsImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpsImpl.java	2008-02-20 14:21:22 UTC (rev 18526)
@@ -0,0 +1,183 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.internal.soa.esb.util;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.eprs.FTPSEpr;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.util.RemoteFileSystemException;
+
+import com.enterprisedt.net.ftp.FTPClient;
+import com.enterprisedt.net.ftp.FTPException;
+import com.enterprisedt.net.ftp.ssl.SSLFTPClient;
+
+/**
+ * Simplified FTP transfers
+ * <p>
+ * Description: Implements a simple set of FTP functionality Parameters to
+ * establish the FTP connection are provided at construction time and cannot
+ * change during the lifetime of the object <br/>Hides low level details.
+ * Current implementation is based on the "Entreprise Distributed Technology
+ * edtFTPj" library but this can be changed with no impact to existing code,
+ * just by changing this class without modifying the signature of it's public
+ * methods
+ * </p>
+ */
+
+public class EdtFtpsImpl extends EdtFtpImpl
+{
+	private static final Logger _logger = Logger.getLogger(EdtFtpsImpl.class);
+	
+	private URL m_oCertificate ;
+
+	/**
+	 * Checks validity and completeness of parameters, and keeps the info
+	 * internally for subsequent FTP requests
+	 * 
+	 * @param p_oP
+	 *            ConfigTree
+	 * @throws ConfigurationException :
+	 *             if parameters are invalid or incomplete
+	 *             <li>Parameters: (XML attributes at the root level) </li>
+	 *             <li> ftpServer = name or IP of FTP server </li>
+	 *             <li> ftpUser = login ID for server </li>
+	 *             <li> ftpPassword </li>
+	 *             <li> localDirURI = absolute path in the local filesystem
+	 *             </li>
+	 *             <li> remoteDirURI = remote path is relative to ftp user home
+	 *             in remote computer </li>
+	 */
+	public EdtFtpsImpl (ConfigTree p_oP, boolean p_bConnect)
+			throws ConfigurationException, RemoteFileSystemException
+	{
+		super(p_oP, p_bConnect) ;
+	}
+
+	public EdtFtpsImpl (FTPSEpr p_oP, boolean p_bConnect)
+			throws ConfigurationException, RemoteFileSystemException
+	{
+		super(p_oP) ;
+
+		try
+		{
+			m_oCertificate = p_oP.getCertificateURL() ;
+		}
+		catch (final MalformedURLException murle)
+		{
+			_logger.warn(murle);
+		}
+		catch (final URISyntaxException urise)
+		{
+			_logger.warn(urise);
+		}
+		
+		// TODO there is still a bit of space for improvements here.
+		configTreeFromEpr();
+
+		initialize(p_bConnect);
+	}
+
+	public EdtFtpsImpl (List<KeyValuePair> p_oAttribs, boolean p_bConnect)
+			throws ConfigurationException, RemoteFileSystemException
+	{
+		super(p_oAttribs, p_bConnect) ;
+	}
+
+	protected void configTreeFromEpr () throws RemoteFileSystemException
+	{
+		super.configTreeFromEpr() ;
+		try
+		{
+			if (m_oCertificate != null)
+			{
+				m_oParms.setAttribute(PARMS_CERTIFICATE, m_oCertificate.toString());
+			}
+		}
+		catch (Exception e)
+		{
+			throw new RemoteFileSystemException(e);
+		}
+	}
+	
+	protected void checkParms() throws ConfigurationException
+	{
+		super.checkParms();
+		
+		final String certificate = m_oParms.getAttribute(PARMS_CERTIFICATE) ;
+		
+		if (certificate != null)
+		{
+			try
+			{
+				m_oCertificate = new URL(certificate) ;
+			}
+			catch (final MalformedURLException ex)
+			{
+				throw new ConfigurationException("Failed to create certificate URL", ex) ;
+			}
+		}
+	}
+	
+	protected FTPClient instantiateClient()
+		throws FTPException, IOException
+	{
+		final SSLFTPClient ftpsClient = new SSLFTPClient() ;
+		if (m_oCertificate == null)
+		{
+			ftpsClient.setValidateServer(false) ;
+		}
+		else
+		{
+			final URLConnection connection = m_oCertificate.openConnection() ;
+			final InputStream is = connection.getInputStream() ;
+			try
+			{
+				ftpsClient.getRootCertificateStore().importPEMFile(is) ;
+			}
+			finally
+			{
+				is.close() ;
+			}
+		}
+		return ftpsClient ;
+	}
+	
+	protected void connect()
+	    throws FTPException, IOException
+	{
+		final SSLFTPClient ftpsClient = (SSLFTPClient)m_oConn ;
+		ftpsClient.connect() ;
+		ftpsClient.auth(SSLFTPClient.AUTH_TLS) ;
+		ftpsClient.pbsz(0) ;
+		ftpsClient.prot('P') ;
+	}
+}


Property changes on: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpsImpl.java
___________________________________________________________________
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPSEpr.java
===================================================================
--- labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPSEpr.java	                        (rev 0)
+++ labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPSEpr.java	2008-02-20 14:21:22 UTC (rev 18526)
@@ -0,0 +1,176 @@
+package org.jboss.soa.esb.addressing.eprs;
+
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author mark.little at jboss.com
+ */
+
+/**
+ * This class represents the endpoint reference for services.
+ */
+
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.XMLUtil;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+/**
+ * A helper class for using FTP style EPRs. Simply create instances of this
+ * class instead of the base EPR. Since URLs can use FTP, we try to leverage
+ * that as much as possible.
+ * 
+ * @author marklittle
+ * 
+ */
+public class FTPSEpr extends FTPEpr
+{
+	public static final String CERTIFICATE_TAG = "certificate";
+
+	public FTPSEpr(EPR epr)
+	{
+		super(epr);
+		
+		if (epr instanceof FTPSEpr)
+		    certificateSet = ((FTPSEpr) epr).certificateSet;
+	}
+	
+	public FTPSEpr (EPR epr, Element header)
+	{
+		super(epr, header);
+		
+		NodeList nl = header.getChildNodes();
+
+		for (int i = 0; i < nl.getLength(); i++)
+		{
+			String prefix = nl.item(i).getPrefix();
+			String tag = nl.item(i).getLocalName();
+			
+			try
+			{
+				if ((prefix != null) && (prefix.equals(XMLUtil.JBOSSESB_PREFIX)))
+				{
+					if ((tag != null) && (tag.equals(CERTIFICATE_TAG)))
+					{
+						getAddr().addExtension(CERTIFICATE_TAG, nl.item(i).getTextContent());
+						certificateSet = true;
+					}
+				}
+			}
+			catch (Exception ex)
+			{
+				ex.printStackTrace();
+			}
+		}
+	}
+
+	public FTPSEpr(URL url) throws URISyntaxException
+	{
+		super(url);
+	}
+
+	public FTPSEpr(URL url, URL cert) throws URISyntaxException
+	{
+		super(url);
+		
+		setCertificateURL(cert);
+	}
+
+	public FTPSEpr(String url, String cert) throws URISyntaxException, MalformedURLException
+	{
+		super(url);	
+
+		setCertificateURL(new URL(cert));
+	}
+
+	/**
+	 * Set the Certificate URL for this endpoint.
+	 * 
+	 * @param cert
+	 *            the address.
+	 * @throws URISyntaxException
+	 *             thrown if this EPR is malformed.
+	 */
+
+	public final void setCertificateURL(URL cert) throws URISyntaxException
+	{
+		if (cert == null)
+			throw new IllegalArgumentException();
+
+		if (certificateSet)
+			throw new IllegalStateException("Certificate URL already set.");
+
+		getAddr().addExtension(CERTIFICATE_TAG, cert.toString());
+		certificateSet = true;
+	}
+
+	/**
+	 * @return the certificate URL for this EPR.
+	 * @throws URISyntaxException
+	 *             thrown if this EPR is malformed.
+	 */
+
+	public final URL getCertificateURL () throws URISyntaxException,
+			MalformedURLException
+	{
+		String cert = getAddr().getExtensionValue(CERTIFICATE_TAG);
+
+		if (cert != null)
+			return new URL(cert);
+		else
+			return null;
+	}
+
+	public EPR copy ()
+	{
+	    return new FTPSEpr(this);
+	}
+	
+	public String toString ()
+	{
+		return "SFTPEpr [ "+super.getAddr().extendedToString()+" ]";
+	}
+	
+	public static URI type ()
+	{
+		return _type;
+	}
+
+	private boolean certificateSet = false;
+
+	private static URI _type;
+
+	static
+	{
+		try
+		{
+			_type = new URI("urn:jboss/esb/epr/type/ftps");
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+
+			throw new ExceptionInInitializerError(ex.toString());
+		}
+	}
+}
\ No newline at end of file


Property changes on: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPSEpr.java
___________________________________________________________________
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Modified: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/addressing/util/DefaultReplyTo.java
===================================================================
--- labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/addressing/util/DefaultReplyTo.java	2008-02-20 14:06:14 UTC (rev 18525)
+++ labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/addressing/util/DefaultReplyTo.java	2008-02-20 14:21:22 UTC (rev 18526)
@@ -5,6 +5,7 @@
 
 import org.jboss.internal.soa.esb.addressing.eprs.DefaultFileReplyToEpr;
 import org.jboss.internal.soa.esb.addressing.eprs.DefaultFtpReplyToEpr;
+import org.jboss.internal.soa.esb.addressing.eprs.DefaultFtpsReplyToEpr;
 import org.jboss.internal.soa.esb.addressing.eprs.DefaultHibernateReplyToEpr;
 import org.jboss.internal.soa.esb.addressing.eprs.DefaultJdbcReplyToEpr;
 import org.jboss.internal.soa.esb.addressing.eprs.DefaultJmsReplyToEpr;
@@ -13,6 +14,7 @@
 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.FTPSEpr;
 import org.jboss.soa.esb.addressing.eprs.FileEpr;
 import org.jboss.soa.esb.addressing.eprs.HibernateEpr;
 import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
@@ -70,6 +72,8 @@
 	    if (toEpr instanceof JMSEpr)
 		return new DefaultJmsReplyToEpr((JMSEpr) toEpr);
 	    // Check for SFTPEpr first, as it extends FTPEpr
+	    if (toEpr instanceof FTPSEpr)
+	        return new DefaultFtpsReplyToEpr((FTPSEpr) toEpr);
 	    if (toEpr instanceof SFTPEpr)
 		return new DefaultSftpReplyToEpr((SFTPEpr) toEpr);
 	    // Check for FTPEpr first, as it extends FileEpr

Modified: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java
===================================================================
--- labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java	2008-02-20 14:06:14 UTC (rev 18525)
+++ labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java	2008-02-20 14:21:22 UTC (rev 18526)
@@ -38,6 +38,7 @@
 import org.jboss.soa.esb.client.ServiceInvoker;
 import org.jboss.soa.esb.addressing.EPR;
 import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.addressing.eprs.FTPSEpr;
 import org.jboss.soa.esb.addressing.eprs.FileEpr;
 import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
 import org.jboss.soa.esb.addressing.eprs.JMSEpr;
@@ -92,6 +93,8 @@
 				return fileEprFromElement(tree);
 			if ("ftp".equals(protocol))
 				return fileEprFromElement(tree);
+			if ("ftps".equals(protocol))
+			    return fileEprFromElement(tree);
 			if ("sftp".equals(protocol))
 				return fileEprFromElement(tree);
 			
@@ -188,6 +191,14 @@
 			else if("ftp".equals(protocol)){
 				epr = new FTPEpr(url);
 			}
+			else if("ftps".equals(protocol)){
+			    String cert = tree.getAttribute(FTPSEpr.CERTIFICATE_TAG);
+			    if(cert == null){
+			        epr = new FTPSEpr(url);
+			    }else {
+			        epr = new FTPSEpr(url,new URL(cert));   
+			    }
+			}
 			else if("sftp".equals(protocol)){
 				String cert = tree.getAttribute(SFTPEpr.CERTIFICATE_TAG);
 				if(cert == null){

Modified: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java	2008-02-20 14:06:14 UTC (rev 18525)
+++ labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java	2008-02-20 14:21:22 UTC (rev 18526)
@@ -22,6 +22,7 @@
 
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.addressing.eprs.FTPSEpr;
 import org.jboss.soa.esb.addressing.eprs.SFTPEpr;
 import org.jboss.soa.esb.dom.YADOMUtil;
 import org.jboss.soa.esb.listeners.ListenerTagNames;
@@ -129,8 +130,11 @@
 			toElement.setAttribute(FTPEpr.ERROR_SUFFIX_TAG, messageFilter.getErrorSuffix());
 		}
 		toElement.setAttribute(FTPEpr.PASSIVE_TAG, String.valueOf(messageFilter.getPassive()));
-		if ("sftp".equals(messageFilter.getProtocol()) || "ftps".equals(messageFilter.getProtocol())) {
+		if ("sftp".equals(messageFilter.getProtocol())) {
 			toElement.setAttribute(SFTPEpr.CERTIFICATE_TAG, messageFilter.getCertificateUrl());
 		}
+		if ("ftps".equals(messageFilter.getProtocol())) {
+		    toElement.setAttribute(FTPSEpr.CERTIFICATE_TAG, messageFilter.getCertificateUrl());
+		}
 	}
 }

Modified: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystemFactory.java
===================================================================
--- labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystemFactory.java	2008-02-20 14:06:14 UTC (rev 18525)
+++ labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystemFactory.java	2008-02-20 14:21:22 UTC (rev 18526)
@@ -27,8 +27,10 @@
 import java.net.URL;
 
 import org.jboss.internal.soa.esb.util.EdtFtpImpl;
+import org.jboss.internal.soa.esb.util.EdtFtpsImpl;
 import org.jboss.internal.soa.esb.util.SecureFtpImpl;
 import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.addressing.eprs.FTPSEpr;
 import org.jboss.soa.esb.addressing.eprs.SFTPEpr;
 
 public class RemoteFileSystemFactory
@@ -59,6 +61,8 @@
 			url = p_oEpr.getURL();
 			if (url.getProtocol().equals(RemoteFileSystem.FTP_PROTOCOL))
 				return new EdtFtpImpl((FTPEpr) p_oEpr, p_bConnect);
+			else if (url.getProtocol().equals(RemoteFileSystem.FTPS_PROTOCOL))
+			    return new EdtFtpsImpl((FTPSEpr) p_oEpr, p_bConnect);
 			else if (url.getProtocol().equals(RemoteFileSystem.SFTP_PROTOCOL))
 				return new SecureFtpImpl((SFTPEpr) p_oEpr, p_bConnect);
 

Added: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/util/ftps/Handler.java
===================================================================
--- labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/util/ftps/Handler.java	                        (rev 0)
+++ labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/util/ftps/Handler.java	2008-02-20 14:21:22 UTC (rev 18526)
@@ -0,0 +1,19 @@
+package org.jboss.soa.esb.util.ftps;
+
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLConnection;
+
+
+public class Handler extends java.net.URLStreamHandler{
+
+	@Override
+	protected URLConnection openConnection(URL url) throws IOException {
+		throw new UnsupportedOperationException("Connections not supported through this handler") ;
+	}
+	
+	@Override
+	protected int getDefaultPort() {
+        return 22;
+    }
+}


Property changes on: labs/jbossesb/workspace/chharris/product/rosetta/src/org/jboss/soa/esb/util/ftps/Handler.java
___________________________________________________________________
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Deleted: labs/jbossesb/workspace/chharris/qa/lib/ext/edtftpj-pro.jar
===================================================================
(Binary files differ)




More information about the jboss-svn-commits mailing list