Changeset 13999 for trunk


Ignore:
Timestamp:
2007-04-02T12:29:05+12:00 (17 years ago)
Author:
qq6
Message:

add parameters:indexSubcollection, indexLanguage, defaultIndexSubcollection, defaultIndexLanguage, method: getIndexLanguageData(),getIndexSubcollectionData()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/service/AbstractGS2Search.java

    r13911 r13999  
    5353    protected static final String INDEX_STEM_ELEM = "indexStem";
    5454    protected static final String INDEX_ELEM = "index";
     55    protected static final String DEFAULT_INDEX_SUBCOLLECTION_ELEM = "defaultIndexSubcollection";
     56    protected static final String DEFAULT_INDEX_LANGUAGE_ELEM = "defaultIndexLanguage";
     57    protected static final String INDEX_SUBCOLLECTION_ELEM = "indexSubcollection";
     58    protected static final String INDEX_LANGUAGE_ELEM = "indexLanguage";
     59   
    5560
    5661    // Some indexing options
     
    99104        this.default_index = def.getAttribute(GSXML.SHORTNAME_ATT);
    100105    } // otherwise will be "", and the first one will be the default
     106       
     107        //get the default indexSubcollection out of <defaultIndexSubcollection> (buildConfig.xml)
     108        Element defSub = (Element) GSXML.getChildByTagName(info, DEFAULT_INDEX_SUBCOLLECTION_ELEM);
     109    if (defSub != null) {
     110        this.default_index_subcollection = defSub.getAttribute(GSXML.SHORTNAME_ATT);
     111    }
     112
     113    //get the default indexLanguage out of <defaultIndexLanguage> (buildConfig.xml)
     114        Element defLang = (Element) GSXML.getChildByTagName(info, DEFAULT_INDEX_LANGUAGE_ELEM);
     115    if (defLang != null) {
     116        this.default_index_language = defLang.getAttribute(GSXML.SHORTNAME_ATT);
     117    } //concate defaultIndex + defaultIndexSubcollection + defaultIndexLanguage
     118     
    101119
    102120    // the index stem is either the collection name or is specified in the config file
     
    199217        }
    200218        index_names.add(display_name);
    201        
    202     }
    203    
    204     }
     219    }   
     220    }
     221
     222    protected void getIndexSubcollectionData(ArrayList index_sub_ids, ArrayList index_sub_names, String lang){
     223    // the index info -
     224    Element index_sub_list = (Element)GSXML.getChildByTagName(this.config_info, INDEX_SUBCOLLECTION_ELEM+GSXML.LIST_MODIFIER);
     225    NodeList index_subs = index_sub_list.getElementsByTagName(INDEX_SUBCOLLECTION_ELEM);
     226    int len = index_subs.getLength();
     227    // now add even if there is only one
     228    for (int i=0; i<len; i++) {
     229        Element indexsub = (Element)index_subs.item(i);
     230        String shortname = indexsub.getAttribute(GSXML.SHORTNAME_ATT);
     231        if (shortname.equals("")) {
     232        continue;
     233        }
     234        index_sub_ids.add(shortname);
     235        String display_name = GSXML.getDisplayText(indexsub, GSXML.DISPLAY_TEXT_NAME, lang, "en");
     236        if (display_name.equals("")) {
     237        display_name = indexsub.getAttribute(GSXML.NAME_ATT);
     238        if (display_name.equals("")) {
     239            display_name = shortname;
     240        }
     241        }
     242        index_sub_names.add(display_name);
     243    }       
     244     }
     245     
     246    protected void getIndexLanguageData(ArrayList index_lang_ids, ArrayList index_lang_names, String lang){
     247    // the index info -
     248    Element index_lang_list = (Element)GSXML.getChildByTagName(this.config_info, INDEX_LANGUAGE_ELEM+GSXML.LIST_MODIFIER);
     249    NodeList index_langs = index_lang_list.getElementsByTagName(INDEX_LANGUAGE_ELEM);
     250    int len = index_langs.getLength();
     251    // now add even if there is only one
     252    for (int i=0; i<len; i++) {
     253        Element indexlang = (Element)index_langs.item(i);
     254        String shortname = indexlang.getAttribute(GSXML.SHORTNAME_ATT);
     255        if (shortname.equals("")) {
     256        continue;
     257        }
     258        index_lang_ids.add(shortname);
     259        String display_name = GSXML.getDisplayText(indexlang, GSXML.DISPLAY_TEXT_NAME, lang, "en");
     260        if (display_name.equals("")) {
     261        display_name = indexlang.getAttribute(GSXML.NAME_ATT);
     262        if (display_name.equals("")) {
     263            display_name = shortname;
     264        }
     265        }
     266        index_lang_names.add(display_name);
     267    }   
     268   
     269
     270    }
     271
    205272
    206273    protected void addCustomQueryParams(Element param_list, String lang)
Note: See TracChangeset for help on using the changeset viewer.