package jalview.io; import jalview.gui.AlignFrame; import jalview.schemes.ColourSchemeI; import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; public class HtmlFile extends AlignFile { public static final String FILE_EXT = "html"; public static final String FILE_DESC = "HTML"; private ColourSchemeI cs; public HtmlFile() { super(); } public HtmlFile(FileParse source) throws IOException { super(source); } public HtmlFile(String inFile, String type) throws IOException { super(inFile, type); } @Override public void parse() throws IOException { try { StringBuilder htmlData = new StringBuilder(); String currentLine; while ((currentLine = nextLine()) != null) { htmlData.append(currentLine); } Document doc = Jsoup.parse(htmlData.toString()); Element content = doc.getElementById("seqData"); String alignmentJsonString = content.val(); JSONFile jsonFile = new JSONFile().parse(alignmentJsonString); seqs = jsonFile.seqs; seqGroups = jsonFile.seqGroups; annotations = jsonFile.annotations; } catch (Exception e) { e.printStackTrace(); } } public void LoadAlignmentFeatures(AlignFrame af) { af.setShowSeqFeatures(JSONFile.isSeqFeaturesEnabled()); af.changeColour(JSONFile.getColourScheme()); af.setMenusForViewport(); } @Override public String print() { throw new UnsupportedOperationException( "Print method of HtmlFile not yet supported!"); } }