X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fjalview%2Fws%2FMsaWSClient.java;h=999fc96406fa3f2a3c648d76d3b7cd9b23d1e2d1;hb=521ce3c96d5977a9bd941894eda7a13dd09deea9;hp=479f22f1e1454d0a41b724e72a30189e0e17afd6;hpb=55e2e9b22b133db8b9ff0979b0338a33081fc8fd;p=jalview.git diff --git a/src/jalview/ws/MsaWSClient.java b/src/jalview/ws/MsaWSClient.java index 479f22f..999fc96 100755 --- a/src/jalview/ws/MsaWSClient.java +++ b/src/jalview/ws/MsaWSClient.java @@ -43,6 +43,7 @@ public class MsaWSClient * server is a WSDL2Java generated stub for an archetypal MsaWSI service. */ ext.vamsas.MuscleWS server; + AlignFrame alignFrame; /** @@ -56,10 +57,14 @@ public class MsaWSClient * @param preserveOrder DOCUMENT ME! */ - public MsaWSClient(ext.vamsas.ServiceHandle sh, String altitle, SequenceI[] msa, - boolean submitGaps, boolean preserveOrder, Alignment seqdataset) + public MsaWSClient(ext.vamsas.ServiceHandle sh, String altitle, + SequenceI[] msa, + boolean submitGaps, boolean preserveOrder, + Alignment seqdataset, + AlignFrame _alignFrame) { + alignFrame = _alignFrame; if (!sh.getAbstractName().equals("MsaWS")) { JOptionPane.showMessageDialog(Desktop.desktop, @@ -274,6 +279,21 @@ public class MsaWSClient if (result.isFinished()) { wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_OK); + wsInfo.showResultsNewFrame.addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(java.awt.event.ActionEvent evt) + { + displayResults(true); + } + }); + wsInfo.mergeResults.addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(java.awt.event.ActionEvent evt) + { + displayResults(false); + } + }); + wsInfo.setResultsReady(); parseResult(); jobComplete = true; jobsRunning--; @@ -425,7 +445,6 @@ public class MsaWSClient void parseResult() { - SequenceI[] seqs = null; try { @@ -451,41 +470,62 @@ public class MsaWSClient OutputHeader += (lines[line] + "\n"); } - // JBPNote The returned files from a webservice could be hidden behind icons in the monitor window that, when clicked, pop up their corresponding data - seqs = getVamsasAlignment(result.getMsa()); + // JBPNote The returned files from a webservice could be + // hidden behind icons in the monitor window that, + // when clicked, pop up their corresponding data } wsInfo.setProgressText(OutputHeader); - - if (seqs != null) - { - AlignmentOrder msaorder = new AlignmentOrder(seqs); - - if (preserveOrder) - { - jalview.analysis.AlignmentSorter.recoverOrder(seqs); - } - - jalview.analysis.SeqsetUtils.deuniquify(SeqNames, seqs); - - Alignment al = new Alignment(seqs); - if (dataset!=null) { - al.setDataset(dataset); - } - // TODO: JBPNote Should also rename the query sequence sometime... - AlignFrame af = new AlignFrame(al); - af.addSortByOrderMenuItem(ServiceName + " Ordering", - msaorder); - - Desktop.addInternalFrame(af, alTitle, - AlignFrame.NEW_WINDOW_WIDTH, - AlignFrame.NEW_WINDOW_HEIGHT); - } } catch (Exception ex) { ex.printStackTrace(); } } + + void displayResults(boolean newFrame) + { + SequenceI [] seqs = getVamsasAlignment(result.getMsa()); + + if (seqs != null) + { + AlignmentOrder msaorder = new AlignmentOrder(seqs); + + if (preserveOrder) + { + jalview.analysis.AlignmentSorter.recoverOrder(seqs); + } + + jalview.analysis.SeqsetUtils.deuniquify(SeqNames, seqs); + + Alignment al = new Alignment(seqs); + if (dataset!=null) + { + al.setDataset(dataset); + } + + if(newFrame) + { + // TODO: JBPNote Should also rename the query sequence sometime... + AlignFrame af = new AlignFrame(al); + + //>>>This is a fix for the moment, until a better solution is found!!<<< + af.getFeatureRenderer().transferSettings(alignFrame.getFeatureRenderer()); + + af.addSortByOrderMenuItem(ServiceName + " Ordering", + msaorder); + + Desktop.addInternalFrame(af, alTitle, + AlignFrame.NEW_WINDOW_WIDTH, + AlignFrame.NEW_WINDOW_HEIGHT); + + } + else + { + System.out.println("MERGE WITH OLD FRAME"); + + } + } + } } }