X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Forg%2Fvamsas%2Fclient%2Fsimpleclient%2FClientDocument.java;h=3b654f8bf7e4dfa9ddbab641ef902845c1a6b09c;hb=5156a824b13ecd091af9f84870f41d83eb59bd71;hp=71365ee7220bd686da33b98c2c0272edb35e8d15;hpb=50dbf081e4cdad62da0a65993793e2382f0a5f92;p=vamsas.git diff --git a/src/org/vamsas/client/simpleclient/ClientDocument.java b/src/org/vamsas/client/simpleclient/ClientDocument.java index 71365ee..3b654f8 100644 --- a/src/org/vamsas/client/simpleclient/ClientDocument.java +++ b/src/org/vamsas/client/simpleclient/ClientDocument.java @@ -3,22 +3,23 @@ */ package org.vamsas.client.simpleclient; -import java.util.Hashtable; +import java.io.IOException; import java.util.Vector; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.vamsas.client.IClient; +import org.vamsas.client.ClientHandle; import org.vamsas.client.IClientAppdata; import org.vamsas.client.IClientDocument; -import org.vamsas.client.VorbaId; +import org.vamsas.client.UserHandle; import org.vamsas.client.Vobject; -import org.vamsas.objects.core.AppData; +import org.vamsas.client.VorbaId; 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.objects.utils.AppDataReference; +import org.vamsas.test.objects.Core; /** * Maintains a collection of vamsas objects, appdatas and states, and provides api for a SimpleClient's client. @@ -40,6 +41,7 @@ public class ClientDocument extends org.vamsas.client.ClientDocument implements public boolean isModified() { return isModified; } + private Vector updatedObjects=null; /** * * prepare Application-side dataset from the vamsas Document archive @@ -51,12 +53,14 @@ public class ClientDocument extends org.vamsas.client.ClientDocument implements protected ClientDocument(VamsasDocument doc, VamsasArchive docHandler, IdFactory Factory, SimpleClient sclient) { super(Factory.getVorbaIdHash(), Factory); + /** * prepare Application-side dataset from the vamsas Document archive */ this.sclient = sclient; archive = docHandler; this.doc = doc; + updatedObjects=null; /// TODO: correct this line } /* @@ -65,8 +69,13 @@ public class ClientDocument extends org.vamsas.client.ClientDocument implements * @see org.vamsas.client.IClientDocument#getObject(org.vamsas.client.VorbaId) */ public Vobject getObject(VorbaId id) { - // TODO: look up id in document Vobject - // retrieve Vobject and return + if (vamsasObjects==null) { + log.debug("getObject called on null objrefs list."); + return null; + } + if (vamsasObjects.containsKey(id)) + return (Vobject) vamsasObjects.get(id); + log.debug("Returning null Vobject reference for id "+id.getId()); return null; } @@ -76,8 +85,17 @@ public class ClientDocument extends org.vamsas.client.ClientDocument implements * @see org.vamsas.client.IClientDocument#getObjects(org.vamsas.client.VorbaId[]) */ public Vobject[] getObjects(VorbaId[] ids) { - // TODO: getObject in bulk - return null; + if (vamsasObjects==null) { + log.debug("getObject[] called on null vamsasObjects list."); + return null; + } + Vobject[] vo = new Vobject[ids.length]; + for (int i=0,j=ids.length; i