import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.vamsas.client.simpleclient.Lock;
-import org.vamsas.client.simpleclient.SessionFile;
-import org.vamsas.client.simpleclient.SimpleDocument;
-import org.vamsas.client.simpleclient.VamsasArchiveReader;
-import org.vamsas.client.simpleclient.VamsasFile;
-import org.vamsas.objects.core.ApplicationData;
-import org.vamsas.objects.core.User;
-import org.vamsas.objects.core.VAMSAS;
-import org.vamsas.objects.core.VamsasDocument;
import org.vamsas.test.objects.Core;
+import uk.ac.vamsas.client.simpleclient.Lock;
+import uk.ac.vamsas.client.simpleclient.SessionFile;
+import uk.ac.vamsas.client.simpleclient.SimpleDocument;
+import uk.ac.vamsas.client.simpleclient.VamsasArchiveReader;
+import uk.ac.vamsas.client.simpleclient.VamsasFile;
+import uk.ac.vamsas.objects.core.ApplicationData;
+import uk.ac.vamsas.objects.core.User;
+import uk.ac.vamsas.objects.core.VAMSAS;
+import uk.ac.vamsas.objects.core.VamsasDocument;
+
public class VamsasArchive {
/**
* test the org.vamsas.simpleclient.vamsasArchive class
*/
static Log log = LogFactory.getLog(VamsasArchive.class);
- public static ApplicationData makeDemoAppdata(org.vamsas.client.simpleclient.VamsasArchive va, String apname, String userName, String userOrg) {
+ public static ApplicationData makeDemoAppdata(uk.ac.vamsas.client.simpleclient.VamsasArchive va, String apname, String userName, String userOrg) {
if (va==null)
return null;
VamsasArchiveReader vread=null;
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);
else
av = new File("test/vamsas.zip");
log.info("Opening archive "+av);
- org.vamsas.client.simpleclient.VamsasArchive varchive = new org.vamsas.client.simpleclient.VamsasArchive(av, true);
+ uk.ac.vamsas.client.simpleclient.VamsasArchive varchive = new uk.ac.vamsas.client.simpleclient.VamsasArchive(av, true);
VAMSAS[] roots = (VAMSAS[]) varchive.getOriginalRoots();
}
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;
+ uk.ac.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 uk.ac.vamsas.client.simpleclient.VamsasArchive(newf, true, true, sfile);
// open another and...
ApplicationData appdata = makeDemoAppdata(va,
"org.vamsas.test.simpleclient.VamsasArchive", "arnold Bugger esq", "disOrganised");
{
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();
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, false, true, sfile);
+ va = new uk.ac.vamsas.client.simpleclient.VamsasArchive(newf, false, true, sfile);
doc = va.getVamsasDocument();
doc.addVAMSAS(Core.getDemoVamsas());
doc.addApplicationData(makeDemoAppdata(va,
va.putVamsasDocument(doc);
va.closeArchive();
sfile.unLock();
- System.exit(0);
log.info("Testing update: ");
{
Lock lock=sfile.getLock();
if (lock==null)
while ((lock=sfile.getLock())==null)
log.info("Waiting for lock.");
- VamsasArchiveReader vreader = new VamsasArchiveReader(lock);
+ // VamsasArchiveReader vreader = new VamsasArchiveReader(lock);
+ VamsasArchiveReader vreader = new VamsasArchiveReader(newf);
+
SimpleDocument sdoc = new SimpleDocument("testing vamsas update");
VamsasDocument finaldoc = sdoc.getVamsasDocument(vreader);
if (finaldoc!=null)