+package org.vamsas.test.simpleclient;
+
+import java.io.InputStream;
+
+import org.vamsas.client.simpleclient.VamsasArchiveReader;
+import org.vamsas.objects.core.ApplicationData;
+import org.vamsas.objects.core.VAMSAS;
+import org.vamsas.objects.core.VamsasDocument;
+
+public class ArchiveReports {
+
+ public static boolean reportDocument(VamsasDocument document, VamsasArchiveReader archive) {
+ if (document!=null) {
+ System.out.print("Vamsas Document version '"+document.getVersion()+"'");
+ System.out.print("Document contains "+document.getVAMSASCount()+" VAMSAS Elements and "+document.getApplicationDataCount()+" elements.\n");
+ if (document.getApplicationDataCount()>0) {
+ System.out.print("There are "+document.getApplicationDataCount()+" ApplicationData references.\n");
+ 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.");
+ }
+ }
+
+ }
+ return true;
+ } else {
+ System.out.print("Document Object is null");
+ }
+ return false;
+ }
+
+ public static boolean rootReport(VAMSAS[] roots) {
+ if (roots!=null) {
+ for (int i=0; i<roots.length; i++) {
+ VAMSAS r = roots[i];
+ System.out.print("Vamsas Root "+i+" (id="
+ +((r.getId()!=null) ? r.getId():"<none>")
+ +") contains "+r.getDataSetCount()+" DataSets, "
+ + r.getTreeCount()+" Global trees");
+ }
+ return true;
+ }
+ return false;
+ }
+
+}