Ignore:
Timestamp:
2013-08-29T15:03:53+12:00 (11 years ago)
Author:
kjdon
Message:

making search param defaults able to be set in config file. uses <paramDefault name=xx value=yy> element. Now all defaults are set in paramDefaults HashMap instead of individual variables. have left index etc ones for now as they are more complicated.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/service/SharedSoleneGS2FieldSearch.java

    r28061 r28181  
    4646    protected SharedSoleneQuery solene_src = null;
    4747
     48 
    4849    public SharedSoleneGS2FieldSearch()
    4950    {
     51      super();
    5052        // Lucene/Solr uses double operators, not single
    5153        AND_OPERATOR = "&&";
     
    5456        does_paging = true;
    5557        does_chunking = true;
     58        paramDefaults.put(SORT_ORDER_PARAM, SORT_ORDER_DESCENDING);
    5659    }
    5760
     
    6770        Element config_search = (Element) GSXML.getChildByTagName(extra_info, GSXML.SEARCH_ELEM);
    6871        Document owner = info.getOwnerDocument();
    69         // get out the sort fields
     72        // find the sort fields in serviceRack xml, and add in the deisplayItems if any
    7073        NodeList sort_nodes = info.getElementsByTagName(SORT_ELEM);
    7174
     
    115118    {
    116119        Element param = null;
     120        String param_default = paramDefaults.get(name);
    117121        if (name.equals(RANK_PARAM))
    118122        {
     
    120124            ArrayList<String> fields = new ArrayList<String>();
    121125            ArrayList<String> field_names = new ArrayList<String>();
    122             if (getSortData(fields, field_names, lang)) {
    123 
    124               param = GSXML.createParameterDescription2(this.doc, name, getTextString("param." + name, lang), GSXML.PARAM_TYPE_ENUM_SINGLE, fields.get(0), fields, field_names);
     126            if (!getSortData(fields, field_names, lang)) {
     127              fields.add(RANK_PARAM_RANK);
     128              fields.add(RANK_PARAM_NONE);
     129              field_names.add(getTextString("param." + RANK_PARAM + "." + RANK_PARAM_RANK, lang));
     130              field_names.add(getTextString("param." + RANK_PARAM + "." + RANK_PARAM_NONE, lang));
    125131            }
     132           
     133            param = GSXML.createParameterDescription2(this.doc, name, getTextString("param." + name, lang), GSXML.PARAM_TYPE_ENUM_SINGLE, fields.get(0), fields, field_names);
     134           
    126135        } else if (name.equals(SORT_ORDER_PARAM)) {
    127136        String[] vals = { SORT_ORDER_ASCENDING, SORT_ORDER_DESCENDING };
    128137        String[] vals_texts = { getTextString("param." + SORT_ORDER_PARAM + "." + SORT_ORDER_ASCENDING, lang), getTextString("param." + SORT_ORDER_PARAM + "." + SORT_ORDER_DESCENDING, lang) };
    129138
    130         param = GSXML.createParameterDescription(this.doc, SORT_ORDER_PARAM, getTextString("param." + SORT_ORDER_PARAM, lang), GSXML.PARAM_TYPE_ENUM_SINGLE, SORT_ORDER_ASCENDING, vals, vals_texts);
     139        param = GSXML.createParameterDescription(this.doc, SORT_ORDER_PARAM, getTextString("param." + SORT_ORDER_PARAM, lang), GSXML.PARAM_TYPE_ENUM_SINGLE, SORT_ORDER_DESCENDING, vals, vals_texts);
    131140      }
    132141
Note: See TracChangeset for help on using the changeset viewer.