1 package org.vamsas.test.simpleclient;
3 import java.io.BufferedInputStream;
5 import java.io.InputStream;
6 import java.io.InputStreamReader;
8 import org.vamsas.client.simpleclient.SessionFile;
9 import org.vamsas.client.simpleclient.VamsasArchiveReader;
10 import org.vamsas.client.simpleclient.VamsasFile;
11 import org.vamsas.objects.core.VAMSAS;
12 import org.vamsas.objects.core.VamsasDocument;
14 public class ArchiveStreamReader {
16 * tests VamsasArchiveReader archive reader on a vamsas jar file opened as a stream
19 public static void main(String args[]) {
22 VamsasFile av = new VamsasFile(new File(args[0]));
23 VamsasArchiveReader var = new VamsasArchiveReader(av.getLock());
26 InputStreamReader vdoc = new InputStreamReader(var.getVamsasDocumentStream());
27 VamsasDocument doc = VamsasDocument.unmarshal(vdoc);
28 if (ArchiveReports.reportDocument(doc, var, true, System.out)) {
29 roots = doc.getVAMSAS();
32 InputStream vxmlis = var.getVamsasXmlStream();
34 if (vxmlis!=null) { // Might be an old vamsas file.
35 BufferedInputStream ixml = new BufferedInputStream(var.getVamsasXmlStream());
36 InputStreamReader vxml = new InputStreamReader(ixml);
38 // unmarshal seems to always close the stream (should check this)
39 if ((root = VAMSAS.unmarshal(vxml))!=null) {
40 System.out.println("Read a root.");
41 roots = new VAMSAS[1];
46 if (!ArchiveReports.rootReport(roots, true, System.out))
47 System.err.print(args[0]+" is not a valid vamsas archive.");
48 } catch (Exception e) {
49 e.printStackTrace(System.err);