[jboss-svn-commits] JBL Code SVN: r33623 - in labs/jbossesb/trunk/product/rosetta: src/org/jboss/soa/esb/addressing/eprs and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jun 24 09:53:50 EDT 2010


Author: tcunning
Date: 2010-06-24 09:53:50 -0400 (Thu, 24 Jun 2010)
New Revision: 33623

Modified:
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpImpl.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPEpr.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/util/FtpImplUnitTest.java
Log:
JBESB-3312
Incorporate user patch to allow the uploading of files which have
non-ASCII character filenames.     Added a test case and fixed the case where
we pass in a ConfigTree.


Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpImpl.java	2010-06-24 13:30:00 UTC (rev 33622)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpImpl.java	2010-06-24 13:53:50 UTC (rev 33623)
@@ -44,6 +44,7 @@
 import org.jboss.soa.esb.util.FtpClientUtil;
 import org.jboss.soa.esb.util.RemoteFileSystem;
 import org.jboss.soa.esb.util.RemoteFileSystemException;
+import org.picketlink.identity.federation.api.openid.OpenIDManager.CONST;
 
 /**
  * Simplified FTP transfers
@@ -75,7 +76,9 @@
         private String m_sRemoteDir, m_sLocalDir;
         
         private int m_iRenameRetry;
-
+        
+        private String m_ControlChannelEncoding;
+        
         // package-protected since the only use is from FtpImplUnitTest
         FtpImpl (ConfigTree p_oP, boolean p_bConnect)
                         throws ConfigurationException, RemoteFileSystemException
@@ -149,6 +152,7 @@
                 m_iTimeoutDefault = FtpUtils.getTimeoutDefault();
                 m_iTimeoutData = FtpUtils.getTimeoutData();
                 m_iTimeoutSo = FtpUtils.getTimeoutSo();    
+                m_ControlChannelEncoding = m_oEpr.getControlChannelEncoding();
         }
 
         /**
@@ -185,7 +189,7 @@
                 if (null == m_sFtpServer) {
                 	throw new ConfigurationException("No FTP server specified");
                 }
-
+                
                 String[] sa = (null == uri) ? null : uri.getUserInfo().split(":");
                 m_sUser = (null != sa) ? sa[0] : m_oParms.getAttribute(PARMS_USER);
                 if (null == m_sUser) {
@@ -206,6 +210,10 @@
                 m_bPassive = false;
                 sAux = m_oParms.getAttribute(PARMS_PASSIVE);
                 m_bPassive = (null != sAux) && Boolean.parseBoolean(sAux);
+
+                m_ControlChannelEncoding = null;
+                String ccEncoding = m_oParms.getAttribute(RemoteFileSystem.PARMS_CONTROL_CHANNEL_ENCODING);
+                m_ControlChannelEncoding = (null != ccEncoding) ? ccEncoding : m_ControlChannelEncoding;
                 
                 String sRenameRetry = m_oParms.getAttribute(PARMS_RENAME_RETRY);
                 m_iRenameRetry = (null != sRenameRetry) ? Integer.parseInt(sRenameRetry) : FtpUtils.getRenameRetry();
@@ -234,6 +242,7 @@
                         {
                             m_oParms.setAttribute(PARMS_PORT, Integer.toString(m_iPort));
                         }
+                        m_oParms.setAttribute(RemoteFileSystem.PARMS_CONTROL_CHANNEL_ENCODING, this.m_ControlChannelEncoding);
                         m_oParms.setAttribute(PARMS_LOCAL_DIR, m_sLocalDir);
                         m_oParms.setAttribute(PARMS_ASCII, Boolean.toString(false));
                         m_oParms.setAttribute(PARMS_PASSIVE, Boolean.toString(m_bPassive));
@@ -364,6 +373,10 @@
             checkParms();
             m_oConn = instantiateClient() ;
             
+            if( m_ControlChannelEncoding != null ) {
+            	m_oConn.setControlEncoding(this.m_ControlChannelEncoding);
+            }
+            
             if (bConnect)
             {
                 try

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPEpr.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPEpr.java	2010-06-24 13:30:00 UTC (rev 33622)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPEpr.java	2010-06-24 13:53:50 UTC (rev 33623)
@@ -50,6 +50,8 @@
 	public static final String PASSWORD_TAG = "password";
 	public static final String PASSIVE_TAG = "passive";
 	
+	public static final String CONTROL_CHANNEL_ENCODING_TAG = "controlChannelEncoding";
+	
 	public FTPEpr (EPR epr)
 	{
 		super(epr);
@@ -272,9 +274,18 @@
 	    return _type;
 	}
 
+	public void setControlChannelEncoding(String ctrlChannelEncoding) {
+		this.ctrlChannelEncoding = ctrlChannelEncoding;
+	}
+	
+	public String getControlChannelEncoding() {
+		return this.ctrlChannelEncoding;
+	}
+	
 	private boolean passwordSet = false;
 	private boolean userSet = false;
 	private boolean passiveSet = false;
+	private String ctrlChannelEncoding;
 	
 	private static URI _type;
 	
@@ -291,4 +302,6 @@
 		    throw new ExceptionInInitializerError(ex.toString());
 		}
 	}
+
+
 }
\ No newline at end of file

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java	2010-06-24 13:30:00 UTC (rev 33622)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java	2010-06-24 13:53:50 UTC (rev 33623)
@@ -326,6 +326,10 @@
 				FTPEpr ftp = (FTPEpr) epr;
 				ftp.setPassive(Boolean.valueOf(getAttrAndWarn(tree,
 						FTPEpr.PASSIVE_TAG, "false")));
+			
+				String ctrlChannelEncoding = getAttrAndWarn(tree, 
+						FTPEpr.CONTROL_CHANNEL_ENCODING_TAG, "UTF-8");
+				ftp.setControlChannelEncoding( ctrlChannelEncoding );	
 			}
 			return epr;
 		}

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java	2010-06-24 13:30:00 UTC (rev 33622)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java	2010-06-24 13:53:50 UTC (rev 33623)
@@ -66,6 +66,7 @@
         
         public static final String PARMS_TIMEOUT_SO = "ftpTimeoutSo";
         
+        public static final String PARMS_CONTROL_CHANNEL_ENCODING = "ftpControlChannelEncoding";
         
         public String getRemoteDir ();
 

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/util/FtpImplUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/util/FtpImplUnitTest.java	2010-06-24 13:30:00 UTC (rev 33622)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/util/FtpImplUnitTest.java	2010-06-24 13:53:50 UTC (rev 33623)
@@ -277,6 +277,31 @@
 		}
 	}
 
+	@Test
+	public void uploadUTF8File() throws RemoteFileSystemException
+	{
+		// Test to validate JBESB-3312
+		
+		File localFile = null;
+		File remoteFile = null;
+		String testFileName = "ﺱﻼﻣTestFile.txt";
+		try
+		{
+			localFile = FtpTestUtil.createTestFile(  ftpServer.getLocalInputDir(),  testFileName, TEST_FILE_CONTENT );
+			
+			String renameTo = testFileName + RENAMED_SUFFIX;
+			ftpImpl.uploadFile( localFile, renameTo );
+			remoteFile = new File ( ftpServer.getLocalInputDir(), renameTo );
+			
+			assertTrue( "The file was not uploaded succesfully." , remoteFile.exists() );
+		} 
+		finally
+		{
+			FtpTestUtil.deleteFile( remoteFile );
+			FtpTestUtil.deleteFile( localFile );
+		}
+	}	
+	
 	private static ConfigTree createConfigTree()
 	{
 		ConfigTree configTree = new ConfigTree( "junitFtpImplTest" );
@@ -301,6 +326,8 @@
 		configTree.setAttribute( RemoteFileSystem.PARMS_TIMEOUT_DEFAULT, Integer .toString(0) );
 		configTree.setAttribute( RemoteFileSystem.PARMS_TIMEOUT_DATA, Integer .toString(0) );
 		configTree.setAttribute( RemoteFileSystem.PARMS_TIMEOUT_SO, Integer .toString(0) );
+		configTree.setAttribute( RemoteFileSystem.PARMS_CONTROL_CHANNEL_ENCODING, "UTF-8" );
+
 		return configTree;
 	}
 	



More information about the jboss-svn-commits mailing list