import jalview.datamodel.AlignmentI;
import jalview.datamodel.AlignmentOrder;
import jalview.datamodel.AlignmentView;
-import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.HiddenColumns;
import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceI;
import jalview.gui.AlignFrame;
int nseqs = 0;
if (minlen < 0)
{
- throw new Error(MessageManager.getString("error.implementation_error_minlen_must_be_greater_zero"));
+ throw new Error(
+ MessageManager
+ .getString("error.implementation_error_minlen_must_be_greater_zero"));
}
for (int i = 0; i < seqs.length; i++)
{
.extractGaps(jalview.util.Comparison.GapChars,
seqs[i].getSequenceAsString());
}
- emptySeqs.add(new String[]
- { newname, empty });
+ emptySeqs.add(new String[] { newname, empty });
}
}
return valid;
*
* @return true if getAlignment will return a valid alignment result.
*/
+ @Override
public boolean hasResults()
{
if (subjobComplete
jalview.analysis.AlignmentSorter.recoverOrder(alseqs);
// account for any missing sequences
jalview.analysis.SeqsetUtils.deuniquify(SeqNames, alseqs);
- return new Object[]
- { alseqs, msaorder };
+ return new Object[] { alseqs, msaorder };
}
return null;
}
*
* @return boolean true if job can be submitted.
*/
+ @Override
public boolean hasValidInput()
{
// TODO: get attributes for this MsaWS instance to check if it can do two
String alTitle; // name which will be used to form new alignment window.
- Alignment dataset; // dataset to which the new alignment will be
+ AlignmentI dataset; // dataset to which the new alignment will be
// associated.
String wsUrl, WebserviceInfo wsinfo,
jalview.gui.AlignFrame alFrame, String wsname, String title,
AlignmentView _msa, boolean subgaps, boolean presorder,
- Alignment seqset)
+ AlignmentI seqset)
{
this(server2, wsUrl, wsinfo, alFrame, _msa, wsname, subgaps, presorder);
OutputHeader = wsInfo.getProgressText();
{
return validInput;
}
+
+ @Override
public boolean isCancellable()
{
return true;
}
+ @Override
public void cancelJob()
{
if (!jobComplete && jobs != null)
}
}
+ @Override
public void pollJob(AWsJob job) throws Exception
{
// TODO: investigate if we still need to cast here in J1.6
return changed;
}
+ @Override
public void StartJob(AWsJob job)
{
Exception lex = null;
// boiler plate template
if (!(job instanceof MsaWSJob))
{
- throw new Error(MessageManager.formatMessage("error.implementation_error_msawbjob_called", new String[]{job.getClass().toString()}));
+ throw new Error(MessageManager.formatMessage(
+ "error.implementation_error_msawbjob_called",
+ new String[] { job.getClass().toString() }));
}
MsaWSJob j = (MsaWSJob) job;
if (j.isSubmitted())
}
else
{
- throw new Exception(MessageManager.formatMessage("exception.web_service_returned_null_try_later", new String[]{WsUrl}));
+ throw new Exception(MessageManager.formatMessage(
+ "exception.web_service_returned_null_try_later",
+ new String[] { WsUrl }));
}
} catch (compbio.metadata.UnsupportedRuntimeException _lex)
{
lex = _lex;
- wsInfo.appendProgressText(MessageManager.formatMessage("info.job_couldnt_be_run_server_doesnt_support_program", new String[]{_lex.getMessage()}));
- wsInfo.warnUser(_lex.getMessage(), MessageManager.getString("warn.service_not_supported"));
+ wsInfo.appendProgressText(MessageManager.formatMessage(
+ "info.job_couldnt_be_run_server_doesnt_support_program",
+ new String[] { _lex.getMessage() }));
+ wsInfo.warnUser(_lex.getMessage(),
+ MessageManager.getString("warn.service_not_supported"));
wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_SERVERERROR);
wsInfo.setStatus(j.getJobnum(),
WebserviceInfo.STATE_STOPPED_SERVERERROR);
} catch (compbio.metadata.LimitExceededException _lex)
{
lex = _lex;
- wsInfo.appendProgressText(MessageManager.formatMessage("info.job_couldnt_be_run_exceeded_hard_limit", new String[]{_lex.getMessage()}));
- wsInfo.warnUser(_lex.getMessage(), MessageManager.getString("warn.input_is_too_big"));
+ wsInfo.appendProgressText(MessageManager.formatMessage(
+ "info.job_couldnt_be_run_exceeded_hard_limit",
+ new String[] { _lex.getMessage() }));
+ wsInfo.warnUser(_lex.getMessage(),
+ MessageManager.getString("warn.input_is_too_big"));
wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_ERROR);
wsInfo.setStatus(j.getJobnum(), WebserviceInfo.STATE_STOPPED_ERROR);
} catch (compbio.metadata.WrongParameterException _lex)
{
lex = _lex;
- wsInfo.warnUser(_lex.getMessage(), MessageManager.getString("warn.invalid_job_param_set"));
- wsInfo.appendProgressText(MessageManager.formatMessage("info.job_couldnt_be_run_incorrect_param_setting", new String[]{_lex.getMessage()}));
+ wsInfo.warnUser(_lex.getMessage(),
+ MessageManager.getString("warn.invalid_job_param_set"));
+ wsInfo.appendProgressText(MessageManager.formatMessage(
+ "info.job_couldnt_be_run_incorrect_param_setting",
+ new String[] { _lex.getMessage() }));
wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_ERROR);
wsInfo.setStatus(j.getJobnum(), WebserviceInfo.STATE_STOPPED_ERROR);
} catch (Error e)
// TODO: JBPNote catch timeout or other fault types explicitly
j.setAllowedServerExceptions(0);
- wsInfo.appendProgressText(j.getJobnum(),
- MessageManager.getString("info.failed_to_submit_sequences_for_alignment"));
+ wsInfo.appendProgressText(j.getJobnum(), MessageManager
+ .getString("info.failed_to_submit_sequences_for_alignment"));
}
}
}
+ @Override
public void parseResult()
{
long progbar = System.currentTimeMillis();
- wsInfo.setProgressBar(MessageManager.getString("status.collecting_job_results"), progbar);
+ wsInfo.setProgressBar(
+ MessageManager.getString("status.collecting_job_results"),
+ progbar);
int results = 0; // number of result sets received
JobStateSummary finalState = new JobStateSummary();
try
wsInfo.showResultsNewFrame
.addActionListener(new java.awt.event.ActionListener()
{
+ @Override
public void actionPerformed(java.awt.event.ActionEvent evt)
{
displayResults(true);
wsInfo.mergeResults
.addActionListener(new java.awt.event.ActionListener()
{
+ @Override
public void actionPerformed(java.awt.event.ActionEvent evt)
{
displayResults(false);
orders[j] = null;
}
SequenceI[] alignment = (SequenceI[]) newview[0];
- ColumnSelection columnselection = (ColumnSelection) newview[1];
+ HiddenColumns hidden = (HiddenColumns) newview[1];
Alignment al = new Alignment(alignment);
// TODO: add 'provenance' property to alignment from the method notes
if (lastProgram != null)
if (newFrame)
{
- displayInNewFrame(al, alorders, columnselection);
+ displayInNewFrame(al, alorders, hidden);
}
else
* @param columnselection
*/
protected void displayInNewFrame(AlignmentI al,
- List<AlignmentOrder> alorders, ColumnSelection columnselection)
+ List<AlignmentOrder> alorders, HiddenColumns hidden)
{
- AlignFrame af = new AlignFrame(al, columnselection,
+ AlignFrame af = new AlignFrame(al, hidden,
AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT);
// initialise with same renderer settings as in parent alignframe.
* SplitFrame with the other pane similarly aligned.
*/
AlignFrame requestedBy = getRequestingAlignFrame();
- if (requestedBy != null && requestedBy.getSplitViewContainer() != null
- && requestedBy.getSplitViewContainer().getComplement(requestedBy)!=null)
+ if (requestedBy != null
+ && requestedBy.getSplitViewContainer() != null
+ && requestedBy.getSplitViewContainer().getComplement(
+ requestedBy) != null)
{
AlignmentI complement = requestedBy.getSplitViewContainer()
.getComplement(requestedBy);
// becomes null if the alignment window was closed before the alignment
// job finished.
AlignmentI copyComplement = new Alignment(complement);
+ // todo should this be done by copy constructor?
+ copyComplement.setGapCharacter(complement.getGapCharacter());
+ // share the same dataset (and the mappings it holds)
+ copyComplement.setDataset(complement.getDataset());
copyComplement.alignAs(al);
if (copyComplement.getHeight() > 0)
{
}
}
+ @Override
public boolean canMergeResults()
{
return false;