X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fws%2Frest%2Fparams%2FAnnotationFile.java;h=5962a9145bd8e55ca299bf3197cf4e6b4c508e8f;hb=864558097ceffef983b15f24598cfdaf20efd52d;hp=b1681a06f75cd3eff3d32c1cf486c67f48fff869;hpb=a789f790fbb3ab13f1967b42781b837b58bf9bbc;p=jalview.git
diff --git a/src/jalview/ws/rest/params/AnnotationFile.java b/src/jalview/ws/rest/params/AnnotationFile.java
index b1681a0..5962a91 100644
--- a/src/jalview/ws/rest/params/AnnotationFile.java
+++ b/src/jalview/ws/rest/params/AnnotationFile.java
@@ -1,3 +1,23 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ 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.
+ *
+ * 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 .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.ws.rest.params;
import jalview.datamodel.AlignmentI;
@@ -6,8 +26,6 @@ import jalview.ws.params.simple.Option;
import jalview.ws.rest.InputType;
import jalview.ws.rest.NoValidInputDataException;
import jalview.ws.rest.RestJob;
-import jalview.ws.rest.RestServiceDescription;
-import jalview.ws.rest.InputType.molType;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
@@ -19,55 +37,73 @@ import org.apache.http.entity.mime.content.StringBody;
/**
* format a jalview annotation file for input to a rest service.
+ *
* @author JimP
- *
+ *
*/
-public class AnnotationFile extends InputType {
+public class AnnotationFile extends InputType
+{
public AnnotationFile()
{
- super(new Class[] { AlignmentI.class} );
+ super(new Class[] { AlignmentI.class });
}
+
/**
* standard jalview annotation file
*/
- final String JVANNOT="JalviewAnnotation";
+ final String JVANNOT = "JalviewAnnotation";
+
/**
* export annotation row as simple csv
*/
- final String CSVANNOT="CsvAnnotationRow";
+ final String CSVANNOT = "CsvAnnotationRow";
+
/**
* format of annotation file
*/
- String format=JVANNOT;
+ String format = JVANNOT;
+
// TODO verify annotation file format enumeration
@Override
- public ContentBody formatForInput(RestJob rj) throws UnsupportedEncodingException, NoValidInputDataException
+ public ContentBody formatForInput(RestJob rj)
+ throws UnsupportedEncodingException, NoValidInputDataException
{
- AlignmentI al = rj.getAlignmentForInput(token,molType.MIX);
+ AlignmentI al = rj.getAlignmentForInput(token, molType.MIX);
if (format.equals(JVANNOT))
- {return new StringBody(new jalview.io.AnnotationFile().printAnnotations(al.getAlignmentAnnotation(),
- al.getGroups(),al.getProperties()));
- } else {
- if (!format.equals(CSVANNOT))
- {
- throw new UnsupportedEncodingException("Unrecognised format for exporting Annotation ("+format+")");
- }
- return new StringBody(new jalview.io.AnnotationFile().printCSVAnnotations(al.getAlignmentAnnotation()));
+ {
+ return new StringBody(
+ new jalview.io.AnnotationFile()
+ .printAnnotationsForAlignment(al));
+ }
+ else
+ {
+ if (!format.equals(CSVANNOT))
+ {
+ throw new UnsupportedEncodingException(
+ "Unrecognised format for exporting Annotation (" + format
+ + ")");
}
+ return new StringBody(
+ new jalview.io.AnnotationFile().printCSVAnnotations(al
+ .getAlignmentAnnotation()));
+ }
}
+
@Override
public List getURLEncodedParameter()
{
ArrayList prms = new ArrayList();
super.addBaseParams(prms);
- prms.add("format='"+format+"'");
- return prms;
+ prms.add("format='" + format + "'");
+ return prms;
}
+
@Override
public String getURLtokenPrefix()
{
return "ALANNOTATION";
}
+
@Override
public boolean configureProperty(String tok, String val,
StringBuffer warnings)
@@ -75,7 +111,7 @@ public class AnnotationFile extends InputType {
if (tok.startsWith("format"))
{
- for (String fmt : new String[] { CSVANNOT, JVANNOT})
+ for (String fmt : new String[] { CSVANNOT, JVANNOT })
{
if (val.equalsIgnoreCase(fmt))
{
@@ -85,7 +121,7 @@ public class AnnotationFile extends InputType {
}
warnings.append("Invalid annotation file format '" + val
+ "'. Must be one of (");
- for (String fmt : new String[] { CSVANNOT, JVANNOT})
+ for (String fmt : new String[] { CSVANNOT, JVANNOT })
{
warnings.append(" " + fmt);
}
@@ -93,15 +129,15 @@ public class AnnotationFile extends InputType {
}
return false;
}
+
@Override
public List getOptions()
{
// TODO - consider disregarding base options here.
List lst = getBaseOptions();
- lst.add(new Option("format",
- "Alignment annotation upload format", true, JVANNOT,
- format, Arrays.asList(new String[]
- { JVANNOT, CSVANNOT}), null));
+ lst.add(new Option("format", "Alignment annotation upload format",
+ true, JVANNOT, format, Arrays.asList(new String[] { JVANNOT,
+ CSVANNOT }), null));
return lst;
}
}