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>