[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