コード例 #1
0
  /**
   * set an internal array for the given list of entries
   *
   * @param lang
   * @param entryList
   */
  protected void setupEntries(String lang, List<IPicklistEntry> entryList) {
    clear();
    this.lang = lang;

    if (null != entryList) {
      entries = new HashMap<Integer, IPicklistEntry>();

      for (IPicklistEntry iPicklistEntry : entryList) {
        IPicklistEntry entry = iPicklistEntry;
        if (!entry.isVeraltet()) {
          entries.put(new Integer(entry.getId()), entry);
          this.picklistKey = entry.getPickliste().getKey();
        }
      }

      // sort the list
      Collections.sort(entryList, comparator);

      // add empty selection
      if (allowEmptySelection) {
        entries.put(new Integer(0), null);
        addElement(emptySelectionText, "0");
      }

      String preSelection = null;

      // add entries into combo
      for (int i = 0; i < entryList.size(); i++) {
        IPicklistEntry entry = entryList.get(i);
        if (!entry.isVeraltet()) {
          addElement(entry.getBezeichnung(lang), Integer.toString(entry.getId()));
        }

        if (i == 0) {
          preSelection = Integer.toString(entry.getId());
        }
      }

      if (allowEmptySelection) {
        setSelectedKey("0");
      } else if (preSelection != null) {
        setSelectedKey(preSelection);
      }
    }
  }