Google analytics receives message with actual Jabaws version
[jabaws.git] / webservices / compbio / ws / server / MuscleWS.java
index 80f67b2..943b3c2 100644 (file)
@@ -1,6 +1,6 @@
-/* Copyright (c) 2009 Peter Troshin\r
+/* Copyright (c) 2011 Peter Troshin\r
  *  \r
- *  JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0   \r
+ *  JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0     \r
  * \r
  *  This library is free software; you can redistribute it and/or modify it under the terms of the\r
  *  Apache License version 2 as published by the Apache Software Foundation\r
@@ -21,18 +21,20 @@ package compbio.ws.server;
 import java.io.File;\r
 import java.util.List;\r
 \r
-import javax.annotation.Resource;\r
 import javax.jws.WebService;\r
-import javax.xml.ws.WebServiceContext;\r
 \r
 import org.apache.log4j.Logger;\r
 \r
+import compbio.data.msa.JABAService;\r
 import compbio.data.msa.MsaWS;\r
 import compbio.data.sequence.Alignment;\r
 import compbio.data.sequence.FastaSequence;\r
+import compbio.data.sequence.Program;\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.engine.client.EngineUtil;\r
 import compbio.metadata.ChunkHolder;\r
 import compbio.metadata.JobStatus;\r
 import compbio.metadata.JobSubmissionException;\r
@@ -44,40 +46,31 @@ import compbio.metadata.PresetManager;
 import compbio.metadata.ResultNotAvailableException;\r
 import compbio.metadata.RunnerConfig;\r
 import compbio.metadata.WrongParameterException;\r
-import compbio.runner.Util;\r
+import compbio.runner.RunnerUtil;\r
 import compbio.runner.msa.Muscle;\r
 \r
-@WebService(endpointInterface = "compbio.data.msa.MsaWS", targetNamespace = "http://msa.data.compbio/01/01/2010/", serviceName = "MuscleWS")\r
+@WebService(endpointInterface = "compbio.data.msa.MsaWS", targetNamespace = JABAService.SERVICE_NAMESPACE, serviceName = "MuscleWS")\r
 public class MuscleWS implements MsaWS<Muscle> {\r
 \r
-       // Ask for resource injection\r
-       @Resource\r
-       WebServiceContext wsContext;\r
-\r
-       private static Logger statLog = Logger.getLogger("MuscleWS-stats");\r
-\r
        private static Logger log = Logger.getLogger(MuscleWS.class);\r
-\r
-       private static final RunnerConfig<Muscle> muscleOptions = Util\r
-                       .getSupportedOptions(Muscle.class);\r
-\r
-       private static final PresetManager<Muscle> musclePresets = Util\r
-                       .getPresets(Muscle.class);\r
-\r
-       private static final LimitsManager<Muscle> limitMan = compbio.engine.client.Util\r
-                       .getLimits(new Muscle().getType());\r
+       private static final RunnerConfig<Muscle> muscleOptions = RunnerUtil.getSupportedOptions(Muscle.class);\r
+       private static final PresetManager<Muscle> musclePresets = RunnerUtil.getPresets(Muscle.class);\r
+       private static final LimitsManager<Muscle> limitMan = EngineUtil.getLimits(new Muscle().getType());\r
 \r
        @Override\r
        public String align(List<FastaSequence> sequences)\r
                        throws JobSubmissionException {\r
                WSUtil.validateFastaInput(sequences);\r
                ConfiguredExecutable<Muscle> confMuscle = init(sequences);\r
-               return WSUtil.align(sequences, confMuscle, null, "align", getLimit(""));\r
+               return WSUtil.align(sequences, confMuscle, log, "align", getLimit(""));\r
        }\r
 \r
        ConfiguredExecutable<Muscle> init(List<FastaSequence> sequences)\r
                        throws JobSubmissionException {\r
                Muscle muscle = new Muscle();\r
+               muscle.setInput(SkeletalExecutable.INPUT)\r
+                               .setOutput(SkeletalExecutable.OUTPUT)\r
+                               .setError(SkeletalExecutable.ERROR);\r
                return Configurator.configureExecutable(muscle, sequences);\r
        }\r
 \r
@@ -93,8 +86,7 @@ public class MuscleWS implements MsaWS<Muscle> {
                List<String> params = WSUtil.getCommands(options,\r
                                Muscle.KEY_VALUE_SEPARATOR);\r
                confMuscle.addParameters(params);\r
-               return WSUtil.align(sequences, confMuscle, null, "customAlign",\r
-                               getLimit(""));\r
+               return WSUtil.align(sequences, confMuscle, log, "customAlign", getLimit(""));\r
        }\r
 \r
        @Override\r
@@ -108,7 +100,7 @@ public class MuscleWS implements MsaWS<Muscle> {
                ConfiguredExecutable<Muscle> confMuscle = init(sequences);\r
                confMuscle.addParameters(preset.getOptions());\r
                Limit<Muscle> limit = getLimit(preset.getName());\r
-               return WSUtil.align(sequences, confMuscle, null, "presetAlign", limit);\r
+               return WSUtil.align(sequences, confMuscle, log, "presetAlign", limit);\r
        }\r
 \r
        @SuppressWarnings("unchecked")\r
@@ -119,8 +111,7 @@ public class MuscleWS implements MsaWS<Muscle> {
                ConfiguredExecutable<Muscle> muscle = (ConfiguredExecutable<Muscle>) asyncEngine\r
                                .getResults(jobId);\r
                Alignment al = muscle.getResults();\r
-               // log(jobId, "getResults");\r
-               return al;\r
+               return new Alignment (al.getSequences(),Program.Muscle, '-');\r
        }\r
 \r
        @Override\r