import java.io.PrintStream;
import java.io.PrintWriter;
-import org.vamsas.client.object;
+import org.vamsas.client.ClientDocument;
+import org.vamsas.client.Vobject;
import org.vamsas.client.simpleclient.VamsasArchiveReader;
import org.vamsas.objects.core.Alignment;
import org.vamsas.objects.core.AppData;
import org.vamsas.objects.core.ApplicationData;
import org.vamsas.objects.core.DataSet;
import org.vamsas.objects.core.Entry;
+import org.vamsas.objects.core.Instance;
import org.vamsas.objects.core.Provenance;
import org.vamsas.objects.core.Tree;
import org.vamsas.objects.core.User;
/**
* this class contains static methods for writing info to stdout about a vamsas document
* Methods have a 'cascade' switch to indicate if sub-objects should have info printed on them.
- * Methods return true or false - indicating if the object was valid or not
- * TODO: LATER: propagate true/false return so that an invalid vamsas object invalidates the whole document
+ * Methods return true or false - indicating if the Vobject was valid or not
+ * TODO: LATER: propagate true/false return so that an invalid vamsas Vobject invalidates the whole document
* @author jimp
*
*/
}
Entry[] pe = p.getEntry();
for (int i=0; i<pe.length; i++)
- outstr.println(pe[i].getDate()+"\t'"+pe[i].getUser()+"'\t"+pe[i].getAction());
+ outstr.println(pe[i].getDate()+"\t'"+pe[i].getUser()+"'\t"+pe[i].getApp()+"\t'"+pe[i].getAction()+"'");
return true;
}
public static boolean appDataEntryReport(AppData appD, VamsasArchiveReader archive, boolean cascade, PrintStream outstr) {
if (appD!=null) {
// Report on root appData
appDataEntryReport(appD, archive, cascade, outstr);
+ if (appD.getInstanceCount()>0) {
+ Instance inst[] = appD.getInstance();
+ for (int i=0,j=inst.hashCode(); i<j; i++) {
+ outstr.println("Data for App Instance URN: '"+inst[i].getUrn());
+ appDataEntryReport(inst[i],archive,cascade,outstr);
+ }
+ }
if (appD.getUserCount()>0) {
User users[] = appD.getUser();
for (int i=0,j=users.length; i<j; i++) {
outstr.print("There are "+document.getApplicationDataCount()+" ApplicationData references.\n");
ApplicationData appd[] = document.getApplicationData();
for (int i=0,j=appd.length; i<j; i++) {
- outstr.print("Application "+i+": '"+appd[i].getName()+"'\nVersion '"+appd[i].getVersion()+"'\nURN: '"+appd[i].getUrn()+"'\n");
+ outstr.print("Application "+i+": '"+appd[i].getName()+"'\nVersion '"+appd[i].getVersion()+"'\n");
outstr.print("AppData is :");
appDataReport(appd[i], archive, cascade, outstr);
}
}
return true;
} else {
- outstr.print("Document Object is null");
+ outstr.println("Document Object is null");
}
return false;
}
boolean val=true;
if (al!=null && al.length>0) {
for (int i=0; i<al.length; i++) {
- outstr.println("Alignment "+i);
+ outstr.println("Alignment "+i+(al[i].isRegistered() ? " ("+al[i].getVorbaId()+")" : " (unregistered)"));
if (cascade)
reportProvenance(al[i].getProvenance(), outstr);
outstr.println("Involves "+al[i].getAlignmentSequenceCount()+" sequences, has "
- +al[i].getAlignmentAnnotationsCount()+" annotations and "+al[i].getTreeCount()+" trees.");
+ +al[i].getAlignmentAnnotationCount()+" annotations and "+al[i].getTreeCount()+" trees.");
if (cascade) {
for (int t=0; t<al[i].getTreeCount(); t++)
treeReport(al[i].getTree(t), true, outstr);