import java.io.InputStream;
+import org.vamsas.client.object;
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.Provenance;
import org.vamsas.objects.core.Tree;
+import org.vamsas.objects.core.User;
import org.vamsas.objects.core.VAMSAS;
import org.vamsas.objects.core.VamsasDocument;
/**
System.out.println(pe[i].getDate()+"\t'"+pe[i].getUser()+"'\t"+pe[i].getAction());
return true;
}
+ public static boolean appDataEntryReport(AppData appD, VamsasArchiveReader archive, boolean cascade) {
+ if (appD!=null) {
+ boolean nulldata=false;
+ if (appD.getDataReference()!=null) {
+ String appData=appD.getDataReference();
+ if (appData==null) { System.out.println("Empty DataReference - not valid ?"); }
+ else
+ if (appData.length()>1) {
+ System.out.print("a reference ("+appData+")");
+ InputStream jstrm;
+ if ((jstrm=archive.getAppdataStream(appData))!=null)
+ System.out.println(" which resolves to a JarEntry.");
+ else {
+ System.out.println(" which does not resolve to a JarEntry.");
+ System.err.println("Unresolved appdata reference '"+appData+"'");
+ }
+ } else {
+ nulldata=true;
+ }
+ } else {
+ if (appD.getData()==null)
+ nulldata &= true;
+ else
+ System.out.println("an embedded chunk of "+appD.getData().length+" bytes.");
+ }
+ if (nulldata)
+ System.out.println("Null AppData reference/data chunk.");
+ }
+ return true;
+ }
+
+ public static boolean appDataReport(ApplicationData appD, VamsasArchiveReader archive, boolean cascade) {
+ if (appD!=null) {
+ // Report on root appData
+ appDataEntryReport(appD, archive, cascade);
+ if (appD.getUserCount()>0) {
+ User users[] = appD.getUser();
+ for (int i=0,j=users.length; i<j; i++) {
+ System.out.println("Data for User '"+users[i].getFullname()+"' of '"+users[i].getOrganization()+"'");
+ appDataEntryReport(users[i], archive, cascade);
+ }
+ }
+ }
+
+ return true;
+ }
public static boolean reportDocument(VamsasDocument document, VamsasArchiveReader archive, boolean cascade) {
if (document!=null) {
System.out.println("Vamsas Document version '"+document.getVersion()+"'");
reportProvenance(document.getProvenance());
- System.out.print("Document contains "+document.getVAMSASCount()+" VAMSAS Elements and "+document.getApplicationDataCount()+" elements.\n");
+ System.out.print("Document contains "+document.getVAMSASCount()+" VAMSAS Elements and "+document.getApplicationDataCount()+" Application data elements.\n");
if (document.getVAMSASCount()>0 && cascade)
rootReport(document.getVAMSAS(), true);
if (document.getApplicationDataCount()>0) {
ApplicationData appd[] = document.getApplicationData();
for (int i=0,j=appd.length; i<j; i++) {
System.out.print("Application "+i+": '"+appd[i].getName()+"'\nVersion '"+appd[i].getVersion()+"'\nURN: '"+appd[i].getUrn()+"'\n");
- System.out.print("AppData is ");
- if (appd[i].getAppDataChoice().getDataReference()!=null) {
- String appData=appd[i].getAppDataChoice().getDataReference();
- if (appData.length()>1) {
- System.out.print("a reference ("+appData+")");
- InputStream jstrm;
- if ((jstrm=archive.getAppdataStream(appData))!=null)
- System.out.println(" which resolves to a JarEntry.");
- else {
- System.out.println(" which does not resolve to a JarEntry.");
- System.err.println("Unresolved appdata reference '"+appData+"'");
- }
- } else {
- System.out.println("an empty reference.");
- }
- } else {
- System.out.println("an embedded chunk of "+appd[i].getAppDataChoice().getData().length+" bytes.");
- }
+ System.out.print("AppData is :");
+ appDataReport(appd[i], archive, cascade);
}
}