From c513d5195afea00b40a8d157e26df71c2277d68b Mon Sep 17 00:00:00 2001 From: jprocter Date: Thu, 19 Jan 2006 11:51:36 +0000 Subject: [PATCH] generalised ArchiveReports functions to output on any stream. git-svn-id: https://svn.lifesci.dundee.ac.uk/svn/repository/trunk@144 be28352e-c001-0410-b1a7-c7978e42abec --- src/org/vamsas/test/objects/Core.java | 2 +- .../vamsas/test/simpleclient/ArchiveReader.java | 4 +- .../vamsas/test/simpleclient/ArchiveReports.java | 90 ++++++++++---------- .../vamsas/test/simpleclient/VamsasArchive.java | 10 +-- 4 files changed, 55 insertions(+), 51 deletions(-) diff --git a/src/org/vamsas/test/objects/Core.java b/src/org/vamsas/test/objects/Core.java index 8a24e95..f606a19 100644 --- a/src/org/vamsas/test/objects/Core.java +++ b/src/org/vamsas/test/objects/Core.java @@ -76,6 +76,6 @@ public class Core { VamsasDocument doc = DocumentStuff.newVamsasDocument(new VAMSAS[] { getDemoVamsas() }, ProvenanceStuff.newProvenance("org.vamsas.objects.test.Core", "Created demo vamsasDocument"), VersionEntries.latestVersion()); - ArchiveReports.reportDocument(doc, null, true); + ArchiveReports.reportDocument(doc, null, true, System.out); } } diff --git a/src/org/vamsas/test/simpleclient/ArchiveReader.java b/src/org/vamsas/test/simpleclient/ArchiveReader.java index f99bed8..d7959b4 100644 --- a/src/org/vamsas/test/simpleclient/ArchiveReader.java +++ b/src/org/vamsas/test/simpleclient/ArchiveReader.java @@ -23,7 +23,7 @@ public class ArchiveReader { if (var.isValid()) { InputStreamReader vdoc = new InputStreamReader(var.getVamsasDocumentStream()); VamsasDocument doc = VamsasDocument.unmarshal(vdoc); - if (ArchiveReports.reportDocument(doc, var, true)) { + if (ArchiveReports.reportDocument(doc, var, true, System.out)) { roots = doc.getVAMSAS(); } } else { @@ -41,7 +41,7 @@ public class ArchiveReader { } } } - if (!ArchiveReports.rootReport(roots, true)) + if (!ArchiveReports.rootReport(roots, true, System.out)) System.err.print(args[0]+" is not a valid vamsas archive."); } catch (Exception e) { e.printStackTrace(System.err); diff --git a/src/org/vamsas/test/simpleclient/ArchiveReports.java b/src/org/vamsas/test/simpleclient/ArchiveReports.java index 998191f..b38f87a 100644 --- a/src/org/vamsas/test/simpleclient/ArchiveReports.java +++ b/src/org/vamsas/test/simpleclient/ArchiveReports.java @@ -1,6 +1,8 @@ package org.vamsas.test.simpleclient; import java.io.InputStream; +import java.io.PrintStream; +import java.io.PrintWriter; import org.vamsas.client.object; import org.vamsas.client.simpleclient.VamsasArchiveReader; @@ -25,35 +27,36 @@ import org.vamsas.objects.core.VamsasDocument; public class ArchiveReports { /** * print an informative summary on a VamsasDocument + * @param outstr TODO * @param document - the document itself * @param archive - document source archive for resolving any appData refs * @return */ - public static boolean reportProvenance(Provenance p) { + public static boolean reportProvenance(Provenance p, PrintStream outstr) { if (p==null) { - System.out.println("No Provenance"); + outstr.println("No Provenance"); return false; } Entry[] pe = p.getEntry(); for (int i=0; i1) { - System.out.print("a reference ("+appData+")"); + outstr.print("a reference ("+appData+")"); InputStream jstrm; if ((jstrm=archive.getAppdataStream(appData))!=null) - System.out.println(" which resolves to a JarEntry."); + outstr.println(" which resolves to a JarEntry."); else { - System.out.println(" which does not resolve to a JarEntry."); - System.err.println("Unresolved appdata reference '"+appData+"'"); + outstr.println(" which does not resolve to a JarEntry."); + outstr.println("Unresolved appdata reference '"+appData+"'"); } } else { nulldata=true; @@ -62,49 +65,49 @@ public class ArchiveReports { if (appD.getData()==null) nulldata &= true; else - System.out.println("an embedded chunk of "+appD.getData().length+" bytes."); + outstr.println("an embedded chunk of "+appD.getData().length+" bytes."); } if (nulldata) - System.out.println("Null AppData reference/data chunk."); + outstr.println("Null AppData reference/data chunk."); } return true; } - public static boolean appDataReport(ApplicationData appD, VamsasArchiveReader archive, boolean cascade) { + public static boolean appDataReport(ApplicationData appD, VamsasArchiveReader archive, boolean cascade, PrintStream outstr) { if (appD!=null) { // Report on root appData - appDataEntryReport(appD, archive, cascade); + appDataEntryReport(appD, archive, cascade, outstr); if (appD.getUserCount()>0) { User users[] = appD.getUser(); for (int i=0,j=users.length; i0 && cascade) - rootReport(document.getVAMSAS(), true); + rootReport(document.getVAMSAS(), true, outstr); if (document.getApplicationDataCount()>0) { - System.out.print("There are "+document.getApplicationDataCount()+" ApplicationData references.\n"); + outstr.print("There are "+document.getApplicationDataCount()+" ApplicationData references.\n"); ApplicationData appd[] = document.getApplicationData(); for (int i=0,j=appd.length; i") +") contains "+(ds=r.getDataSetCount())+" DataSets, " + (tr=r.getTreeCount())+" Global trees\n"); if (cascade) { for (int j=0; j0) { for (int i=0; i