Changeset 33077

Show
Ignore:
Timestamp:
14.05.2019 16:09:15 (2 months ago)
Author:
kjdon
Message:

added some more methods to do with default values - want to be able to get out default values from the params class.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/util/GSParams.java

    r33039 r33077  
    2020 
    2121import java.util.HashMap; 
     22import java.util.ArrayList; 
    2223 
    2324import org.apache.log4j.Logger; 
     
    9394  protected HashMap<String, Param> service_param_map = null; 
    9495 
     96    protected ArrayList<String> params_with_default_list = null; 
     97 
    9598    public GSParams() 
    9699    { 
    97100        this.param_map = new HashMap<String, Param>(30); 
    98101        this.service_param_map =  new HashMap<String, Param>(30); 
     102        this.params_with_default_list = new ArrayList<String>(10); 
    99103 
    100104        // we now only need to add in the ones that need saving, as we will default to "not save" 
     
    115119    } 
    116120 
    117   public boolean addParameter(String name, boolean save, boolean sensitive) { 
     121    public boolean addParameter(String name, boolean save, boolean sensitive) { 
    118122        if (this.param_map.containsKey(name)) 
    119123        { 
     
    133137 
    134138        this.param_map.put(name, new Param(default_value, save)); 
     139        if (default_value != null && !default_value.equals("")) { 
     140            this.params_with_default_list.add(name); 
     141        } 
    135142        return true; 
    136143    } 
     
    149156    { 
    150157        Param p = this.param_map.get(name); 
    151         if (p == null) 
    152             return false; 
    153         p.default_value = default_value; 
     158        if (p == null) { 
     159            addParameter(name, default_value, true); 
     160        }else { 
     161            p.default_value = default_value; 
     162        } 
     163        if (!this.params_with_default_list.contains(name)) { 
     164            this.params_with_default_list.add(name); 
     165        } 
    154166        return true; 
    155167    } 
    156168 
     169    public String getParamDefault(String name) { 
     170    Param p = this.param_map.get(name); 
     171    if (p==null) { 
     172        return null; 
     173    } 
     174    return p.default_value; 
     175     
     176    } 
    157177    public boolean shouldSave(String name) 
    158178    { 
     
    188208  } 
    189209 
     210    public ArrayList<String> getParamsWithDefaults() { 
     211    return (ArrayList<String> )this.params_with_default_list.clone(); 
     212    } 
     213     
    190214  private class Param 
    191215    {