updated test cases for spring 2006 schema, and major debug of locking system
[vamsas.git] / src / org / vamsas / test / simpleclient / VamsasArchive.java
index 3ec7d4d..09ddf34 100644 (file)
@@ -125,12 +125,18 @@ public class VamsasArchive {
         }
         while (newf.exists()); 
       } */
+      if (newf.exists()) {
+        log.info("Removing existing "+newf);
+        newf.delete();
+      }
+        
       log.info("Now writing new Archive into "+newf.getAbsolutePath());
       org.vamsas.client.simpleclient.VamsasArchive va=null;
       { // hold lock over deletion and write of new archive.
         //Lock wlock = sfile.getLock();
         //newf.delete(); // clear out old file.
-        va = new org.vamsas.client.simpleclient.VamsasArchive(newf, true, true); // , sfile);
+        sfile.getLock();
+        va = new org.vamsas.client.simpleclient.VamsasArchive(newf, true, true, sfile);
         // open another and...
         ApplicationData appdata = makeDemoAppdata(va, 
             "org.vamsas.test.simpleclient.VamsasArchive", "arnold Bugger esq", "disOrganised");
@@ -146,9 +152,11 @@ public class VamsasArchive {
       {
         Lock lock=sfile.getLock();
         if (lock==null)
-          while ((lock=sfile.getLock())==null)
+          while ((lock=sfile.getLock())==null) {
             log.info("Waiting for lock.");
-        VamsasArchiveReader vreader = new VamsasArchiveReader(newf);
+            Thread.sleep(100);
+          }
+        VamsasArchiveReader vreader = new VamsasArchiveReader(sfile.getVamsasFile());// lock); // cannot do new JarFile on a locked file. // newf);
         SimpleDocument sdoc = new SimpleDocument("testing new vamsas write");
         ArchiveReports.reportDocument(sdoc.getVamsasDocument(vreader), vreader, true, System.out);
         sfile.unLock();