Fix probem with metadata
[jabaws.git] / webservices / compbio / ws / server / TcoffeeWS.java
index feb35f0..72291dc 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,15 +21,15 @@ 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
@@ -49,38 +49,32 @@ import compbio.metadata.WrongParameterException;
 import compbio.runner.Util;\r
 import compbio.runner.msa.Tcoffee;\r
 \r
-@WebService(endpointInterface = "compbio.data.msa.MsaWS", targetNamespace = "http://msa.data.compbio/01/01/2010/", serviceName = "TcoffeeWS")\r
+@WebService(endpointInterface = "compbio.data.msa.MsaWS", targetNamespace = JABAService.SERVICE_NAMESPACE, serviceName = "TcoffeeWS")\r
 public class TcoffeeWS implements MsaWS<Tcoffee> {\r
 \r
-       // Ask for resource injection\r
-       @Resource\r
-       WebServiceContext wsContext;\r
-\r
-       private static Logger statLog = Logger.getLogger("TcoffeeWS-stats");\r
-\r
        private static Logger log = Logger.getLogger(TcoffeeWS.class);\r
 \r
-       private static final RunnerConfig<Tcoffee> tcoffeeOptions = Util\r
-                       .getSupportedOptions(Tcoffee.class);\r
+       private static final RunnerConfig<Tcoffee> tcoffeeOptions = Util.getSupportedOptions(Tcoffee.class);\r
 \r
-       private static final PresetManager<Tcoffee> tcoffeePresets = Util\r
-                       .getPresets(Tcoffee.class);\r
+       private static final PresetManager<Tcoffee> tcoffeePresets = Util.getPresets(Tcoffee.class);\r
 \r
-       private static final LimitsManager<Tcoffee> limitMan = compbio.engine.client.Util\r
-                       .getLimits(new Tcoffee().getType());\r
+       private static final LimitsManager<Tcoffee> limitMan = compbio.engine.client.Util.getLimits(new Tcoffee().getType());\r
 \r
        @Override\r
        public String align(List<FastaSequence> sequences)\r
                        throws JobSubmissionException {\r
                WSUtil.validateFastaInput(sequences);\r
                ConfiguredExecutable<Tcoffee> confTcoffee = init(sequences);\r
-               return WSUtil\r
-                               .align(sequences, confTcoffee, null, "align", getLimit(""));\r
+               return WSUtil.align(sequences, confTcoffee, log, "align", getLimit(""));\r
        }\r
 \r
        ConfiguredExecutable<Tcoffee> init(List<FastaSequence> sequences)\r
                        throws JobSubmissionException {\r
                Tcoffee tcoffee = new Tcoffee();\r
+               tcoffee.setInput(SkeletalExecutable.INPUT)\r
+                               .setOutput(SkeletalExecutable.OUTPUT)\r
+                               .setError(SkeletalExecutable.ERROR);\r
+\r
                ConfiguredExecutable<Tcoffee> confCoffee = Configurator\r
                                .configureExecutable(tcoffee, sequences);\r
                if (confCoffee.getExecProvider() == Executable.ExecProvider.Cluster) {\r
@@ -100,12 +94,10 @@ public class TcoffeeWS implements MsaWS<Tcoffee> {
 \r
                WSUtil.validateFastaInput(sequences);\r
                ConfiguredExecutable<Tcoffee> confTcoffee = init(sequences);\r
-               List<String> params = WSUtil.getCommands(options,\r
-                               Tcoffee.KEY_VALUE_SEPARATOR);\r
+               List<String> params = WSUtil.getCommands(options, Tcoffee.KEY_VALUE_SEPARATOR);\r
                log.info("Setting parameters:" + params);\r
                confTcoffee.addParameters(params);\r
-               return WSUtil.align(sequences, confTcoffee, null, "customAlign",\r
-                               getLimit(""));\r
+               return WSUtil.align(sequences, confTcoffee, log, "customAlign", getLimit(""));\r
        }\r
 \r
        @Override\r
@@ -119,7 +111,7 @@ public class TcoffeeWS implements MsaWS<Tcoffee> {
                ConfiguredExecutable<Tcoffee> confTcoffee = init(sequences);\r
                confTcoffee.addParameters(preset.getOptions());\r
                Limit<Tcoffee> limit = getLimit(preset.getName());\r
-               return WSUtil.align(sequences, confTcoffee, null, "presetAlign", limit);\r
+               return WSUtil.align(sequences, confTcoffee, log, "presetAlign", limit);\r
        }\r
 \r
        @SuppressWarnings("unchecked")\r
@@ -130,8 +122,7 @@ public class TcoffeeWS implements MsaWS<Tcoffee> {
                ConfiguredExecutable<Tcoffee> tcoffee = (ConfiguredExecutable<Tcoffee>) asyncEngine\r
                                .getResults(jobId);\r
                Alignment al = tcoffee.getResults();\r
-               // log(jobId, "getResults");\r
-               return al;\r
+               return new Alignment (al.getSequences(), Program.Tcoffee, '-');\r
        }\r
 \r
        @Override\r