Changeset 33077


Ignore:
Timestamp:
2019-05-14T16:09:15+12:00 (5 years 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.

File:
1 edited

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    {
Note: See TracChangeset for help on using the changeset viewer.