X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=webservices%2Fcompbio%2Fws%2Fclient%2FIOHelper.java;h=3e4b72696a69bef9362e0ee19f6f05cadcf101eb;hb=4c022b67a736b6f79dbe212d73016607cf298422;hp=af9a52cf4d94762196079cbf47f0bb5f216c0429;hpb=6e1c873d0879f462b1fb1a1efa444cf993a9e76a;p=jabaws.git diff --git a/webservices/compbio/ws/client/IOHelper.java b/webservices/compbio/ws/client/IOHelper.java index af9a52c..3e4b726 100644 --- a/webservices/compbio/ws/client/IOHelper.java +++ b/webservices/compbio/ws/client/IOHelper.java @@ -1,19 +1,36 @@ +/* Copyright (c) 2011 Peter Troshin + * + * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 + * + * This library is free software; you can redistribute it and/or modify it under the terms of the + * Apache License version 2 as published by the Apache Software Foundation + * + * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache + * License for more details. + * + * A copy of the license is in apache_license.txt. It is also available here: + * @see: http://www.apache.org/licenses/LICENSE-2.0.txt + * + * Any republication or derived work distributed in source code form + * must include this copyright and license notice. + */ package compbio.ws.client; import static compbio.ws.client.Constraints.pseparator; import java.io.BufferedReader; import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; import java.io.FileReader; +import java.io.FileWriter; import java.io.IOException; -import java.io.OutputStream; +import java.io.Writer; import java.util.ArrayList; import java.util.List; import compbio.data.sequence.Alignment; import compbio.data.sequence.ClustalAlignmentUtil; +import compbio.data.sequence.ScoreManager; public class IOHelper { @@ -29,8 +46,8 @@ public class IOHelper { static File getFile(String[] cmd, String key, boolean mustExist) throws IOException { assert key != null && key.trim().length() != 0; - for (int i = 0; i < cmd.length; i++) { - String filename = cmd[i]; + for (String c : cmd) { + String filename = c; filename = filename.trim(); if (filename.toLowerCase().startsWith(key + pseparator)) { filename = filename.substring((key + pseparator).length()); @@ -73,14 +90,9 @@ public class IOHelper { return params; } - static OutputStream getOutStream(File file) { + static Writer getWriter(File file) throws IOException { assert file != null && file.exists(); - try { - return new FileOutputStream(file); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } - return null; + return new FileWriter(file); } /** @@ -91,17 +103,45 @@ public class IOHelper { * @param align * the alignment to output */ - static void writeOut(OutputStream outStream, Alignment align) { + static void writeOut(Writer writer, Alignment align) { + try { + ClustalAlignmentUtil.writeClustalAlignment(writer, align); + } catch (IOException e) { + System.err + .println("Problems writing output file! Stack trace is below: "); + e.printStackTrace(); + } finally { + if (writer != null) { + try { + writer.close(); + } catch (IOException ignored) { + // e.printStackTrace(); + } + } + } + } + + /** + * Outputs AAcon results into the file represented by the outStream + * + * @param outStream + * @param result + * the AACon scores to output + */ + static void writeOut(Writer writer, ScoreManager results) { + if (results == null) { + return; + } try { - ClustalAlignmentUtil.writeClustalAlignment(outStream, align); + results.writeOut(writer); } catch (IOException e) { System.err .println("Problems writing output file! Stack trace is below: "); e.printStackTrace(); } finally { - if (outStream != null) { + if (writer != null) { try { - outStream.close(); + writer.close(); } catch (IOException ignored) { // e.printStackTrace(); }