Merge branch 'alpha/JAL-3362_Jalview_212_alpha' into alpha/merge_212_JalviewJS_2112
[jalview.git] / src / jalview / ws / rest / InputType.java
index c3faf9d..c83879a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -30,7 +30,6 @@ import jalview.ws.params.simple.Option;
 import java.io.UnsupportedEncodingException;
 import java.nio.charset.Charset;
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -46,6 +45,9 @@ import org.apache.http.entity.mime.content.StringBody;
  */
 public abstract class InputType
 {
+  private static final Pattern URL_PATTERN = Pattern
+          .compile("^([^=]+)=?'?([^']*)?'?");
+
   /**
    * not used yet
    */
@@ -55,9 +57,9 @@ public abstract class InputType
   {
     NUC, PROT, MIX;
 
-    public static Collection<String> toStringValues()
+    public static List<String> toStringValues()
     {
-      Collection<String> c = new ArrayList<String>();
+      List<String> c = new ArrayList<>();
       for (molType type : values())
       {
         c.add(type.toString());
@@ -72,7 +74,7 @@ public abstract class InputType
 
   public int max = 0; // unbounded
 
-  protected ArrayList<Class> inputData = new ArrayList<Class>();
+  protected List<Class> inputData = new ArrayList<>();
 
   /**
    * initialise the InputType with a list of jalview data classes that the
@@ -101,7 +103,9 @@ public abstract class InputType
   public boolean validFor(RestJob restJob)
   {
     if (!validFor(restJob.rsd))
+    {
       return false;
+    }
     for (Class cl : inputData)
     {
       if (!restJob.hasDataOfType(cl))
@@ -115,7 +119,9 @@ public abstract class InputType
   public boolean validFor(RestServiceDescription restServiceDescription)
   {
     if (!restServiceDescription.inputParams.values().contains(this))
+    {
       return false;
+    }
 
     return true;
   }
@@ -127,13 +133,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)
     {
@@ -209,7 +215,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
@@ -267,7 +273,7 @@ public abstract class InputType
 
   public List<OptionI> getBaseOptions()
   {
-    ArrayList<OptionI> opts = new ArrayList<OptionI>();
+    ArrayList<OptionI> opts = new ArrayList<>();
     opts.add(new IntegerParameter("min",
             "Minimum number of data of this type", true, 1, min, 0, -1));
     opts.add(new IntegerParameter("max",
@@ -292,7 +298,7 @@ public abstract class InputType
   public void configureFromArgumentI(List<ArgumentI> currentSettings)
           throws InvalidArgumentException
   {
-    ArrayList<String> urltoks = new ArrayList<String>();
+    List<String> urltoks = new ArrayList<>();
     String rg;
     for (ArgumentI arg : currentSettings)
     {
@@ -304,9 +310,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)
       {
@@ -314,7 +321,8 @@ public abstract class InputType
       }
     }
     StringBuffer warnings;
-    if (!configureFromURLtokenString(urltoks, warnings = new StringBuffer()))
+    if (!configureFromURLtokenString(urltoks,
+            warnings = new StringBuffer()))
     {
       throw new InvalidArgumentException(warnings.toString());
     }
@@ -323,8 +331,8 @@ 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);
   }