X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Frest%2FRestJob.java;h=e5dd84148ba295a85a800acbf55278bd939204e5;hb=996d3319402197c787ced05f24b201cc66f6ed50;hp=445c249a244b3e500c5d899948c9f2c6f98b2d16;hpb=13661ff64c3285b144da4289235ece51c8e50cca;p=jalview.git diff --git a/src/jalview/ws/rest/RestJob.java b/src/jalview/ws/rest/RestJob.java index 445c249..e5dd841 100644 --- a/src/jalview/ws/rest/RestJob.java +++ b/src/jalview/ws/rest/RestJob.java @@ -1,3 +1,20 @@ +/******************************************************************************* + * 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 + * + * 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. + * + * 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 . + *******************************************************************************/ package jalview.ws.rest; import java.io.IOException; @@ -11,6 +28,7 @@ import java.util.Map.Entry; import java.util.Set; import java.util.Vector; +import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; import jalview.datamodel.AlignmentOrder; import jalview.datamodel.AlignmentView; @@ -96,11 +114,14 @@ public class RestJob extends AWsJob } else { + // TODO: move validation of input data to SeqGroupIndexVector if ((prm.getValue() instanceof SeqGroupIndexVector) && (_input.getGroups() != null && _input.getGroups() - .size() > 0)) + .size() >= prm.getValue().min)) { alinp.add(prm.getValue()); + } else { + statMessage=("Not enough groups defined on the alignment - need at least "+prm.getValue().min); } } } @@ -256,6 +277,19 @@ public class RestJob extends AWsJob context = new JalviewDataset(dsForIO, null, squniq, null); if (contextAl!=null) { + // TODO devise way of merging new annotation onto (identical) existing annotation that was used as input + // delete all input annotation + if (contextAl.getAlignmentAnnotation()!=null) { + for (AlignmentAnnotation alan: contextAl.getAlignmentAnnotation()) { + contextAl.deleteAnnotation(alan); + } + } + // TODO devise way of merging new groups onto (identical) existing groups when they were used as input to service + // delete all existing groups + if (contextAl.getGroups()!=null) + { + contextAl.deleteAllGroups(); + } context.addAlignment(contextAl); }