X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws1%2FJPredThread.java;h=85969fc41298b1ee7ed4a551ddef002e379a9797;hb=9493ac8f3b6a02d3cf9747ed6c0d6cf407d284e8;hp=a478b87bfbbd1653cd8ffb4aad35e966cec2ff82;hpb=797df64fa2a0a30773d0f48f5494d4155e5a8be3;p=jalview.git
diff --git a/src/jalview/ws/jws1/JPredThread.java b/src/jalview/ws/jws1/JPredThread.java
index a478b87..85969fc 100644
--- a/src/jalview/ws/jws1/JPredThread.java
+++ b/src/jalview/ws/jws1/JPredThread.java
@@ -1,19 +1,22 @@
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* Jalview is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- *
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
* Jalview 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 GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License along with Jalview. If not, see .
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.ws.jws1;
@@ -137,8 +140,7 @@ class JPredThread extends JWS1Thread implements WSClientI
if (!jalview.analysis.SeqsetUtils.deuniquify(
(Hashtable) SequenceInfo, sqs))
{
- throw (new Exception(
- "Couldn't recover sequence properties for alignment."));
+ throw (new Exception(MessageManager.getString("exception.couldnt_recover_sequence_properties_for_alignment")));
}
}
FirstSeq = 0;
@@ -150,8 +152,7 @@ class JPredThread extends JWS1Thread implements WSClientI
}
else
{
- throw (new Exception("Unknown format " + format
- + " for file : \n" + result.getAligfile()));
+ throw (new Exception(MessageManager.formatMessage("exception.unknown_format_for_file", new String[]{format,result.getAligfile()})));
}
}
else
@@ -165,14 +166,13 @@ class JPredThread extends JWS1Thread implements WSClientI
.getAlignmentAndColumnSelection(gc))[0];
if (this.msaIndex >= sqs.length)
{
- throw new Error(
- "Implementation Error! Invalid msaIndex for JPredJob on parent MSA input object!");
+ throw new Error(MessageManager.getString("error.implementation_error_invalid_msa_index_for_job"));
}
// ///
// Uses RemoveGapsCommand
// ///
- new jalview.commands.RemoveGapsCommand("Remove Gaps",
+ new jalview.commands.RemoveGapsCommand(MessageManager.getString("label.remove_gaps"),
new SequenceI[]
{ sqs[msaIndex] }, currentView);
@@ -183,8 +183,7 @@ class JPredThread extends JWS1Thread implements WSClientI
if (!jalview.analysis.SeqsetUtils.SeqCharacterUnhash(
al.getSequenceAt(FirstSeq), SequenceInfo))
{
- throw (new Exception(
- "Couldn't recover sequence properties for JNet Query sequence!"));
+ throw (new Exception(MessageManager.getString("exception.couldnt_recover_sequence_props_for_jnet_query")));
}
else
{
@@ -197,7 +196,8 @@ class JPredThread extends JWS1Thread implements WSClientI
{
// Adjust input view for gaps
// propagate insertions into profile
- alcsel = ColumnSelection.propagateInsertions(profileseq, al, input);
+ alcsel = ColumnSelection.propagateInsertions(profileseq, al,
+ input);
}
}
}
@@ -255,7 +255,6 @@ class JPredThread extends JWS1Thread implements WSClientI
}
}
-
public JPredJob(Hashtable SequenceInfo, SequenceI seq, int[] delMap)
{
super();
@@ -269,6 +268,10 @@ class JPredThread extends JWS1Thread implements WSClientI
sequence.setId(seq.getName());
sequence.setSeq(sq);
}
+ else
+ {
+ errorMessage = "Sequence is too short to predict with JPred - need at least 20 amino acids.";
+ }
}
public JPredJob(Hashtable SequenceInfo, SequenceI[] msf, int[] delMap)
@@ -284,6 +287,13 @@ class JPredThread extends JWS1Thread implements WSClientI
}
}
}
+
+ String errorMessage = "";
+
+ public String getValidationMessages()
+ {
+ return errorMessage + "\n";
+ }
}
ext.vamsas.Jpred server;
@@ -313,6 +323,10 @@ class JPredThread extends JWS1Thread implements WSClientI
{ job };
job.setJobnum(0);
}
+ else
+ {
+ wsInfo.appendProgressText(job.getValidationMessages());
+ }
}
JPredThread(WebserviceInfo wsinfo, String altitle,
@@ -329,15 +343,17 @@ class JPredThread extends JWS1Thread implements WSClientI
OutputHeader = wsInfo.getProgressText();
job.setJobnum(0);
}
+ else
+ {
+ wsInfo.appendProgressText(job.getValidationMessages());
+ }
}
public void StartJob(AWsJob j)
{
if (!(j instanceof JPredJob))
{
- throw new Error(
- "Implementation error - StartJob(JpredJob) called on "
- + j.getClass());
+ throw new Error(MessageManager.formatMessage("error.implementation_error_startjob_called", new String[]{j.getClass().toString()}));
}
try
{
@@ -358,7 +374,7 @@ class JPredThread extends JWS1Thread implements WSClientI
{
job.result = (vamsas.objects.simple.Result) new JpredResult();
job.result.setInvalid(true);
- job.result.setStatus("Submission " + job.getJobId());
+ job.result.setStatus(MessageManager.formatMessage("label.submission_params", new String[]{job.getJobId().toString()}));
throw new Exception(job.getJobId());
}
else
@@ -370,7 +386,7 @@ class JPredThread extends JWS1Thread implements WSClientI
}
else
{
- throw new Exception("Server timed out - try again later\n");
+ throw new Exception(MessageManager.getString("exception.server_timeout_try_later"));
}
} catch (Exception e)
{
@@ -394,9 +410,7 @@ class JPredThread extends JWS1Thread implements WSClientI
{
wsInfo.setStatus(j.getJobnum(), WebserviceInfo.STATE_STOPPED_ERROR);
// JBPNote - this could be a popup informing the user of the problem.
- wsInfo.appendProgressText(j.getJobnum(),
- "Failed to submit the prediction:\n" + e.getMessage()
- + wsInfo.getProgressText());
+ wsInfo.appendProgressText(j.getJobnum(), MessageManager.formatMessage("info.failed_to_submit_prediction", new String[]{e.getMessage(),wsInfo.getProgressText()}));
jalview.bin.Cache.log.debug(
"Failed Submission of job " + j.getJobnum(), e);
@@ -451,6 +465,8 @@ class JPredThread extends JWS1Thread implements WSClientI
}
else
{
+ wsInfo.setStatus(wsInfo.STATE_STOPPED_ERROR);
+ wsInfo.appendInfoText("No jobs ran.");
wsInfo.setFinishedNoResults();
}
}
@@ -484,8 +500,7 @@ class JPredThread extends JWS1Thread implements WSClientI
else
{
// do merge with other job results
- throw new Error(
- "Multiple JNet subjob merging not yet implemented.");
+ throw new Error(MessageManager.getString("error.multiple_jnet_subjob_merge_not_implemented"));
}
} catch (Exception e)
{
@@ -493,9 +508,7 @@ class JPredThread extends JWS1Thread implements WSClientI
"JNet Client: JPred Annotation Parse Error", e);
wsInfo.setStatus(j.getJobnum(),
WebserviceInfo.STATE_STOPPED_ERROR);
- wsInfo.appendProgressText(j.getJobnum(), OutputHeader + "\n"
- + j.result.getStatus()
- + "\nInvalid JNet job result data!\n" + e.getMessage());
+ wsInfo.appendProgressText(j.getJobnum(), MessageManager.formatMessage("info.invalid_jnet_job_result_data", new String[]{OutputHeader.toString(),j.result.getStatus(), e.getMessage() }));
j.result.setBroken(true);
}
}
@@ -563,7 +576,7 @@ class JPredThread extends JWS1Thread implements WSClientI
public void cancelJob()
{
- throw new Error("Implementation error!");
+ throw new Error(MessageManager.getString("error.implementation_error"));
}
public boolean canMergeResults()