X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws2%2Fslivka%2FSlivkaWebService.java;h=82a2ba9476491ac8df7bfdc9cd13f17db9c716a0;hb=a0477223e2f54d4c8f011da77ffcb3c879960a43;hp=aee6b73d76e475db363f2494af16a6fff8215e35;hpb=4cfc4dee569d96ac8ce3c1c394318a460a1d0a87;p=jalview.git diff --git a/src/jalview/ws2/slivka/SlivkaWebService.java b/src/jalview/ws2/slivka/SlivkaWebService.java index aee6b73..82a2ba9 100644 --- a/src/jalview/ws2/slivka/SlivkaWebService.java +++ b/src/jalview/ws2/slivka/SlivkaWebService.java @@ -12,7 +12,10 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import jalview.api.AlignViewportI; import jalview.bin.Cache; +import jalview.datamodel.Alignment; +import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; import jalview.datamodel.SequenceI; import jalview.io.AnnotationFile; @@ -234,7 +237,8 @@ public class SlivkaWebService implements WebServiceI return false; } - public AlignmentI getAlignment(WSJob job) throws IOException + public AlignmentI getAlignment(WSJob job, List dataset, + AlignViewportI viewport) throws IOException { Collection files; var slivkaJob = client.getJob(job.getJobId()); @@ -255,7 +259,8 @@ public class SlivkaWebService implements WebServiceI return null; } - public FeaturesFile getFeaturesFile(WSJob job) throws IOException + public FeaturesFile getFeaturesFile(WSJob job, + List dataset, AlignViewportI viewport) throws IOException { var slivkaJob = client.getJob(job.getJobId()); Collection files = slivkaJob.getResults(); @@ -269,7 +274,8 @@ public class SlivkaWebService implements WebServiceI return null; } - public AnnotationFile getAnnotationFile(WSJob job) throws IOException + public List getAnnotationFile(WSJob job, + List dataset, AlignViewportI viewport) throws IOException { var slivkaJob = client.getJob(job.getJobId()); Collection files = slivkaJob.getResults(); @@ -277,7 +283,19 @@ public class SlivkaWebService implements WebServiceI { if (f.getMediaType().equals("application/jalview-annotations")) { - // return new AnnorationFile(...); + Alignment aln = new Alignment(dataset.toArray(new SequenceI[0])); + AnnotationFile af = new AnnotationFile(); + boolean valid = af.readAnnotationFileWithCalcId(aln, service.getId(), + f.getContentUrl().toString(), DataSourceType.URL); + if (valid) + { + return Arrays.asList(aln.getAlignmentAnnotation()); + } + else + { + throw new IOException("Unable to read annotations from file " + + f.getContentUrl().toString()); + } } } return null;