X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Frest%2Fparams%2FJobConstant.java;h=cecf5e19d3d2edfafe53370fb53d6c3f4b7feadb;hb=59d682209891099d46b960509907c79e3fb276fe;hp=fddfd3b231a14db5ef4c16d12e09fe47d141cee2;hpb=a789f790fbb3ab13f1967b42781b837b58bf9bbc;p=jalview.git diff --git a/src/jalview/ws/rest/params/JobConstant.java b/src/jalview/ws/rest/params/JobConstant.java index fddfd3b..cecf5e1 100644 --- a/src/jalview/ws/rest/params/JobConstant.java +++ b/src/jalview/ws/rest/params/JobConstant.java @@ -1,3 +1,20 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) + * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, 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.params; import jalview.ws.params.OptionI; @@ -6,6 +23,7 @@ import jalview.ws.rest.NoValidInputDataException; import jalview.ws.rest.RestJob; import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; @@ -14,17 +32,21 @@ import org.apache.http.entity.mime.content.StringBody; /** * defines a constant value always provided as a parameter. + * * @author JimP - * + * */ public class JobConstant extends InputType { String value; + /** * - * @param param name of parameter - * @param val value of parameter + * @param param + * name of parameter + * @param val + * value of parameter */ public JobConstant(String param, String val) { @@ -38,7 +60,7 @@ public class JobConstant extends InputType public ContentBody formatForInput(RestJob rj) throws UnsupportedEncodingException, NoValidInputDataException { - + return new StringBody(value); } @@ -46,10 +68,17 @@ public class JobConstant extends InputType public List getURLEncodedParameter() { ArrayList prm = new ArrayList(); - - if (value!=null && value.length()>0) + + if (value != null && value.length() > 0) { - prm.add(value); + try + { + prm.add(URLEncoder.encode(value, "UTF-8")); + } catch (UnsupportedEncodingException ex) + { + throw new Error("Couldn't encode '" + value + "' as UTF-8.", ex); + + } } return prm; } @@ -64,11 +93,13 @@ public class JobConstant extends InputType public boolean configureFromURLtokenString(List tokenstring, StringBuffer warnings) { - if (tokenstring.size()>1) { + if (tokenstring.size() > 1) + { warnings.append("IMPLEMENTATION ERROR: Constant POST parameters cannot have more than one value."); return false; } - if (tokenstring.size()==1) { + if (tokenstring.size() == 1) + { value = tokenstring.get(0); } return true;