import compbio.beans.ProteinBean;
import compbio.cassandra.CassandraNativeConnector;
+import compbio.cassandra.readers.JobReader;
import compbio.cassandra.readers.SequenceReader;
import compbio.engine.archive.ArchivedJob;
+/**
+ * Implementation of the Jpred web service in ProteoCache
+ *
+ * @author Alexander Sherstnev
+ * @author Natasha Sherstneva
+ *
+ * @version 1.0
+ * @since Jan 2014
+ */
@WebService(endpointInterface = "compbio.ws.jpred.Jpred", targetNamespace = "http://server.proteocache.ws", serviceName = "ProteoCacheWS", portName = "ProteoCacheWSPort")
public class JpredWS implements Jpred {
private static Logger log = Logger.getLogger(CassandraNativeConnector.class);
}
@Override
- public String findSequence(String sequence, String program, String version) {
+ public int findSequence(String sequence, String program, String version) {
List<String> jobs = findJobs(sequence, program, version);
if (null != jobs) {
- return jobs.size() + " jobs found";
+ return jobs.size();
}
- return "no jobs found";
+ return 0;
}
@Override
@Override
public String getArchive(String jobid) {
- String link = "undefined";
+ String link = null;
ArchivedJob aj = new ArchivedJob(jobid);
try {
link = aj.prepareJobArchiveToWeb();
log.error("JpredWS.findSequence: IO exception with job archive file");
log.error(e.getLocalizedMessage(), e.getCause());
}
+ // if the archive file is not available null is returned
return link;
}
+ @Override
+ public int jobExists(String jobid) {
+ CassandraNativeConnector dbconnector = new CassandraNativeConnector();
+ JobReader reader = new JobReader();
+ reader.setSession(dbconnector.getSession());
+ if (null != reader.readJobLog(jobid)) {
+ return 1;
+ }
+ return 0;
+ }
+
}