X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FVamsasApplication.java;h=75ddba56a4df0749fa8220be6e9ec72d323b71b0;hb=f05332c8cc2a3a1d00a8dae38b8920ae799fb840;hp=efd94de08b633823ace20430cba4ff1886c3bc87;hpb=8a6fa9ea9900d0f106529c3f6283e7f9d76dd2cb;p=jalview.git
diff --git a/src/jalview/gui/VamsasApplication.java b/src/jalview/gui/VamsasApplication.java
index efd94de..75ddba5 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
{
@@ -169,13 +174,15 @@ public class VamsasApplication implements SelectionSource
}
} catch (InvalidSessionDocumentException e)
{
- JOptionPane
+ JvOptionPane
.showInternalMessageDialog(
Desktop.desktop,
- "VAMSAS Document could not be opened as a new session - please choose another",
- "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);
}
}
@@ -261,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();
@@ -313,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.");
@@ -345,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
{
@@ -627,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.");
@@ -644,21 +658,22 @@ public class VamsasApplication implements SelectionSource
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
+ int reply = JvOptionPane
.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);
+ JvOptionPane.YES_NO_OPTION,
+ JvOptionPane.QUESTION_MESSAGE);
- if (reply == JOptionPane.YES_OPTION)
+ if (reply == JvOptionPane.YES_OPTION)
{
Cache.log.debug("Prompting for vamsas store filename.");
Desktop.instance.vamsasSave_actionPerformed(null);
@@ -714,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();
@@ -755,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)
@@ -789,7 +806,7 @@ public class VamsasApplication implements SelectionSource
// bound to "+jvobj+" at "+mm.getPosition());
// position is character position in aligned sequence
ssm.mouseOverVamsasSequence((SequenceI) jvobj,
- mm.getPosition());
+ mm.getPosition(), me);
}
}
if (message instanceof uk.ac.vamsas.client.picking.SelectionMessage)
@@ -957,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);
@@ -981,6 +1002,7 @@ public class VamsasApplication implements SelectionSource
selecter = new SelectionListener()
{
+ @Override
public void selection(SequenceGroup seqsel,
ColumnSelection colsel, SelectionSource source)
{
@@ -996,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)
@@ -1006,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
{
@@ -1020,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)
{
@@ -1050,12 +1070,10 @@ 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);
}
}