X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2FMsaWSClient.java;h=7d65cebb08cfd5f3b3476a2ea288fb3b0968fc95;hb=621a628afc1f6ee7a2778b9d0ae2729b88fe5bfd;hp=214d120b025f868fb18ee4e43b75e0916f680627;hpb=cced85f21c4b3d33e834f0a12d8328bed56cfb38;p=jalview.git diff --git a/src/jalview/ws/MsaWSClient.java b/src/jalview/ws/MsaWSClient.java index 214d120..7d65ceb 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) + 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, @@ -81,13 +86,13 @@ public class MsaWSClient return; } - startMsaWSClient(altitle, msa, submitGaps, preserveOrder); + startMsaWSClient(altitle, msa, submitGaps, preserveOrder, seqdataset); } private void startMsaWSClient(String altitle, SequenceI[] msa, - boolean submitGaps, boolean preserveOrder) + boolean submitGaps, boolean preserveOrder, Alignment seqdataset) { if (!locateWebService()) { @@ -99,7 +104,7 @@ public class MsaWSClient MsaWSThread musclethread = new MsaWSThread(WebServiceName + " alignment of " + altitle, msa, - submitGaps, preserveOrder); + submitGaps, preserveOrder, seqdataset); wsInfo.setthisService(musclethread); musclethread.start(); } @@ -125,7 +130,7 @@ public class MsaWSClient " Service location failed\nfor URL :" + WsURL + "\n" + ex.getMessage()); - wsInfo.setStatus(wsInfo.ERROR); + wsInfo.setStatus(WebserviceInfo.ERROR); ex.printStackTrace(); return false; @@ -145,20 +150,22 @@ public class MsaWSClient vamsas.objects.simple.SequenceSet seqs = new vamsas.objects.simple. SequenceSet(); Hashtable SeqNames = null; - boolean submitGaps = false; // and always store and recover sequence order + boolean submitGaps = false; // pass sequences including gaps to alignment service boolean preserveOrder = true; // and always store and recover sequence order String jobId; String alTitle; // name which will be used to form new alignment window. int allowedServerExceptions = 3; // thread dies if too many exceptions. boolean jobComplete = false; + Alignment dataset; // dataset to which the new alignment will be associated. + MsaWSThread(String title, SequenceI[] msa, boolean subgaps, - boolean presorder) + boolean presorder, Alignment seqset) { alTitle = title; submitGaps = subgaps; preserveOrder = presorder; - + dataset = seqset; OutputHeader = wsInfo.getProgressText(); SeqNames = new Hashtable(); @@ -257,7 +264,7 @@ public class MsaWSClient throw (new Exception( "Timed out when communicating with server\nTry again later.\n")); } - jalview.bin.Jalview.log.debug("Result state " + result.getState() + + jalview.bin.Cache.log.debug("Result state " + result.getState() + "(ServerError=" + result.isServerError() + ")"); if (result.isRunning()) @@ -395,7 +402,7 @@ public class MsaWSClient e.toString() + "\n"); this.allowedServerExceptions = 0; - wsInfo.setStatus(wsInfo.STATE_STOPPED_SERVERERROR); + wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_SERVERERROR); wsInfo.appendProgressText( "Failed to submit sequences for alignment.\n" + "It is most likely that there is a problem with the server.\n" + @@ -467,9 +474,15 @@ public class MsaWSClient 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); + + //>>>This is a fix for the moment, until a better solution is found!!<<< + af.getFeatureRenderer().transferSettings(alignFrame.getFeatureRenderer()); + af.addSortByOrderMenuItem(ServiceName + " Ordering", msaorder);