X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FVamsasApplication.java;h=afb6df4a2aa23a6490cb08d56a497bdbb162333e;hb=37de9310bec3501cbc6381e0c3dcb282fcaad812;hp=c48c86f460191618f91640d95bab082ae32c2410;hpb=153dd62dc91da13ae732600e6ea55ddbe15eab39;p=jalview.git diff --git a/src/jalview/gui/VamsasApplication.java b/src/jalview/gui/VamsasApplication.java index c48c86f..afb6df4 100644 --- a/src/jalview/gui/VamsasApplication.java +++ b/src/jalview/gui/VamsasApplication.java @@ -1,19 +1,22 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6) - * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.gui; @@ -27,12 +30,14 @@ import jalview.structure.SelectionListener; import jalview.structure.SelectionSource; import jalview.structure.StructureSelectionManager; import jalview.structure.VamsasListener; +import jalview.structure.VamsasSource; +import jalview.util.MessageManager; +import jalview.viewmodel.AlignmentViewport; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; import java.io.IOException; -import java.util.Enumeration; import java.util.Hashtable; import java.util.IdentityHashMap; import java.util.Iterator; @@ -44,7 +49,6 @@ import uk.ac.vamsas.client.ClientHandle; import uk.ac.vamsas.client.IClient; import uk.ac.vamsas.client.IClientDocument; import uk.ac.vamsas.client.InvalidSessionDocumentException; -import uk.ac.vamsas.client.NoDefaultSessionException; import uk.ac.vamsas.client.UserHandle; import uk.ac.vamsas.client.VorbaId; import uk.ac.vamsas.client.picking.IMessageHandler; @@ -61,7 +65,7 @@ import uk.ac.vamsas.objects.core.Seg; * @author jimp * */ -public class VamsasApplication implements SelectionSource +public class VamsasApplication implements SelectionSource, VamsasSource { IClient vclient = null; @@ -153,7 +157,8 @@ public class VamsasApplication implements SelectionSource if (sess != null) { throw new Error( - "Implementation Error - cannot import existing vamsas document into an existing session, Yet!"); + MessageManager + .getString("error.implementation_error_cannot_import_vamsas_doc")); } try { @@ -173,8 +178,10 @@ public class VamsasApplication implements SelectionSource .showInternalMessageDialog( Desktop.desktop, - "VAMSAS Document could not be opened as a new session - please choose another", - "VAMSAS Document Import Failed", + MessageManager + .getString("label.vamsas_doc_couldnt_be_opened_as_new_session"), + MessageManager + .getString("label.vamsas_document_import_failed"), JOptionPane.ERROR_MESSAGE); } @@ -222,14 +229,12 @@ public class VamsasApplication implements SelectionSource } catch (Error e) { Cache.log - .warn( - "Probable SERIOUS VAMSAS client incompatibility - carrying on regardless", + .warn("Probable SERIOUS VAMSAS client incompatibility - carrying on regardless", e); } catch (Exception e) { Cache.log - .warn( - "Probable VAMSAS client incompatibility - carrying on regardless", + .warn("Probable VAMSAS client incompatibility - carrying on regardless", e); } } @@ -241,8 +246,8 @@ public class VamsasApplication implements SelectionSource */ private ClientHandle getJalviewHandle() { - return new ClientHandle("jalview.bin.Jalview", jalview.bin.Cache - .getProperty("VERSION")); + return new ClientHandle("jalview.bin.Jalview", + jalview.bin.Cache.getProperty("VERSION")); } /** @@ -263,7 +268,8 @@ public class VamsasApplication implements SelectionSource if (!inSession()) { throw new Error( - "Impementation error! Vamsas Operations when client not initialised and connected."); + MessageManager + .getString("error.implementation_error_vamsas_operation_not_init")); } addDocumentUpdateHandler(); addStoreDocumentHandler(); @@ -305,8 +311,7 @@ public class VamsasApplication implements SelectionSource } catch (Exception e) { Cache.log - .warn( - "Exception whilst refreshing jalview windows after a vamsas document update.", + .warn("Exception whilst refreshing jalview windows after a vamsas document update.", e); } } @@ -316,6 +321,7 @@ public class VamsasApplication implements SelectionSource Thread udthread = new Thread(new Runnable() { + @Override public void run() { Cache.log.info("Jalview updating to the Vamsas Session."); @@ -348,7 +354,11 @@ public class VamsasApplication implements SelectionSource public void end_session(boolean promptUser) { if (!inSession()) - throw new Error("Jalview not connected to Vamsas session."); + { + throw new Error( + MessageManager + .getString("error.jalview_no_connected_vamsas_session")); + } Cache.log.info("Jalview disconnecting from the Vamsas Session."); try { @@ -630,6 +640,7 @@ public class VamsasApplication implements SelectionSource final VamsasApplication client = this; vclient.addDocumentUpdateHandler(new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { Cache.log.debug("Dealing with document update event."); @@ -647,6 +658,7 @@ public class VamsasApplication implements SelectionSource uk.ac.vamsas.client.Events.DOCUMENT_REQUESTTOCLOSE, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { if (client.promptUser) @@ -717,7 +729,8 @@ public class VamsasApplication implements SelectionSource } throw new Error( - "IMPLEMENTATION ERROR: Cannot recover vamsas object mappings - no backup was made."); + MessageManager + .getString("error.implementation_error_cannot_recover_vamsas_object_mappings")); } jv2vobj.clear(); Iterator el = _backup_jv2vobj.entrySet().iterator(); @@ -758,12 +771,13 @@ public class VamsasApplication implements SelectionSource { final IPickManager pm = vclient.getPickManager(); final StructureSelectionManager ssm = StructureSelectionManager - .getStructureSelectionManager(); - final SelectionSource me = this; + .getStructureSelectionManager(Desktop.instance); + final VamsasApplication me = this; pm.registerMessageHandler(new IMessageHandler() { String last = null; + @Override public void handleMessage(Message message) { if (vobj2jv == null) @@ -791,8 +805,8 @@ public class VamsasApplication implements SelectionSource // Cache.log.debug("Handling Mouse over "+mm.getVorbaID()+" // bound to "+jvobj+" at "+mm.getPosition()); // position is character position in aligned sequence - ssm.mouseOverVamsasSequence((SequenceI) jvobj, mm - .getPosition()); + ssm.mouseOverVamsasSequence((SequenceI) jvobj, + mm.getPosition(), me); } } if (message instanceof uk.ac.vamsas.client.picking.SelectionMessage) @@ -960,10 +974,14 @@ public class VamsasApplication implements SelectionSource int i = -1; - public void mouseOver(SequenceI seq, int index) + @Override + public void mouseOverSequence(SequenceI seq, int index, + VamsasSource source) { if (jv2vobj == null) + { return; + } if (seq != last || i != index) { VorbaId v = (VorbaId) jv2vobj.get(seq); @@ -984,6 +1002,7 @@ public class VamsasApplication implements SelectionSource selecter = new SelectionListener() { + @Override public void selection(SequenceGroup seqsel, ColumnSelection colsel, SelectionSource source) { @@ -999,7 +1018,7 @@ public class VamsasApplication implements SelectionSource AlignmentI visal = null; if (source instanceof AlignViewport) { - visal = ((AlignViewport) source).getAlignment(); + visal = ((AlignmentViewport) source).getAlignment(); } SelectionMessage sm = null; if ((seqsel == null || seqsel.getSize() == 0) @@ -1009,9 +1028,9 @@ public class VamsasApplication implements SelectionSource if (source instanceof AlignViewport) { // the empty selection. - sm = new SelectionMessage("jalview", new String[] - { ((AlignViewport) source).getSequenceSetId() }, null, - true); + sm = new SelectionMessage("jalview", + new String[] { ((AlignmentViewport) source) + .getSequenceSetId() }, null, true); } else { @@ -1023,10 +1042,8 @@ public class VamsasApplication implements SelectionSource { String[] vobj = new String[seqsel.getSize()]; int o = 0; - Enumeration sels = seqsel.getSequences(null).elements(); - while (sels.hasMoreElements()) + for (SequenceI sel : seqsel.getSequences(null)) { - SequenceI sel = (SequenceI) sels.nextElement(); VorbaId v = (VorbaId) jv2vobj.get(sel); if (v != null) { @@ -1053,19 +1070,17 @@ public class VamsasApplication implements SelectionSource { // gather selected columns outwith the sequence positions // too - Enumeration cols = colsel.getSelected().elements(); - while (cols.hasMoreElements()) + for (Integer ival : colsel.getSelected()) { - int ival = ((Integer) cols.nextElement()).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); + int[] intervals = colsel.getVisibleContigs( + seqsel.getStartRes(), seqsel.getEndRes() + 1); for (int iv = 0; iv < intervals.length; iv += 2) { Seg s = new Seg();