import java.io.InputStreamReader;
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 ArchiveReader {
- 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;
- }
-
public static void main(String args[]) {
try {
if (var.isValid()) {
InputStreamReader vdoc = new InputStreamReader(var.getVamsasDocumentStream());
VamsasDocument doc = VamsasDocument.unmarshal(vdoc);
- if (reportDocument(doc, var)) {
+ if (ArchiveReports.reportDocument(doc, var)) {
roots = doc.getVAMSAS();
}
} else {
}
}
}
- if (!rootReport(roots))
+ if (!ArchiveReports.rootReport(roots))
System.err.print(args[0]+" is not a valid vamsas archive.");
} catch (Exception e) {
e.printStackTrace(System.err);