import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
-
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import jalview.api.ViewStyleI;
import jalview.api.analysis.SimilarityParamsI;
import jalview.bin.Cache;
+import jalview.bin.Console;
import jalview.bin.Jalview;
import jalview.commands.CommandI;
import jalview.commands.EditCommand;
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.ebi.JobDispatcherWSDiscoverer;
+import jalview.ws2.client.jpred4.JPred4WSDiscoverer;
+import jalview.ws2.client.slivka.SlivkaWSDiscoverer;
+import jalview.ws2.gui.WebServicesMenuManager;
+
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
alignPanel = new AlignmentPanel(this, viewport);
}
addAlignmentPanel(alignPanel, newPanel);
-
// setBackground(Color.white); // BH 2019
+
if (!Jalview.isHeadlessMode())
{
progressBar = new ProgressBar(this.statusPanel, this.statusBar);
// modifyPID.setEnabled(false);
}
- String sortby = jalview.bin.Cache.getDefault(Preferences.SORT_ALIGNMENT,
+ String sortby = Cache.getDefault(Preferences.SORT_ALIGNMENT,
"No sort");
if (sortby.equals("Id"))
wrapMenuItem_actionPerformed(null);
}
- if (jalview.bin.Cache.getDefault(Preferences.SHOW_OVERVIEW, false))
+ if (Cache.getDefault(Preferences.SHOW_OVERVIEW, false))
{
this.overviewMenuItem_actionPerformed(null);
}
});
if (Cache.getDefault("VERSION", "DEVELOPMENT").toLowerCase(Locale.ROOT)
.indexOf("devel") > -1
- || Cache.getDefault("VERSION", "DEVELOPMENT").toLowerCase(Locale.ROOT)
- .indexOf("test") > -1)
+ || Cache.getDefault("VERSION", "DEVELOPMENT")
+ .toLowerCase(Locale.ROOT).indexOf("test") > -1)
{
formatMenu.add(vsel);
}
}
if (viewport.cursorMode)
{
- alignPanel.getSeqPanel().moveCursor(0, -1,evt.isShiftDown());
+ alignPanel.getSeqPanel().moveCursor(0, -1, evt.isShiftDown());
}
break;
{
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());
+ };
+
+ private WebServiceDiscovererI.ServicesChangeListener ebiServiceChangeListener =
+ (discoverer, services) -> {
+ // run when ebi services change
+ var menu = AlignFrame.this.ebiMenu;
+ menu.setServices(discoverer);
+ menu.setInProgress(discoverer.isRunning());
+ menu.setNoServices(services.isEmpty() && discoverer.isDone());
+ };
+
+ private WebServiceDiscovererI.ServicesChangeListener jpred4ServiceChangeListener =
+ (discoverer, services) -> {
+ // run when jpred4 services change
+ var menu = AlignFrame.this.jpred4Menu;
+ 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()
{
if (Cache.getDefault("SHOW_SLIVKA_SERVICES", true))
{
- WSDiscovererI discoverer = SlivkaWSDiscoverer.getInstance();
- discoverer.addServiceChangeListener(this);
+ WebServiceDiscovererI discoverer = SlivkaWSDiscoverer.getInstance();
+ discoverer.addServicesChangeListener(slivkaServiceChangeListener);
+ }
+ if (Cache.getDefault("SHOW_EBI_SERVICES", true))
+ {
+ JobDispatcherWSDiscoverer.getInstance().addServicesChangeListener(ebiServiceChangeListener);
+ }
+ if (Cache.getDefault("SHOW_JPRED4_SERVICES", true))
+ {
+ JPred4WSDiscoverer.getInstance().addServicesChangeListener(jpred4ServiceChangeListener);
}
if (Cache.getDefault("SHOW_JWS2_SERVICES", true))
{
@Override
public void internalFrameClosed(InternalFrameEvent e) {
System.out.println("deregistering discoverer listener");
- SlivkaWSDiscoverer.getInstance().removeServiceChangeListener(AlignFrame.this);
+ SlivkaWSDiscoverer.getInstance().removeServicesChangeListener(slivkaServiceChangeListener);
+ JPred4WSDiscoverer.getInstance().removeServicesChangeListener(jpred4ServiceChangeListener);
Jws2Discoverer.getInstance().removeServiceChangeListener(AlignFrame.this);
Desktop.getInstance().removeJalviewPropertyChangeListener("services", legacyListener);
closeMenuItem_actionPerformed(true);
}
@Override
+ public void addProgressBar(long id, String message)
+ {
+ progressBar.addProgressBar(id, message);
+ }
+
+ @Override
public void removeProgressBar(long id)
{
progressBar.removeProgressBar(id);
*/
public String getVersion()
{
- return jalview.bin.Cache.getProperty("VERSION");
+ return Cache.getProperty("VERSION");
}
public FeatureRenderer getFeatureRenderer()
}
else
{
- Cache.log.error(MessageManager
+ Console.error(MessageManager
.formatMessage("label.couldnt_save_file", new Object[]
{ lastFilenameSaved }));
}
}
lastSaveSuccessful = new Jalview2XML().saveAlignment(this, file,
shortName);
+
statusBar.setText(MessageManager.formatMessage(
"label.successfully_saved_to_file_in_format", new Object[]
{ fileName, format }));
+
return;
}
BackupFiles backupfiles = null;
if (doBackup)
{
- Cache.log.trace(
+ Console.trace(
"ALIGNFRAME making backupfiles object for " + file);
backupfiles = new BackupFiles(file);
}
{
String tempFilePath = doBackup ? backupfiles.getTempFilePath()
: file;
- Cache.log.trace("ALIGNFRAME setting PrintWriter");
+ Console.trace("ALIGNFRAME setting PrintWriter");
PrintWriter out = new PrintWriter(new FileWriter(tempFilePath));
if (backupfiles != null)
{
- Cache.log.trace("ALIGNFRAME about to write to temp file "
+ Console.trace("ALIGNFRAME about to write to temp file "
+ backupfiles.getTempFilePath());
}
out.print(output);
- Cache.log.trace("ALIGNFRAME about to close file");
+ Console.trace("ALIGNFRAME about to close file");
out.close();
- Cache.log.trace("ALIGNFRAME closed file");
+ Console.trace("ALIGNFRAME closed file");
AlignFrame.this.setTitle(file);
statusBar.setText(MessageManager.formatMessage(
"label.successfully_saved_to_file_in_format",
} catch (IOException e)
{
lastSaveSuccessful = false;
- Cache.log.error(
+ Console.error(
"ALIGNFRAME Something happened writing the temp file");
- Cache.log.error(e.getMessage());
- Cache.log.debug(Cache.getStackTraceString(e));
+ Console.error(e.getMessage());
+ Console.debug(Cache.getStackTraceString(e));
} catch (Exception ex)
{
lastSaveSuccessful = false;
- Cache.log.error(
+ Console.error(
"ALIGNFRAME Something unexpected happened writing the temp file");
- Cache.log.error(ex.getMessage());
- Cache.log.debug(Cache.getStackTraceString(ex));
+ Console.error(ex.getMessage());
+ Console.debug(Cache.getStackTraceString(ex));
}
if (doBackup)
{
backupfiles.setWriteSuccess(lastSaveSuccessful);
- Cache.log.debug("ALIGNFRAME writing temp file was "
+ Console.debug("ALIGNFRAME writing temp file was "
+ (lastSaveSuccessful ? "" : "NOT ") + "successful");
// do the backup file roll and rename the temp file to actual file
- Cache.log.trace(
+ Console.trace(
"ALIGNFRAME about to rollBackupsAndRenameTempFile");
lastSaveSuccessful = backupfiles.rollBackupsAndRenameTempFile();
- Cache.log.debug(
+ Console.debug(
"ALIGNFRAME performed rollBackupsAndRenameTempFile "
+ (lastSaveSuccessful ? "" : "un")
+ "successfully");
throws IOException, InterruptedException
{
final JalviewFileChooser chooser = new JalviewFileChooser(
- jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
+ Cache.getProperty("LAST_DIRECTORY"));
chooser.setFileView(new JalviewFileView());
String tooltip = MessageManager
.getString("label.load_jalview_annotations");
public void run()
{
String choice = chooser.getSelectedFile().getPath();
- jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);
+ Cache.setProperty("LAST_DIRECTORY", choice);
loadJalviewDataFile(chooser.getSelectedFile(), null, null, null);
}
});
{
if (originalSource != viewport)
{
- Cache.log.warn(
+ Console.warn(
"Implementation worry: mismatch of viewport origin for undo");
}
originalSource.updateHiddenColumns();
if (originalSource != viewport)
{
- Cache.log.warn(
+ Console.warn(
"Implementation worry: mismatch of viewport origin for redo");
}
originalSource.updateHiddenColumns();
{
return;
}
+
// TODO: JAL-3733 - add an event to the undo buffer for this !
+
viewport.getAlignment().moveSelectedSequencesByOne(sg,
viewport.getHiddenRepSequences(), up);
alignPanel.paintAlignment(true, false);
Runnable okAction = new Runnable()
{
-
@Override
public void run()
{
viewport.getAlignment().deleteGroup(sg);
viewport.notifyAlignment();
-
if (viewport.getAlignment().getHeight() < 1)
{
try
JLabel textLabel = new JLabel();
textLabel.setText(content);
textLabel.setBackground(Color.WHITE);
+
pane = new JPanel(new BorderLayout());
((JPanel) pane).setOpaque(true);
pane.setBackground(Color.WHITE);
{
// Pick the tree file
JalviewFileChooser chooser = new JalviewFileChooser(
- jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
+ Cache.getProperty("LAST_DIRECTORY"));
chooser.setFileView(new JalviewFileView());
chooser.setDialogTitle(
MessageManager.getString("label.select_newick_like_tree_file"));
return tp;
}
+ private WebServicesMenuManager slivkaMenu = new WebServicesMenuManager("slivka", this);
+ private WebServicesMenuManager ebiMenu = new WebServicesMenuManager("job dispatcher", this);
+ private WebServicesMenuManager jpred4Menu = new WebServicesMenuManager("jpred4", this);
/**
* Schedule the web services menu rebuild to the event dispatch thread.
public void buildWebServicesMenu()
{
SwingUtilities.invokeLater(() -> {
- Cache.log.info("Rebuiling WS menu");
+ Console.info("Rebuiling WS menu");
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_EBI_SERVICES", true))
+ {
+ Console.info("Building web services menu for jobs dispatcher");
+ JobDispatcherWSDiscoverer discoverer = JobDispatcherWSDiscoverer.getInstance();
+ ebiMenu.setServices(discoverer);
+ ebiMenu.setInProgress(discoverer.isRunning());
+ ebiMenu.setNoServices(discoverer.isDone() && !discoverer.hasServices());
+ webService.add(ebiMenu.getMenu());
+ }
+ if (Cache.getDefault("SHOW_JPRED4_SERVICES", true))
+ {
+ Console.info("Building web services menu for jpred4");
+ JPred4WSDiscoverer discoverer = JPred4WSDiscoverer.getInstance();
+ jpred4Menu.setServices(discoverer);
+ jpred4Menu.setInProgress(discoverer.isRunning());
+ jpred4Menu.setNoServices(discoverer.isDone() && !discoverer.hasServices());
+ webService.add(jpred4Menu.getMenu());
}
if (Cache.getDefault("SHOW_JWS2_SERVICES", true))
{
buildWebServicesMenu(jws2servs, submenu);
webService.add(submenu);
}
+ build_urlServiceMenu(webService);
build_fetchdbmenu(webService);
});
}
showProducts.setEnabled(showp);
} catch (Exception e)
{
- Cache.log.warn(
+ Console.warn(
"canShowProducts threw an exception - please report to help@jalview.org",
e);
return false;
al = dna.translateCdna(codeTable);
} catch (Exception ex)
{
- jalview.bin.Cache.log.error(
- "Exception during translation. Please report this !", ex);
+ Console.error("Exception during translation. Please report this !",
+ ex);
final String msg = MessageManager.getString(
"label.error_when_translating_sequences_submit_bug_report");
final String errorTitle = MessageManager
}
} catch (Exception x)
{
- Cache.log.debug(
+ Console.debug(
"Exception when processing data source as T-COFFEE score file",
x);
tcf = null;
}
private Rectangle lastFeatureSettingsBounds = null;
+
@Override
public void setFeatureSettingsGeometry(Rectangle bounds)
{