tidying IO.
[vamsas.git] / src / org / vamsas / test / simpleclient / VamsasArchive.java
index 354f9af..112a4b2 100644 (file)
@@ -128,9 +128,9 @@ public class VamsasArchive {
       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, wlock);
+        //Lock wlock = sfile.getLock();
+        //newf.delete(); // clear out old file.
+        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,7 +146,7 @@ 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);
         SimpleDocument sdoc = new SimpleDocument("testing new vamsas write");
@@ -160,9 +160,9 @@ public class VamsasArchive {
         log.info("Successfully cancelled.");
       else
         log.info("Didn't cancel.");
-      
+      long t=System.currentTimeMillis()+200; while (t>System.currentTimeMillis());
       log.info("Now testing archive update.");
-      va = new org.vamsas.client.simpleclient.VamsasArchive(newf, true);
+      va = new org.vamsas.client.simpleclient.VamsasArchive(newf, false, true, sfile);
       doc = va.getVamsasDocument();
       doc.addVAMSAS(Core.getDemoVamsas());
       doc.addApplicationData(makeDemoAppdata(va, 
@@ -173,17 +173,16 @@ public class VamsasArchive {
         log.warn("No appdatas were transferred. This is wrong.");
       va.putVamsasDocument(doc);
       va.closeArchive();
+      sfile.unLock();
       log.info("Testing update: ");
       {
         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);
         SimpleDocument sdoc = new SimpleDocument("testing vamsas update");
         ArchiveReports.reportDocument(sdoc.getVamsasDocument(vreader), vreader, true, System.out);
-        lock.release();
-        lock = null;
       }
     } catch (Exception e) {
       e.printStackTrace(System.err);