Changeset 33305
- Timestamp:
- 2019-07-08T13:39:51+12:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/service/AbstractGS2FieldSearch.java
r33279 r33305 82 82 protected String NOT_OPERATOR = "!"; 83 83 84 // what levels we support 85 protected ArrayList<String> level_ids = null; 84 86 // the default level for searching 85 87 protected String default_level = null; … … 206 208 } 207 209 210 // lets add displayinfo from collectionConfig into the level elements from buildConfig - 211 // so we can easily find them later. 212 // will also store a list of level ids so we can easily see which levels we have 208 213 Document owner = info.getOwnerDocument(); 209 214 215 level_ids = new ArrayList<String>(); 210 216 NodeList levels = info.getElementsByTagName(GSXML.LEVEL_ELEM); 211 217 212 218 for (int i = 0; i < levels.getLength(); i++) 213 { 214 Element lev = (Element) levels.item(i); 219 { 220 Element lev = (Element) levels.item(i); 221 String shortname = lev.getAttribute(GSXML.SHORTNAME_ATT); 222 if (shortname.equals("")) 223 { 224 continue; 225 } 226 level_ids.add(shortname); 227 215 228 String name = lev.getAttribute(GSXML.NAME_ATT); 216 229 Element node_extra = GSXML.getNamedElement(config_search, GSXML.LEVEL_ELEM, GSXML.NAME_ATT, name); … … 231 244 } 232 245 } 233 }// for each level246 }// for each level 234 247 } 235 248 else 236 249 { 237 // for so emreason we don't have the collectionConfig file. assume plain only250 // for some reason we don't have the collectionConfig file. assume plain only 238 251 this.plain_search = true; 239 252 } … … 478 491 if (name.equals(LEVEL_PARAM)) 479 492 { 480 ArrayList<String> level_ids = new ArrayList<String>();481 493 ArrayList<String> level_names = new ArrayList<String>(); 482 getLevelData(level_ ids, level_names, lang);494 getLevelData(level_names, lang); 483 495 if (level_ids.size() > 1) 484 496 { … … 552 564 553 565 // should cache some of this 554 protected void getLevelData(ArrayList<String> level_ids,ArrayList<String> level_names, String lang)566 protected void getLevelData(ArrayList<String> level_names, String lang) 555 567 { 556 568 Element level_list = (Element) GSXML.getChildByTagName(this.config_info, LEVEL_ELEM + GSXML.LIST_MODIFIER); 557 NodeList levels = level_list.getElementsByTagName(LEVEL_ELEM); 558 for (int i = 0; i < levels.getLength(); i++) 559 { 560 Element level = (Element) levels.item(i); 561 String shortname = level.getAttribute(GSXML.SHORTNAME_ATT); 562 if (shortname.equals("")) 563 { 564 continue; 565 } 566 level_ids.add(shortname); 569 for (int i=0; i<level_ids.size(); i++) { 570 Element level = GSXML.getNamedElement(level_list, GSXML.LEVEL_ELEM, GSXML.SHORTNAME_ATT, level_ids.get(i)); 567 571 String display_name = getDisplayText(level, GSXML.DISPLAY_TEXT_NAME, lang, "en"); 568 572 if (display_name.equals("")) … … 572 576 if (display_name.equals("")) 573 577 { 574 display_name = shortname;578 display_name = level_ids.get(i); // shortname 575 579 } 576 580 else … … 582 586 } 583 587 } 588 584 589 585 590 // the following three functions are needed so the base class can
Note:
See TracChangeset
for help on using the changeset viewer.