X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Frest%2FInputType.java;h=88431a6ff113d3550b03ce70bfad15677c3d1907;hb=f4766a7bbcfae845fc95923b01fa14ff83d589ff;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..88431a6 100644 --- a/src/jalview/ws/rest/InputType.java +++ b/src/jalview/ws/rest/InputType.java @@ -1,20 +1,23 @@ -/******************************************************************************* - * 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 jalview.ws.params.ArgumentI; @@ -23,28 +26,18 @@ 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 +46,9 @@ import sun.misc.CharacterEncoder; */ public abstract class InputType { + private static final Pattern URL_PATTERN = Pattern + .compile("^([^=]+)=?'?([^']*)?'?"); + /** * not used yet */ @@ -134,13 +130,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 +212,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 @@ -311,9 +307,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 +318,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 +328,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 +}