remove old ebi packages
[vamsas.git] / src / org / vamsas / test / simpleclient / ArchiveReader.java
1 package org.vamsas.test.simpleclient;
2
3 import java.io.BufferedInputStream;
4 import java.io.File;
5 import java.io.InputStream;
6 import java.io.InputStreamReader;
7
8 import org.vamsas.client.simpleclient.VamsasArchiveReader;
9 import org.vamsas.objects.core.VAMSAS;
10 import org.vamsas.objects.core.VamsasDocument;
11
12 public class ArchiveReader {
13   /**
14    * tests VamsasArchiveReader archive reader on a vamsas jar file
15    * @param args
16    */
17   public static void main(String args[]) {
18     
19     try {
20       File av = new File(args[0]);
21       VamsasArchiveReader var = new VamsasArchiveReader(av);
22       VAMSAS roots[]=null;
23       if (var.isValid()) {
24         InputStreamReader vdoc = new InputStreamReader(var.getVamsasDocumentStream());
25         VamsasDocument doc = VamsasDocument.unmarshal(vdoc);
26         if (ArchiveReports.reportDocument(doc, var, true, System.out)) {
27           roots = doc.getVAMSAS();
28         }
29       } else {
30         InputStream vxmlis = var.getVamsasXmlStream();
31         
32         if (vxmlis!=null) { // Might be an old vamsas file.
33           BufferedInputStream ixml = new BufferedInputStream(var.getVamsasXmlStream());
34           InputStreamReader vxml = new InputStreamReader(ixml);
35           VAMSAS root;
36           // unmarshal seems to always close the stream (should check this)
37           if ((root = VAMSAS.unmarshal(vxml))!=null) {
38             System.out.println("Read a root.");
39             roots = new VAMSAS[1];
40             roots[0] = root;
41           }
42         }
43       }
44       if (!ArchiveReports.rootReport(roots, true, System.out))
45         System.err.print(args[0]+" is not a valid vamsas archive.");
46     } catch (Exception e) {
47       e.printStackTrace(System.err);
48     }
49   }
50 }