Ignore:
Timestamp:
2016-07-28T12:58:54+12:00 (8 years ago)
Author:
kjdon
Message:

modifying the way levels, indexes, classifier buttons are displayed. displayItem with specific lang takes priority, then displayItem with a key for dictionary lookup, then if no displayItems lookup the level/index name in hte dictionary

File:
1 edited

Legend:

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

    r29558 r30634  
    253253            }
    254254            index_ids.add(shortname);
    255             String display_name = GSXML.getDisplayText(index, GSXML.DISPLAY_TEXT_NAME, lang, "en");
     255            String display_name = getDisplayText(index, GSXML.DISPLAY_TEXT_NAME, lang, "en", "metadata_names");
    256256            if (display_name.equals(""))
    257257            {
     
    261261                    display_name = shortname;
    262262                }
     263                String d_name = getTextString(display_name+".buttonname", lang, "metadata_names");
     264                if (d_name == null) {
     265                  d_name = getTextString(cleanUpMetadata(display_name)+".buttonname", lang, "metadata_names");
     266                }
     267                if (d_name == null) {
     268                  d_name = getTextString(display_name, lang, "metadata_names");
     269                }
     270                if (d_name != null) {
     271
     272                  display_name = d_name;
     273                }
    263274            }
    264275            index_names.add(display_name);
     
    266277    }
    267278
     279  protected String cleanUpMetadata(String meta) {
     280    // remove namespace, and only take the first item if there is a list of them.
     281   
     282    logger.error("clean up "+meta);
     283    String[] parts = meta.split("[,;]");
     284    String cleaned = parts[0];
     285    if (cleaned.lastIndexOf('.') != -1) {
     286      cleaned = cleaned.substring(cleaned.lastIndexOf('.')+1);
     287    }
     288    logger.error("returning "+cleaned);
     289    return cleaned;
     290   
     291  }
    268292    protected void getIndexSubcollectionData(ArrayList<String> index_sub_ids, ArrayList<String> index_sub_names, String lang)
    269293    {
     
    282306            }
    283307            index_sub_ids.add(shortname);
    284             String display_name = GSXML.getDisplayText(indexsub, GSXML.DISPLAY_TEXT_NAME, lang, "en");
     308            String display_name = getDisplayText(indexsub, GSXML.DISPLAY_TEXT_NAME, lang, "en");
    285309            if (display_name.equals(""))
    286310            {
     
    311335            }
    312336            index_lang_ids.add(shortname);
    313             String display_name = GSXML.getDisplayText(indexlang, GSXML.DISPLAY_TEXT_NAME, lang, "en");
     337            String display_name = getDisplayText(indexlang, GSXML.DISPLAY_TEXT_NAME, lang, "en", "metadata_names");
    314338            if (display_name.equals(""))
    315339            {
Note: See TracChangeset for help on using the changeset viewer.