Change header template for a new version
[jabaws.git] / webservices / compbio / ws / client / AAConClient.java
index 34fc751..f7f2603 100644 (file)
@@ -1,6 +1,6 @@
-/* Copyright (c) 2010 Peter Troshin\r
+/* Copyright (c) 2011 Peter Troshin\r
  *  \r
- *  Amino Acid Conservation Web Service client @version: 1.0     \r
+ *  JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0     \r
  * \r
  *  This library is free software; you can redistribute it and/or modify it under the terms of the\r
  *  Apache License version 2 as published by the Apache Software Foundation\r
@@ -30,11 +30,11 @@ import static compbio.ws.client.Constraints.pseparator;
 import java.io.Closeable;\r
 import java.io.File;\r
 import java.io.IOException;\r
-import java.io.OutputStream;\r
+import java.io.PrintWriter;\r
+import java.io.Writer;\r
 import java.net.MalformedURLException;\r
 import java.net.URL;\r
 import java.util.List;\r
-import java.util.Set;\r
 import java.util.logging.Level;\r
 import java.util.logging.Logger;\r
 \r
@@ -42,9 +42,9 @@ import javax.xml.namespace.QName;
 import javax.xml.ws.Service;\r
 import javax.xml.ws.WebServiceException;\r
 \r
-import compbio.data.msa.Annotation;\r
+import compbio.data.msa.SequenceAnnotation;\r
 import compbio.data.sequence.FastaSequence;\r
-import compbio.data.sequence.Score;\r
+import compbio.data.sequence.ScoreManager;\r
 import compbio.data.sequence.SequenceUtil;\r
 import compbio.data.sequence.UnknownFileFormatException;\r
 import compbio.metadata.JobSubmissionException;\r
@@ -102,7 +102,7 @@ public class AAConClient {
                File parametersFile = IOHelper.getFile(cmd, paramFile, true);\r
                String presetName = CmdHelper.getPresetName(cmd);\r
 \r
-               Annotation<AAConWS> msaws = connect();\r
+               SequenceAnnotation<AAConWS> msaws = connect();\r
                Preset<AAConWS> preset = null;\r
                if (presetName != null) {\r
                        preset = MetadataHelper.getPreset(msaws, presetName);\r
@@ -113,17 +113,17 @@ public class AAConClient {
                        customOptions = MetadataHelper.processParameters(prms,\r
                                        msaws.getRunnerOptions());\r
                }\r
-               Set<Score> result = null;\r
+               ScoreManager result = null;\r
                if (inputFile != null) {\r
                        System.out.println("Calculating conservation...");\r
                        result = analize(inputFile, msaws, preset, customOptions);\r
-                       OutputStream outStream = null;\r
+                       Writer outStream = null;\r
                        if (outFile != null) {\r
-                               outStream = IOHelper.getOutStream(outFile);\r
+                               outStream = IOHelper.getWriter(outFile);\r
                        } else {\r
                                // this stream is going to be closed later which is fine as\r
                                // std.out will not be\r
-                               outStream = System.out;\r
+                               outStream = new PrintWriter(System.out, true);\r
                        }\r
                        writeOut(outStream, result);\r
                        // stream is closed in the method no need to close it here\r
@@ -153,17 +153,17 @@ public class AAConClient {
         * @param result\r
         *            the AACon scores to output\r
         */\r
-       static void writeOut(OutputStream outStream, Set<Score> result) {\r
+       static void writeOut(Writer writer, ScoreManager result) {\r
                try {\r
-                       Score.write(result, outStream);\r
+                       result.writeOut(writer);\r
                } catch (IOException e) {\r
                        System.err\r
                                        .println("Problems writing output file! Stack trace is below: ");\r
                        e.printStackTrace();\r
                } finally {\r
-                       if (outStream != null) {\r
+                       if (writer != null) {\r
                                try {\r
-                                       outStream.close();\r
+                                       writer.close();\r
                                } catch (IOException ignored) {\r
                                        // e.printStackTrace();\r
                                }\r
@@ -175,11 +175,12 @@ public class AAConClient {
         * Connects to a AACon web service by the host and the service name\r
         * \r
         * \r
-        * @return {@link Annotation}\r
+        * @return {@link AlignmentAnnotation}\r
         * @throws WebServiceException\r
         *             if cannot connect to a web service\r
         */\r
-       public static Annotation<AAConWS> connect() throws WebServiceException {\r
+       public static SequenceAnnotation<AAConWS> connect()\r
+                       throws WebServiceException {\r
                URL url = null;\r
                log.log(Level.FINE, "Attempting to connect...");\r
                try {\r
@@ -193,8 +194,8 @@ public class AAConClient {
                QName portName = new QName(QUALIFIED_SERVICE_NAME, "AAConWS" + "Port");\r
 \r
                @SuppressWarnings("unchecked")\r
-               Annotation<AAConWS> serviceIF = serv\r
-                               .getPort(portName, Annotation.class);\r
+               SequenceAnnotation<AAConWS> serviceIF = serv.getPort(portName,\r
+                               SequenceAnnotation.class);\r
 \r
                log.log(Level.FINE, "Connected successfully!");\r
                return serviceIF;\r
@@ -214,11 +215,11 @@ public class AAConClient {
         * @return Set<Score> the conservation scores\r
         * @throws UnknownFileFormatException\r
         */\r
-       static Set<Score> analize(File file, Annotation<AAConWS> wsproxy,\r
+       static ScoreManager analize(File file, SequenceAnnotation<AAConWS> wsproxy,\r
                        Preset<AAConWS> preset, List<Option<AAConWS>> customOptions) {\r
 \r
                List<FastaSequence> fastalist = null;\r
-               Set<Score> scores = null;\r
+               ScoreManager scores = null;\r
                try {\r
                        fastalist = SequenceUtil.openInputStream(file.getAbsolutePath());\r
 \r