refactored standard static 'ArchiveReports' into their own class.
[vamsas.git] / src / org / vamsas / test / simpleclient / ArchiveReports.java
1 package org.vamsas.test.simpleclient;
2
3 import java.io.InputStream;
4
5 import org.vamsas.client.simpleclient.VamsasArchiveReader;
6 import org.vamsas.objects.core.ApplicationData;
7 import org.vamsas.objects.core.VAMSAS;
8 import org.vamsas.objects.core.VamsasDocument;
9
10 public class ArchiveReports {
11
12   public static boolean reportDocument(VamsasDocument document, VamsasArchiveReader archive) {
13     if (document!=null) {
14       System.out.print("Vamsas Document version '"+document.getVersion()+"'");
15       System.out.print("Document contains "+document.getVAMSASCount()+" VAMSAS Elements and "+document.getApplicationDataCount()+" elements.\n");
16       if (document.getApplicationDataCount()>0) {
17         System.out.print("There are "+document.getApplicationDataCount()+" ApplicationData references.\n");
18         ApplicationData appd[] = document.getApplicationData();
19         for (int i=0,j=appd.length; i<j; i++) {
20           System.out.print("Application "+i+": '"+appd[i].getName()+"'\nVersion '"+appd[i].getVersion()+"'\nURN: '"+appd[i].getUrn()+"'\n");
21           System.out.print("AppData is ");
22           if (appd[i].getAppDataChoice().getDataReference()!=null) {
23             String appData=appd[i].getAppDataChoice().getDataReference();
24             if (appData.length()>1) {
25               System.out.print("a reference ("+appData+")");
26               InputStream jstrm;
27               if ((jstrm=archive.getAppdataStream(appData))!=null)
28                 System.out.println(" which resolves to a JarEntry.");
29               else {
30                 System.out.println(" which does not resolve to a JarEntry.");
31                 System.err.println("Unresolved appdata reference '"+appData+"'");
32               }
33             } else {
34               System.out.println("an empty reference.");
35             }
36           } else {
37             System.out.println("an embedded chunk of "+appd[i].getAppDataChoice().getData().length+" bytes.");
38           }
39         }
40           
41       }
42       return true;
43     } else {
44       System.out.print("Document Object is null");
45     }
46     return false;
47   }
48
49   public static boolean rootReport(VAMSAS[] roots) {
50     if (roots!=null) {
51       for (int i=0; i<roots.length; i++) {
52         VAMSAS r = roots[i];
53         System.out.print("Vamsas Root "+i+" (id="
54             +((r.getId()!=null) ? r.getId():"<none>")
55             +") contains "+r.getDataSetCount()+" DataSets, "
56             + r.getTreeCount()+" Global trees");
57       }
58       return true;
59     }
60     return false;
61   }
62
63 }