X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=webservices%2Fcompbio%2Fws%2Fserver%2FMafftWS.java;h=f293ae79d154209d638e330d86b4379e7e8d32d8;hb=23fb18b3f14a1b396f0c61f2ea4559fec758cb1d;hp=0c8347da0d158716597153acc6fe8691409f49dd;hpb=2a269830633463e5016d5c92ed672d9e312c9776;p=jabaws.git diff --git a/webservices/compbio/ws/server/MafftWS.java b/webservices/compbio/ws/server/MafftWS.java index 0c8347d..f293ae7 100644 --- a/webservices/compbio/ws/server/MafftWS.java +++ b/webservices/compbio/ws/server/MafftWS.java @@ -1,6 +1,6 @@ -/* Copyright (c) 2009 Peter Troshin +/* Copyright (c) 2011 Peter Troshin * - * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0 + * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 * * This library is free software; you can redistribute it and/or modify it under the terms of the * Apache License version 2 as published by the Apache Software Foundation @@ -21,18 +21,18 @@ package compbio.ws.server; import java.io.File; import java.util.List; -import javax.annotation.Resource; import javax.jws.WebService; -import javax.xml.ws.WebServiceContext; import org.apache.log4j.Logger; +import compbio.data.msa.JABAService; import compbio.data.msa.MsaWS; import compbio.data.sequence.Alignment; import compbio.data.sequence.FastaSequence; import compbio.engine.AsyncExecutor; import compbio.engine.Configurator; import compbio.engine.client.ConfiguredExecutable; +import compbio.engine.client.SkeletalExecutable; import compbio.metadata.ChunkHolder; import compbio.metadata.JobStatus; import compbio.metadata.JobSubmissionException; @@ -47,15 +47,9 @@ import compbio.metadata.WrongParameterException; import compbio.runner.Util; import compbio.runner.msa.Mafft; -@WebService(endpointInterface = "compbio.data.msa.MsaWS", targetNamespace = "http://msa.data.compbio/01/01/2010/", serviceName = "MafftWS") +@WebService(endpointInterface = "compbio.data.msa.MsaWS", targetNamespace = JABAService.SERVICE_NAMESPACE, serviceName = "MafftWS") public class MafftWS implements MsaWS { - // Ask for resource injection - @Resource - WebServiceContext wsContext; - - private static Logger statLog = Logger.getLogger("MafftWS-stats"); - private static Logger log = Logger.getLogger(MafftWS.class); private static final RunnerConfig mafftOptions = Util @@ -64,7 +58,7 @@ public class MafftWS implements MsaWS { private static final PresetManager mafftPresets = Util .getPresets(Mafft.class); - private static final LimitsManager limitMan = compbio.runner.Util + private static final LimitsManager limitMan = compbio.engine.client.Util .getLimits(new Mafft().getType()); @Override @@ -72,13 +66,15 @@ public class MafftWS implements MsaWS { throws JobSubmissionException { WSUtil.validateFastaInput(sequences); ConfiguredExecutable confMafft = init(sequences); - return WSUtil.align(sequences, confMafft, null, "align", getLimit("")); + return WSUtil.align(sequences, confMafft, log, "align", getLimit("")); } ConfiguredExecutable init(List dataSet) throws JobSubmissionException { Mafft mafft = new Mafft(); - mafft.setInput("fasta.in").setOutput("fasta.out"); + mafft.setInput(SkeletalExecutable.INPUT) + .setOutput(SkeletalExecutable.OUTPUT) + .setError(SkeletalExecutable.ERROR); return Configurator.configureExecutable(mafft, dataSet); } @@ -92,7 +88,7 @@ public class MafftWS implements MsaWS { Mafft.KEY_VALUE_SEPARATOR); log.info("Setting parameters: " + params); confMafft.addParameters(params); - return WSUtil.align(sequences, confMafft, null, "customAlign", + return WSUtil.align(sequences, confMafft, log, "customAlign", getLimit("")); } @@ -110,7 +106,7 @@ public class MafftWS implements MsaWS { // particular preset is not found Limit limit = getLimit(preset.getName()); - return WSUtil.align(sequences, confMafft, null, "presetAlign", limit); + return WSUtil.align(sequences, confMafft, log, "presetAlign", limit); } @SuppressWarnings("unchecked") @@ -127,6 +123,10 @@ public class MafftWS implements MsaWS { @Override public Limit getLimit(String presetName) { + if (limitMan == null) { + // Limit is not defined + return null; + } return limitMan.getLimitByName(presetName); }