found cyclic dependency problems in schema and in VorbaId mechanism.
[vamsas.git] / src / org / vamsas / test / simpleclient / VamsasArchive.java
index 5799fbe..ceae705 100644 (file)
@@ -21,7 +21,7 @@ public class VamsasArchive {
   /**
    * test the org.vamsas.simpleclient.vamsasArchive class
    */
-  static Log log = LogFactory.getLog(vamsasArchive.class);
+  static Log log = LogFactory.getLog(VamsasArchive.class);
   
   public static void main(String args[]) {
     
@@ -62,7 +62,13 @@ public class VamsasArchive {
         apuser.setOrganization("disOrganised");
         String appdata_ref = "vamsas:org.vamsas.test.simpleclient.VamsasArchive/"+apuser.getOrganization()+"/"+apuser.getFullname();
         org.vamsas.client.simpleclient.VamsasArchive va = new org.vamsas.client.simpleclient.VamsasArchive(backup, true);
+        log.info("Getting the document from the backup-original.");
+        VamsasDocument vadoc;
         VamsasArchiveReader vread = va.getOriginalArchiveReader();
+        
+        vadoc = va.getVamsasDocument();
+        log.info("Got document. Adding stuff.");
+        
         if (vread.getAppdataStream(appdata_ref)!=null) {
           int i=0;
           while (vread.getAppdataStream(appdata_ref+"/"+Integer.toString(++i))!=null)
@@ -72,23 +78,27 @@ public class VamsasArchive {
         log.info("Writing an apdata reference using AppDataStream interface.");
         apuser.setAppDataChoice(new AppDataChoice());
         apuser.getAppDataChoice().setDataReference(appdata_ref);
+        appdata.addUser(apuser);
+        // TODO: FIX CYCLIC __ensure+instance_ids
+        // TODO: FIX schema - User.addUser is unsatisfiable!
+        apuser.addUser(apuser);
         ObjectOutputStream apdos = new ObjectOutputStream(va.getAppDataStream(appdata_ref));
         apdos.writeObject(appdata_ref);
         apdos.writeObject(apuser); // some random content
         apdos.close(); // this should *not* close the archive!
+        log.info("Written Appdata Stream");
         log.info("Preparing to write new document.");
         doc.addApplicationData(appdata);
         doc.addVAMSAS(Core.getDemoVamsas());
-        PrintWriter vxml = varchive.getDocumentOutputStream();
-        doc.marshal(vxml);
+        va.putVamsasDocument(doc); // gets stream and puts it.
         // TODO: verify that the vxml stream close method overridden ?
         va.closeArchive();
         log.info("Dump of new vamsas document :");
         va = new org.vamsas.client.simpleclient.VamsasArchive(backup, true); // TODO - refactor Reader class to have deserializing helpers
         ArchiveReports.reportDocument(va.getVamsasDocument(), va.getOriginalArchiveReader(), true);
-        backup.delete(); // tidy up
+        // backup.delete(); // tidy up
       }
-      log.info("Cancelling write to original archive "+av);
+      log.info("Now Cancelling write to original archive "+av);
       varchive.cancelArchive();
 
     } catch (Exception e) {