1e96cc9ac831ee1b6e0a81d71b99592f3551fabe
[vamsas.git] / src / org / vamsas / test / simpleclient / VamsasArchive.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.apache.commons.logging.Log;
9 import org.apache.commons.logging.LogFactory;
10 import org.vamsas.client.simpleclient.*;
11 import org.vamsas.objects.core.VAMSAS;
12 import org.vamsas.objects.core.VamsasDocument;
13
14 public class VamsasArchive {
15   /**
16    * test the org.vamsas.simpleclient.vamsasArchive class
17    */
18   static Log log = LogFactory.getLog("org.vamsas.test.simpleclient.vamsasArchive");
19
20   public static void main(String args[]) {
21
22     try {
23       File av;
24       if (args.length>0)
25         av = new File(args[0]);
26       else
27         av = new File("test/vamsas.zip");
28       log.info("Opening archive "+av);
29       org.vamsas.client.simpleclient.VamsasArchive varchive = new org.vamsas.client.simpleclient.VamsasArchive(av, true);
30       
31       VAMSAS[] roots = (VAMSAS[]) varchive.getOriginalRoots();
32       
33       if (roots!=null) {
34         log.info("Report on Original roots in archive:");
35         ArchiveReports.rootReport(roots, true);
36       }
37       log.info("Getting current vamsas document.");
38       VamsasDocument doc = varchive.getVamsasDocument();
39       ArchiveReports.reportDocument(doc, varchive.getOriginalArchiveReader(), true); // not modified document so references will still be valid
40       // do some stuff
41       log.info("Retrieving backup");
42       File backup = varchive.backupFile();
43       if (backup==null)
44         log.info(av+" is a New Archive.");
45       else 
46         log.info(av+" has been backed up as "+backup);
47       varchive.cancelArchive();
48       if (backup!=null) {
49         log.info("Backup "+backup+" is being deleted.");
50         backup.delete(); // tidy up
51       }
52       } catch (Exception e) {
53       e.printStackTrace(System.err);
54     }
55   }
56 }