X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fjalview%2Fws%2Frest%2FInputType.java;h=fb291da564ce58d2f1079652f4354e42c20cd876;hb=bf9a5f8b67b34ebf8c172222b04b50e8ec584c78;hp=c9f9f19048062328a0472598b1bf2de9a24cebb7;hpb=b57a02c25e335d033c97f8a6bacd6b54f62bd2b6;p=jalview.git
diff --git a/src/jalview/ws/rest/InputType.java b/src/jalview/ws/rest/InputType.java
index c9f9f19..fb291da 100644
--- a/src/jalview/ws/rest/InputType.java
+++ b/src/jalview/ws/rest/InputType.java
@@ -1,50 +1,45 @@
-/*******************************************************************************
- * 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
- *
+/*
+ * 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.
- *
+ * 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 .
- *******************************************************************************/
+ *
+ * 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;
+import java.util.Locale;
+
import jalview.ws.params.ArgumentI;
import jalview.ws.params.InvalidArgumentException;
import jalview.ws.params.OptionI;
import jalview.ws.params.ParameterI;
import jalview.ws.params.simple.IntegerParameter;
import jalview.ws.params.simple.Option;
-import jalview.ws.rest.params.SeqGroupIndexVector;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.http.entity.mime.content.ContentBody;
import org.apache.http.entity.mime.content.StringBody;
-import sun.io.CharacterEncoding;
-import sun.misc.CharacterEncoder;
-
/***
* InputType is the abstract model of each input parameter that a rest service
* might take. It enables the engine to validate input by providing { formatter
@@ -53,6 +48,9 @@ import sun.misc.CharacterEncoder;
*/
public abstract class InputType
{
+ private static final Pattern URL_PATTERN = Pattern
+ .compile("^([^=]+)=?'?([^']*)?'?");
+
/**
* not used yet
*/
@@ -134,13 +132,13 @@ public abstract class InputType
{
if (type == null)
{
- return new StringBody(utf8.encode(content).asCharBuffer()
- .toString());
+ return new StringBody(
+ utf8.encode(content).asCharBuffer().toString());
}
else
{
- return new StringBody(utf8.encode(content).asCharBuffer()
- .toString(), type, utf8);
+ return new StringBody(
+ utf8.encode(content).asCharBuffer().toString(), type, utf8);
}
} catch (Exception ex)
{
@@ -216,7 +214,7 @@ public abstract class InputType
boolean valid = true;
for (String tok : tokenstring)
{
- Matcher mtch = Pattern.compile("^([^=]+)=?'?([^']*)?'?").matcher(tok);
+ Matcher mtch = URL_PATTERN.matcher(tok);
if (mtch.find())
{
try
@@ -236,8 +234,8 @@ public abstract class InputType
{
valid = false;
warnings.append("Invalid value for parameter "
- + mtch.group(1).toLowerCase() + " '" + mtch.group(2)
- + "' (expected an integer)\n");
+ + mtch.group(1).toLowerCase(Locale.ROOT) + " '"
+ + mtch.group(2) + "' (expected an integer)\n");
}
if (!configureProperty(mtch.group(1), mtch.group(2), warnings))
@@ -311,9 +309,10 @@ public abstract class InputType
{
// TODO: revise architecture - this is counter intuitive - options with
// different values to their names are actually parameters
- rg = (arg.getValue().length() > 0) ? (arg.getValue().equals(
- arg.getName()) ? arg.getName() : arg.getName() + "='"
- + arg.getValue() + "'") : arg.getName();
+ rg = (arg.getValue().length() > 0)
+ ? (arg.getValue().equals(arg.getName()) ? arg.getName()
+ : arg.getName() + "='" + arg.getValue() + "'")
+ : arg.getName();
}
if (rg.length() > 0)
{
@@ -321,7 +320,8 @@ public abstract class InputType
}
}
StringBuffer warnings;
- if (!configureFromURLtokenString(urltoks, warnings = new StringBuffer()))
+ if (!configureFromURLtokenString(urltoks,
+ warnings = new StringBuffer()))
{
throw new InvalidArgumentException(warnings.toString());
}
@@ -330,9 +330,9 @@ public abstract class InputType
protected OptionI createMolTypeOption(String name, String descr,
boolean req, molType curType, molType defType)
{
- return new Option(name, descr, req, defType == null ? ""
- : defType.toString(),
+ return new Option(name, descr, req,
+ defType == null ? "" : defType.toString(),
curType == null ? "" : curType.toString(),
molType.toStringValues(), null);
}
-}
\ No newline at end of file
+}