Changes which allow JpredWS test
[jabaws.git] / webservices / compbio / ws / client / WSTester.java
index 8838903..2f33cb1 100644 (file)
@@ -32,8 +32,6 @@ import java.util.List;
 \r
 import javax.xml.ws.WebServiceException;\r
 \r
-import org.apache.log4j.Logger;\r
-\r
 import compbio.data.msa.JABAService;\r
 import compbio.data.msa.Metadata;\r
 import compbio.data.msa.MsaWS;\r
@@ -62,22 +60,24 @@ import compbio.util.Util;
  */\r
 public class WSTester {\r
 \r
-       private static Logger log = Logger.getLogger(WSTester.class);\r
        /**\r
         * Sequences to be used as input for all WS\r
         */\r
-       static final String fastaInput = ">Foo\n"\r
+       public static final String fastaInput2records = ">Foo\n"\r
                        + "MTADGPRELLQLRAAVRHRPQDFVAWLMLADAELGMGDTTAGEMAVQRGLALHPGHPEAV"\r
                        + "\n>Bar\n"\r
-                       + "ASDAAPEHPGIALWLHALEDAGQAEAAAAYTRAHQLLPEEPYITAQLLNAVA";\r
+                       + "ASDAAPEHPGIALWLHALEDAGQAEAAAAYTRAHQLLPEEPYITAQLLNAVA\n";\r
+       public static final String fastaInput1record = ">Foo\n"\r
+                       + "MTADGPRELLQLRAAVRHRPQDFVAWLMLADAELGMGDTTAGEMAVQRGLALHPGHPEAV"\r
+                       + "\n";\r
 \r
-       static final String fastaAlignment = ">Foo\r\n"\r
-                       + "MTADGPRELLQLRAAVRHRPQDFVAWLMLADAELGMGDTTAGEMAVQRGLALHPGHPEAV--------\r\n"\r
-                       + ">Bar\r\n"\r
-                       + "ASDAAPEH------------PGIALWLHALE-DAGQAEAAA---AYTRAHQLLPEEPYITAQLLNAVA\r\n"\r
+       public static final String fastaAlignment = ">Foo\n"\r
+                       + "MTADGPRELLQLRAAVRHRPQDFVAWLMLADAELGMGDTTAGEMAVQRGLALHPGHPEAV--------\n"\r
+                       + ">Bar\n"\r
+                       + "ASDAAPEH------------PGIALWLHALE-DAGQAEAAA---AYTRAHQLLPEEPYITAQLLNAVA\n"\r
                        + "";\r
 \r
-       static final List<FastaSequence> seqs = loadSeqs();\r
+       static final List<FastaSequence> seqs = loadSeqs(2);\r
 \r
        private static final String FAILED = "FAILED";\r
        private static final String OK = "OK";\r
@@ -89,10 +89,12 @@ public class WSTester {
         * \r
         * @return List of FastaSequence records\r
         */\r
-       private static List<FastaSequence> loadSeqs() {\r
+       private static List<FastaSequence> loadSeqs(int nLines) {\r
                try {\r
-                       return SequenceUtil.readFasta(new ByteArrayInputStream(fastaInput\r
-                                       .getBytes()));\r
+                       if (nLines == 1) {\r
+                               return SequenceUtil.readFasta(new ByteArrayInputStream(fastaInput1record.getBytes()));\r
+                       }\r
+                       return SequenceUtil.readFasta(new ByteArrayInputStream(fastaInput2records.getBytes()));\r
                } catch (IOException ignored) {\r
                        // Should not happen as a source is not a external stream\r
                        ignored.printStackTrace();\r
@@ -144,12 +146,10 @@ public class WSTester {
                                + pseparator + "host_and_context " + "<" + servicekey\r
                                + pseparator + "serviceName>");\r
                System.out.println();\r
-               System.out\r
-                               .println(hostkey\r
+               System.out.println(hostkey\r
                                                + pseparator\r
                                                + "<host_and_context> - a full URL to the JABAWS web server including context path e.g. http://10.31.1.159:8080/ws");\r
-               System.out\r
-                               .println(servicekey\r
+               System.out.println(servicekey\r
                                                + pseparator\r
                                                + "<ServiceName> - optional if unspecified all services are tested otherwise one of "\r
                                                + Arrays.toString(Services.values()));\r
@@ -224,8 +224,7 @@ public class WSTester {
        private <T> boolean checkService(JABAService wservice, Services service) {\r
                try {\r
                        if (wservice == null) {\r
-                               throw new NullPointerException(\r
-                                               "JABAService instance must be provided!");\r
+                               throw new NullPointerException("JABAService instance must be provided!");\r
                        }\r
 \r
                        if (wservice instanceof MsaWS) {\r
@@ -234,8 +233,7 @@ public class WSTester {
                                return testSequenceAnnotationWS(\r
                                                (SequenceAnnotation<T>) wservice, service);\r
                        } else {\r
-                               throw new UnsupportedOperationException("The service: "\r
-                                               + wservice.getClass() + " is not supported! ");\r
+                               throw new UnsupportedOperationException("The service: " + wservice.getClass() + " is not supported! ");\r
                        }\r
                } catch (Exception e) {\r
                        reportException(e);\r
@@ -247,10 +245,13 @@ public class WSTester {
                        SequenceAnnotation<T> wservice, Services service) throws Exception {\r
                writer.print("Calling analyse.........");\r
 \r
-               List<FastaSequence> input = loadSeqs();\r
+               List<FastaSequence> input = loadSeqs(2);\r
                if (service == Services.AAConWS) {\r
                        input = loadAlignment();\r
                }\r
+               if (service == Services.JpredWS) {\r
+                       input = loadSeqs(1);\r
+               }\r
                boolean success = testDefaultAnalyse(input, wservice, null, null);\r
 \r
                PresetManager<T> presetman = wservice.getPresets();\r
@@ -385,8 +386,7 @@ public class WSTester {
                String host = CmdHelper.getHost(args);\r
                String serviceName = CmdHelper.getServiceName(args);\r
                if (!Jws2Client.validURL(host)) {\r
-                       System.err\r
-                                       .println("<host_and_context> parameter is not provided or is incorrect!");\r
+                       System.err.println("<host_and_context> parameter is not provided or is incorrect!");\r
                        System.exit(1);\r
                }\r
                WSTester tester = new WSTester(host, new PrintWriter(System.out, true));\r
@@ -394,8 +394,7 @@ public class WSTester {
                if (serviceName != null) {\r
                        Services service = Services.getService(serviceName);\r
                        if (service == null) {\r
-                               tester.writer.println("Service '" + serviceName\r
-                                               + "' is not supported. Valid values are: "\r
+                               tester.writer.println("Service '" + serviceName + "' is not supported. Valid values are: "\r
                                                + Arrays.toString(Services.values()));\r
                                tester.writer.println();\r
                                printUsage();\r
@@ -405,8 +404,7 @@ public class WSTester {
                        System.exit(0);\r
                }\r
 \r
-               tester.writer\r
-                               .println("<ServiceName> is not provided checking all known services...");\r
+               tester.writer.println("<ServiceName> is not provided checking all known services...");\r
 \r
                for (Services serv : Services.values()) {\r
                        tester.writer.println();\r
@@ -428,8 +426,8 @@ public class WSTester {
                        WebServiceException {\r
                JABAService ws = Jws2Client.connect(hostname, service);\r
                if (ws == null) {\r
-                       writer.println("Cannot estabilish the connection to host "\r
-                                       + hostname + " with service " + service.toString());\r
+                       String line = "Cannot estabilish the connection to host " + hostname + " with service ";\r
+                       writer.println(line + service.toString());\r
                        return false;\r
                }\r
                boolean succeed = false;\r
@@ -445,11 +443,9 @@ public class WSTester {
 \r
        private void reportResults(Services serv, boolean succeed) {\r
                if (succeed) {\r
-                       writer.println("Check is completed. The Service " + serv\r
-                                       + " IS WORKING\n");\r
+                       writer.println("Check is completed. The Service " + serv + " IS WORKING\n");\r
                } else {\r
-                       writer.println("Check is aborted. The Service " + serv\r
-                                       + " HAS SOME PROBLEMS\n");\r
+                       writer.println("Check is aborted. The Service " + serv + " HAS SOME PROBLEMS\n");\r
                }\r
        }\r
 }\r