This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git
The following commit(s) were added to refs/heads/main by this push:
new 57b75eaa7f Fix #6231 (#6234)
57b75eaa7f is described below
commit 57b75eaa7f47f47405e6e122a77863c4c7eb6542
Author: Sergio Ramazzina <[email protected]>
AuthorDate: Sat Dec 27 10:32:12 2025 +0100
Fix #6231 (#6234)
* Fix #6231 - Move files action doesnot add destination filenames to result
+ code cleanup
* Fix #6231 - Integration tests added
---
.../actions/0011-movefilesingle-addtoresultset.hwf | 310 ++++++++++++++++++
.../0011-movefilesmultiple-addtoresultset.hwf | 286 +++++++++++++++++
.../actions/files-0011/sample-file1.txt | 1 +
.../actions/files-0011/sample-file2.txt | 1 +
.../actions/files-0011/sample-file3.txt | 1 +
integration-tests/actions/main-0011-movefiles.hwf | 184 +++++++++++
.../actions/movefiles/ActionMoveFiles.java | 355 ++++++++++-----------
.../actions/movefiles/ActionMoveFilesDialog.java | 4 +-
.../movefiles/messages/messages_en_US.properties | 2 +-
.../movefiles/messages/messages_es_AR.properties | 2 +-
.../movefiles/messages/messages_es_ES.properties | 2 +-
.../movefiles/messages/messages_fr_FR.properties | 2 +-
.../movefiles/messages/messages_it_IT.properties | 60 ++--
.../movefiles/messages/messages_ja_JP.properties | 2 +-
.../movefiles/messages/messages_ko_KR.properties | 2 +-
.../movefiles/messages/messages_pt_BR.properties | 2 +-
.../movefiles/messages/messages_zh_CN.properties | 2 +-
17 files changed, 998 insertions(+), 220 deletions(-)
diff --git a/integration-tests/actions/0011-movefilesingle-addtoresultset.hwf
b/integration-tests/actions/0011-movefilesingle-addtoresultset.hwf
new file mode 100644
index 0000000000..36662d64f9
--- /dev/null
+++ b/integration-tests/actions/0011-movefilesingle-addtoresultset.hwf
@@ -0,0 +1,310 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+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.
+
+-->
+<workflow>
+ <name>0011-movefilesingle-addtoresultset</name>
+ <name_sync_with_filename>Y</name_sync_with_filename>
+ <description/>
+ <extended_description/>
+ <workflow_version/>
+ <created_user>-</created_user>
+ <created_date>2025/12/26 18:09:07.427</created_date>
+ <modified_user>-</modified_user>
+ <modified_date>2025/12/26 18:09:07.427</modified_date>
+ <parameters>
+ </parameters>
+ <actions>
+ <action>
+ <name>Start</name>
+ <description/>
+ <type>SPECIAL</type>
+ <attributes/>
+ <DayOfMonth>1</DayOfMonth>
+ <doNotWaitOnFirstExecution>N</doNotWaitOnFirstExecution>
+ <hour>12</hour>
+ <intervalMinutes>60</intervalMinutes>
+ <intervalSeconds>0</intervalSeconds>
+ <minutes>0</minutes>
+ <repeat>N</repeat>
+ <schedulerType>0</schedulerType>
+ <weekDay>1</weekDay>
+ <parallel>N</parallel>
+ <xloc>50</xloc>
+ <yloc>50</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Move files</name>
+ <description/>
+ <type>MOVE_FILES</type>
+ <attributes/>
+ <move_empty_folders>N</move_empty_folders>
+ <arg_from_previous>N</arg_from_previous>
+ <include_subfolders>N</include_subfolders>
+ <add_result_filesname>Y</add_result_filesname>
+ <destination_is_a_file>Y</destination_is_a_file>
+ <create_destination_folder>Y</create_destination_folder>
+ <add_date>N</add_date>
+ <add_time>N</add_time>
+ <SpecifyFormat>N</SpecifyFormat>
+ <date_time_format/>
+ <nr_errors_less_than>10</nr_errors_less_than>
+ <success_condition>success_if_no_errors</success_condition>
+ <AddDateBeforeExtension>N</AddDateBeforeExtension>
+ <DoNotKeepFolderStructure>N</DoNotKeepFolderStructure>
+ <iffileexists>do_nothing</iffileexists>
+ <destinationFolder/>
+ <ifmovedfileexists>do_nothing</ifmovedfileexists>
+ <moved_date_time_format/>
+ <create_move_to_folder>N</create_move_to_folder>
+ <add_moved_date>N</add_moved_date>
+ <add_moved_time>N</add_moved_time>
+ <SpecifyMoveFormat>N</SpecifyMoveFormat>
+ <AddMovedDateBeforeExtension>N</AddMovedDateBeforeExtension>
+ <simulate>N</simulate>
+ <fields>
+ <field>
+
<source_filefolder>${PROJECT_HOME}/files-0011/from/sample-file1.txt</source_filefolder>
+
<destination_filefolder>${PROJECT_HOME}/files-0011/to/sample-file1.txt</destination_filefolder>
+ <wildcard/>
+ </field>
+ <field>
+
<source_filefolder>${PROJECT_HOME}/files-0011/from/sample-file2.txt</source_filefolder>
+
<destination_filefolder>${PROJECT_HOME}/files-0011/to/sample-file2.txt</destination_filefolder>
+ <wildcard/>
+ </field>
+ <field>
+
<source_filefolder>${PROJECT_HOME}/files-0011/from/sample-file3.txt</source_filefolder>
+
<destination_filefolder>${PROJECT_HOME}/files-0011/to/sample-file3.txt</destination_filefolder>
+ <wildcard/>
+ </field>
+ </fields>
+ <parallel>N</parallel>
+ <xloc>320</xloc>
+ <yloc>48</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Prepare Move</name>
+ <description/>
+ <type>COPY_FILES</type>
+ <attributes/>
+ <copy_empty_folders>Y</copy_empty_folders>
+ <arg_from_previous>N</arg_from_previous>
+ <overwrite_files>N</overwrite_files>
+ <include_subfolders>N</include_subfolders>
+ <remove_source_files>N</remove_source_files>
+ <add_result_filesname>N</add_result_filesname>
+ <destination_is_a_file>Y</destination_is_a_file>
+ <create_destination_folder>Y</create_destination_folder>
+ <fields>
+ <field>
+
<source_filefolder>EMPTY_SOURCE_URL-0-${PROJECT_HOME}/files-0011/sample-file1.txt</source_filefolder>
+
<source_configuration_name>LOCAL-SOURCE-FILE-0</source_configuration_name>
+
<destination_filefolder>EMPTY_DEST_URL-0-${PROJECT_HOME}/files-0011/from/sample-file1.txt</destination_filefolder>
+
<destination_configuration_name>LOCAL-DEST-FILE-0</destination_configuration_name>
+ <wildcard/>
+ </field>
+ <field>
+
<source_filefolder>EMPTY_SOURCE_URL-1-${PROJECT_HOME}/files-0011/sample-file2.txt</source_filefolder>
+
<source_configuration_name>LOCAL-SOURCE-FILE-1</source_configuration_name>
+
<destination_filefolder>EMPTY_DEST_URL-1-${PROJECT_HOME}/files-0011/from/sample-file2.txt</destination_filefolder>
+
<destination_configuration_name>LOCAL-DEST-FILE-1</destination_configuration_name>
+ <wildcard/>
+ </field>
+ <field>
+
<source_filefolder>EMPTY_SOURCE_URL-2-${PROJECT_HOME}/files-0011/sample-file3.txt</source_filefolder>
+
<source_configuration_name>LOCAL-SOURCE-FILE-2</source_configuration_name>
+
<destination_filefolder>EMPTY_DEST_URL-2-${PROJECT_HOME}/files-0011/from/sample-file3.txt</destination_filefolder>
+
<destination_configuration_name>LOCAL-DEST-FILE-2</destination_configuration_name>
+ <wildcard/>
+ </field>
+ </fields>
+ <parallel>N</parallel>
+ <xloc>192</xloc>
+ <yloc>48</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Abort workflow</name>
+ <description/>
+ <type>ABORT</type>
+ <attributes/>
+ <always_log_rows>N</always_log_rows>
+ <parallel>N</parallel>
+ <xloc>352</xloc>
+ <yloc>304</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Dummy</name>
+ <description/>
+ <type>DUMMY</type>
+ <attributes/>
+ <parallel>N</parallel>
+ <xloc>352</xloc>
+ <yloc>176</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Cleanup Dirs</name>
+ <description/>
+ <type>DELETE_FOLDERS</type>
+ <attributes/>
+ <arg_from_previous>N</arg_from_previous>
+ <fields>
+ <field>
+ <name>${PROJECT_HOME}/files-0011/from</name>
+ </field>
+ <field>
+ <name>${PROJECT_HOME}/files-0011/to</name>
+ </field>
+ </fields>
+ <limit_folders>10</limit_folders>
+ <success_condition>success_if_no_errors</success_condition>
+ <parallel>N</parallel>
+ <xloc>608</xloc>
+ <yloc>48</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Success</name>
+ <description/>
+ <type>SUCCESS</type>
+ <attributes/>
+ <parallel>N</parallel>
+ <xloc>736</xloc>
+ <yloc>48</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Check result</name>
+ <description/>
+ <type>EVAL</type>
+ <attributes/>
+ <script>
+var result = true;
+var filesList = previous_result.getResultFilesList();
+
+if (filesList.size()!=3) {
+ action.logError("We expected three result file to be present in the result of
the 'Add filenames to result' action");
+ result=false;
+} else {
+ var resultFile1 = filesList.get(0);
+ if (resultFile1.getFile()==null) {
+ action.logError("The 1st result file added using the 'Move files' action
has its content null");
+ result=false;
+ }
+ var resultFile2 = filesList.get(1);
+ if (resultFile2.getFile()==null) {
+ action.logError("The 2nd result file added using the 'Move files' action
has its content null");
+ result=false;
+ }
+ var resultFile3 = filesList.get(2);
+ if (resultFile3.getFile()==null) {
+ action.logError("The 3rd result file added using the 'Move files' action
has its content null");
+ result=false;
+ }
+}
+
+action.logBasic("3 files added to the files' result collection as expected!");
+
+result;</script>
+ <parallel>N</parallel>
+ <xloc>464</xloc>
+ <yloc>48</yloc>
+ <attributes_hac/>
+ </action>
+ </actions>
+ <hops>
+ <hop>
+ <from>Start</from>
+ <to>Prepare Move</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>Y</unconditional>
+ </hop>
+ <hop>
+ <from>Prepare Move</from>
+ <to>Move files</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>Prepare Move</from>
+ <to>Dummy</to>
+ <enabled>Y</enabled>
+ <evaluation>N</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>Move files</from>
+ <to>Dummy</to>
+ <enabled>Y</enabled>
+ <evaluation>N</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>Dummy</from>
+ <to>Abort workflow</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>Y</unconditional>
+ </hop>
+ <hop>
+ <from>Cleanup Dirs</from>
+ <to>Success</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>Cleanup Dirs</from>
+ <to>Dummy</to>
+ <enabled>Y</enabled>
+ <evaluation>N</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>Move files</from>
+ <to>Check result</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>Check result</from>
+ <to>Cleanup Dirs</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>Check result</from>
+ <to>Dummy</to>
+ <enabled>Y</enabled>
+ <evaluation>N</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ </hops>
+ <notepads>
+ </notepads>
+ <attributes/>
+</workflow>
diff --git
a/integration-tests/actions/0011-movefilesmultiple-addtoresultset.hwf
b/integration-tests/actions/0011-movefilesmultiple-addtoresultset.hwf
new file mode 100644
index 0000000000..6a04684775
--- /dev/null
+++ b/integration-tests/actions/0011-movefilesmultiple-addtoresultset.hwf
@@ -0,0 +1,286 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+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.
+
+-->
+<workflow>
+ <name>0011-movefilesmultiple-addtoresultset</name>
+ <name_sync_with_filename>Y</name_sync_with_filename>
+ <description/>
+ <extended_description/>
+ <workflow_version/>
+ <created_user>-</created_user>
+ <created_date>2025/12/26 18:09:07.427</created_date>
+ <modified_user>-</modified_user>
+ <modified_date>2025/12/26 18:09:07.427</modified_date>
+ <parameters>
+ </parameters>
+ <actions>
+ <action>
+ <name>Start</name>
+ <description/>
+ <type>SPECIAL</type>
+ <attributes/>
+ <DayOfMonth>1</DayOfMonth>
+ <doNotWaitOnFirstExecution>N</doNotWaitOnFirstExecution>
+ <hour>12</hour>
+ <intervalMinutes>60</intervalMinutes>
+ <intervalSeconds>0</intervalSeconds>
+ <minutes>0</minutes>
+ <repeat>N</repeat>
+ <schedulerType>0</schedulerType>
+ <weekDay>1</weekDay>
+ <parallel>N</parallel>
+ <xloc>50</xloc>
+ <yloc>50</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Move files</name>
+ <description/>
+ <type>MOVE_FILES</type>
+ <attributes/>
+ <move_empty_folders>N</move_empty_folders>
+ <arg_from_previous>N</arg_from_previous>
+ <include_subfolders>N</include_subfolders>
+ <add_result_filesname>Y</add_result_filesname>
+ <destination_is_a_file>N</destination_is_a_file>
+ <create_destination_folder>Y</create_destination_folder>
+ <add_date>N</add_date>
+ <add_time>N</add_time>
+ <SpecifyFormat>N</SpecifyFormat>
+ <date_time_format/>
+ <nr_errors_less_than>10</nr_errors_less_than>
+ <success_condition>success_if_no_errors</success_condition>
+ <AddDateBeforeExtension>N</AddDateBeforeExtension>
+ <DoNotKeepFolderStructure>N</DoNotKeepFolderStructure>
+ <iffileexists>do_nothing</iffileexists>
+ <destinationFolder/>
+ <ifmovedfileexists>do_nothing</ifmovedfileexists>
+ <moved_date_time_format/>
+ <create_move_to_folder>N</create_move_to_folder>
+ <add_moved_date>N</add_moved_date>
+ <add_moved_time>N</add_moved_time>
+ <SpecifyMoveFormat>N</SpecifyMoveFormat>
+ <AddMovedDateBeforeExtension>N</AddMovedDateBeforeExtension>
+ <simulate>N</simulate>
+ <fields>
+ <field>
+
<source_filefolder>${PROJECT_HOME}/files-0011/from</source_filefolder>
+
<destination_filefolder>${PROJECT_HOME}/files-0011/to</destination_filefolder>
+ <wildcard>.*.txt</wildcard>
+ </field>
+ </fields>
+ <parallel>N</parallel>
+ <xloc>320</xloc>
+ <yloc>48</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Prepare Move</name>
+ <description/>
+ <type>COPY_FILES</type>
+ <attributes/>
+ <copy_empty_folders>Y</copy_empty_folders>
+ <arg_from_previous>N</arg_from_previous>
+ <overwrite_files>N</overwrite_files>
+ <include_subfolders>N</include_subfolders>
+ <remove_source_files>N</remove_source_files>
+ <add_result_filesname>N</add_result_filesname>
+ <destination_is_a_file>N</destination_is_a_file>
+ <create_destination_folder>Y</create_destination_folder>
+ <fields>
+ <field>
+
<source_filefolder>EMPTY_SOURCE_URL-0-${PROJECT_HOME}/files-0011</source_filefolder>
+
<source_configuration_name>LOCAL-SOURCE-FILE-0</source_configuration_name>
+
<destination_filefolder>EMPTY_DEST_URL-0-${PROJECT_HOME}/files-0011/from</destination_filefolder>
+
<destination_configuration_name>LOCAL-DEST-FILE-0</destination_configuration_name>
+ <wildcard>.*.txt</wildcard>
+ </field>
+ </fields>
+ <parallel>N</parallel>
+ <xloc>192</xloc>
+ <yloc>48</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Abort workflow</name>
+ <description/>
+ <type>ABORT</type>
+ <attributes/>
+ <always_log_rows>N</always_log_rows>
+ <parallel>N</parallel>
+ <xloc>352</xloc>
+ <yloc>304</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Dummy</name>
+ <description/>
+ <type>DUMMY</type>
+ <attributes/>
+ <parallel>N</parallel>
+ <xloc>352</xloc>
+ <yloc>176</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Cleanup Dirs</name>
+ <description/>
+ <type>DELETE_FOLDERS</type>
+ <attributes/>
+ <arg_from_previous>N</arg_from_previous>
+ <fields>
+ <field>
+ <name>${PROJECT_HOME}/files-0011/from</name>
+ </field>
+ <field>
+ <name>${PROJECT_HOME}/files-0011/to</name>
+ </field>
+ </fields>
+ <limit_folders>10</limit_folders>
+ <success_condition>success_if_no_errors</success_condition>
+ <parallel>N</parallel>
+ <xloc>608</xloc>
+ <yloc>48</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Success</name>
+ <description/>
+ <type>SUCCESS</type>
+ <attributes/>
+ <parallel>N</parallel>
+ <xloc>736</xloc>
+ <yloc>48</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Check result</name>
+ <description/>
+ <type>EVAL</type>
+ <attributes/>
+ <script>
+var result = true;
+var filesList = previous_result.getResultFilesList();
+
+if (filesList.size()!=3) {
+ action.logError("We expected three result file to be present in the result of
the 'Add filenames to result' action");
+ result=false;
+} else {
+ var resultFile1 = filesList.get(0);
+ if (resultFile1.getFile()==null) {
+ action.logError("The 1st result file added using the 'Move files' action
has its content null");
+ result=false;
+ }
+ var resultFile2 = filesList.get(1);
+ if (resultFile2.getFile()==null) {
+ action.logError("The 2nd result file added using the 'Move files' action
has its content null");
+ result=false;
+ }
+ var resultFile3 = filesList.get(2);
+ if (resultFile3.getFile()==null) {
+ action.logError("The 3rd result file added using the 'Move files' action
has its content null");
+ result=false;
+ }
+}
+
+action.logBasic("3 files added to the files' result collection as expected!");
+
+result;</script>
+ <parallel>N</parallel>
+ <xloc>464</xloc>
+ <yloc>48</yloc>
+ <attributes_hac/>
+ </action>
+ </actions>
+ <hops>
+ <hop>
+ <from>Start</from>
+ <to>Prepare Move</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>Y</unconditional>
+ </hop>
+ <hop>
+ <from>Prepare Move</from>
+ <to>Move files</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>Prepare Move</from>
+ <to>Dummy</to>
+ <enabled>Y</enabled>
+ <evaluation>N</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>Move files</from>
+ <to>Dummy</to>
+ <enabled>Y</enabled>
+ <evaluation>N</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>Dummy</from>
+ <to>Abort workflow</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>Y</unconditional>
+ </hop>
+ <hop>
+ <from>Cleanup Dirs</from>
+ <to>Success</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>Cleanup Dirs</from>
+ <to>Dummy</to>
+ <enabled>Y</enabled>
+ <evaluation>N</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>Move files</from>
+ <to>Check result</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>Check result</from>
+ <to>Cleanup Dirs</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>Check result</from>
+ <to>Dummy</to>
+ <enabled>Y</enabled>
+ <evaluation>N</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ </hops>
+ <notepads>
+ </notepads>
+ <attributes/>
+</workflow>
diff --git a/integration-tests/actions/files-0011/sample-file1.txt
b/integration-tests/actions/files-0011/sample-file1.txt
new file mode 100644
index 0000000000..52ceef9059
--- /dev/null
+++ b/integration-tests/actions/files-0011/sample-file1.txt
@@ -0,0 +1 @@
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas gravida
turpis nec nibh interdum convallis. Duis id tempor sem. Aliquam aliquet lacus
eu egestas vestibulum. Donec tempus, orci dapibus sodales volutpat, ex nibh
bibendum lacus, at pharetra libero eros et ante. Curabitur vitae pulvinar odio.
Nam dapibus lorem scelerisque nulla blandit, at viverra lectus porta. Morbi
tincidunt imperdiet sapien, eget egestas mauris tristique vitae. Fusce eget
nulla eu augue commodo tincidunt [...]
\ No newline at end of file
diff --git a/integration-tests/actions/files-0011/sample-file2.txt
b/integration-tests/actions/files-0011/sample-file2.txt
new file mode 100644
index 0000000000..52ceef9059
--- /dev/null
+++ b/integration-tests/actions/files-0011/sample-file2.txt
@@ -0,0 +1 @@
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas gravida
turpis nec nibh interdum convallis. Duis id tempor sem. Aliquam aliquet lacus
eu egestas vestibulum. Donec tempus, orci dapibus sodales volutpat, ex nibh
bibendum lacus, at pharetra libero eros et ante. Curabitur vitae pulvinar odio.
Nam dapibus lorem scelerisque nulla blandit, at viverra lectus porta. Morbi
tincidunt imperdiet sapien, eget egestas mauris tristique vitae. Fusce eget
nulla eu augue commodo tincidunt [...]
\ No newline at end of file
diff --git a/integration-tests/actions/files-0011/sample-file3.txt
b/integration-tests/actions/files-0011/sample-file3.txt
new file mode 100644
index 0000000000..52ceef9059
--- /dev/null
+++ b/integration-tests/actions/files-0011/sample-file3.txt
@@ -0,0 +1 @@
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas gravida
turpis nec nibh interdum convallis. Duis id tempor sem. Aliquam aliquet lacus
eu egestas vestibulum. Donec tempus, orci dapibus sodales volutpat, ex nibh
bibendum lacus, at pharetra libero eros et ante. Curabitur vitae pulvinar odio.
Nam dapibus lorem scelerisque nulla blandit, at viverra lectus porta. Morbi
tincidunt imperdiet sapien, eget egestas mauris tristique vitae. Fusce eget
nulla eu augue commodo tincidunt [...]
\ No newline at end of file
diff --git a/integration-tests/actions/main-0011-movefiles.hwf
b/integration-tests/actions/main-0011-movefiles.hwf
new file mode 100644
index 0000000000..cdd470b3e4
--- /dev/null
+++ b/integration-tests/actions/main-0011-movefiles.hwf
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+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.
+
+-->
+<workflow>
+ <name>main-0011-movefiles</name>
+ <name_sync_with_filename>Y</name_sync_with_filename>
+ <description/>
+ <extended_description/>
+ <workflow_version/>
+ <created_user>-</created_user>
+ <created_date>2021/05/05 18:31:44.849</created_date>
+ <modified_user>-</modified_user>
+ <modified_date>2021/05/05 18:31:44.849</modified_date>
+ <parameters>
+ </parameters>
+ <actions>
+ <action>
+ <name>Start</name>
+ <description/>
+ <type>SPECIAL</type>
+ <attributes/>
+ <DayOfMonth>1</DayOfMonth>
+ <doNotWaitOnFirstExecution>N</doNotWaitOnFirstExecution>
+ <hour>12</hour>
+ <intervalMinutes>60</intervalMinutes>
+ <intervalSeconds>0</intervalSeconds>
+ <minutes>0</minutes>
+ <repeat>N</repeat>
+ <schedulerType>0</schedulerType>
+ <weekDay>1</weekDay>
+ <parallel>N</parallel>
+ <xloc>128</xloc>
+ <yloc>96</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>0011-movefilesingle-addtoresultset.hwf</name>
+ <description/>
+ <type>WORKFLOW</type>
+ <attributes/>
+ <add_date>N</add_date>
+ <add_time>N</add_time>
+ <create_parent_folder>N</create_parent_folder>
+ <exec_per_row>N</exec_per_row>
+
<filename>${PROJECT_HOME}/0011-movefilesingle-addtoresultset.hwf</filename>
+ <logext/>
+ <logfile/>
+ <loglevel>Nothing</loglevel>
+ <parameters>
+ <pass_all_parameters>Y</pass_all_parameters>
+ </parameters>
+ <params_from_previous>N</params_from_previous>
+ <run_configuration>local</run_configuration>
+ <set_append_logfile>N</set_append_logfile>
+ <set_logfile>N</set_logfile>
+ <wait_until_finished>Y</wait_until_finished>
+ <parallel>N</parallel>
+ <xloc>304</xloc>
+ <yloc>96</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Success</name>
+ <description/>
+ <type>SUCCESS</type>
+ <attributes/>
+ <parallel>N</parallel>
+ <xloc>736</xloc>
+ <yloc>96</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Abort workflow</name>
+ <description/>
+ <type>ABORT</type>
+ <attributes/>
+ <always_log_rows>N</always_log_rows>
+ <message>Simple eval: String comparison to unset variable
failed</message>
+ <parallel>N</parallel>
+ <xloc>416</xloc>
+ <yloc>368</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>Dummy</name>
+ <description/>
+ <type>DUMMY</type>
+ <attributes/>
+ <parallel>N</parallel>
+ <xloc>416</xloc>
+ <yloc>208</yloc>
+ <attributes_hac/>
+ </action>
+ <action>
+ <name>0011-movefilesmultiple-addtoresultset.hwf</name>
+ <description/>
+ <type>WORKFLOW</type>
+ <attributes/>
+ <add_date>N</add_date>
+ <add_time>N</add_time>
+ <create_parent_folder>N</create_parent_folder>
+ <exec_per_row>N</exec_per_row>
+
<filename>${PROJECT_HOME}/0011-movefilesmultiple-addtoresultset.hwf</filename>
+ <logext/>
+ <logfile/>
+ <loglevel>Nothing</loglevel>
+ <parameters>
+ <pass_all_parameters>Y</pass_all_parameters>
+ </parameters>
+ <params_from_previous>N</params_from_previous>
+ <run_configuration>local</run_configuration>
+ <set_append_logfile>N</set_append_logfile>
+ <set_logfile>N</set_logfile>
+ <wait_until_finished>Y</wait_until_finished>
+ <parallel>N</parallel>
+ <xloc>544</xloc>
+ <yloc>96</yloc>
+ <attributes_hac/>
+ </action>
+ </actions>
+ <hops>
+ <hop>
+ <from>Start</from>
+ <to>0011-movefilesingle-addtoresultset.hwf</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>Y</unconditional>
+ </hop>
+ <hop>
+ <from>0011-movefilesingle-addtoresultset.hwf</from>
+ <to>Dummy</to>
+ <enabled>Y</enabled>
+ <evaluation>N</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>Dummy</from>
+ <to>Abort workflow</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>Y</unconditional>
+ </hop>
+ <hop>
+ <from>0011-movefilesingle-addtoresultset.hwf</from>
+ <to>0011-movefilesmultiple-addtoresultset.hwf</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ <hop>
+ <from>0011-movefilesmultiple-addtoresultset.hwf</from>
+ <to>Success</to>
+ <enabled>Y</enabled>
+ <evaluation>Y</evaluation>
+ <unconditional>Y</unconditional>
+ </hop>
+ <hop>
+ <from>0011-movefilesmultiple-addtoresultset.hwf</from>
+ <to>Dummy</to>
+ <enabled>Y</enabled>
+ <evaluation>N</evaluation>
+ <unconditional>N</unconditional>
+ </hop>
+ </hops>
+ <notepads>
+ </notepads>
+ <attributes/>
+</workflow>
diff --git
a/plugins/actions/movefiles/src/main/java/org/apache/hop/workflow/actions/movefiles/ActionMoveFiles.java
b/plugins/actions/movefiles/src/main/java/org/apache/hop/workflow/actions/movefiles/ActionMoveFiles.java
index 9b609d7f1f..acb473ea42 100644
---
a/plugins/actions/movefiles/src/main/java/org/apache/hop/workflow/actions/movefiles/ActionMoveFiles.java
+++
b/plugins/actions/movefiles/src/main/java/org/apache/hop/workflow/actions/movefiles/ActionMoveFiles.java
@@ -538,39 +538,39 @@ public class ActionMoveFiles extends ActionBase
implements Cloneable, IAction {
}
private boolean processFileFolder(
- String sourcefilefoldername,
- String destinationfilefoldername,
+ String sourceFileFolderName,
+ String destinationFileFolderName,
String wildcard,
IWorkflowEngine<WorkflowMeta> parentWorkflow,
Result result,
String moveToFolder) {
- boolean entrystatus = false;
- FileObject sourcefilefolder = null;
- FileObject destinationfilefolder = null;
- FileObject movetofolderfolder = null;
- FileObject currentfile = null;
+ boolean entryStatus = false;
+ FileObject sourceFileFolder = null;
+ FileObject destinationFileFolder = null;
+ FileObject moveToFolderFolder = null;
+ FileObject currentFile = null;
// Get real source, destination file and wildcard
- String realSourceFilefoldername = resolve(sourcefilefoldername);
- String realDestinationFilefoldername = resolve(destinationfilefoldername);
+ String realSourceFilefoldername = resolve(sourceFileFolderName);
+ String realDestinationFilefoldername = resolve(destinationFileFolderName);
String realWildcard = resolve(wildcard);
try {
- sourcefilefolder = HopVfs.getFileObject(realSourceFilefoldername,
getVariables());
- destinationfilefolder =
HopVfs.getFileObject(realDestinationFilefoldername, getVariables());
+ sourceFileFolder = HopVfs.getFileObject(realSourceFilefoldername,
getVariables());
+ destinationFileFolder =
HopVfs.getFileObject(realDestinationFilefoldername, getVariables());
if (!Utils.isEmpty(moveToFolder)) {
- movetofolderfolder = HopVfs.getFileObject(moveToFolder,
getVariables());
+ moveToFolderFolder = HopVfs.getFileObject(moveToFolder,
getVariables());
}
- if (sourcefilefolder.exists()) {
+ if (sourceFileFolder.exists()) {
// Check if destination folder/parent folder exists !
// If user wanted and if destination folder does not exist
// Apache Hop will create it
- if (createDestinationFolder(destinationfilefolder)) {
+ if (createDestinationFolder(destinationFileFolder)) {
// Basic Tests
- if (sourcefilefolder.getType().equals(FileType.FOLDER) &&
destinationIsAFile) {
+ if (sourceFileFolder.getType().equals(FileType.FOLDER) &&
destinationIsAFile) {
// Source is a folder, destination is a file
// WARNING !!! CAN NOT MOVE FOLDER TO FILE !!!
@@ -585,14 +585,14 @@ public class ActionMoveFiles extends ActionBase
implements Cloneable, IAction {
// Update Errors
updateErrors();
} else {
- if (destinationfilefolder.getType().equals(FileType.FOLDER)
- && sourcefilefolder.getType().equals(FileType.FILE)) {
+ if (destinationFileFolder.getType().equals(FileType.FOLDER)
+ && sourceFileFolder.getType().equals(FileType.FILE)) {
// Source is a file, destination is a folder
// return destination short filename
- String shortfilename = sourcefilefolder.getName().getBaseName();
+ String shortFilename = sourceFileFolder.getName().getBaseName();
try {
- shortfilename = getDestinationFilename(shortfilename);
+ shortFilename = getDestinationFilename(shortFilename);
} catch (Exception e) {
logError(
BaseMessages.getString(
@@ -600,29 +600,29 @@ public class ActionMoveFiles extends ActionBase
implements Cloneable, IAction {
BaseMessages.getString(
PKG,
CONST_ACTION_MOVE_FILES_ERROR_GETTING_FILENAME,
- sourcefilefolder.getName().getBaseName(),
+ sourceFileFolder.getName().getBaseName(),
e.toString())));
- return entrystatus;
+ return entryStatus;
}
// Move the file to the destination folder
- String destinationfilenamefull =
- HopVfs.getFilename(destinationfilefolder) +
Const.FILE_SEPARATOR + shortfilename;
- FileObject destinationfile =
- HopVfs.getFileObject(destinationfilenamefull,
getVariables());
+ String destinationFilenameFull =
+ HopVfs.getFilename(destinationFileFolder) +
Const.FILE_SEPARATOR + shortFilename;
+ FileObject destinationFile =
+ HopVfs.getFileObject(destinationFilenameFull,
getVariables());
- createFolderIfNotExists(destinationfilefolder);
+ createFolderIfNotExists(destinationFileFolder);
- entrystatus =
+ entryStatus =
moveFile(
- shortfilename,
- sourcefilefolder,
- destinationfile,
- movetofolderfolder,
+ shortFilename,
+ sourceFileFolder,
+ destinationFile,
+ moveToFolderFolder,
parentWorkflow,
result);
- return entrystatus;
- } else if (sourcefilefolder.getType().equals(FileType.FILE) &&
destinationIsAFile) {
+ return entryStatus;
+ } else if (sourceFileFolder.getType().equals(FileType.FILE) &&
destinationIsAFile) {
// Source is a file, destination is a file
FileObject destinationfile =
@@ -639,14 +639,14 @@ public class ActionMoveFiles extends ActionBase
implements Cloneable, IAction {
BaseMessages.getString(
PKG,
CONST_ACTION_MOVE_FILES_ERROR_GETTING_FILENAME,
- sourcefilefolder.getName().getBaseName(),
+ sourceFileFolder.getName().getBaseName(),
e.toString())));
- return entrystatus;
+ return entryStatus;
}
if (destinationfile.getName().getURI().startsWith("azfs")) {
// Special handling for "azfs" URIs
- destinationfile =
HopVfs.getFileObject(destinationfilefoldername, getVariables());
+ destinationfile =
HopVfs.getFileObject(destinationFileFolderName, getVariables());
} else {
String destinationfilenamefull =
HopVfs.getFilename(destinationfile.getParent())
@@ -655,26 +655,26 @@ public class ActionMoveFiles extends ActionBase
implements Cloneable, IAction {
destinationfile =
HopVfs.getFileObject(destinationfilenamefull, getVariables());
}
- entrystatus =
+ entryStatus =
moveFile(
shortfilename,
- sourcefilefolder,
+ sourceFileFolder,
destinationfile,
- movetofolderfolder,
+ moveToFolderFolder,
parentWorkflow,
result);
- return entrystatus;
+ return entryStatus;
} else {
// Both source and destination are folders
if (isDetailed()) {
logDetailed(" ");
logDetailed(
BaseMessages.getString(
- PKG, "ActionMoveFiles.Log.FetchFolder",
sourcefilefolder.toString()));
+ PKG, "ActionMoveFiles.Log.FetchFolder",
sourceFileFolder.toString()));
}
FileObject[] fileObjects =
- sourcefilefolder.findFiles(
+ sourceFileFolder.findFiles(
new AllFileSelector() {
@Override
public boolean traverseDescendents(FileSelectInfo
info) {
@@ -719,16 +719,16 @@ public class ActionMoveFiles extends ActionBase
implements Cloneable, IAction {
return false;
}
// Fetch files in list one after one ...
- currentfile = fileObjects[j];
+ currentFile = fileObjects[j];
if (!moveOneFile(
- currentfile,
- sourcefilefolder,
+ currentFile,
+ sourceFileFolder,
realDestinationFilefoldername,
realWildcard,
parentWorkflow,
result,
- movetofolderfolder)) {
+ moveToFolderFolder)) {
// Update Errors
updateErrors();
}
@@ -736,7 +736,7 @@ public class ActionMoveFiles extends ActionBase implements
Cloneable, IAction {
}
}
}
- entrystatus = true;
+ entryStatus = true;
} else {
// Destination Folder or Parent folder is missing
logError(
@@ -756,65 +756,65 @@ public class ActionMoveFiles extends ActionBase
implements Cloneable, IAction {
PKG,
"ActionMoveFiles.Error.Exception.MoveProcess",
realSourceFilefoldername,
- destinationfilefolder.toString(),
+ destinationFileFolder.toString(),
e.getMessage()));
} finally {
- if (sourcefilefolder != null) {
+ if (sourceFileFolder != null) {
try {
- sourcefilefolder.close();
+ sourceFileFolder.close();
} catch (IOException ex) {
/* Ignore */
}
}
- if (destinationfilefolder != null) {
+ if (destinationFileFolder != null) {
try {
- destinationfilefolder.close();
+ destinationFileFolder.close();
} catch (IOException ex) {
/* Ignore */
}
}
- if (currentfile != null) {
+ if (currentFile != null) {
try {
- currentfile.close();
+ currentFile.close();
} catch (IOException ex) {
/* Ignore */
}
}
- if (movetofolderfolder != null) {
+ if (moveToFolderFolder != null) {
try {
- movetofolderfolder.close();
+ moveToFolderFolder.close();
} catch (IOException ex) {
/* Ignore */
}
}
}
- return entrystatus;
+ return entryStatus;
}
private boolean moveFile(
- String shortfilename,
- FileObject sourcefilename,
- FileObject destinationfilename,
- FileObject movetofolderfolder,
+ String shortFilename,
+ FileObject sourceFileFolder,
+ FileObject destinationFilename,
+ FileObject movetoFolderFolder,
IWorkflowEngine<WorkflowMeta> parentWorkflow,
Result result) {
- FileObject destinationfile = null;
- boolean retval = false;
+ FileObject destinationFile = null;
+ boolean retVal = false;
try {
- if (!destinationfilename.exists()) {
+ if (!destinationFilename.exists()) {
if (includeSubfolders) {
// Check if
FileObject destinationFilePath =
HopVfs.getFileObject(
- destinationfilename.getName().getParent().toString(),
getVariables());
+ destinationFilename.getName().getParent().toString(),
getVariables());
if (!destinationFilePath.exists())
destinationFilePath.createFolder();
}
if (!simulate) {
- destinationfilename.createFile();
- sourcefilename.moveTo(destinationfilename);
+ destinationFilename.createFile();
+ sourceFileFolder.moveTo(destinationFilename);
}
if (isDetailed()) {
@@ -822,193 +822,189 @@ public class ActionMoveFiles extends ActionBase
implements Cloneable, IAction {
BaseMessages.getString(
PKG,
CONST_ACTION_MOVE_FILES_LOG_FILE_MOVED,
- sourcefilename.getName().toString(),
- destinationfilename.getName().toString()));
+ sourceFileFolder.getName().toString(),
+ destinationFilename.getName().toString()));
}
// add filename to result filename
- if (addResultFilenames
- && !ifFileExists.equals("fail")
- && !ifFileExists.equals(CONST_DO_NOTHING)) {
- addFileToResultFilenames(destinationfilename.toString(), result,
parentWorkflow);
+ if (addResultFilenames) {
+ addFileToResultFilenames(destinationFilename.toString(), result,
parentWorkflow);
}
updateSuccess();
- retval = true;
+ retVal = true;
} else {
if (isDetailed()) {
logDetailed(
BaseMessages.getString(
- PKG, "ActionMoveFiles.Log.FileExists",
destinationfilename.toString()));
+ PKG, "ActionMoveFiles.Log.FileExists",
destinationFilename.toString()));
}
+
if (ifFileExists.equals("overwrite_file")) {
if (!simulate) {
- sourcefilename.moveTo(destinationfilename);
+ sourceFileFolder.moveTo(destinationFilename);
}
if (isDetailed()) {
logDetailed(
BaseMessages.getString(
PKG,
"ActionMoveFiles.Log.FileOverwrite",
- destinationfilename.getName().toString()));
+ destinationFilename.getName().toString()));
}
// add filename to result filename
- if (addResultFilenames
- && !ifFileExists.equals("fail")
- && !ifFileExists.equals(CONST_DO_NOTHING)) {
- addFileToResultFilenames(destinationfilename.toString(), result,
parentWorkflow);
+ if (addResultFilenames) {
+ addFileToResultFilenames(destinationFilename.toString(), result,
parentWorkflow);
}
updateSuccess();
- retval = true;
+ retVal = true;
} else if (ifFileExists.equals("unique_name")) {
- String shortFilename = shortfilename;
+ String shortDestinationFilename = shortFilename;
// return destination short filename
try {
- shortFilename = getMoveDestinationFilename(shortFilename,
"ddMMyyyy_HHmmssSSS");
+ shortDestinationFilename =
+ getMoveDestinationFilename(shortDestinationFilename,
"ddMMyyyy_HHmmssSSS");
} catch (Exception e) {
logError(
BaseMessages.getString(
PKG,
BaseMessages.getString(
- PKG, CONST_ACTION_MOVE_FILES_ERROR_GETTING_FILENAME,
shortFilename)),
+ PKG,
+ CONST_ACTION_MOVE_FILES_ERROR_GETTING_FILENAME,
+ shortDestinationFilename)),
e);
- return retval;
+ return retVal;
}
String movetofilenamefull =
- destinationfilename.getParent().toString() +
Const.FILE_SEPARATOR + shortFilename;
- destinationfile = HopVfs.getFileObject(movetofilenamefull,
getVariables());
+ destinationFilename.getParent().toString()
+ + Const.FILE_SEPARATOR
+ + shortDestinationFilename;
+ destinationFile = HopVfs.getFileObject(movetofilenamefull,
getVariables());
if (!simulate) {
- sourcefilename.moveTo(destinationfile);
+ sourceFileFolder.moveTo(destinationFile);
}
if (isDetailed()) {
logDetailed(
BaseMessages.getString(
PKG,
CONST_ACTION_MOVE_FILES_LOG_FILE_MOVED,
- sourcefilename.getName().toString(),
- destinationfile.getName().toString()));
+ sourceFileFolder.getName().toString(),
+ destinationFile.getName().toString()));
}
// add filename to result filename
- if (addResultFilenames
- && !ifFileExists.equals("fail")
- && !ifFileExists.equals(CONST_DO_NOTHING)) {
- addFileToResultFilenames(destinationfile.toString(), result,
parentWorkflow);
+ if (addResultFilenames) {
+ addFileToResultFilenames(destinationFile.toString(), result,
parentWorkflow);
}
updateSuccess();
- retval = true;
+ retVal = true;
} else if (ifFileExists.equals("delete_file")) {
if (!simulate) {
- sourcefilename.delete();
+ sourceFileFolder.delete();
}
if (isDetailed()) {
logDetailed(
BaseMessages.getString(
PKG,
"ActionMoveFiles.Log.FileDeleted",
- destinationfilename.getName().toString()));
+ destinationFilename.getName().toString()));
}
updateSuccess();
- retval = true;
+ retVal = true;
} else if (ifFileExists.equals("move_file")) {
- String shortFilename = shortfilename;
+ String shortDestinationFilename = shortFilename;
// return destination short filename
try {
- shortFilename = getMoveDestinationFilename(shortFilename, null);
+ shortDestinationFilename =
getMoveDestinationFilename(shortDestinationFilename, null);
} catch (Exception e) {
logError(
BaseMessages.getString(
PKG,
BaseMessages.getString(
- PKG, CONST_ACTION_MOVE_FILES_ERROR_GETTING_FILENAME,
shortFilename)),
+ PKG,
+ CONST_ACTION_MOVE_FILES_ERROR_GETTING_FILENAME,
+ shortDestinationFilename)),
e);
- return retval;
+ return retVal;
}
- String movetofilenamefull =
- movetofolderfolder.toString() + Const.FILE_SEPARATOR +
shortFilename;
- destinationfile = HopVfs.getFileObject(movetofilenamefull,
getVariables());
- if (!destinationfile.exists()) {
+ String moveToFilenameFull =
+ movetoFolderFolder.toString() + Const.FILE_SEPARATOR +
shortDestinationFilename;
+ destinationFile = HopVfs.getFileObject(moveToFilenameFull,
getVariables());
+ if (!destinationFile.exists()) {
if (!simulate) {
- sourcefilename.moveTo(destinationfile);
+ sourceFileFolder.moveTo(destinationFile);
}
if (isDetailed()) {
logDetailed(
BaseMessages.getString(
PKG,
CONST_ACTION_MOVE_FILES_LOG_FILE_MOVED,
- sourcefilename.getName().toString(),
- destinationfile.getName().toString()));
+ sourceFileFolder.getName().toString(),
+ destinationFile.getName().toString()));
}
// add filename to result filename
- if (addResultFilenames
- && !ifFileExists.equals("fail")
- && !ifFileExists.equals(CONST_DO_NOTHING)) {
- addFileToResultFilenames(destinationfile.toString(), result,
parentWorkflow);
+ if (addResultFilenames) {
+ addFileToResultFilenames(destinationFile.toString(), result,
parentWorkflow);
}
} else {
if (ifMovedFileExists.equals("overwrite_file")) {
if (!simulate) {
- sourcefilename.moveTo(destinationfile);
+ sourceFileFolder.moveTo(destinationFile);
}
if (isDetailed()) {
logDetailed(
BaseMessages.getString(
PKG,
"ActionMoveFiles.Log.FileOverwrite",
- destinationfile.getName().toString()));
+ destinationFile.getName().toString()));
}
// add filename to result filename
- if (addResultFilenames
- && !ifFileExists.equals("fail")
- && !ifFileExists.equals(CONST_DO_NOTHING)) {
- addFileToResultFilenames(destinationfile.toString(), result,
parentWorkflow);
+ if (addResultFilenames) {
+ addFileToResultFilenames(destinationFile.toString(), result,
parentWorkflow);
}
updateSuccess();
- retval = true;
+ retVal = true;
} else if (ifMovedFileExists.equals("unique_name")) {
SimpleDateFormat daf = new SimpleDateFormat();
Date now = new Date();
daf.applyPattern("ddMMyyyy_HHmmssSSS");
String dt = daf.format(now);
- shortFilename += "_" + dt;
+ shortDestinationFilename += "_" + dt;
- String destinationfilenamefull =
- movetofolderfolder.toString() + Const.FILE_SEPARATOR +
shortFilename;
- destinationfile = HopVfs.getFileObject(destinationfilenamefull,
getVariables());
+ String destinationFilenameFull =
+ movetoFolderFolder.toString() + Const.FILE_SEPARATOR +
shortDestinationFilename;
+ destinationFile = HopVfs.getFileObject(destinationFilenameFull,
getVariables());
if (!simulate) {
- sourcefilename.moveTo(destinationfile);
+ sourceFileFolder.moveTo(destinationFile);
}
if (isDetailed()) {
logDetailed(
BaseMessages.getString(
PKG,
CONST_ACTION_MOVE_FILES_LOG_FILE_MOVED,
- destinationfile.getName().toString()));
+ destinationFile.getName().toString()));
}
// add filename to result filename
- if (addResultFilenames
- && !ifFileExists.equals("fail")
- && !ifFileExists.equals(CONST_DO_NOTHING)) {
- addFileToResultFilenames(destinationfile.toString(), result,
parentWorkflow);
+ if (addResultFilenames) {
+ addFileToResultFilenames(destinationFile.toString(), result,
parentWorkflow);
}
updateSuccess();
- retval = true;
+ retVal = true;
} else if (ifMovedFileExists.equals("fail")) {
// Update Errors
updateErrors();
@@ -1019,7 +1015,7 @@ public class ActionMoveFiles extends ActionBase
implements Cloneable, IAction {
// Update Errors
updateErrors();
} else if (ifFileExists.equals(CONST_DO_NOTHING)) {
- retval = true;
+ retVal = true;
}
}
} catch (Exception e) {
@@ -1027,42 +1023,42 @@ public class ActionMoveFiles extends ActionBase
implements Cloneable, IAction {
BaseMessages.getString(
PKG,
"ActionMoveFiles.Error.Exception.MoveProcessError",
- sourcefilename.toString(),
- destinationfilename.toString(),
+ sourceFileFolder.toString(),
+ destinationFilename.toString(),
e.getMessage() != null ? e.getMessage() :
e.getClass().getSimpleName()));
updateErrors();
} finally {
- if (destinationfile != null) {
+ if (destinationFile != null) {
try {
- destinationfile.close();
+ destinationFile.close();
} catch (IOException ex) {
/* Ignore */
}
}
}
- return retval;
+ return retVal;
}
private boolean moveOneFile(
- FileObject currentfile,
- FileObject sourcefilefolder,
- String realDestinationFilefoldername,
+ FileObject currentFile,
+ FileObject sourceFileFolder,
+ String realDestinationFileFolderName,
String realWildcard,
IWorkflowEngine<WorkflowMeta> parentWorkflow,
Result result,
- FileObject movetofolderfolder) {
- boolean entrystatus = false;
+ FileObject movetoFolderFolder) {
+ boolean entryStatus = false;
FileObject filename = null;
try {
- if (!currentfile.toString().equals(sourcefilefolder.toString())) {
+ if (!currentFile.toString().equals(sourceFileFolder.toString())) {
// Pass over the Base folder itself
// return destination short filename
- String sourceshortfilename = currentfile.getName().getBaseName();
- String shortfilename = sourceshortfilename;
+ String sourceShortFilename = currentFile.getName().getBaseName();
+ String shortDestinationFilename = sourceShortFilename;
try {
- shortfilename = getDestinationFilename(sourceshortfilename);
+ shortDestinationFilename =
getDestinationFilename(sourceShortFilename);
} catch (Exception e) {
logError(
BaseMessages.getString(
@@ -1070,55 +1066,55 @@ public class ActionMoveFiles extends ActionBase
implements Cloneable, IAction {
BaseMessages.getString(
PKG,
CONST_ACTION_MOVE_FILES_ERROR_GETTING_FILENAME,
- currentfile.getName().getBaseName(),
+ currentFile.getName().getBaseName(),
e.toString())));
- return entrystatus;
+ return entryStatus;
}
- int lenCurrent = sourceshortfilename.length();
- String shortFilenameFromBaseFolder = shortfilename;
+ int lenCurrent = sourceShortFilename.length();
+ String shortFilenameFromBaseFolder = shortDestinationFilename;
if (!isDoNotKeepFolderStructure()) {
shortFilenameFromBaseFolder =
- currentfile
+ currentFile
.toString()
- .substring(sourcefilefolder.toString().length(),
currentfile.toString().length());
+ .substring(sourceFileFolder.toString().length(),
currentFile.toString().length());
}
shortFilenameFromBaseFolder =
shortFilenameFromBaseFolder.substring(
0, shortFilenameFromBaseFolder.length() - lenCurrent)
- + shortfilename;
+ + shortDestinationFilename;
// Built destination filename
filename =
HopVfs.getFileObject(
- realDestinationFilefoldername + Const.FILE_SEPARATOR +
shortFilenameFromBaseFolder,
+ realDestinationFileFolderName + Const.FILE_SEPARATOR +
shortFilenameFromBaseFolder,
getVariables());
- if
(!currentfile.getParent().toString().equals(sourcefilefolder.toString())) {
+ if
(!currentFile.getParent().toString().equals(sourceFileFolder.toString())) {
// Not in the Base Folder..Only if include sub folders
if (includeSubfolders) {
// Folders..only if include subfolders
- if (currentfile.getType() == FileType.FOLDER) {
+ if (currentFile.getType() == FileType.FOLDER) {
if (includeSubfolders && moveEmptyFolders &&
Utils.isEmpty(wildcard)) {
- entrystatus =
+ entryStatus =
moveFile(
- shortfilename,
- currentfile,
+ shortDestinationFilename,
+ currentFile,
filename,
- movetofolderfolder,
+ movetoFolderFolder,
parentWorkflow,
result);
}
} else {
- if (getFileWildcard(sourceshortfilename, realWildcard)) {
- entrystatus =
+ if (getFileWildcard(sourceShortFilename, realWildcard)) {
+ entryStatus =
moveFile(
- shortfilename,
- currentfile,
+ shortDestinationFilename,
+ currentFile,
filename,
- movetofolderfolder,
+ movetoFolderFolder,
parentWorkflow,
result);
}
@@ -1127,34 +1123,34 @@ public class ActionMoveFiles extends ActionBase
implements Cloneable, IAction {
} else {
// In the Base Folder...
// Folders..only if include subfolders
- if (currentfile.getType() == FileType.FOLDER) {
+ if (currentFile.getType() == FileType.FOLDER) {
if (includeSubfolders && moveEmptyFolders &&
Utils.isEmpty(wildcard)) {
- entrystatus =
+ entryStatus =
moveFile(
- shortfilename,
- currentfile,
+ shortDestinationFilename,
+ currentFile,
filename,
- movetofolderfolder,
+ movetoFolderFolder,
parentWorkflow,
result);
}
} else {
// file...Check if exists
- if (getFileWildcard(sourceshortfilename, realWildcard)) {
- entrystatus =
+ if (getFileWildcard(sourceShortFilename, realWildcard)) {
+ entryStatus =
moveFile(
- shortfilename,
- currentfile,
+ shortDestinationFilename,
+ currentFile,
filename,
- movetofolderfolder,
+ movetoFolderFolder,
parentWorkflow,
result);
}
}
}
}
- entrystatus = true;
+ entryStatus = true;
} catch (Exception e) {
logError(BaseMessages.getString(PKG, "ActionMoveFiles.Log.Error",
e.toString()));
@@ -1168,7 +1164,7 @@ public class ActionMoveFiles extends ActionBase
implements Cloneable, IAction {
}
}
}
- return entrystatus;
+ return entryStatus;
}
private void updateErrors() {
@@ -1204,10 +1200,9 @@ public class ActionMoveFiles extends ActionBase
implements Cloneable, IAction {
result.getResultFiles().put(resultFile.getFile().toString(), resultFile);
if (isDebug()) {
- logDebug(" ------ ");
logDebug(
BaseMessages.getString(
- PKG, "ActionMoveFiles.Log.FileAddedToResultFilesName",
fileaddentry));
+ PKG, "ActionMoveFiles.Log.FileAddedToResultFilenames",
fileaddentry));
}
} catch (Exception e) {
diff --git
a/plugins/actions/movefiles/src/main/java/org/apache/hop/workflow/actions/movefiles/ActionMoveFilesDialog.java
b/plugins/actions/movefiles/src/main/java/org/apache/hop/workflow/actions/movefiles/ActionMoveFilesDialog.java
index 6b5969a447..0b2fd9152f 100644
---
a/plugins/actions/movefiles/src/main/java/org/apache/hop/workflow/actions/movefiles/ActionMoveFilesDialog.java
+++
b/plugins/actions/movefiles/src/main/java/org/apache/hop/workflow/actions/movefiles/ActionMoveFilesDialog.java
@@ -627,7 +627,7 @@ public class ActionMoveFilesDialog extends ActionDialog {
PropsUi.setLook(wlIfFileExists);
FormData fdlIfFileExists = new FormData();
fdlIfFileExists.left = new FormAttachment(0, 0);
- fdlIfFileExists.right = new FormAttachment(middle, 0);
+ fdlIfFileExists.right = new FormAttachment(middle, -margin);
fdlIfFileExists.top = new FormAttachment(wlAddDateBeforeExtension, 2 *
margin);
wlIfFileExists.setLayoutData(fdlIfFileExists);
@@ -875,7 +875,7 @@ public class ActionMoveFilesDialog extends ActionDialog {
PropsUi.setLook(wlIfMovedFileExists);
FormData fdlIfMovedFileExists = new FormData();
fdlIfMovedFileExists.left = new FormAttachment(0, 0);
- fdlIfMovedFileExists.right = new FormAttachment(middle, 0);
+ fdlIfMovedFileExists.right = new FormAttachment(middle, -margin);
fdlIfMovedFileExists.top = new
FormAttachment(wlAddMovedDateBeforeExtension, 2 * margin);
wlIfMovedFileExists.setLayoutData(fdlIfMovedFileExists);
wIfMovedFileExists = new CCombo(wMoveToGroup, SWT.SINGLE | SWT.READ_ONLY |
SWT.BORDER);
diff --git
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_en_US.properties
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_en_US.properties
index 393002c4f7..4040bf8c4e 100644
---
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_en_US.properties
+++
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_en_US.properties
@@ -78,7 +78,7 @@ ActionMoveFiles.Log.Error.GettingMoveToFolder=We can not get
file object for fol
ActionMoveFiles.Log.Error.MoveToFolderMissing=The move to folder is missing
ActionMoveFiles.Log.Error.NotFolder=[{0}] is not a folder !
ActionMoveFiles.Log.FetchFolder=Fetching folder [{0}]
-ActionMoveFiles.Log.FileAddedToResultFilesName=File [{0}] was added to result
filesname
+ActionMoveFiles.Log.FileAddedToResultFilenames=File [{0}] was added to result
filenames
ActionMoveFiles.Log.FileDeleted=Source file [{0}] was deleted
ActionMoveFiles.Log.FileExists=file [{0}] exists\!
ActionMoveFiles.Log.FileMoved=File [{0}] was moved to {1}
diff --git
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_es_AR.properties
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_es_AR.properties
index feca79c99e..7a62bfb624 100644
---
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_es_AR.properties
+++
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_es_AR.properties
@@ -80,7 +80,7 @@ ActionMoveFiles.Log.Error.GettingMoveToFolder=No puede
obtenerse el objeto archi
ActionMoveFiles.Log.Error.MoveToFolderMissing=Falta el directorio destino
ActionMoveFiles.Log.Error.NotFolder=[{0}] no es un directorio
ActionMoveFiles.Log.FetchFolder=Obteniendo el directorio [{0}]
-ActionMoveFiles.Log.FileAddedToResultFilesName=El archivo [{9}] fue
a\u00F1adido a los archivos resultado
+ActionMoveFiles.Log.FileAddedToResultFilenames=El archivo [{9}] fue
a\u00F1adido a los archivos resultado
ActionMoveFiles.Log.FileDeleted=El archivo origen [{0}] fue eliminado
ActionMoveFiles.Log.FileExists=El archivo [{0}] existe.
ActionMoveFiles.Log.FileMoved=El archivo [{0}] fue movido a [{1}]
diff --git
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_es_ES.properties
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_es_ES.properties
index e6f715f221..dad9eafed9 100644
---
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_es_ES.properties
+++
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_es_ES.properties
@@ -79,7 +79,7 @@ ActionMoveFiles.Log.Error.GettingMoveToFolder=No podemos
obtener el objeto de ar
ActionMoveFiles.Log.Error.MoveToFolderMissing=El mover a la carpeta no existe
ActionMoveFiles.Log.Error.NotFolder=\u00A1{0}] no es una carpeta\!
ActionMoveFiles.Log.FetchFolder=Buscando carpeta [{0}]
-ActionMoveFiles.Log.FileAddedToResultFilesName=Se ha a\u00F1adido el fichero
[{0}] al resultado nombrefichero
+ActionMoveFiles.Log.FileAddedToResultFilenames=Se ha a\u00F1adido el fichero
[{0}] al resultado nombrefichero
ActionMoveFiles.Log.FileDeleted=Se ha eliminado el archivo de origen [{0}
ActionMoveFiles.Log.FileExists=\u00A1el archivo [{0}] existe\!
ActionMoveFiles.Log.FileMoved=El fichero [{0}] fue movido a {1}
diff --git
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_fr_FR.properties
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_fr_FR.properties
index b870fb018e..741078b71c 100644
---
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_fr_FR.properties
+++
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_fr_FR.properties
@@ -79,7 +79,7 @@ ActionMoveFiles.Log.Error.GettingMoveToFolder=Impossible lire
le fichier [{0}].
ActionMoveFiles.Log.Error.MoveToFolderMissing=Le r\u00E9pertoire de
destination n''a pas \u00E9t\u00E9 sp\u00E9cifi\u00E9 \!
ActionMoveFiles.Log.Error.NotFolder=[{0}] n''est pas un r\u00E9pertoire \!
ActionMoveFiles.Log.FetchFolder=Parcours du r\u00E9pertoire [{0}]
-ActionMoveFiles.Log.FileAddedToResultFilesName=Le nom de fichier {0} a
\u00E9t\u00E9 ajout\u00E9 \u00E0 la liste des noms de fichier attach\u00E9e au
r\u00E9sultat
+ActionMoveFiles.Log.FileAddedToResultFilenames=Le nom de fichier {0} a
\u00E9t\u00E9 ajout\u00E9 \u00E0 la liste des noms de fichier attach\u00E9e au
r\u00E9sultat
ActionMoveFiles.Log.FileDeleted=Le fichier source [{0}] a \u00E9t\u00E9
supprim\u00E9
ActionMoveFiles.Log.FileExists=Le fichier [{0}] existe\!
ActionMoveFiles.Log.FileMoved=Le fichier [{0}] a \u00E9t\u00E9
d\u00E9plac\u00E9 vers [{1}]
diff --git
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_it_IT.properties
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_it_IT.properties
index 302c4af064..f31a3eea6e 100644
---
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_it_IT.properties
+++
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_it_IT.properties
@@ -15,19 +15,19 @@
# limitations under the License.
#
-ActionMoveFiles.AddDate.Label=Aggiungi data al nome file
+ActionMoveFiles.AddDate.Label=Data nel nome file
ActionMoveFiles.AddDate.Tooltip=Aggiunge la data al nome file
-ActionMoveFiles.AddDateBeforeExtension.Label=Aggiungi la data prima
dell''estensione
+ActionMoveFiles.AddDateBeforeExtension.Label=Data prima dell''estensione
ActionMoveFiles.AddDateBeforeExtension.Tooltip=Se viene selezionata
quest''opzione, Apache Hop aggiunger\u00E0 la data (e l''orario) prima
dell''estensione del file.\nL''estensione sar\u00E0 considerata iniziata dopo
l''ultimo ''.'' trovato.
-ActionMoveFiles.AddFileToResult.Label=Aggiungi i file al risultato
-ActionMoveFiles.AddFileToResult.Tooltip=Aggiunge i file di destinazione al
nome file del risultato.\nE'' utile per accodare questi file ad una email.
-ActionMoveFiles.AddMovedDate.Label=Aggiungi data
+ActionMoveFiles.AddFileToResult.Label=Aggiunge files al risultato
+ActionMoveFiles.AddFileToResult.Tooltip=Aggiunge i file di destinazione
all''insieme dei risultati.\nE'' utile per accodare questi file ad una email.
+ActionMoveFiles.AddMovedDate.Label=Aggiunge la data
ActionMoveFiles.AddMovedDate.Tooltip=Aggiunge la data
-ActionMoveFiles.AddMovedDateBeforeExtension.Label=Aggiungi la data prima
dell''estensione
-ActionMoveFiles.AddMovedDateBeforeExtension.Tooltip=Aggiunge la data prima
dell''estensione
+ActionMoveFiles.AddMovedDateBeforeExtension.Label=Data prima dell''estensione
+ActionMoveFiles.AddMovedDateBeforeExtension.Tooltip=Aggiunge la data al nome
del file prima dell''estensione
ActionMoveFiles.AddMovedTime.Label=Aggiungi orario
-ActionMoveFiles.AddMovedTime.Tooltip=Aggiunge orario
-ActionMoveFiles.AddTime.Label=Aggiungi orario al nome del file
+ActionMoveFiles.AddMovedTime.Tooltip=Aggiunge orario al nome del file
+ActionMoveFiles.AddTime.Label=Aggiungi orario
ActionMoveFiles.AddTime.Tooltip=Aggiunge l''orario al nome del file
ActionMoveFiles.CreateDestinationFolder.Label=Crea cartella di destinazione
ActionMoveFiles.CreateDestinationFolder.Tooltip=Crea cartella di destinazione
se necessario.\nSe la destinazione \u00E8 una file, la cartella padre
verr\u00E0 creata se necessario.
@@ -35,13 +35,13 @@ ActionMoveFiles.CreateMoveToFolder.Label=Crea cartella
ActionMoveFiles.CreateMoveToFolder.Tooltip=Crea una cartella se necessario
ActionMoveFiles.DateTimeFormat.Label=Formato data ora
ActionMoveFiles.Delete_Source_File_IfFileExists.Label=Cancella il file
d''origine
-ActionMoveFiles.DestinationFileTab.Label=File di destinazione
+ActionMoveFiles.DestinationFileTab.Label=File destinazione
ActionMoveFiles.DestinationFolder.Label=Cartella di destinazione
-ActionMoveFiles.DestinationIsAFile.Label=La destinazione \u00E8 un file
+ActionMoveFiles.DestinationIsAFile.Label=Destinazione \u00E8 un file
ActionMoveFiles.DestinationIsAFile.Tooltip=Apache Hop considerer\u00E0 la
destinazione come un file.
ActionMoveFiles.Do_Nothing_IfFileExists.Label=Non far niente
ActionMoveFiles.Do_Nothing_IfMovedFileExists.Label=Non far niente
-ActionMoveFiles.DoNotKeepFolderStructure.Label=Non mantenere la struttura
delle cartelle
+ActionMoveFiles.DoNotKeepFolderStructure.Label=Non mantenere struttura cartelle
ActionMoveFiles.DoNotKeepFolderStructure.Tooltip=Selezionare quest''opzione
per spostare i file nel file di destinazione senza conservare la struttura
delle cartelle.
ActionMoveFiles.Error.AddingToFilenameResult=Errore nell''aggiunta del file
[{0}] al risultato. Eccezione\: {1}
ActionMoveFiles.Error.DestinationFolderNotFound=La cartella di destinazione
non esiste\!
@@ -51,8 +51,8 @@ ActionMoveFiles.Error.Exception.UnableLoadXML=Impossibile
caricare la action di
ActionMoveFiles.Error.GettingFilename=Errore nelle prelievo del nome file per
il file [{0}]. Eccezione\: {1}
ActionMoveFiles.Error.SourceFileNotExists=Il file/cartella [{0}] non esiste\!
ActionMoveFiles.Error.SuccessConditionbroken=La condizione di successo \u00E8
stata violata. Ci sono {0} errori.
-ActionMoveFiles.Fail_IfFileExists.Label=Fallito
-ActionMoveFiles.Fail_IfMovedFileExists.Label=Fallito
+ActionMoveFiles.Fail_IfFileExists.Label=Termina con fallimento
+ActionMoveFiles.Fail_IfMovedFileExists.Label=Termina con fallimento
ActionMoveFiles.Fields.DestinationFileFolder.Label=File/cartella di
destinazione
ActionMoveFiles.Fields.DestinationFileFolder.Tooltip=Inserire qua la cartella
di destinazione.\nSe si seleziona un file come sorgente, si pu\u00F2 definire
un file come destinazione.
ActionMoveFiles.Fields.Label=File/cartelle\:
@@ -60,11 +60,11 @@ ActionMoveFiles.Fields.SourceFileFolder.Label=File/cartella
sorgente
ActionMoveFiles.Fields.SourceFileFolder.Tooltip=Inserire qua il file o la
cartella da spostare.\nSe \u00E8 una cartella, Apache Hop prelever\u00E0 solo
se ''Includi sottocartelle'' \u00E8 stato selezionato\!
ActionMoveFiles.Fields.Wildcard.Label=Wildcard (RegExp)
ActionMoveFiles.Fields.Wildcard.Tooltip=Specificare qua la wildcard da
trovare.\nSoltanto i file che corrispondono verranno rimossi.
-ActionMoveFiles.FileResult.Group.Label=Nome file di risultato
+ActionMoveFiles.FileResult.Group.Label=Nome file risultato
ActionMoveFiles.GroupDestinationFile.Label=File di destinazione
ActionMoveFiles.GroupMoveToGroup.Label=Spostare nella cartella
-ActionMoveFiles.IfFileExists.Label=Se il file di destinazione esiste
-ActionMoveFiles.IfMovedFileExists.Label=Se il file esiste nella cartella di
destinazione
+ActionMoveFiles.IfFileExists.Label=Se file di destinazione esiste
+ActionMoveFiles.IfMovedFileExists.Label=Se file esiste in cartella di
destinazione
ActionMoveFiles.IncludeSubfolders.Label=Includi le sottocartelle
ActionMoveFiles.IncludeSubfolders.Tooltip=Selezionare quest''opzione per
prelevare anche le sottocartelle.\nQuest''opzione funzioner\u00E0 solo quando
la sorgente \u00E8 una cartella.
ActionMoveFiles.Log.ArgFromPrevious.Found=Trovati [{0}] argomenti dal
precedente risultato
@@ -76,7 +76,7 @@ ActionMoveFiles.Log.Error.GettingMoveToFolder=Impossibile
prelevare il file ogge
ActionMoveFiles.Log.Error.MoveToFolderMissing=Manca la cartella di destinazione
ActionMoveFiles.Log.Error.NotFolder=[{0}] non \u00E8 una cartella\!
ActionMoveFiles.Log.FetchFolder=Recupero della cartella [{0}]
-ActionMoveFiles.Log.FileAddedToResultFilesName=Il file sorgente [{0}] \u00E8
stato aggiunto al file del risultato
+ActionMoveFiles.Log.FileAddedToResultFilenames=Il file sorgente [{0}] \u00E8
stato aggiunto al file del risultato
ActionMoveFiles.Log.FileDeleted=Il file sorgente [{0}] \u00E8 stato aggiunto
ActionMoveFiles.Log.FileExists=Il file [{0}] esiste\!
ActionMoveFiles.Log.FileMoved=Il file [{0}] \u00E8 stato spostato in [{1}]
@@ -90,10 +90,10 @@ ActionMoveFiles.Log.Info.FilesInError=Totale file con
errori\: {0}
ActionMoveFiles.Log.Info.FilesInSuccess=Totale dei file elaborati con
successo\: {0}
ActionMoveFiles.Log.ProcessingRow=Elaborazione riga sorgente. File/cartella
sorgenti\: [{0}], file/cartella destinazione\: [{1}], wildcard\: [{2}]
ActionMoveFiles.Log.SimulationOn=La modalit\u00E0 simulazione \u00E8 attiva
-ActionMoveFiles.Move_To_Folder_IfFileExists.Label=Spostare il file sorgente
nella cartella
+ActionMoveFiles.Move_To_Folder_IfFileExists.Label=Sposta file sorgente nella
cartella
ActionMoveFiles.MovedDateTimeFormat.Label=Formato data
-ActionMoveFiles.MoveEmptyFolders.Label=Spostare le cartelle vuote
-ActionMoveFiles.MoveEmptyFolders.Tooltip=Sposta le cartelle vuote.\nFunziona
solo quando nessua wildcard \u00E8 stata specificata e ''Includi
sottocartelle'' \u00E8 stata selezionata\!
+ActionMoveFiles.MoveEmptyFolders.Label=Sposta cartelle vuote
+ActionMoveFiles.MoveEmptyFolders.Tooltip=Sposta le cartelle vuote.\nFunziona
solo quando nessuna wildcard \u00E8 stata specificata ed ''Includi
sottocartelle'' \u00E8 stato selezionato\!
ActionMoveFiles.Name=Sposta i file
ActionMoveFiles.Name.Default=Sposta i file
ActionMoveFiles.Name.Label=Nome action\:
@@ -101,20 +101,20 @@ ActionMoveFiles.NrErrorsLessThan.Label=Nr errori
inferiore a
ActionMoveFiles.NrErrorsLessThan.Tooltip=Successo quando il numero degli
errori \u00E8 inferiore a
ActionMoveFiles.Overwrite_File_IfFileExists.Label=Sovrascrivi il file di
destinazione
ActionMoveFiles.Overwrite_Filename_IffMovedFileExists.Label=Sovrascrivi il file
-ActionMoveFiles.Previous.Label=Copia i precedenti risultati in args
-ActionMoveFiles.Previous.Tooltip=Selezionare qua per passare i risultati della
precedente entry agli argomenti di quest''entry.\nAttenzione, gli argomenti
devono essere nello stesso ordine\!\nEsempio\: 1) file/cartella sorgente, 2)
file/cartella destianazione, 3) wildcard
+ActionMoveFiles.Previous.Label=Copia risultati precedenti in args
+ActionMoveFiles.Previous.Tooltip=Seleziona quest''opzione per passare i
risultati del passo precedente negli argomenti di questo.\nAttenzione, gli
argomenti devono essere nello stesso ordine\!\nEsempio\: 1) file/cartella
sorgente, 2) file/cartella destinazione, 3) wildcard
ActionMoveFiles.Settings.Label=Impostazioni
ActionMoveFiles.Simulate.Label=Simula
-ActionMoveFiles.Simulate.Tooltip=Selezionare quest''opzione per simulare il
processo.\nApache Hop non sposter\u00E0 i file.
-ActionMoveFiles.SpecifyFormat.Label=Specifica il formato data/ora
-ActionMoveFiles.SpecifyFormat.Tooltip=Specifica il formato data/ora
-ActionMoveFiles.SpecifyMoveFormat.Label=Specifica il formato
+ActionMoveFiles.Simulate.Tooltip=Seleziona quest''opzione per simulare il
processo.\nApache Hop non sposter\u00E0 i file.
+ActionMoveFiles.SpecifyFormat.Label=Formato data/ora
+ActionMoveFiles.SpecifyFormat.Tooltip=Specifica formato data/ora
+ActionMoveFiles.SpecifyMoveFormat.Label=Specifica formato
ActionMoveFiles.SpecifyMoveFormat.Tooltip=Specifica il formato
ActionMoveFiles.SuccessCondition.Label=Condizione di successo
ActionMoveFiles.SuccessOn.Group.Label=Successo se
-ActionMoveFiles.SuccessWhenAllWorksFine.Label=Successo quando tutto funziona
bene
-ActionMoveFiles.SuccessWhenAtLeat.Label=Successo quando almeno x file sono
stati spostati
-ActionMoveFiles.SuccessWhenErrorsLessThan.Label=Successo quando il numero
degli errori \u00E8 inferiore a
+ActionMoveFiles.SuccessWhenAllWorksFine.Label=Successo se tutto funziona bene
+ActionMoveFiles.SuccessWhenAtLeat.Label=Successo se almeno x file sono stati
spostati
+ActionMoveFiles.SuccessWhenErrorsLessThan.Label=Successo se numero errori
inferiore a
ActionMoveFiles.Tab.Advanced.Label=Avanzate
ActionMoveFiles.Tab.General.Label=Generale
ActionMoveFiles.Title=Sposta file
diff --git
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_ja_JP.properties
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_ja_JP.properties
index 897a00f1f3..f3a52e7a45 100644
---
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_ja_JP.properties
+++
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_ja_JP.properties
@@ -77,7 +77,7 @@ ActionMoveFiles.Log.Error.GettingMoveToFolder=We can not get
file object for fol
ActionMoveFiles.Log.Error.MoveToFolderMissing=The move to folder is missing
ActionMoveFiles.Log.Error.NotFolder=[{0}] is not a folder !
ActionMoveFiles.Log.FetchFolder=Fetching folder [{0}]
-ActionMoveFiles.Log.FileAddedToResultFilesName=File [{0}] was added to result
filesname
+ActionMoveFiles.Log.FileAddedToResultFilenames=File [{0}] was added to result
filesname
ActionMoveFiles.Log.FileDeleted=Source file [{0}] was deleted
ActionMoveFiles.Log.FileExists=file [{0}] exists\!
ActionMoveFiles.Log.FileMoved=File [{0}] was moved to {1}
diff --git
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_ko_KR.properties
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_ko_KR.properties
index 3b2c928742..f440879b6b 100644
---
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_ko_KR.properties
+++
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_ko_KR.properties
@@ -75,7 +75,7 @@ ActionMoveFiles.Log.Error.GettingMoveToFolder=\uD3F4\uB354
[{0}]\uC5D0\uC11C \uD
ActionMoveFiles.Log.Error.MoveToFolderMissing=\uC774\uB3D9\uD560
\uD3F4\uB354\uB97C \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624
ActionMoveFiles.Log.Error.NotFolder=[{0}]\uB294 \uD3F4\uB354\uAC00
\uC544\uB2D9\uB2C8\uB2E4\!
ActionMoveFiles.Log.FetchFolder=\uD3F4\uB354 [{0}] \uAC00\uC838\uC624\uAE30
-ActionMoveFiles.Log.FileAddedToResultFilesName=\uD30C\uC77C [{0}]\uB97C
\uACB0\uACFC \uD30C\uC77C\uC774\uB984\uC5D0
\uCD94\uAC00\uD558\uC600\uC2B5\uB2C8\uB2E4
+ActionMoveFiles.Log.FileAddedToResultFilenames=\uD30C\uC77C [{0}]\uB97C
\uACB0\uACFC \uD30C\uC77C\uC774\uB984\uC5D0
\uCD94\uAC00\uD558\uC600\uC2B5\uB2C8\uB2E4
ActionMoveFiles.Log.FileDeleted=\uC18C\uC2A4 \uD30C\uC77C [{0}]\uC744
\uC0AD\uC81C\uD558\uC600\uC2B5\uB2C8\uB2E4
ActionMoveFiles.Log.FileExists=\uD30C\uC77C [{0}]\uC774
\uC874\uC7AC\uD569\uB2C8\uB2E4\!
ActionMoveFiles.Log.FileMoved=\uD30C\uC77C [{0}]\uC744 [{1}]\uB85C
\uC774\uB3D9\uD558\uC600\uC2B5\uB2C8\uB2E4
diff --git
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_pt_BR.properties
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_pt_BR.properties
index ac25f2affa..d2e50f9af9 100644
---
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_pt_BR.properties
+++
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_pt_BR.properties
@@ -68,7 +68,7 @@ ActionMoveFiles.Log.Error.FolderMissing=Pasta [{0}] n\u00E3o
encontrada !
ActionMoveFiles.Log.Error.MoveToFolderMissing=A pasta de destino n\u00E3o
existe
ActionMoveFiles.Log.Error.NotFolder=[{0}] n\u00E3o \u00E9 uma pasta !
ActionMoveFiles.Log.FetchFolder=Buscando pasta [{0}]
-ActionMoveFiles.Log.FileAddedToResultFilesName=Arquivo [{0}] foi adicionado ao
resultado
+ActionMoveFiles.Log.FileAddedToResultFilenames=Arquivo [{0}] foi adicionado ao
resultado
ActionMoveFiles.Log.FileDeleted=Arquivo de origem [{0}] foi deletado
ActionMoveFiles.Log.FileExists=O arquivo [{0}] existe!
ActionMoveFiles.Log.FileOverwrite=Arquivo [{0}] foi sobrescrito
diff --git
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_zh_CN.properties
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_zh_CN.properties
index 35784a21bd..8f1b1b0d4e 100644
---
a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_zh_CN.properties
+++
b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_zh_CN.properties
@@ -80,7 +80,7 @@
ActionMoveFiles.Log.Error.GettingMoveToFolder=\u65E0\u6CD5\u8BBF\u95EE\u76EE\u5F
ActionMoveFiles.Log.Error.MoveToFolderMissing=\u7F3A\u5931\u76EE\u6807\u76EE\u5F55
ActionMoveFiles.Log.Error.NotFolder=\u975E\u76EE\u5F55 [{0}]\!
ActionMoveFiles.Log.FetchFolder=\u904D\u5386\u76EE\u5F55 [{0}]
-ActionMoveFiles.Log.FileAddedToResultFilesName=\u5C06\u6587\u4EF6 [{0}]
\u6DFB\u52A0\u5230\u8FD4\u56DE\u6587\u4EF6\u5217\u8868
+ActionMoveFiles.Log.FileAddedToResultFilenames=\u5C06\u6587\u4EF6 [{0}]
\u6DFB\u52A0\u5230\u8FD4\u56DE\u6587\u4EF6\u5217\u8868
ActionMoveFiles.Log.FileDeleted=\u5DF2\u5220\u9664\u6E90\u6587\u4EF6 [{0}]
ActionMoveFiles.Log.FileExists=\u6587\u4EF6 [{0}] \u5B58\u5728\!
ActionMoveFiles.Log.FileMoved=\u79FB\u52A8\u6587\u4EF6 [{0}] \u5230 {1}