From 8908c94f1e07ec4710bd58e8328b66bc30fd201b Mon Sep 17 00:00:00 2001
From: brinn <brinn>
Date: Wed, 11 Jul 2012 16:35:26 +0000
Subject: [PATCH] Add support for DataCompletedScripts which are batch files
 (on Windows).

SVN: 26079
---
 .../cisd/datamover/utils/DataCompletedFilter.java     | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/datamover/source/java/ch/systemsx/cisd/datamover/utils/DataCompletedFilter.java b/datamover/source/java/ch/systemsx/cisd/datamover/utils/DataCompletedFilter.java
index e613967e480..500925764c8 100644
--- a/datamover/source/java/ch/systemsx/cisd/datamover/utils/DataCompletedFilter.java
+++ b/datamover/source/java/ch/systemsx/cisd/datamover/utils/DataCompletedFilter.java
@@ -99,11 +99,18 @@ public class DataCompletedFilter implements IStoreItemFilter
     {
         final StoreItemLocation storeItemLocation = fileStore.getStoreItemLocation(item);
         final List<String> command = new ArrayList<String>();
+        final String path = FileUtilities.getCanonicalPath(getDataCompletedScript());
         if (OSUtilities.isWindows())
         {
-            command.add("sh");
+            if (path.endsWith(".bat"))
+            {
+                command.add("cmd");
+            } else // Assume we have Cygwin's shell.
+            {
+                command.add("sh");
+            }
         }
-        command.add(FileUtilities.getCanonicalPath(getDataCompletedScript()));
+        command.add(path);
         command.add(storeItemLocation.getAbsolutePath());
         final String host = storeItemLocation.getHost();
         if (host != null)
-- 
GitLab