RNAStruct replaced by RNAStructScoreManager. Why does webservice
[jabaws.git] / testsrc / compbio / ws / client / TestRNAalifoldWS.java
1         package compbio.ws.client;\r
2 \r
3 import static org.testng.Assert.assertNotNull;\r
4 import static org.testng.Assert.fail;\r
5 \r
6 import java.io.FileInputStream;\r
7 import java.io.FileNotFoundException;\r
8 import java.io.IOException;\r
9 import java.io.OutputStreamWriter;\r
10 import java.io.Writer;\r
11 import java.net.ConnectException;\r
12 import java.util.ArrayList;\r
13 import java.util.List;\r
14 \r
15 import javax.xml.ws.WebServiceException;\r
16 \r
17 import org.testng.annotations.BeforeTest;\r
18 import org.testng.annotations.Test;\r
19 \r
20 import compbio.data.msa.JABAService;\r
21 import compbio.data.msa.SequenceAnnotation;\r
22 import compbio.data.sequence.Alignment;\r
23 import compbio.data.sequence.ClustalAlignmentUtil;\r
24 import compbio.data.sequence.FastaSequence;\r
25 import compbio.data.sequence.RNAStructScoreManager;\r
26 import compbio.data.sequence.ScoreManager;\r
27 import compbio.data.sequence.UnknownFileFormatException;\r
28 import compbio.metadata.AllTestSuit;\r
29 import compbio.metadata.JobSubmissionException;\r
30 import compbio.metadata.LimitExceededException;\r
31 import compbio.metadata.Option;\r
32 import compbio.metadata.ResultNotAvailableException;\r
33 import compbio.metadata.UnsupportedRuntimeException;\r
34 import compbio.metadata.WrongParameterException;\r
35 import compbio.runner.structure.RNAalifold;\r
36 import compbio.ws.server.RNAalifoldWS;\r
37 \r
38 \r
39 public class TestRNAalifoldWS {\r
40         \r
41 //      SequenceAnnotation<RNAalifoldWS> foldws;\r
42         RNAalifoldWS foldws;\r
43         \r
44         @BeforeTest(groups = {AllTestSuit.test_group_webservices})\r
45         void initConnection() {\r
46                 \r
47                 try {\r
48                         JABAService client = Jws2Client.connect(\r
49                                         "http://localhost:8080/jabaws", Services.RNAalifoldWS);\r
50                         foldws = (RNAalifoldWS) client;\r
51                 } catch (ConnectException e) {\r
52                         e.printStackTrace();\r
53                         fail(e.getMessage());\r
54                 } catch (WebServiceException e) {\r
55                         e.printStackTrace();\r
56                         fail(e.getMessage());\r
57                 }\r
58         }\r
59 \r
60         \r
61         @Test(groups = {AllTestSuit.test_group_webservices})\r
62         public void testFold() throws FileNotFoundException, IOException,\r
63                         UnknownFileFormatException {\r
64                 \r
65 //              String CURRENT_DIRECTORY = SysPrefs.getCurrentDirectory()\r
66 //                              + File.separator;\r
67                 \r
68                 Alignment aln = ClustalAlignmentUtil.readClustalFile(new FileInputStream(\r
69                                 AllTestSuit.test_input_aln));\r
70                 \r
71                 List<FastaSequence> fsl = aln.getSequences();\r
72                 \r
73                 try {\r
74                         List<Option<RNAalifold>> options  = new ArrayList<Option<RNAalifold>>();\r
75                         options.add(foldws.getRunnerOptions().getArgumentByOptionName("--mis"));\r
76                         options.add(foldws.getRunnerOptions().getArgumentByOptionName("-p"));\r
77                         options.add(foldws.getRunnerOptions().getArgumentByOptionName("--MEA"));\r
78                         \r
79 //                      System.out.println("TestRNAalifoldWS: print options: " + options.toString());\r
80                         \r
81                         String jobId = foldws.customAnalize(fsl, options);\r
82                         System.out.println("J: " + jobId);\r
83                         \r
84                         Writer stdout = new OutputStreamWriter(System.out);\r
85                         \r
86                         System.out.println("results class: " + foldws.getAnnotation(jobId).getClass().getName());\r
87                         RNAStructScoreManager result = (RNAStructScoreManager)foldws.getAnnotation(jobId);\r
88                         \r
89                         \r
90                         result.writeOut(stdout);\r
91                         System.out.println("fold results: \n" + result.toString());\r
92                         assertNotNull(result);\r
93                         \r
94                 } catch (UnsupportedRuntimeException e) {\r
95                         e.printStackTrace();\r
96                         fail(e.getMessage());\r
97                 } catch (LimitExceededException e) {\r
98                         e.printStackTrace();\r
99                         fail(e.getMessage());\r
100                 } catch (JobSubmissionException e) {\r
101                         e.printStackTrace();\r
102                         fail(e.getMessage());\r
103                 } catch (ResultNotAvailableException e) {\r
104                         e.printStackTrace();\r
105                         fail(e.getMessage());\r
106                 } catch (WrongParameterException e) {\r
107                         e.printStackTrace();\r
108                         fail(e.getMessage());\r
109                 }\r
110         }\r
111 }\r
112         \r
113 \r
114 \r