X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=webservices%2Fcompbio%2Fws%2Fserver%2FJpredWS.java;h=382ef37444f68cd5f8b503785251ae7226923898;hb=68fe46f278b4ec408d6c68677bd56199aac749b3;hp=42529fcbe08ffb7a35d903d2443320b4e1d18026;hpb=a48ecc5f78c22682774e01d66aa9636d2d483431;p=jabaws.git diff --git a/webservices/compbio/ws/server/JpredWS.java b/webservices/compbio/ws/server/JpredWS.java index 42529fc..382ef37 100644 --- a/webservices/compbio/ws/server/JpredWS.java +++ b/webservices/compbio/ws/server/JpredWS.java @@ -16,153 +16,154 @@ * must include this copyright and license notice. */ -package compbio.ws.server; - -import java.io.File; -import java.util.List; - -import javax.jws.WebService; - -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.Executable; -import compbio.engine.client.SkeletalExecutable; -import compbio.metadata.ChunkHolder; -import compbio.metadata.JobStatus; -import compbio.metadata.JobSubmissionException; -import compbio.metadata.Limit; -import compbio.metadata.LimitsManager; -import compbio.metadata.Option; -import compbio.metadata.Preset; -import compbio.metadata.PresetManager; -import compbio.metadata.ResultNotAvailableException; -import compbio.metadata.RunnerConfig; -import compbio.metadata.WrongParameterException; -import compbio.runner.Util; -import compbio.runner.predictors.Jpred; - -@WebService(endpointInterface = "compbio.data.msa.MsaWS", targetNamespace = JABAService.SERVICE_NAMESPACE, serviceName = "JpredWS") -public class JpredWS implements MsaWS { - - private static Logger log = Logger.getLogger(JpredWS.class); - - private static final RunnerConfig jpredOptions = Util.getSupportedOptions(Jpred.class); - private static final PresetManager jpredPresets = Util.getPresets(Jpred.class); - private static final LimitsManager limitMan = compbio.engine.client.Util.getLimits(new Jpred().getType()); - - @Override - public String align(List sequences) - throws JobSubmissionException { - - WSUtil.validateFastaInput(sequences); - ConfiguredExecutable confClust = init(sequences); - return WSUtil.align(sequences, confClust, log, "align", getLimit("")); - } - - ConfiguredExecutable init(List dataSet) - throws JobSubmissionException { - Jpred jpred = new Jpred(); - jpred.setInput(SkeletalExecutable.INPUT); - jpred.setOutput(SkeletalExecutable.OUTPUT); - jpred.setError(SkeletalExecutable.ERROR); - ConfiguredExecutable confJpred = Configurator.configureExecutable(jpred, dataSet); - // Set the number of threads for the cluster execution from conf file - if (confJpred.getExecProvider() == Executable.ExecProvider.Cluster) { - int clusterCpuNum = SkeletalExecutable.getClusterCpuNum(jpred.getType()); - if (clusterCpuNum != 0) { - jpred.setNCore(clusterCpuNum); - } - } - return confJpred; - } - - @Override - public String presetAlign(List sequences, - Preset preset) throws JobSubmissionException, - WrongParameterException { - WSUtil.validateFastaInput(sequences); - if (preset == null) { - throw new WrongParameterException("Preset must be provided!"); - } - Limit limit = getLimit(preset.getName()); - ConfiguredExecutable confClust = init(sequences); - confClust.addParameters(preset.getOptions()); - return WSUtil.align(sequences, confClust, log, "presetAlign", limit); - } - - @Override - public String customAlign(List sequences, - List> options) throws JobSubmissionException, - WrongParameterException { - WSUtil.validateFastaInput(sequences); - ConfiguredExecutable confClust = init(sequences); - List params = WSUtil.getCommands(options, Jpred.KEY_VALUE_SEPARATOR); - confClust.addParameters(params); - log.info("Setting parameters: " + params); - return WSUtil.align(sequences, confClust, log, "customAlign", getLimit("")); - } - - @Override - public RunnerConfig getRunnerOptions() { - return jpredOptions; - } - - @SuppressWarnings("unchecked") - @Override - public Alignment getResult(String jobId) throws ResultNotAvailableException { - WSUtil.validateJobId(jobId); - AsyncExecutor asyncEngine = Configurator.getAsyncEngine(jobId); - ConfiguredExecutable jpred = (ConfiguredExecutable) asyncEngine.getResults(jobId); - return jpred.getResults(); - } - - @Override - public Limit getLimit(String presetName) { - if (limitMan == null) { - // No limit is configured - return null; - } - Limit limit = limitMan.getLimitByName(presetName); - return limit; - } - - @Override - public LimitsManager getLimits() { - return limitMan; - } - - @Override - public boolean cancelJob(String jobId) { - WSUtil.validateJobId(jobId); - boolean result = WSUtil.cancelJob(jobId); - return result; - } - - @Override - public JobStatus getJobStatus(String jobId) { - WSUtil.validateJobId(jobId); - JobStatus status = WSUtil.getJobStatus(jobId); - return status; - } - - @Override - public PresetManager getPresets() { - return jpredPresets; - } - - @Override - public ChunkHolder pullExecStatistics(String jobId, long position) { - WSUtil.validateJobId(jobId); - String file = Configurator.getWorkDirectory(jobId) + File.separator + Jpred.getStatFile(); - ChunkHolder cholder = WSUtil.pullFile(file, position); - return cholder; - } - -} +//package compbio.ws.server; +// +//import java.io.File; +//import java.util.List; +// +//import javax.jws.WebService; +// +//import org.apache.log4j.Logger; +// +//import compbio.data.msa.JABAService; +//import compbio.data.msa.MsaWS; +//import compbio.data.sequence.Alignment; +//import compbio.data.sequence.JpredAlignment; +//import compbio.data.sequence.FastaSequence; +//import compbio.engine.AsyncExecutor; +//import compbio.engine.Configurator; +//import compbio.engine.client.ConfiguredExecutable; +//import compbio.engine.client.Executable; +//import compbio.engine.client.SkeletalExecutable; +//import compbio.engine.client.EngineUtil; +//import compbio.metadata.ChunkHolder; +//import compbio.metadata.JobStatus; +//import compbio.metadata.JobSubmissionException; +//import compbio.metadata.Limit; +//import compbio.metadata.LimitsManager; +//import compbio.metadata.Option; +//import compbio.metadata.Preset; +//import compbio.metadata.PresetManager; +//import compbio.metadata.ResultNotAvailableException; +//import compbio.metadata.RunnerConfig; +//import compbio.metadata.WrongParameterException; +//import compbio.runner.RunnerUtil; +//import compbio.runner.predictors.Jpred; +// +//@WebService(endpointInterface = "compbio.data.msa.MsaWS", targetNamespace = JABAService.V2_SERVICE_NAMESPACE, serviceName = "JpredWS") +//public class JpredWS implements MsaWS { +// +// private static Logger log = Logger.getLogger(JpredWS.class); +// +// private static final RunnerConfig jpredOptions = RunnerUtil.getSupportedOptions(Jpred.class); +// private static final PresetManager jpredPresets = RunnerUtil.getPresets(Jpred.class); +// private static final LimitsManager limitMan = EngineUtil.getLimits(new Jpred().getType()); +// +// @Override +// public String align(List sequences) +// throws JobSubmissionException { +// WSUtil.validateFastaInput(sequences); +// ConfiguredExecutable confClust = init(sequences); +// return WSUtil.align(sequences, confClust, log, "align", getLimit("")); +// } +// +// ConfiguredExecutable init(List dataSet) +// throws JobSubmissionException { +// Jpred jpred = new Jpred(); +// jpred.setInput(SkeletalExecutable.INPUT); +// jpred.setOutput(SkeletalExecutable.OUTPUT); +// jpred.setError(SkeletalExecutable.ERROR); +// ConfiguredExecutable confJpred = Configurator.configureExecutable(jpred, dataSet); +// // Set the number of threads for the cluster execution from conf file +// if (confJpred.getExecProvider() == Executable.ExecProvider.Cluster) { +// int clusterCpuNum = SkeletalExecutable.getClusterCpuNum(jpred.getType()); +// if (clusterCpuNum != 0) { +// jpred.setNCore(clusterCpuNum); +// } +// } +// return confJpred; +// } +// +// @Override +// public String presetAlign(List sequences, +// Preset preset) throws JobSubmissionException, +// WrongParameterException { +// WSUtil.validateFastaInput(sequences); +// if (preset == null) { +// throw new WrongParameterException("Preset must be provided!"); +// } +// Limit limit = getLimit(preset.getName()); +// ConfiguredExecutable confClust = init(sequences); +// confClust.addParameters(preset.getOptions()); +// return WSUtil.align(sequences, confClust, log, "presetAlign", limit); +// } +// +// @Override +// public String customAlign(List sequences, +// List> options) throws JobSubmissionException, +// WrongParameterException { +// WSUtil.validateFastaInput(sequences); +// ConfiguredExecutable confClust = init(sequences); +// List params = WSUtil.getCommands(options, Jpred.KEY_VALUE_SEPARATOR); +// confClust.addParameters(params); +// log.info("Setting parameters: " + params); +// return WSUtil.align(sequences, confClust, log, "customAlign", getLimit("")); +// } +// +// @Override +// public RunnerConfig getRunnerOptions() { +// return jpredOptions; +// } +// +// @SuppressWarnings("unchecked") +// @Override +// public Alignment getResult(String jobId) throws ResultNotAvailableException { +// WSUtil.validateJobId(jobId); +// AsyncExecutor asyncEngine = Configurator.getAsyncEngine(jobId); +// ConfiguredExecutable jpred = (ConfiguredExecutable) asyncEngine.getResults(jobId); +// return (Alignment)jpred.getResults(); +// } +// +// @Override +// public Limit getLimit(String presetName) { +// if (limitMan == null) { +// // No limit is configured +// return null; +// } +// Limit limit = limitMan.getLimitByName(presetName); +// return limit; +// } +// +// @Override +// public LimitsManager getLimits() { +// return limitMan; +// } +// +// @Override +// public boolean cancelJob(String jobId) { +// WSUtil.validateJobId(jobId); +// boolean result = WSUtil.cancelJob(jobId); +// return result; +// } +// +// @Override +// public JobStatus getJobStatus(String jobId) { +// WSUtil.validateJobId(jobId); +// JobStatus status = WSUtil.getJobStatus(jobId); +// return status; +// } +// +// @Override +// public PresetManager getPresets() { +// return jpredPresets; +// } +// +// @Override +// public ChunkHolder pullExecStatistics(String jobId, long position) { +// WSUtil.validateJobId(jobId); +// String file = Configurator.getWorkDirectory(jobId) + File.separator + Jpred.getStatFile(); +// ChunkHolder cholder = WSUtil.pullFile(file, position); +// return cholder; +// } +// +//}