Change the way to deal with Limits to simplify wrapper writing and enable couping...
[jabaws.git] / webservices / compbio / ws / server / AAConWS.java
index 433728b..8637af1 100644 (file)
@@ -2,7 +2,6 @@ package compbio.ws.server;
 \r
 import java.io.File;\r
 import java.util.Arrays;\r
-import java.util.HashMap;\r
 import java.util.HashSet;\r
 import java.util.List;\r
 \r
@@ -15,6 +14,7 @@ import org.apache.log4j.Logger;
 import compbio.data.msa.SequenceAnnotation;\r
 import compbio.data.sequence.FastaSequence;\r
 import compbio.data.sequence.Score;\r
+import compbio.data.sequence.ScoreManager;\r
 import compbio.engine.AsyncExecutor;\r
 import compbio.engine.Configurator;\r
 import compbio.engine.client.ConfiguredExecutable;\r
@@ -51,6 +51,9 @@ public class AAConWS implements SequenceAnnotation<AACon> {
        private static final PresetManager<AACon> aaconPresets = Util\r
                        .getPresets(AACon.class);\r
 \r
+       private static final LimitsManager<AACon> limitMan = compbio.runner.Util\r
+                       .getLimits(new AACon().getType());\r
+\r
        ConfiguredExecutable<AACon> init(List<FastaSequence> sequences)\r
                        throws JobSubmissionException {\r
                AACon aacon = new AACon();\r
@@ -59,17 +62,18 @@ public class AAConWS implements SequenceAnnotation<AACon> {
        }\r
 \r
        @Override\r
-       public HashMap<String, HashSet<Score>> getAnnotation(String jobId)\r
+       public ScoreManager getAnnotation(String jobId)\r
                        throws ResultNotAvailableException {\r
                WSUtil.validateJobId(jobId);\r
                AsyncExecutor asyncEngine = Configurator.getAsyncEngine(jobId);\r
                ConfiguredExecutable<AACon> aacon = (ConfiguredExecutable<AACon>) asyncEngine\r
                                .getResults(jobId);\r
                HashSet<Score> mas = aacon.getResults();\r
-               HashMap<String, HashSet<Score>> result = new HashMap<String, HashSet<Score>>();\r
-               result.put("Alignment", mas);\r
+               // ScoreManager result = new HashMap<String, HashSet<Score>>();\r
+               // result.put("Alignment", mas);\r
                log.trace(jobId + " getConservation : " + mas);\r
-               return result;\r
+               // FIXME\r
+               return null;\r
        }\r
        /*\r
         * @SuppressWarnings("unchecked") public JalviewAnnotation\r
@@ -80,12 +84,16 @@ public class AAConWS implements SequenceAnnotation<AACon> {
 \r
        @Override\r
        public Limit<AACon> getLimit(String presetName) {\r
-               return new AACon().getLimit(presetName);\r
+               if (limitMan == null) {\r
+                       // Limit is not defined\r
+                       return null;\r
+               }\r
+               return limitMan.getLimitByName(presetName);\r
        }\r
 \r
        @Override\r
        public LimitsManager<AACon> getLimits() {\r
-               return new AACon().getLimits();\r
+               return limitMan;\r
        }\r
 \r
        @Override\r