You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ge...@apache.org on 2009/01/29 11:35:26 UTC
svn commit: r738812 - in
/servicemix/components/bindings/servicemix-ftp/trunk: ./
src/main/java/org/apache/servicemix/ftp/
src/test/java/org/apache/servicemix/ftp/ src/test/resources/
Author: gertv
Date: Thu Jan 29 10:35:26 2009
New Revision: 738812
URL: http://svn.apache.org/viewvc?rev=738812&view=rev
Log:
SM-1744: Support for uploadPrefix on FTP sender endpoint
Added:
servicemix/components/bindings/servicemix-ftp/trunk/src/test/java/org/apache/servicemix/ftp/FtpSenderEndpointTest.java (with props)
Modified:
servicemix/components/bindings/servicemix-ftp/trunk/pom.xml
servicemix/components/bindings/servicemix-ftp/trunk/src/main/java/org/apache/servicemix/ftp/FtpSenderEndpoint.java
servicemix/components/bindings/servicemix-ftp/trunk/src/test/java/org/apache/servicemix/ftp/FtpPollerEndpointTest.java
servicemix/components/bindings/servicemix-ftp/trunk/src/test/resources/spring.xml
Modified: servicemix/components/bindings/servicemix-ftp/trunk/pom.xml
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-ftp/trunk/pom.xml?rev=738812&r1=738811&r2=738812&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-ftp/trunk/pom.xml (original)
+++ servicemix/components/bindings/servicemix-ftp/trunk/pom.xml Thu Jan 29 10:35:26 2009
@@ -143,12 +143,11 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
- <includes>
- <include>**/*Test.*</include>
- </includes>
<excludes>
<!-- TODO - need an embedded FTP server to be able to properly test -->
- <exclude>**/*Test.*</exclude>
+ <exclude>**/DynamicEndpointTest.java</exclude>
+ <exclude>**/PollDirectoryTest.java</exclude>
+ <exclude>**/SpringComponentTest.java</exclude>
</excludes>
</configuration>
</plugin>
Modified: servicemix/components/bindings/servicemix-ftp/trunk/src/main/java/org/apache/servicemix/ftp/FtpSenderEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-ftp/trunk/src/main/java/org/apache/servicemix/ftp/FtpSenderEndpoint.java?rev=738812&r1=738811&r2=738812&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-ftp/trunk/src/main/java/org/apache/servicemix/ftp/FtpSenderEndpoint.java (original)
+++ servicemix/components/bindings/servicemix-ftp/trunk/src/main/java/org/apache/servicemix/ftp/FtpSenderEndpoint.java Thu Jan 29 10:35:26 2009
@@ -44,6 +44,7 @@
private String uniqueFileName = "ServiceMix";
private boolean overwrite;
private URI uri;
+ private String uploadPrefix;
private String uploadSuffix;
private boolean checkDuplicates = true;
@@ -136,6 +137,20 @@
this.overwrite = overwrite;
}
+ public String getUploadPrefix() {
+ return uploadPrefix;
+ }
+
+ /**
+ * Set the file name prefix used during upload. The prefix will be automatically removed as soon as the upload has completed.
+ * This allows other processes to discern completed files from files that are being uploaded.
+ *
+ * @param uploadPrefix
+ */
+ public void setUploadPrefix(String uploadPrefix) {
+ this.uploadPrefix = uploadPrefix;
+ }
+
public String getUploadSuffix() {
return uploadSuffix;
}
@@ -183,7 +198,7 @@
+ " : file already exists and overwrite has not been enabled");
}
}
- uploadName = uploadSuffix == null ? name : name + uploadSuffix;
+ uploadName = getUploadName(name);
out = client.storeFileStream(uploadName);
}
if (out == null) {
@@ -206,6 +221,12 @@
}
}
+ protected String getUploadName(String name) {
+ String result = uploadPrefix == null ? name : uploadPrefix + name;
+ result = uploadSuffix == null ? result : result + uploadSuffix;
+ return result;
+ }
+
protected FTPClientPool createClientPool() throws Exception {
FTPClientPool pool = new FTPClientPool();
pool.afterPropertiesSet();
Modified: servicemix/components/bindings/servicemix-ftp/trunk/src/test/java/org/apache/servicemix/ftp/FtpPollerEndpointTest.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-ftp/trunk/src/test/java/org/apache/servicemix/ftp/FtpPollerEndpointTest.java?rev=738812&r1=738811&r2=738812&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-ftp/trunk/src/test/java/org/apache/servicemix/ftp/FtpPollerEndpointTest.java (original)
+++ servicemix/components/bindings/servicemix-ftp/trunk/src/test/java/org/apache/servicemix/ftp/FtpPollerEndpointTest.java Thu Jan 29 10:35:26 2009
@@ -39,7 +39,7 @@
fail("validate() should throw exception when changeWorkingDirectory='true' and recursive='true'");
} catch (DeploymentException e) {
//this is what we expect
- System.out.println(e);
}
}
}
+
Added: servicemix/components/bindings/servicemix-ftp/trunk/src/test/java/org/apache/servicemix/ftp/FtpSenderEndpointTest.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-ftp/trunk/src/test/java/org/apache/servicemix/ftp/FtpSenderEndpointTest.java?rev=738812&view=auto
==============================================================================
--- servicemix/components/bindings/servicemix-ftp/trunk/src/test/java/org/apache/servicemix/ftp/FtpSenderEndpointTest.java (added)
+++ servicemix/components/bindings/servicemix-ftp/trunk/src/test/java/org/apache/servicemix/ftp/FtpSenderEndpointTest.java Thu Jan 29 10:35:26 2009
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.servicemix.ftp;
+
+import junit.framework.TestCase;
+
+/**
+ * Test cases for {@link FtpSenderEndpoint}
+ */
+public class FtpSenderEndpointTest extends TestCase {
+
+ public void testGetUploadNameWithPrefix() {
+ FtpSenderEndpoint endpoint = new FtpSenderEndpoint();
+ endpoint.setUploadPrefix("work/");
+ assertEquals("work/myfile.xml", endpoint.getUploadName("myfile.xml"));
+ }
+
+ public void testGetUploadNameWithSuffix() {
+ FtpSenderEndpoint endpoint = new FtpSenderEndpoint();
+ endpoint.setUploadSuffix(".tmp");
+ assertEquals("myfile.xml.tmp", endpoint.getUploadName("myfile.xml"));
+ }
+
+ public void testGetUploadNameWithPrefixAndSuffix() {
+ FtpSenderEndpoint endpoint = new FtpSenderEndpoint();
+ endpoint.setUploadPrefix("work/");
+ endpoint.setUploadSuffix(".tmp");
+ assertEquals("work/myfile.xml.tmp", endpoint.getUploadName("myfile.xml"));
+ }
+}
Propchange: servicemix/components/bindings/servicemix-ftp/trunk/src/test/java/org/apache/servicemix/ftp/FtpSenderEndpointTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: servicemix/components/bindings/servicemix-ftp/trunk/src/test/resources/spring.xml
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-ftp/trunk/src/test/resources/spring.xml?rev=738812&r1=738811&r2=738812&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-ftp/trunk/src/test/resources/spring.xml (original)
+++ servicemix/components/bindings/servicemix-ftp/trunk/src/test/resources/spring.xml Thu Jan 29 10:35:26 2009
@@ -31,7 +31,10 @@
<ftp:endpoints>
<ftp:sender service="test:service"
endpoint="endpoint"
- uri="ftp://servicemix:rocks@localhost/smx/test" />
+ uri="ftp://servicemix:rocks@localhost/smx/test"
+ overwrite="true"
+ uploadPrefix="."
+ uploadSuffix=".tmp"/>
</ftp:endpoints>
</ftp:component>
</sm:component>