/** @param picklistKey */ public void selectEntryByKey(String picklistKey) { if (picklistKey != null) { Collection<IPicklistEntry> values = entries.values(); for (IPicklistEntry pe : values) { if (pe.getKey().equals(picklistKey)) { selectEntry(pe); return; } } } }
/** * 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); } } }
/** * @param pEntry * @return */ protected String getKey(IPicklistEntry pEntry) { String key = null; if (null != entries && null != pEntry) { boolean found = false; int id = pEntry.getId(); if (entries.containsKey(new Integer(id))) { found = true; key = Integer.toString(id); } if (!found && pEntry.isVeraltet()) { entries.put(new Integer(id), pEntry); addElement("[" + pEntry.getBezeichnung(lang) + "]", Integer.toString(id)); key = Integer.toString(entries.size() - 1); } } else { if (entries != null && pEntry == null && allowEmptySelection) { key = "0"; } } return key; }