X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FBioJsHTMLOutput.java;h=6869292e97a02345e7d07b42a99ceb8f8d187200;hb=9e5effcac65476958e619298a1a939254f77bc4b;hp=5a236dc80e2d27cceb4c464e5f86ea37c1c1f065;hpb=ae2ecc56066936ccd472081ed5dcae85dd8f05b3;p=jalview.git diff --git a/src/jalview/io/BioJsHTMLOutput.java b/src/jalview/io/BioJsHTMLOutput.java index 5a236dc..6869292 100644 --- a/src/jalview/io/BioJsHTMLOutput.java +++ b/src/jalview/io/BioJsHTMLOutput.java @@ -8,11 +8,20 @@ import jalview.gui.AlignViewport; import jalview.gui.AlignmentPanel; import jalview.gui.FeatureRenderer; import jalview.gui.SequenceRenderer; +import jalview.json.binding.v1.BioJsAlignmentPojo; +import jalview.json.binding.v1.BioJsSeqPojo; import jalview.util.MessageManager; import java.io.IOException; import java.io.PrintWriter; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; + +import com.json.JSONException; +import com.json.JSONObject; + public class BioJsHTMLOutput { private AlignViewport av; @@ -21,7 +30,6 @@ public class BioJsHTMLOutput public BioJsHTMLOutput(AlignmentPanel ap, SequenceRenderer sr, FeatureRenderer fr1) { - System.out.println("BioJs working as expected so far"); this.av = ap.av; this.fr = new FeatureRenderer(ap); @@ -71,21 +79,33 @@ public class BioJsHTMLOutput } private String generateBioJsAlignmentData(AlignmentI alignment) - throws IOException + throws IOException, JSONException { - StringBuilder bioJsData = new StringBuilder(); + BioJsAlignmentPojo bjsAlignment = new BioJsAlignmentPojo(); + int count = 0; for (SequenceI seq : alignment.getSequences()) { - bioJsData.append("seqOnFly.push({seq:'" + seq.getSequenceAsString() - + "', name:'" + seq.getName() + "', id:" + ++count + "});"); + bjsAlignment.getSeqs().add( + new BioJsSeqPojo(String.valueOf(++count), seq.getName(), seq + .getSequenceAsString())); } + + String seqs = new JSONObject(bjsAlignment).getString("seqs"); String bioJSTemplate = new String( readAllBytes(get("resources/templates/BioJSTemplate.txt"))); - return bioJSTemplate.replaceAll("#sequenceData#", bioJsData.toString()); + return bioJSTemplate.replaceAll("#sequenceData#", seqs); } + public static void main(String[] args) throws IOException + { + Document doc = Jsoup.parse(new String( + readAllBytes(get("resources/templates/BioJSTemplate.txt")))); + + Element content = doc.getElementById("seqData"); + System.out.println(content.val()); + } }