Changeset 28030


Ignore:
Timestamp:
2013-08-13T13:28:10+12:00 (11 years ago)
Author:
kjdon
Message:

adding in sort order option

File:
1 edited

Legend:

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

    r27817 r28030  
    3333public abstract class SharedSoleneGS2FieldSearch extends AbstractGS2FieldSearch
    3434{
    35     protected static final String RANK_PARAM_RANK_VALUE = "rank";
     35  //  protected static final String RANK_PARAM_RANK_VALUE = "rank";
    3636  protected static final String SORT_ELEM = "sort";
     37  protected static final String SORT_ORDER_PARAM = "sortOrder";
     38  protected static final String SORT_ORDER_DESCENDING = "1";
     39  protected static final String SORT_ORDER_ASCENDING = "0";
    3740
    3841    static Logger logger = Logger.getLogger(org.greenstone.gsdl3.service.SharedSoleneGS2FieldSearch.class.getName());
     
    101104        /** Lucene's/Solr's rank (sort) param is based on sort fields, not ranked/not */
    102105        createParameter(RANK_PARAM, param_list, lang);
     106        createParameter(SORT_ORDER_PARAM, param_list, lang);
    103107    }
    104108
     
    112116            // get the fields
    113117            ArrayList<String> fields = new ArrayList<String>();
    114             //fields.add(RANK_PARAM_RANK_VALUE);
    115118            ArrayList<String> field_names = new ArrayList<String>();
    116             //field_names.add(getTextString("param.sortBy.rank", lang));
    117119            if (getSortData(fields, field_names, lang)) {
    118120
    119121              param = GSXML.createParameterDescription2(this.doc, name, getTextString("param." + name, lang), GSXML.PARAM_TYPE_ENUM_SINGLE, fields.get(0), fields, field_names);
    120122            }
    121         }
     123        } else if (name.equals(SORT_ORDER_PARAM)) {
     124        String[] vals = { SORT_ORDER_ASCENDING, SORT_ORDER_DESCENDING };
     125        String[] vals_texts = { getTextString("param." + SORT_ORDER_PARAM + "." + SORT_ORDER_ASCENDING, lang), getTextString("param." + SORT_ORDER_PARAM + "." + SORT_ORDER_DESCENDING, lang) };
     126
     127        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);
     128      }
     129
    122130        if (param != null)
    123131        {
     
    157165    return true;
    158166  }
    159     protected void getSortByIndexData(ArrayList<String> index_ids, ArrayList<String> index_names, String lang)
    160     {
    161         // the index info -
    162         Element index_list = (Element) GSXML.getChildByTagName(this.config_info, INDEX_ELEM + GSXML.LIST_MODIFIER);
    163         NodeList indexes = index_list.getElementsByTagName(INDEX_ELEM);
    164         int len = indexes.getLength();
    165         // now add even if there is only one
    166         for (int i = 0; i < len; i++)
    167         {
    168             Element index = (Element) indexes.item(i);
    169             String shortname = index.getAttribute(GSXML.SHORTNAME_ATT);
    170             if (shortname.equals("") || shortname.equals("ZZ") || shortname.equals("TX"))
    171             {
    172                 continue;
    173             }
    174             index_ids.add("by" + shortname);
    175             String display_name = GSXML.getDisplayText(index, GSXML.DISPLAY_TEXT_NAME, lang, "en");
    176             if (display_name.equals(""))
    177             {
    178                 display_name = index.getAttribute(GSXML.NAME_ATT);
    179                 if (display_name.equals(""))
    180                 {
    181                     display_name = shortname;
    182                 }
    183             }
    184             index_names.add(display_name);
    185 
    186         }
    187 
    188     }
    189167
    190168    protected String addFieldInfo(String query, String field)
Note: See TracChangeset for help on using the changeset viewer.