Adding registry web service and changes to WStester and JWS2Client code. Bugs in...
[jabaws.git] / webservices / compbio / ws / server / AAConWS.java
index f9d8ce6..fab12b8 100644 (file)
@@ -2,7 +2,6 @@ package compbio.ws.server;
 \r
 import java.io.File;\r
 import java.util.Arrays;\r
-import java.util.HashSet;\r
 import java.util.List;\r
 \r
 import javax.annotation.Resource;\r
@@ -11,13 +10,13 @@ import javax.xml.ws.WebServiceContext;
 \r
 import org.apache.log4j.Logger;\r
 \r
-import compbio.data.msa.Annotation;\r
+import compbio.data.msa.SequenceAnnotation;\r
 import compbio.data.sequence.FastaSequence;\r
-import compbio.data.sequence.SMERFSConstraints;\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
+import compbio.engine.client.SkeletalExecutable;\r
 import compbio.metadata.ChunkHolder;\r
 import compbio.metadata.JobStatus;\r
 import compbio.metadata.JobSubmissionException;\r
@@ -34,8 +33,8 @@ import compbio.metadata.WrongParameterException;
 import compbio.runner.Util;\r
 import compbio.runner.conservation.AACon;\r
 \r
-@WebService(endpointInterface = "compbio.data.msa.Annotation", targetNamespace = "http://msa.data.compbio/01/12/2010/", serviceName = "AAConWS")\r
-public class AAConWS implements Annotation<AACon> {\r
+@WebService(endpointInterface = "compbio.data.msa.SequenceAnnotation", targetNamespace = "http://msa.data.compbio/01/12/2010/", serviceName = "AAConWS")\r
+public class AAConWS implements SequenceAnnotation<AACon> {\r
 \r
        // Ask for resource injection\r
        @Resource\r
@@ -51,21 +50,25 @@ public class AAConWS implements Annotation<AACon> {
        private static final PresetManager<AACon> aaconPresets = Util\r
                        .getPresets(AACon.class);\r
 \r
+       private static final LimitsManager<AACon> limitMan = compbio.engine.client.Util\r
+                       .getLimits(new AACon().getType());\r
+\r
        ConfiguredExecutable<AACon> init(List<FastaSequence> sequences)\r
                        throws JobSubmissionException {\r
                AACon aacon = new AACon();\r
-               aacon.setInput("fasta.in").setOutput("aacon.out");\r
+               aacon.setInput(SkeletalExecutable.INPUT).setOutput(\r
+                               SkeletalExecutable.OUTPUT);\r
                return Configurator.configureExecutable(aacon, sequences);\r
        }\r
 \r
        @Override\r
-       public 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
+               ScoreManager mas = aacon.getResults();\r
                log.trace(jobId + " getConservation : " + mas);\r
                return mas;\r
        }\r
@@ -78,12 +81,16 @@ public class AAConWS implements Annotation<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
@@ -175,13 +182,4 @@ public class AAConWS implements Annotation<AACon> {
                return WSUtil.align(sequences, confAAcon, null, "presetAnalize", limit);\r
        }\r
 \r
-       @Override\r
-       public String customSMERFS(List<FastaSequence> sequences, int windowWidth,\r
-                       SMERFSConstraints scoringMethod, float gapTreshold,\r
-                       boolean normalize) throws UnsupportedRuntimeException,\r
-                       LimitExceededException, JobSubmissionException {\r
-               // TODO Auto-generated method stub\r
-               return null;\r
-       }\r
-\r
 }\r