From 51e665af81d15c0624630ffe04a1cd5b486f7319 Mon Sep 17 00:00:00 2001 From: jprocter Date: Sun, 8 Jul 2012 15:08:35 +0100 Subject: [PATCH] JAL-976 - storing service parameters on the view model --- src/jalview/gui/AlignViewport.java | 16 ++++++++++------ src/jalview/ws/jws2/SequenceAnnotationWSClient.java | 8 +++++--- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/jalview/gui/AlignViewport.java b/src/jalview/gui/AlignViewport.java index a731796..a1e184f 100644 --- a/src/jalview/gui/AlignViewport.java +++ b/src/jalview/gui/AlignViewport.java @@ -58,6 +58,8 @@ import jalview.workers.AlignCalcManager; import jalview.workers.ConsensusThread; import jalview.workers.ConservationThread; import jalview.workers.StrucConsensusThread; +import jalview.ws.jws2.dm.AAConsSettings; +import jalview.ws.params.AutoCalcSetting; /** * DOCUMENT ME! @@ -1290,15 +1292,17 @@ public class AlignViewport extends AlignmentViewport implements SelectionSource, { return validCharWidth; } - private jalview.ws.jws2.dm.AAConsSettings preferredAAConsSettings; - - public jalview.ws.jws2.dm.AAConsSettings getPreferredAAConsSettings() + private Hashtable calcIdParams=new Hashtable(); + public AutoCalcSetting getCalcIdSettingsFor(String calcId) { - return preferredAAConsSettings; + return calcIdParams.get(calcId); } - public void setPreferredAAConsSettings(jalview.ws.jws2.dm.AAConsSettings aaConsSettings) + + public void setCalcIdSettingsFor(String calcId, AutoCalcSetting settings, boolean needsUpdate) { - preferredAAConsSettings=aaConsSettings; + calcIdParams.put(calcId, settings); + // TODO: create a restart list to trigger any calculations that need to be restarted after load + // calculator.getRegisteredWorkersOfClass(settings.getWorkerClass()) } } diff --git a/src/jalview/ws/jws2/SequenceAnnotationWSClient.java b/src/jalview/ws/jws2/SequenceAnnotationWSClient.java index 77cf2ad..1fdf86f 100644 --- a/src/jalview/ws/jws2/SequenceAnnotationWSClient.java +++ b/src/jalview/ws/jws2/SequenceAnnotationWSClient.java @@ -35,6 +35,8 @@ import jalview.ws.params.WsParamSetI; public class SequenceAnnotationWSClient extends Jws2Client { + public static final String AAConsCalcId = "jabaws2.AACons"; + /** * initialise a client so its attachWSMenuEntry method can be called. */ @@ -82,7 +84,6 @@ public class SequenceAnnotationWSClient extends Jws2Client .registerWorker( worker = new AAConsClient(sh, alignFrame, this.preset, paramset)); - alignFrame.getViewport().setPreferredAAConsSettings(new AAConsSettings(true, sh, this.preset, paramset)); alignFrame.getViewport().getCalcManager().startWorker(worker); } @@ -323,7 +324,8 @@ public class SequenceAnnotationWSClient extends Jws2Client * Which AACons server to use * What parameters to use */ - AAConsSettings fave= alignFrame.getViewport().getPreferredAAConsSettings(); + // could actually do a class search for this too + AAConsSettings fave= (AAConsSettings) alignFrame.getViewport().getCalcIdSettingsFor(AAConsCalcId); if (fave==null) { fave = createDefaultAAConsSettings(); @@ -339,7 +341,7 @@ public class SequenceAnnotationWSClient extends Jws2Client * Which AACons server to use * What parameters to use */ - AAConsSettings fave= alignFrame.getViewport().getPreferredAAConsSettings(); + AAConsSettings fave= (AAConsSettings) alignFrame.getViewport().getCalcIdSettingsFor(AAConsCalcId); if (fave==null) { fave = createDefaultAAConsSettings(); -- 1.7.10.2