X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FHTMLOutput.java;h=86da67a8a750689e52e8092da2e86ad5339c7cb2;hb=fe8a4b9cb2b7242c902259aab79ecc0637c6c370;hp=3a7b441c1db0063e0747abc1de2154e12eac066e;hpb=dd8112aefe2c3a08c51f1684d5cda16be938c74f;p=jalview.git diff --git a/src/jalview/io/HTMLOutput.java b/src/jalview/io/HTMLOutput.java index 3a7b441..86da67a 100644 --- a/src/jalview/io/HTMLOutput.java +++ b/src/jalview/io/HTMLOutput.java @@ -20,16 +20,14 @@ */ package jalview.io; -import jalview.api.AlignExportSettingI; -import jalview.datamodel.AlignExportSettingBeanI; +import jalview.api.AlignExportSettingsI; +import jalview.datamodel.AlignExportSettingsAdapter; import jalview.datamodel.AlignmentExportData; import jalview.exceptions.NoFileSelectedException; import jalview.gui.AlignmentPanel; import jalview.gui.IProgressIndicator; import jalview.util.MessageManager; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.File; import java.io.IOException; @@ -47,93 +45,44 @@ public abstract class HTMLOutput implements Runnable protected File generatedFile; + String _bioJson = null; + + /** + * Constructor given an alignment panel (which should not be null) + * + * @param ap + */ public HTMLOutput(AlignmentPanel ap) { - if (ap != null) - { - this.ap = ap; - this.pIndicator = ap.alignFrame; - } + this.ap = ap; + this.pIndicator = ap.alignFrame; } - String _bioJson=null; + /** + * Gets the BioJSON data as a string, with lazy evaluation (first time called + * only). If the output format is configured not to embed BioJSON, returns + * null. + * + * @return + */ public String getBioJSONData() { - if (_bioJson==null) { - getBioJSONData(null); - } - return _bioJson; - } - - public void getBioJSONData(AlignExportSettingBeanI exportSettings) - { if (!isEmbedData()) { - return; + return null; } - if (exportSettings == null) + if (_bioJson == null) { - exportSettings = new AlignExportSettingBeanI() - { - @Override - public boolean isExportHiddenSequences() - { - return true; - } - - @Override - public boolean isExportHiddenColumns() - { - return true; - } - - @Override - public boolean isExportAnnotations() - { - return true; - } - - @Override - public boolean isExportFeatures() - { - return true; - } - - @Override - public boolean isExportGroups() - { - return true; - } - - @Override - public boolean isCancelled() - { - return false; - } - - }; + AlignExportSettingsI options = new AlignExportSettingsAdapter(true); + AlignmentExportData exportData = ap.getAlignViewport() + .getAlignExportData(options); + _bioJson = new FormatAdapter(ap, options).formatSequences( + FileFormat.Json, exportData.getAlignment(), + exportData.getOmitHidden(), exportData.getStartEndPostions(), + ap.getAlignViewport().getAlignment().getHiddenColumns()); } - AlignExportSettingI exportDataSettings = jalview.gui.AlignFrame - .getAlignmentForExport(FileFormat.Json, ap, - exportSettings); - exportDataSettings.addActionListener(new ActionListener() - { - - @Override - public void actionPerformed(ActionEvent e) - { - AlignmentExportData exportData = exportDataSettings.getAlignExportData(); - _bioJson = new FormatAdapter(ap, exportData.getSettings()) - .formatSequences(FileFormat.Json, exportData.getAlignment(), - exportData.getOmitHidden(), - exportData.getStartEndPostions(), ap.getAlignViewport() - .getAlignment().getHiddenColumns()); - - } - - - }); - exportDataSettings.doShowSettings(); + + return _bioJson; } /**