"Impementation error! Vamsas Operations when client not initialised and connected.");
}
addDocumentUpdateHandler();
+ addStoreDocumentHandler();
startSession();
Cache.log
.debug("Jalview loading the Vamsas Session for the first time.");
public void push_update()
{
- Cache.log.info("Jalview updating to the Vamsas Session.");
- dealWithDocumentUpdate(true);
- /*
- * IClientDocument cdoc=null; try { cdoc = vclient.getClientDocument(); }
- * catch (Exception e) { Cache.log.error("Failed to get client document for
- * update."); // RAISE A WARNING DIALOG disableGui(false); return; }
- * updateVamsasDocument(cdoc); updateJalviewGui();
- * cdoc.setVamsasRoots(cdoc.getVamsasRoots()); // propagate update flags
- * back vclient.updateDocument(cdoc);
- */
- Cache.log.info("Jalview finished updating to the Vamsas Session.");
+ Thread udthread = new Thread(new Runnable() {
+
+ public void run()
+ {
+ Cache.log.info("Jalview updating to the Vamsas Session.");
+
+ dealWithDocumentUpdate(true);
+ /*
+ * IClientDocument cdoc=null; try { cdoc = vclient.getClientDocument(); }
+ * catch (Exception e) { Cache.log.error("Failed to get client document for
+ * update."); // RAISE A WARNING DIALOG disableGui(false); return; }
+ * updateVamsasDocument(cdoc); updateJalviewGui();
+ * cdoc.setVamsasRoots(cdoc.getVamsasRoots()); // propagate update flags
+ * back vclient.updateDocument(cdoc);
+ */
+ Cache.log.info("Jalview finished updating to the Vamsas Session.");
+ // TODO Auto-generated method stub
+ }
+
+ });
+ udthread.start();
}
public void end_session()
Cache.log.debug("Added Jalview handler for vamsas document updates.");
}
+ private void addStoreDocumentHandler()
+ {
+ final VamsasApplication client = this;
+ vclient.addVorbaEventHandler(uk.ac.vamsas.client.Events.DOCUMENT_REQUESTTOCLOSE, new PropertyChangeListener()
+ {
+ public void propertyChange(PropertyChangeEvent evt)
+ {
+ Cache.log.debug("Asking user if the vamsas session should be stored.");
+ int reply = JOptionPane.showInternalConfirmDialog(Desktop.desktop,
+ "The current VAMSAS session has unsaved data - do you want to save it ?",
+ "VAMSAS Session Shutdown",
+ JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
+
+ if(reply==JOptionPane.YES_OPTION)
+ {
+ Cache.log.debug("Prompting for vamsas store filename.");
+ Desktop.instance.vamsasSave_actionPerformed(null);
+ Cache.log.debug("Finished attempt at storing document.");
+ }
+ Cache.log.debug("finished dealing with REQUESTTOCLOSE event.");
+ }
+ });
+ Cache.log.debug("Added Jalview handler for vamsas document updates.");
+ }
public void disableGui(boolean b)
{
Desktop.instance.setVamsasUpdate(b);