import jalview.ws.params.ParamDatastoreI;
import jalview.ws.params.WsParamSetI;
import jalview.ws.seqfetcher.DbSourceProxy;
- import jalview.ws.slivkaws.SlivkaWSDiscoverer;
+ import jalview.ws2.client.api.WebServiceDiscovererI;
+ import jalview.ws2.client.slivka.SlivkaWSDiscoverer;
+ import jalview.ws2.gui.WebServicesMenuManager;
-
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
{
buildWebServicesMenu();
}
+
- private WebServiceDiscovererI.ServicesChangeListener slivkaServiceChangeListener =
- (discoverer, services) -> {
- // run when slivka services change
- var menu = AlignFrame.this.slivkaMenu;
- menu.setServices(discoverer);
- menu.setInProgress(discoverer.isRunning());
- menu.setNoServices(services.isEmpty() && discoverer.isDone());
- };
-
/* Set up intrinsic listeners for dynamically generated GUI bits. */
private void addServiceListeners()
{
/*
* Added so Castor Mapping file can obtain Jalview Version
*/
+
public String getVersion()
{
- return jalview.bin.Cache.getProperty("VERSION");
+ return Cache.getProperty("VERSION");
}
public FeatureRenderer getFeatureRenderer()
{
String tempFilePath = doBackup ? backupfiles.getTempFilePath()
: file;
+ Console.trace("ALIGNFRAME setting PrintWriter");
PrintWriter out = new PrintWriter(new FileWriter(tempFilePath));
+ if (backupfiles != null)
+ {
+ Console.trace("ALIGNFRAME about to write to temp file "
+ + backupfiles.getTempFilePath());
+ }
-
out.print(output);
+ Console.trace("ALIGNFRAME about to close file");
out.close();
+ Console.trace("ALIGNFRAME closed file");
AlignFrame.this.setTitle(file);
statusBar.setText(MessageManager.formatMessage(
"label.successfully_saved_to_file_in_format",
}
/**
- * DOCUMENT ME!
+ * Calls AlignmentI.moveSelectedSequencesByOne with current sequence selection
+ * or the sequence under cursor in keyboard mode
*
* @param up
- * DOCUMENT ME!
+ * or down (if !up)
*/
+
public void moveSelectedSequences(boolean up)
{
SequenceGroup sg = viewport.getSelectionGroup();
if (sg == null)
{
+ if (viewport.cursorMode)
+ {
+ sg = new SequenceGroup();
+ sg.addSequence(viewport.getAlignment().getSequenceAt(
+ alignPanel.getSeqPanel().seqCanvas.cursorY), false);
+ }
+ else
+ {
+ return;
+ }
+ }
+
+ if (sg.getSize() < 1)
+ {
return;
}
-
+ // TODO: JAL-3733 - add an event to the undo buffer for this !
-
viewport.getAlignment().moveSelectedSequencesByOne(sg,
viewport.getHiddenRepSequences(), up);
alignPanel.paintAlignment(true, false);
}
/**
- * DOCUMENT ME!
+ * Opens a Finder dialog
*
* @param e
- * DOCUMENT ME!
*/
+
@Override
public void findMenuItem_actionPerformed(ActionEvent e)
{
return tp;
}
-
+ private WebServicesMenuManager slivkaMenu = new WebServicesMenuManager("slivka", this);
-
/**
* Schedule the web services menu rebuild to the event dispatch thread.
*/
webService.removeAll();
if (Cache.getDefault("SHOW_SLIVKA_SERVICES", true))
{
- Cache.log.info("Building web service menu for slivka");
+ Console.info("Building web service menu for slivka");
SlivkaWSDiscoverer discoverer = SlivkaWSDiscoverer.getInstance();
- JMenu submenu = new JMenu("Slivka");
- buildWebServicesMenu(discoverer, submenu);
- webService.add(submenu);
+ slivkaMenu.setServices(discoverer);
+ slivkaMenu.setInProgress(discoverer.isRunning());
+ slivkaMenu.setNoServices(discoverer.isDone() && !discoverer.hasServices());
+ webService.add(slivkaMenu.getMenu());
}
if (Cache.getDefault("SHOW_JWS2_SERVICES", true))
{
package jalview.gui;
+import jalview.bin.Cache;
+import jalview.bin.Console;
+import jalview.util.MessageManager;
- import jalview.ws.WSDiscovererI;
- import jalview.ws.slivkaws.SlivkaWSDiscoverer;
++import jalview.ws2.client.api.WebServiceDiscovererI;
++import jalview.ws2.client.slivka.SlivkaWSDiscoverer;
+
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableCellRenderer;
-import jalview.bin.Cache;
-import jalview.util.MessageManager;
-import jalview.ws2.client.api.WebServiceDiscovererI;
-import jalview.ws2.client.slivka.SlivkaWSDiscoverer;
+
@SuppressWarnings("serial")
public class SlivkaPreferences extends JPanel
{
// Discoverer buttons action listeners
private ActionListener refreshServicesAction = (ActionEvent e) -> {
progressBar.setVisible(true);
- Cache.log.info("Requesting service reload");
+ Console.info("Requesting service reload");
- discoverer.startDiscoverer().handle((_discoverer, exception) -> {
+ discoverer.startDiscoverer().handle((services, exception) -> {
if (exception == null)
{
- Cache.log.info("Reloading done");
+ Console.info("Reloading done");
}
- else
+ else if (exception instanceof CancellationException)
{
- Cache.log.info("Reloading cancelled");
++ Console.info("Reloading cancelled");
+ }
+ else {
- Cache.log.error("Reloading failed", exception);
+ Console.error("Reloading failed", exception);
}
SwingUtilities.invokeLater(() -> progressBar.setVisible(false));
return null;
task = executor.submit(() -> {
try
{
- Console.debug(format("Worker %s started",
- getWorker().getClass().getName()));
- Cache.log.debug(format("Worker %s started", getWorker()));
++ Console.debug(format("Worker %s started", getWorker()));
getWorker().run();
- Console.debug(format("Worker %s finished",
- getWorker().getClass().getName()));
- Cache.log.debug(format("Worker %s finished", getWorker()));
++ Console.debug(format("Worker %s finished", getWorker()));
} catch (InterruptedException e)
{
- Console.debug(format("Worker %s interrupted",
- getWorker().getClass().getName()));
- Cache.log.debug(format("Worker %s interrupted", getWorker()));
++ Console.debug(format("Worker %s interrupted", getWorker()));
} catch (Throwable th)
{
- Console.debug(format("Worker %s failed",
- getWorker().getClass().getName()), th);
- Cache.log.debug(format("Worker %s failed", getWorker()), th);
++ Console.debug(format("Worker %s failed", getWorker()), th);
} finally
{
if (!isRegistered())
{
return;
}
- Console.debug(format("Cancelling worker %s",
- getWorker().getClass().getName()));
- Cache.log.debug(format("Cancelling worker %s", getWorker()));
++ Console.debug(format("Cancelling worker %s", getWorker()));
task.cancel(true);
}
}
throw new IllegalStateException(
"Cannot submit new task if the prevoius one is still running");
}
- Cache.log.debug(
+ Console.debug(
- format("Worker %s queued", getWorker().getClass().getName()));
+ format("Worker %s queued", getWorker()));
final var runnable = new Runnable()
{
private boolean started = false;
{
if (!started)
{
- Console.debug(format("Worker %s started",
- getWorker().getClass().getName()));
- Cache.log.debug(format("Worker %s started", getWorker()));
++ Console.debug(format("Worker %s started", getWorker()));
getWorker().startUp();
started = true;
}
else if (!completed)
{
- Console.debug(format("Polling worker %s",
- getWorker().getClass().getName()));
- Cache.log.debug(format("Polling worker %s", getWorker()));
++ Console.debug(format("Polling worker %s", getWorker()));
if (getWorker().poll())
{
- Console.debug(format("Worker %s finished",
- getWorker().getClass().getName()));
- Cache.log.debug(format("Worker %s finished", getWorker()));
++ Console.debug(format("Worker %s finished", getWorker()));
completed = true;
}
}
} catch (Throwable th)
{
- Console.debug(format("Worker %s failed",
- getWorker().getClass().getName()), th);
- Cache.log.debug(format("Worker %s failed", getWorker()), th);
++ Console.debug(format("Worker %s failed", getWorker()), th);
completed = true;
}
if (completed)
final var worker = getWorker();
if (!isRegistered())
PollableWorkerManager.super.worker = null;
- Console.debug(format("Finalizing completed worker %s",
- worker.getClass().getName()));
- Cache.log.debug(format("Finalizing completed worker %s", worker));
++ Console.debug(format("Finalizing completed worker %s", worker));
worker.done();
// almost impossible, but the future may be null at this point
// let it throw NPE to cancel forcefully
{
return;
}
- Console.debug(format("Cancelling worker %s",
- getWorker().getClass().getName()));
- Cache.log.debug(format("Cancelling worker %s", getWorker()));
++ Console.debug(format("Cancelling worker %s", getWorker()));
task.cancel(false);
executor.submit(() -> {
final var worker = getWorker();
if (worker != null)
{
worker.cancel();
- Console.debug(format("Finalizing cancelled worker %s",
- worker.getClass().getName()));
- Cache.log.debug(format("Finalizing cancelled worker %s", worker));
++ Console.debug(format("Finalizing cancelled worker %s", worker));
worker.done();
}
});