X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws2%2FJabawsAlignCalcWorker.java;h=926256d5542376f03600da909a5f2ee1f23be999;hb=51f4e1c750d0de8937e69788f7b14c6120fd310f;hp=cab166fb58d283129637acf0649189e6b2696cc8;hpb=879734f61f3b7d9130fea0ff176b9306302417c6;p=jalview.git diff --git a/src/jalview/ws/jws2/JabawsAlignCalcWorker.java b/src/jalview/ws/jws2/JabawsAlignCalcWorker.java index cab166f..926256d 100644 --- a/src/jalview/ws/jws2/JabawsAlignCalcWorker.java +++ b/src/jalview/ws/jws2/JabawsAlignCalcWorker.java @@ -1,3 +1,20 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) + * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + */ package jalview.ws.jws2; import jalview.analysis.AlignSeq; @@ -6,8 +23,11 @@ import jalview.api.AlignViewportI; import jalview.api.AlignmentViewPanel; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; +import jalview.datamodel.AnnotatedCollectionI; +import jalview.datamodel.Annotation; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; +import jalview.gui.IProgressIndicator; import jalview.workers.AlignCalcWorker; import jalview.ws.jws2.dm.JabaWsParamSet; import jalview.ws.jws2.jabaws2.Jws2Instance; @@ -15,11 +35,13 @@ import jalview.ws.params.WsParamSetI; import java.util.ArrayList; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; import compbio.data.msa.SequenceAnnotation; import compbio.data.sequence.FastaSequence; +import compbio.data.sequence.Score; import compbio.data.sequence.ScoreManager; import compbio.metadata.Argument; import compbio.metadata.ChunkHolder; @@ -31,6 +53,7 @@ import compbio.metadata.WrongParameterException; public abstract class JabawsAlignCalcWorker extends AlignCalcWorker { + Jws2Instance service; @SuppressWarnings("unchecked") protected SequenceAnnotation aaservice; @@ -47,12 +70,16 @@ public abstract class JabawsAlignCalcWorker extends AlignCalcWorker super(alignViewport, alignPanel); } + IProgressIndicator guiProgress; + public JabawsAlignCalcWorker(Jws2Instance service, AlignFrame alignFrame, WsParamSetI preset, List paramset) { this(alignFrame.getCurrentView(), alignFrame.alignPanel); + this.guiProgress = alignFrame; this.preset = preset; this.arguments = paramset; + this.service = service; aaservice = (SequenceAnnotation) service.service; } @@ -68,41 +95,19 @@ public abstract class JabawsAlignCalcWorker extends AlignCalcWorker } /** - * reconfigure and restart the AAConsClient. This method will spawn a new + * reconfigure and restart the AAConClient. This method will spawn a new * thread that will wait until any current jobs are finished, modify the * parameters and restart the conservation calculation with the new values. - * + * * @param newpreset * @param newarguments */ public void updateParameters(final WsParamSetI newpreset, final List newarguments) { - if (calcMan.isWorking(this)) - { - new Thread(new Runnable() - { - @Override - public void run() - { - - try - { - Thread.sleep(200); - } catch (InterruptedException x) - { - } - ; - updateParameters(newpreset, newarguments); - } - }).start(); - } - else - { - preset = newpreset; - arguments = newarguments; - calcMan.startWorker(this); - } + preset = newpreset; + arguments = newarguments; + calcMan.startWorker(this); } public List