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