@@ -0,0 +1,2300 @@
+/*%0A * Licensed to the Apache Software Foundation (ASF) under one or more%0A * contributor license agreements.  See the NOTICE file distributed with%0A * this work for additional information regarding copyright ownership.%0A * The ASF licenses this file to You under the Apache License, Version 2.0%0A * (the %22License%22); you may not use this file except in compliance with%0A * the License.  You may obtain a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0A%0A%0Apackage org.apache.oodt.cas.workflow.util;%0A%0Aimport java.io.File;%0Aimport java.io.FileOutputStream;%0Aimport java.io.IOException;%0Aimport java.io.OutputStreamWriter;%0Aimport java.io.PrintWriter;%0Aimport java.util.List;%0A%0A/**%0A * @author riverma (Rishi Verma)%0A * @version $Revision$%0A * %0A * %3Cp%3E%0A * A script file representing a set of commands (which are just%0A * %3Ccode%3EString%3C/code%3Es) to be run through a command shell in Windows cygwin. %0A * %3C/p%3E%0A * %0A */%0Apublic class CygwinScriptFile extends ScriptFile %7B%0A%0A    /**%0A     * %0A     */%0A    public CygwinScriptFile() %7B%0A        super();%0A    %7D%0A%0A    public CygwinScriptFile(String shell) %7B%0A        super(shell);%0A    %7D%0A%0A    public CygwinScriptFile(String shell, List cmds) %7B%0A        super(shell, cmds);%0A    %7D%09%09%0A%09%0A%09@Override%0A%09/**%0A%09 * Override writeScriptFile to ensure Windows (cygwin) compatibility for generated scripts%0A%09 */%0A    public void writeScriptFile(String filePath) throws Exception %7B%0A        PrintWriter pw = null;%0A%0A        try %7B%0A            pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream(%0A                    new File(filePath))));%0A            pw.print(toString()); // Changed println to print for Cygwin compatibility%0A        %7D catch (IOException e) %7B%0A            e.printStackTrace();%0A            throw new Exception(%22Error writing script file!: %22 + e.getMessage());%0A        %7D finally %7B%0A            try %7B%0A                pw.close();%0A                pw = null;%0A            %7D catch (Exception ignore) %7B%0A            %7D%0A%0A        %7D%0A%0A    %7D%09%0A%09%0A%7D%0A

Support the ability to run PGE Task Instances on Windows (Cygwin) executable environments