import jalview.structure.StructureImportSettings.TFType;
import jalview.structure.StructureMapping;
import jalview.structure.StructureSelectionManager;
+import jalview.util.IdUtils;
+import jalview.util.IdUtils.IdType;
import jalview.util.MessageManager;
import jalview.util.Platform;
import jalview.util.StringUtils;
private boolean showChooserGUI = true;
+ /**
+ * when true, queries to external services are supressed (no SIFTs, no PDBe,
+ * no 3D-Beacons, etc)
+ */
+ private boolean dontQueryServices = false;
+
private static StructureViewer lastTargetedView = null;
public StructureChooser(SequenceI[] selectedSeqs, SequenceI selectedSeq,
public StructureChooser(SequenceI[] selectedSeqs, SequenceI selectedSeq,
AlignmentPanel ap, boolean showGUI)
{
+ this(selectedSeqs, selectedSeq, ap, showGUI, false);
+ }
+
+ public StructureChooser(SequenceI[] selectedSeqs, SequenceI selectedSeq,
+ AlignmentPanel ap, boolean showGUI, boolean dontQueryServices)
+ {
+
// which FTS engine to use
data = StructureChooserQuerySource.getQuerySourceFor(selectedSeqs);
initDialog();
this.selectedSequences = selectedSeqs;
this.progressIndicator = (ap == null) ? null : ap.alignFrame;
this.showChooserGUI = showGUI;
+ this.dontQueryServices = dontQueryServices;
init();
}
}
});
- Executors.defaultThreadFactory().newThread(new Runnable()
+ if (!dontQueryServices)
{
- @Override
- public void run()
+ Executors.defaultThreadFactory().newThread(new Runnable()
{
- populateSeqsWithoutSourceDBRef();
- initialStructureDiscovery();
- }
-
- }).start();
+ @Override
+ public void run()
+ {
+ populateSeqsWithoutSourceDBRef();
+ initialStructureDiscovery();
+ }
+ }).start();
+ }
+ else
+ {
+ Console.debug(
+ "Structure chooser not querying services to discover metadata.");
+ }
}
// called by init
*/
public void promptForTDBFetch(boolean ignoreGui)
{
- final long progressId = System.currentTimeMillis();
+ final long progressId = IdUtils.newId(IdType.PROGRESS);
// final action after prompting and discovering db refs
final Runnable strucDiscovery = new Runnable()
}
} catch (Exception e)
{
- Console.debugPrintStackTrace(e);
+ Console.printStackTrace(e);
errors.add(e.getMessage());
continue;
}
.getFTSDataFor(getResultTable(), selectedRow,
discoveredStructuresSet);
String pageUrl = row.getModelViewUrl();
+
JPopupMenu popup = new JPopupMenu("3D Beacons");
JMenuItem viewUrl = new JMenuItem("View model web page");
+ if (pageUrl == null || "".equals(pageUrl.trim()))
+ {
+ viewUrl.setEnabled(false);
+ viewUrl.setText("No model page available.");
+ }
viewUrl.addActionListener(new ActionListener()
{
@Override
final String progress = MessageManager
.getString("label.working_ellipsis");
- setProgressBar(progress, progress.hashCode());
+ setProgressBar(progress, IdUtils.newId(IdType.PROGRESS, progress));
Runnable viewStruc = new Runnable()
{
@Override
@Override
public void run()
{
- setProgressBar("Complete.", progress.hashCode());
+ setProgressBar("Complete.",
+ IdUtils.newId(IdType.PROGRESS, progress));
closeAction(preferredHeight);
mainFrame.dispose();
}
{
// headless = true;
prompt = false;
- sc = new StructureChooser(new SequenceI[] { seq }, seq, ap, false);
+ // suppress structure viewer's external service queries
+ sc = new StructureChooser(new SequenceI[] { seq }, seq, ap, false,
+ true);
}
if (ssm == null)
{