private void buildModel(TreeNode<Object> rootNode, List<TermMatch> matches) { if (matches.isEmpty()) { rootNode.add(new DefaultTreeNode<Object>(null)); } else { for (TermMatch match : matches) { boolean synonyms = rgrpLookupMode.getSelectedIndex() == 1; TreeNode<Object> parentNode = synonyms ? new DefaultTreeNode<Object>(match) : new DefaultTreeNode<Object>(match, null, false); rootNode.add(parentNode); if (!synonyms) { for (TermType type : RENDERED_TERM_TYPES) { for (Term term : match.getTerms(type)) { parentNode.add(new DefaultTreeNode<Object>(term)); } } } } } }
public void onClick$btnSearch() { String text = txtSearch.getValue().trim(); boolean synonym = rgrpLookupMode.getSelectedIndex() == 1; FMDate date = new FMDate(datSearch.getValue()); Long max = (Long) rgrpMaxResults.getSelectedItem().getValue(); String[] filters = getSelectedSubsets(); List<TermMatch> matches = TermUtil.lookupSCT(text, synonym, date, max, filters); TreeNode<Object> rootNode = new DefaultTreeNode<>(null, null, false); buildModel(rootNode, matches); DefaultTreeModel<Object> model = new DefaultTreeModel<>(rootNode); treeSearch.setModel(model); }