renamed base class for all vamsas document objects (now org.vamsas.client.Vobject)
[vamsas.git] / src / org / vamsas / test / objects / Core.java
1 /**
2  * 
3  */
4 package org.vamsas.test.objects;
5
6 import org.apache.commons.logging.Log;
7 import org.apache.commons.logging.LogFactory;
8 import org.vamsas.objects.core.*;
9 import org.vamsas.objects.utils.*;
10 import org.vamsas.objects.utils.document.*;
11 import org.vamsas.test.simpleclient.ArchiveReports;
12
13 /**
14  * @author jim
15  * test XSD-Java binding classes in org.vamsas.objects.core
16  */
17 public class Core {
18   static Log log = LogFactory.getLog(Core.class);
19
20   /**
21    * 
22    * complete any automatically completable entries in the dataset
23    * @param ds
24    */
25   public static String user = "org.vamsas.test.objects.Core";
26   
27   public static void complete(DataSet ds) {
28     Sequence[] q = ds.getSequence();
29     for (int i=0,j=q.length; i<j; i++) {
30       q[i].setStart(i+1);
31       q[i].setEnd(q[i].getSequence().length()+i+1);
32     }
33   }  
34
35   public static VAMSAS getDemoVamsas() {
36      VAMSAS v=new VAMSAS();
37      DataSet ds = new DataSet();
38      ds.addSequence(Seq.newSequence("Dummy1","ASDFLEQ",SymbolDictionary.STANDARD_AA, 5, 11));
39      ds.addSequence(Seq.newSequence("Dummy2","ASFLEQ",SymbolDictionary.STANDARD_AA, 5, 10));
40      ds.addSequence(Seq.newSequence("Dummy3","ADFEQ",SymbolDictionary.STANDARD_AA, 3, 7));
41      ds.setProvenance(ProvenanceStuff.newProvenance(user, "constructed some dummy sequences"));
42      complete(ds);
43      v.addDataSet(ds);
44      Alignment al = new Alignment();
45      al.setProvenance(ProvenanceStuff.newProvenance(user, "Created dummy alignment"));
46      //   rely on newAlignmentSequence to set start/end correctly
47      al.addAlignmentSequence(Seq.newAlignmentSequence("Aligned1", "ASDFLEQ", ds.getSequence(0), -1, -1)); 
48      al.addAlignmentSequence(Seq.newAlignmentSequence("Aligned2", "AS-FLEQ", ds.getSequence(1), -1, -1)); 
49      al.addAlignmentSequence(Seq.newAlignmentSequence("Aligned3", "A-DF-EQ", ds.getSequence(2), -1, -1)); 
50      al.setGapChar("-");
51      ds.addAlignment(al);
52      // TODO: create annotations
53      // TODO: create tree
54      return v;
55    }
56   /**
57    * @param args
58    */
59   public static void main(String[] args) {
60     
61     /**
62      * test constants and controlled vocab utils
63      */
64     System.out.println("VersionEntries.compare(invalid, ALPHA) returned "+VersionEntries.compare("invalid", VersionEntries.ALPHA_VERSION));
65     System.out.println("VersionEntries.compare(ALPHA, invalid) returned "+VersionEntries.compare(VersionEntries.ALPHA_VERSION, "invalid"));      
66     System.out.println("VersionEntries.compare(BETA, ALPHA) returned "+VersionEntries.compare(VersionEntries.BETA_VERSION,VersionEntries.ALPHA_VERSION));
67     System.out.println("VersionEntries.compare(ALPHA, BETA) returned "+VersionEntries.compare(VersionEntries.ALPHA_VERSION,VersionEntries.BETA_VERSION));
68     System.out.println("VersionEntries.compare(ALPHA, ALPHA) returned "+VersionEntries.compare(VersionEntries.ALPHA_VERSION,VersionEntries.ALPHA_VERSION));
69     System.out.println("VersionEntries.compare(invalid, invalid) returned "+VersionEntries.compare("invalid", "invalid"));
70     System.out.println("VersionEntries.latestVersion()="+VersionEntries.latestVersion()+
71         ", dict_aa="+SymbolDictionary.STANDARD_AA+", dict_na="+SymbolDictionary.STANDARD_NA);
72     /**
73      * Test utils and autogenerated Vobject interfaces
74      */
75     
76     VamsasDocument doc = DocumentStuff.newVamsasDocument(new VAMSAS[] { getDemoVamsas() }, 
77         ProvenanceStuff.newProvenance("org.vamsas.objects.test.Core", "Created demo vamsasDocument"),
78         VersionEntries.latestVersion());
79     ArchiveReports.reportDocument(doc, null, true, System.out);
80   }
81 }