applied LGPLv3 and source code formatting.
[vamsas.git] / src / uk / ac / vamsas / test / objects / Core.java
1 /*\r
2  * This file is part of the Vamsas Client version 0.1. \r
3  * Copyright 2009 by Jim Procter, Iain Milne, Pierre Marguerite, \r
4  *  Andrew Waterhouse and Dominik Lindner.\r
5  * \r
6  * Earlier versions have also been incorporated into Jalview version 2.4 \r
7  * since 2008, and TOPALi version 2 since 2007.\r
8  * \r
9  * The Vamsas Client is free software: you can redistribute it and/or modify\r
10  * it under the terms of the GNU Lesser General Public License as published by\r
11  * the Free Software Foundation, either version 3 of the License, or\r
12  * (at your option) any later version.\r
13  *  \r
14  * The Vamsas Client is distributed in the hope that it will be useful,\r
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
17  * GNU Lesser General Public License for more details.\r
18  * \r
19  * You should have received a copy of the GNU Lesser General Public License\r
20  * along with the Vamsas Client.  If not, see <http://www.gnu.org/licenses/>.\r
21  */\r
22 package uk.ac.vamsas.test.objects;\r
23 \r
24 import org.apache.commons.logging.Log;\r
25 import org.apache.commons.logging.LogFactory;\r
26 \r
27 import uk.ac.vamsas.objects.core.*;\r
28 import uk.ac.vamsas.objects.utils.*;\r
29 import uk.ac.vamsas.objects.utils.document.*;\r
30 import uk.ac.vamsas.test.simpleclient.ArchiveReports;\r
31 \r
32 /**\r
33  * @author jim test XSD-Java binding classes in uk.ac.vamsas.objects.core\r
34  */\r
35 public class Core {\r
36   static Log log = LogFactory.getLog(Core.class);\r
37 \r
38   /**\r
39    * \r
40    * complete any automatically completable entries in the dataset\r
41    * \r
42    * @param ds\r
43    */\r
44   public static String user = "uk.ac.vamsas.test.objects.Core";\r
45 \r
46   public static void complete(DataSet ds) {\r
47     Sequence[] q = ds.getSequence();\r
48     for (int i = 0, j = q.length; i < j; i++) {\r
49       q[i].setStart(i + 1);\r
50       q[i].setEnd(q[i].getSequence().length() + i + 1);\r
51     }\r
52   }\r
53 \r
54   public static VAMSAS getDemoVamsas() {\r
55     VAMSAS v = new VAMSAS();\r
56     DataSet ds = new DataSet();\r
57     ds.addSequence(Seq.newSequence("Dummy1", "ASDFLEQ",\r
58         SymbolDictionary.STANDARD_AA, 5, 11));\r
59     ds.addSequence(Seq.newSequence("Dummy2", "ASFLEQ",\r
60         SymbolDictionary.STANDARD_AA, 5, 10));\r
61     ds.addSequence(Seq.newSequence("Dummy3", "ADFEQ",\r
62         SymbolDictionary.STANDARD_AA, 3, 7));\r
63     ds.setProvenance(ProvenanceStuff.newProvenance(user,\r
64         "constructed some dummy sequences"));\r
65     complete(ds);\r
66     v.addDataSet(ds);\r
67     Alignment al = new Alignment();\r
68     al.setProvenance(ProvenanceStuff.newProvenance(user,\r
69         "Created dummy alignment"));\r
70     // rely on newAlignmentSequence to set start/end correctly\r
71     al.addAlignmentSequence(Seq.newAlignmentSequence("Aligned1", "ASDFLEQ", ds\r
72         .getSequence(0), -1, -1));\r
73     al.addAlignmentSequence(Seq.newAlignmentSequence("Aligned2", "AS-FLEQ", ds\r
74         .getSequence(1), -1, -1));\r
75     al.addAlignmentSequence(Seq.newAlignmentSequence("Aligned3", "A-DF-EQ", ds\r
76         .getSequence(2), -1, -1));\r
77     al.setGapChar("-");\r
78     ds.addAlignment(al);\r
79     // TODO: create annotations\r
80     // TODO: create tree\r
81     return v;\r
82   }\r
83 \r
84   /**\r
85    * @param args\r
86    */\r
87   public static void main(String[] args) {\r
88 \r
89     /**\r
90      * test constants and controlled vocab utils\r
91      */\r
92     System.out.println("VersionEntries.compare(invalid, ALPHA) returned "\r
93         + VersionEntries.compare("invalid", VersionEntries.ALPHA_VERSION));\r
94     System.out.println("VersionEntries.compare(ALPHA, invalid) returned "\r
95         + VersionEntries.compare(VersionEntries.ALPHA_VERSION, "invalid"));\r
96     System.out.println("VersionEntries.compare(BETA, ALPHA) returned "\r
97         + VersionEntries.compare(VersionEntries.BETA_VERSION,\r
98             VersionEntries.ALPHA_VERSION));\r
99     System.out.println("VersionEntries.compare(ALPHA, BETA) returned "\r
100         + VersionEntries.compare(VersionEntries.ALPHA_VERSION,\r
101             VersionEntries.BETA_VERSION));\r
102     System.out.println("VersionEntries.compare(ALPHA, ALPHA) returned "\r
103         + VersionEntries.compare(VersionEntries.ALPHA_VERSION,\r
104             VersionEntries.ALPHA_VERSION));\r
105     System.out.println("VersionEntries.compare(invalid, invalid) returned "\r
106         + VersionEntries.compare("invalid", "invalid"));\r
107     System.out.println("VersionEntries.latestVersion()="\r
108         + VersionEntries.latestVersion() + ", dict_aa="\r
109         + SymbolDictionary.STANDARD_AA + ", dict_na="\r
110         + SymbolDictionary.STANDARD_NA);\r
111     /**\r
112      * Test utils and autogenerated Vobject interfaces\r
113      */\r
114 \r
115     VamsasDocument doc = DocumentStuff.newVamsasDocument(\r
116         new VAMSAS[] { getDemoVamsas() }, ProvenanceStuff.newProvenance(\r
117             "org.vamsas.objects.test.Core", "Created demo vamsasDocument"),\r
118         VersionEntries.latestVersion());\r
119     ArchiveReports.reportDocument(doc, null, true, System.out);\r
120   }\r
121 }\r