X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Forg%2Fvamsas%2Ftest%2Fsimpleclient%2FVamsasArchive.java;h=09ddf347801959d979ccb2a675359331c44722c1;hb=7700d838b129db99edacb208b3153546795a33c7;hp=112a4b234c20c77500473f1f65c4c7661347edf1;hpb=277d50147b238cbf89038d96187304285a3df516;p=vamsas.git diff --git a/src/org/vamsas/test/simpleclient/VamsasArchive.java b/src/org/vamsas/test/simpleclient/VamsasArchive.java index 112a4b2..09ddf34 100644 --- a/src/org/vamsas/test/simpleclient/VamsasArchive.java +++ b/src/org/vamsas/test/simpleclient/VamsasArchive.java @@ -79,7 +79,7 @@ public class VamsasArchive { apuser.setDataReference(appdata_ref); appdata.addUser(apuser); appdata.setVersion("noggin"); - appdata.setUrn("program:/the.nog/"); + //TODO: write instance appdata appdata.setUrn("program:/the.nog/"); try { ObjectOutputStream ost = new ObjectOutputStream(va.getAppDataStream(appdata_ref)); ost.writeObject(appdata); @@ -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(); @@ -180,9 +188,15 @@ public class VamsasArchive { if (lock==null) while ((lock=sfile.getLock())==null) log.info("Waiting for lock."); + // VamsasArchiveReader vreader = new VamsasArchiveReader(lock); VamsasArchiveReader vreader = new VamsasArchiveReader(newf); + SimpleDocument sdoc = new SimpleDocument("testing vamsas update"); - ArchiveReports.reportDocument(sdoc.getVamsasDocument(vreader), vreader, true, System.out); + VamsasDocument finaldoc = sdoc.getVamsasDocument(vreader); + if (finaldoc!=null) + ArchiveReports.reportDocument(finaldoc, vreader, true, System.out); + else + log.error("Null Document Read from "+newf); } } catch (Exception e) { e.printStackTrace(System.err);