Google Analytics statistics is added
[jabaws.git] / webservices / compbio / ws / server / MafftWS.java
index 0c8347d..f293ae7 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,18 @@ 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.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
@@ -47,15 +47,9 @@ import compbio.metadata.WrongParameterException;
 import compbio.runner.Util;\r
 import compbio.runner.msa.Mafft;\r
 \r
-@WebService(endpointInterface = "compbio.data.msa.MsaWS", targetNamespace = "http://msa.data.compbio/01/01/2010/", serviceName = "MafftWS")\r
+@WebService(endpointInterface = "compbio.data.msa.MsaWS", targetNamespace = JABAService.SERVICE_NAMESPACE, serviceName = "MafftWS")\r
 public class MafftWS implements MsaWS<Mafft> {\r
 \r
-       // Ask for resource injection\r
-       @Resource\r
-       WebServiceContext wsContext;\r
-\r
-       private static Logger statLog = Logger.getLogger("MafftWS-stats");\r
-\r
        private static Logger log = Logger.getLogger(MafftWS.class);\r
 \r
        private static final RunnerConfig<Mafft> mafftOptions = Util\r
@@ -64,7 +58,7 @@ public class MafftWS implements MsaWS<Mafft> {
        private static final PresetManager<Mafft> mafftPresets = Util\r
                        .getPresets(Mafft.class);\r
 \r
-       private static final LimitsManager<Mafft> limitMan = compbio.runner.Util\r
+       private static final LimitsManager<Mafft> limitMan = compbio.engine.client.Util\r
                        .getLimits(new Mafft().getType());\r
 \r
        @Override\r
@@ -72,13 +66,15 @@ public class MafftWS implements MsaWS<Mafft> {
                        throws JobSubmissionException {\r
                WSUtil.validateFastaInput(sequences);\r
                ConfiguredExecutable<Mafft> confMafft = init(sequences);\r
-               return WSUtil.align(sequences, confMafft, null, "align", getLimit(""));\r
+               return WSUtil.align(sequences, confMafft, log, "align", getLimit(""));\r
        }\r
 \r
        ConfiguredExecutable<Mafft> init(List<FastaSequence> dataSet)\r
                        throws JobSubmissionException {\r
                Mafft mafft = new Mafft();\r
-               mafft.setInput("fasta.in").setOutput("fasta.out");\r
+               mafft.setInput(SkeletalExecutable.INPUT)\r
+                               .setOutput(SkeletalExecutable.OUTPUT)\r
+                               .setError(SkeletalExecutable.ERROR);\r
                return Configurator.configureExecutable(mafft, dataSet);\r
        }\r
 \r
@@ -92,7 +88,7 @@ public class MafftWS implements MsaWS<Mafft> {
                                Mafft.KEY_VALUE_SEPARATOR);\r
                log.info("Setting parameters: " + params);\r
                confMafft.addParameters(params);\r
-               return WSUtil.align(sequences, confMafft, null, "customAlign",\r
+               return WSUtil.align(sequences, confMafft, log, "customAlign",\r
                                getLimit(""));\r
        }\r
 \r
@@ -110,7 +106,7 @@ public class MafftWS implements MsaWS<Mafft> {
                // particular preset is not found\r
                Limit<Mafft> limit = getLimit(preset.getName());\r
 \r
-               return WSUtil.align(sequences, confMafft, null, "presetAlign", limit);\r
+               return WSUtil.align(sequences, confMafft, log, "presetAlign", limit);\r
        }\r
 \r
        @SuppressWarnings("unchecked")\r
@@ -127,6 +123,10 @@ public class MafftWS implements MsaWS<Mafft> {
 \r
        @Override\r
        public Limit<Mafft> getLimit(String presetName) {\r
+               if (limitMan == null) {\r
+                       // Limit is not defined\r
+                       return null;\r
+               }\r
                return limitMan.getLimitByName(presetName);\r
        }\r
 \r