/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2)
- * Copyright (C) 2015 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
package jalview.gui;
import jalview.bin.Cache;
+import jalview.bin.Console;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.HiddenColumns;
import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
import jalview.io.VamsasAppDatastore;
import java.util.Iterator;
import javax.swing.JInternalFrame;
-import javax.swing.JOptionPane;
import uk.ac.vamsas.client.ClientHandle;
import uk.ac.vamsas.client.IClient;
{
if (sess != null)
{
- throw new Error(
- MessageManager
- .getString("error.implementation_error_cannot_import_vamsas_doc"));
+ throw new Error(MessageManager.getString(
+ "error.implementation_error_cannot_import_vamsas_doc"));
}
try
{
}
} catch (InvalidSessionDocumentException e)
{
- JOptionPane
- .showInternalMessageDialog(
- Desktop.desktop,
+ JvOptionPane.showInternalMessageDialog(Desktop.desktop,
- MessageManager
- .getString("label.vamsas_doc_couldnt_be_opened_as_new_session"),
- MessageManager
- .getString("label.vamsas_document_import_failed"),
- JOptionPane.ERROR_MESSAGE);
+ MessageManager.getString(
+ "label.vamsas_doc_couldnt_be_opened_as_new_session"),
+ MessageManager
+ .getString("label.vamsas_document_import_failed"),
+ JvOptionPane.ERROR_MESSAGE);
}
}
} catch (Exception e)
{
- jalview.bin.Cache.log
- .error("Couldn't instantiate vamsas client !", e);
+ Console.error("Couldn't instantiate vamsas client !", e);
return false;
}
return true;
}
} catch (Error e)
{
- Cache.log
- .warn("Probable SERIOUS VAMSAS client incompatibility - carrying on regardless",
- e);
+ Console.warn(
+ "Probable SERIOUS VAMSAS client incompatibility - carrying on regardless",
+ e);
} catch (Exception e)
{
- Cache.log
- .warn("Probable VAMSAS client incompatibility - carrying on regardless",
- e);
+ Console.warn(
+ "Probable VAMSAS client incompatibility - carrying on regardless",
+ e);
}
}
private ClientHandle getJalviewHandle()
{
return new ClientHandle("jalview.bin.Jalview",
- jalview.bin.Cache.getProperty("VERSION"));
+ Cache.getProperty("VERSION"));
}
/**
if (!inSession())
{
throw new Error(
- MessageManager
- .getString("error.implementation_error_vamsas_operation_not_init"));
+ "Implementation error! Vamsas Operations when client not initialised and connected");
}
addDocumentUpdateHandler();
addStoreDocumentHandler();
startSession();
inInitialUpdate = true;
- Cache.log
- .debug("Jalview loading the Vamsas Session for the first time.");
+ Console.debug("Jalview loading the Vamsas Session for the first time.");
dealWithDocumentUpdate(false); // we don't push an update out to the
inInitialUpdate = false;
// document yet.
- Cache.log.debug("... finished update for the first time.");
+ Console.debug("... finished update for the first time.");
}
/**
}
} catch (Exception e)
{
- Cache.log
- .warn("Exception whilst refreshing jalview windows after a vamsas document update.",
- e);
+ Console.warn(
+ "Exception whilst refreshing jalview windows after a vamsas document update.",
+ e);
}
}
Thread udthread = new Thread(new Runnable()
{
+ @Override
public void run()
{
- Cache.log.info("Jalview updating to the Vamsas Session.");
+ Console.info("Jalview updating to the Vamsas Session.");
dealWithDocumentUpdate(true);
- Cache.log.info("Jalview finished updating to the Vamsas Session.");
+ Console.info("Jalview finished updating to the Vamsas Session.");
}
});
{
if (!inSession())
{
- throw new Error(
- MessageManager
- .getString("error.jalview_no_connected_vamsas_session"));
+ throw new Error("Jalview not connected to Vamsas session");
}
- Cache.log.info("Jalview disconnecting from the Vamsas Session.");
+ Console.info("Jalview disconnecting from the Vamsas Session.");
try
{
if (joinedSession)
boolean ourprompt = this.promptUser;
this.promptUser = promptUser;
vclient.finalizeClient();
- Cache.log.info("Jalview has left the session.");
+ Console.info("Jalview has left the session.");
this.promptUser = ourprompt; // restore default value
}
else
{
- Cache.log
- .warn("JV Client leaving a session that's its not joined yet.");
+ Console.warn(
+ "JV Client leaving a session that's its not joined yet.");
}
joinedSession = false;
vclient = null;
vobj2jv = null;
} catch (Exception e)
{
- Cache.log.error("Vamsas Session finalization threw exceptions!", e);
+ Console.error("Vamsas Session finalization threw exceptions!", e);
}
}
public void updateJalview(IClientDocument cdoc)
{
- Cache.log.debug("Jalview updating from sesion document ..");
+ Console.debug("Jalview updating from sesion document ..");
ensureJvVamsas();
VamsasAppDatastore vds = new VamsasAppDatastore(cdoc, vobj2jv, jv2vobj,
baseProvEntry(), alRedoState);
vds.updateToJalview();
} catch (Exception e)
{
- Cache.log.error("Failed to update Jalview from vamsas document.", e);
+ Console.error("Failed to update Jalview from vamsas document.", e);
}
try
{
}
} catch (Exception e)
{
- Cache.log.error(
+ Console.error(
"Exception when updating Jalview settings from Appdata.", e);
}
- Cache.log.debug(".. finished updating from sesion document.");
+ Console.debug(".. finished updating from sesion document.");
}
} catch (Exception e)
{
errorsDuringUpdate = true;
- Cache.log.error("Exception synchronizing "
- + af.getTitle()
- + " "
- + (af.getViewport().viewName == null ? "" : " view "
- + af.getViewport().viewName)
+ Console.error("Exception synchronizing " + af.getTitle() + " "
+ + (af.getViewport().getViewName() == null ? ""
+ : " view " + af.getViewport().getViewName())
+ " to document.", e);
stored = false;
}
}
} catch (Exception e)
{
- Cache.log.error("Exception synchronizing Views to Document :", e);
+ Console.error("Exception synchronizing Views to Document :", e);
errorsDuringUpdate = true;
}
}
} catch (Exception e)
{
- Cache.log.error("Client Appdata Write exception", e);
+ Console.error("Client Appdata Write exception", e);
errorsDuringAppUpdate = true;
}
vds.clearSkipList();
{
int storedviews = 0;
// called by update handler for document update.
- Cache.log.debug("Updating jalview from changed vamsas document.");
+ Console.debug("Updating jalview from changed vamsas document.");
disableGui(true);
try
{
long time = System.currentTimeMillis();
IClientDocument cdoc = vclient.getClientDocument();
- if (Cache.log.isDebugEnabled())
+ if (Console.isDebugEnabled())
{
- Cache.log.debug("Time taken to get ClientDocument = "
+ Console.debug("Time taken to get ClientDocument = "
+ (System.currentTimeMillis() - time));
time = System.currentTimeMillis();
}
if (fromJalview)
{
storedviews += updateVamsasDocument(cdoc);
- if (Cache.log.isDebugEnabled())
+ if (Console.isDebugEnabled())
{
- Cache.log
- .debug("Time taken to update Vamsas Document from jalview\t= "
+ Console.debug(
+ "Time taken to update Vamsas Document from jalview\t= "
+ (System.currentTimeMillis() - time));
time = System.currentTimeMillis();
}
cdoc.setVamsasRoots(cdoc.getVamsasRoots());
- if (Cache.log.isDebugEnabled())
+ if (Console.isDebugEnabled())
{
- Cache.log.debug("Time taken to set Document Roots\t\t= "
+ Console.debug("Time taken to set Document Roots\t\t= "
+ (System.currentTimeMillis() - time));
time = System.currentTimeMillis();
}
else
{
updateJalview(cdoc);
- if (Cache.log.isDebugEnabled())
+ if (Console.isDebugEnabled())
{
- Cache.log
- .debug("Time taken to update Jalview from vamsas document Roots\t= "
+ Console.debug(
+ "Time taken to update Jalview from vamsas document Roots\t= "
+ (System.currentTimeMillis() - time));
time = System.currentTimeMillis();
}
}
vclient.updateDocument(cdoc);
- if (Cache.log.isDebugEnabled())
+ if (Console.isDebugEnabled())
{
- Cache.log.debug("Time taken to update Session Document\t= "
+ Console.debug("Time taken to update Session Document\t= "
+ (System.currentTimeMillis() - time));
time = System.currentTimeMillis();
}
cdoc = null;
} catch (Exception ee)
{
- System.err.println("Exception whilst updating :");
+ jalview.bin.Console.errPrintln("Exception whilst updating :");
ee.printStackTrace(System.err);
// recover object map backup, since its probably corrupted with references
// to Vobjects that don't exist anymore.
recover_objectMappingBackup();
storedviews = 0;
}
- Cache.log.debug("Finished updating from document change.");
+ Console.debug("Finished updating from document change.");
disableGui(false);
return storedviews;
}
final VamsasApplication client = this;
vclient.addDocumentUpdateHandler(new PropertyChangeListener()
{
+ @Override
public void propertyChange(PropertyChangeEvent evt)
{
- Cache.log.debug("Dealing with document update event.");
+ Console.debug("Dealing with document update event.");
client.dealWithDocumentUpdate(false);
- Cache.log.debug("finished dealing with event.");
+ Console.debug("finished dealing with event.");
}
});
- Cache.log.debug("Added Jalview handler for vamsas document updates.");
+ Console.debug("Added Jalview handler for vamsas document updates.");
}
private void addStoreDocumentHandler()
uk.ac.vamsas.client.Events.DOCUMENT_REQUESTTOCLOSE,
new PropertyChangeListener()
{
+ @Override
public void propertyChange(PropertyChangeEvent evt)
{
if (client.promptUser)
{
- 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)
+ Console.debug(
+ "Asking user if the vamsas session should be stored.");
+ int reply = JvOptionPane.showInternalConfirmDialog(
+ Desktop.desktop,
+ "The current VAMSAS session has unsaved data - do you want to save it ?",
+ "VAMSAS Session Shutdown",
+ JvOptionPane.YES_NO_OPTION,
+ JvOptionPane.QUESTION_MESSAGE);
+
+ if (reply == JvOptionPane.YES_OPTION)
{
- Cache.log.debug("Prompting for vamsas store filename.");
+ Console.debug("Prompting for vamsas store filename.");
Desktop.instance.vamsasSave_actionPerformed(null);
- Cache.log
- .debug("Finished attempt at storing document.");
+ Console.debug("Finished attempt at storing document.");
}
- Cache.log
- .debug("finished dealing with REQUESTTOCLOSE event.");
+ Console.debug(
+ "finished dealing with REQUESTTOCLOSE event.");
}
else
{
- Cache.log
- .debug("Ignoring store document request (promptUser==false)");
+ Console.debug(
+ "Ignoring store document request (promptUser==false)");
}
}
});
- Cache.log.debug("Added Jalview handler for vamsas document updates.");
+ Console.debug("Added Jalview handler for vamsas document updates.");
}
public void disableGui(boolean b)
{
- Desktop.instance.setVamsasUpdate(b);
+ // JAL-3311 TODO: remove this class!
+ // Desktop.instance.setVamsasUpdate(b);
}
Hashtable _backup_vobj2jv;
}
throw new Error(
- MessageManager
- .getString("error.implementation_error_cannot_recover_vamsas_object_mappings"));
+ "IMPLEMENTATION ERROR: Cannot recover vamsas object mappings - no backup was made");
}
jv2vobj.clear();
Iterator el = _backup_jv2vobj.entrySet().iterator();
} catch (Exception e)
{
// Complain to GUI
- Cache.log.error("Failed to join vamsas session.", e);
+ Console.error("Failed to join vamsas session.", e);
vclient = null;
}
try
{
String last = null;
+ @Override
public void handleMessage(Message message)
{
if (vobj2jv == null)
{
return;
}
- // if (Cache.log.isDebugEnabled())
+ // if (Cache.isDebugEnabled())
// {
- // Cache.log.debug("Received MouseOverMessage "+mm.getVorbaID()+"
+ // Cache.debug("Received MouseOverMessage "+mm.getVorbaID()+"
// "+mm.getPosition());
// }
Object jvobj = vobj2jv.get(mm.getVorbaID());
if (jvobj != null && jvobj instanceof SequenceI)
{
last = mstring;
- // Cache.log.debug("Handling Mouse over "+mm.getVorbaID()+"
+ // Cache.debug("Handling Mouse over "+mm.getVorbaID()+"
// bound to "+jvobj+" at "+mm.getPosition());
// position is character position in aligned sequence
ssm.mouseOverVamsasSequence((SequenceI) jvobj,
// we only care about AlignmentSequence selections
SelectionMessage sm = (SelectionMessage) message;
sm.validate();
- System.err.println("Received\n" + sm.getRawMessage());
+ jalview.bin.Console.errPrintln("Received\n" + sm.getRawMessage());
Object[] jvobjs = sm.getVorbaIDs() == null ? null
: new Object[sm.getVorbaIDs().length];
if (jvobjs == null)
{
// TODO: rationalise : can only clear a selection over a
// referred to object
- ssm.sendSelection(null, null, me);
+ ssm.sendSelection(null, null, null, me);
return;
}
Class type = null;
{
jselection.setStartRes(prange[p + l] - 1);
}
- if (jselection.getEndRes() <= maxWidth
- && prange[p + u] == (jselection.getEndRes() + 2))
+ if (jselection.getEndRes() <= maxWidth && prange[p
+ + u] == (jselection.getEndRes() + 2))
{
jselection.setEndRes(prange[p + u] - 1);
}
}
if (send)
{
- ssm.sendSelection(jselection, colsel, me);
+ ssm.sendSelection(jselection, colsel, null, me);
}
// discard message.
for (int c = 0; c < jvobjs.length; c++)
if (v != null)
{
// this should really be a trace message.
- // Cache.log.debug("Mouse over " + v.getId() + " bound to "
+ // Cache.debug("Mouse over " + v.getId() + " bound to "
// + seq + " at " + index);
last = seq;
i = index;
selecter = new SelectionListener()
{
+ @Override
public void selection(SequenceGroup seqsel,
- ColumnSelection colsel, SelectionSource source)
+ ColumnSelection colsel, HiddenColumns hidden,
+ SelectionSource source)
{
if (vobj2jv == null)
{
- Cache.log
- .warn("Selection listener still active for dead session.");
+ Console.warn(
+ "Selection listener still active for dead session.");
// not in a session.
return;
}
}
SelectionMessage sm = null;
if ((seqsel == null || seqsel.getSize() == 0)
- && (colsel == null || colsel.getSelected() == null || colsel
- .getSelected().size() == 0))
+ && (colsel == null || colsel.getSelected() == null
+ || colsel.getSelected().size() == 0))
{
if (source instanceof AlignViewport)
{
// the empty selection.
sm = new SelectionMessage("jalview",
- new String[] { ((AlignmentViewport) source)
- .getSequenceSetId() }, null, true);
+ new String[]
+ { ((AlignmentViewport) source)
+ .getSequenceSetId() },
+ null, true);
}
else
{
{
// gather selected columns outwith the sequence positions
// too
- for (Object obj : colsel.getSelected())
+ for (Integer ival : colsel.getSelected())
{
- int ival = ((Integer) obj).intValue();
Pos p = new Pos();
- p.setI(ival + 1);
+ p.setI(ival.intValue() + 1);
range.addPos(p);
}
}
else
{
- int[] intervals = colsel.getVisibleContigs(
- seqsel.getStartRes(), seqsel.getEndRes() + 1);
- for (int iv = 0; iv < intervals.length; iv += 2)
+ Iterator<int[]> intervals = hidden
+ .getVisContigsIterator(seqsel.getStartRes(),
+ seqsel.getEndRes() + 1, false);
+ while (intervals.hasNext())
{
+ int[] region = intervals.next();
Seg s = new Seg();
- s.setStart(intervals[iv] + 1); // vamsas indices begin at
- // 1, not zero.
- s.setEnd(intervals[iv + 1] + 1);
+ s.setStart(region[0] + 1); // vamsas indices begin at 1,
+ // not zero.
+ s.setEnd(region[1] + 1);
s.setInclusive(true);
range.addSeg(s);
}
if (sm != null)
{
sm.validate(); // debug
- Cache.log.debug("Selection Message\n" + sm.getRawMessage());
+ Console.debug("Selection Message\n" + sm.getRawMessage());
pm.sendMessage(sm);
}
}
ssm.addSelectionListener(selecter);
} catch (Exception e)
{
- Cache.log.error("Failed to init Vamsas Picking", e);
+ Console.error("Failed to init Vamsas Picking", e);
}
}
}