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 be4912b..ef6969c 100644 (file)
@@ -1,29 +1,33 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, 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 <http://www.gnu.org/licenses/>.
+ * 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
 {
@@ -35,7 +39,7 @@ public class JabaOption implements jalview.ws.params.OptionI
   Option opt;
 
   @Override
-  public String getDefaultValue()
+  public String getValue()
   {
     return opt.getDefaultValue();
   }
@@ -49,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
@@ -72,16 +86,16 @@ public class JabaOption implements jalview.ws.params.OptionI
   }
 
   @Override
-  public void setDefaultValue(String selectedItem)
+  public void setValue(String selectedItem)
   {
     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() }));
     }
   }
 
@@ -102,4 +116,10 @@ public class JabaOption implements jalview.ws.params.OptionI
     return opt;
   }
 
+  @Override
+  public List<String> getDisplayNames()
+  {
+    return null; // not supported for Jaba options
+  }
+
 }