1 package jalview.ws.rest.params;
3 import jalview.ws.params.OptionI;
4 import jalview.ws.rest.InputType;
5 import jalview.ws.rest.NoValidInputDataException;
6 import jalview.ws.rest.RestJob;
8 import java.io.UnsupportedEncodingException;
9 import java.net.URLEncoder;
10 import java.util.ArrayList;
11 import java.util.List;
13 import org.apache.http.entity.mime.content.ContentBody;
14 import org.apache.http.entity.mime.content.StringBody;
17 * defines a constant value always provided as a parameter.
21 public class JobConstant extends InputType
27 * @param param name of parameter
28 * @param val value of parameter
30 public JobConstant(String param, String val)
32 // needs no data from the restJob
39 public ContentBody formatForInput(RestJob rj)
40 throws UnsupportedEncodingException, NoValidInputDataException
43 return new StringBody(value);
47 public List<String> getURLEncodedParameter()
49 ArrayList<String> prm = new ArrayList<String>();
51 if (value!=null && value.length()>0)
54 prm.add(URLEncoder.encode(value,"UTF-8"));
55 } catch (UnsupportedEncodingException ex)
57 throw new Error("Couldn't encode '"+value+"' as UTF-8.",ex);
65 public String getURLtokenPrefix()
71 public boolean configureFromURLtokenString(List<String> tokenstring,
72 StringBuffer warnings)
74 if (tokenstring.size()>1) {
75 warnings.append("IMPLEMENTATION ERROR: Constant POST parameters cannot have more than one value.");
78 if (tokenstring.size()==1) {
79 value = tokenstring.get(0);
85 public boolean configureProperty(String tok, String val,
86 StringBuffer warnings)
88 warnings.append("IMPLEMENTATION ERROR: No Properties to configure for a Constant parameter.");
93 public List<OptionI> getOptions()
95 // empty list - this parameter isn't configurable, so don't try.
96 return new ArrayList<OptionI>();