/* Copyright (c) 2011 Peter Troshin * * 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 * * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache * License for more details. * * A copy of the license is in apache_license.txt. It is also available here: * @see: http://www.apache.org/licenses/LICENSE-2.0.txt * * Any republication or derived work distributed in source code form * must include this copyright and license notice. */ package compbio.data.msa; import java.security.InvalidParameterException; import javax.jws.WebParam; import compbio.metadata.ChunkHolder; import compbio.metadata.JobStatus; public interface JManagement { /** * Stop running the job jobId but leave its output untouched * * @return true if job was cancelled successfully, false otherwise * @throws InvalidParameterException * is thrown if jobId is empty or cannot be recognised e.g. in * invalid format */ boolean cancelJob(@WebParam(name = "jobId") String jobId); /** * Return the status of the job. * * @param jobId * - unique job identifier * @return JobStatus - status of the job * @throws InvalidParameterException * is thrown if jobId is empty or cannot be recognised e.g. in * invalid format * @see JobStatus */ JobStatus getJobStatus(@WebParam(name = "jobId") String jobId); /** * Reads 1kb chunk from the statistics file which is specific to a given web * service from the position. If in time of a request less then * 1kb data is available from the position to the end of the file, then it * returns all the data available from the position to the end of the file. * * @param jobId * - unique job identifier * @param position * - next position within the file to read * @return ChunkHolder - which contains a chunk of data and a next position * within the file from which no data has been read * @throws InvalidParameterException * thrown if jobId is empty or cannot be recognised e.g. in * invalid format and also if the position value is negative * @see ChunkHolder */ ChunkHolder pullExecStatistics(@WebParam(name = "jobId") String jobId, @WebParam(name = "position") long position); }