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 { /** * print an informative summary on a VamsasDocument * @param document - the document itself * @param archive - document source archive for resolving any appData refs * @return */ 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; i1) { 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; } /** * summarises all the datasets in a vamsas document. * @param roots * @return */ public static boolean rootReport(VAMSAS[] roots) { if (roots!=null) { for (int i=0; i") +") contains "+r.getDataSetCount()+" DataSets, " + r.getTreeCount()+" Global trees"); } return true; } return false; } }