Merge commit 'alpha/update_2_12_for_2_11_2_series_merge^2' into HEAD
[jalview.git] / src / jalview / ws / jws2 / dm / JabaOption.java
index 27ecf85..ef6969c 100644 (file)
@@ -1,12 +1,33 @@
+/*
+ * 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.
+ *  
+ * 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 <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.ws.jws2.dm;
 
-import jalview.ws.jws2.ParameterUtils;
-import jalview.ws.params.OptionI;
-
+import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.List;
 
 import compbio.metadata.Option;
+import jalview.util.MessageManager;
+import jalview.ws.jws2.ParameterUtils;
+import jalview.ws.params.OptionI;
 
 public class JabaOption implements jalview.ws.params.OptionI
 {
@@ -18,7 +39,7 @@ public class JabaOption implements jalview.ws.params.OptionI
   Option opt;
 
   @Override
-  public String getDefaultValue()
+  public String getValue()
   {
     return opt.getDefaultValue();
   }
@@ -32,7 +53,17 @@ public class JabaOption implements jalview.ws.params.OptionI
   @Override
   public URL getFurtherDetails()
   {
-    return opt.getFurtherDetails();
+    try
+    {
+      return new URL(opt.getBasicURL().toExternalForm() + "/"
+              + opt.getFurtherDetails());
+    } catch (NullPointerException q)
+    {
+    } catch (MalformedURLException q)
+    {
+
+    }
+    return null;
   }
 
   @Override
@@ -55,14 +86,16 @@ public class JabaOption implements jalview.ws.params.OptionI
   }
 
   @Override
-  public void setDefaultValue(String selectedItem)
+  public void setValue(String selectedItem)
   {
-    try {
+    try
+    {
       opt.setDefaultValue(selectedItem);
     } catch (Exception e)
     {
-      e.printStackTrace();
-      throw new Error("Implementation error: cannot set Jaba Option to a value outside its allowed value range!");
+      throw new IllegalArgumentException(MessageManager
+              .formatMessage("error.invalid_value_for_option", new String[]
+              { selectedItem, opt.getName() }));
     }
   }
 
@@ -73,12 +106,20 @@ public class JabaOption implements jalview.ws.params.OptionI
   }
 
   /**
-   * get the underlying Jaba option or parameter object. Note - use copy first if you want to modify the value of the option.
+   * get the underlying Jaba option or parameter object. Note - use copy first
+   * if you want to modify the value of the option.
+   * 
    * @return
    */
   public Option getOption()
   {
     return opt;
   }
-  
+
+  @Override
+  public List<String> getDisplayNames()
+  {
+    return null; // not supported for Jaba options
+  }
+
 }