Project

General

Profile

« Previous | Next » 

Revision 6873dc8e

Added by Cherian Mathew over 10 years ago

added method to filter DefinedTerm objects by TermType

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java
19 19
import org.eclipse.swt.widgets.Label;
20 20
import org.eclipse.swt.widgets.Listener;
21 21

  
22
import eu.etaxonomy.cdm.model.common.DefinedTerm;
22 23
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
24
import eu.etaxonomy.cdm.model.common.TermType;
23 25
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
24 26
import eu.etaxonomy.taxeditor.preference.Resources;
25 27
import eu.etaxonomy.taxeditor.store.CdmStore;
......
65 67

  
66 68
	private List<T> customPreferredTerms;
67 69

  
70
	/**
71
	 * <p>
72
	 * Constructor for AbstractTermComboElement.
73
	 * </p>
74
	 * 
75
	 * @param parentElement
76
	 *            a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
77
	 *            object.
78
	 * @param style
79
	 *            a int.
80
	 * @param formFactory
81
	 *            a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
82
	 *            object.
83
	 * @param labelString
84
	 *            a {@link java.lang.String} object.
85
	 * @param selection
86
	 *            a T object.
87
	 * @param visibleItems
88
	 *            a int.
89
	 * @param <T>
90
	 *            a T object.
91
	 */
92
	public TermComboElement(CdmFormFactory formFactory,
93
			ICdmFormElement parentElement, TermType termType, String labelString, T selection,
94
			int style) {
95
		super(formFactory, parentElement);
96
		
97
		this.termClass =  (Class<T>) DefinedTerm.class;
98
		
99
		if (labelString != null) {
100
			label = formFactory.createLabel(getLayoutComposite(), labelString);
101
			addControl(label);
102
		}
103

  
104
		// create combo
105
		combo = new Combo(getLayoutComposite(), SWT.BORDER | SWT.READ_ONLY);
106
		addControl(combo);
107
		combo.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
108
		combo.setVisibleItemCount(DEFAULT_VISIBLE_ITEMS);
109

  
110
		populateTerms(filterDefinedTermByTermType(getPreferredTerms(), termType));
111

  
112
		combo.addSelectionListener(this);
113
		combo.addDisposeListener(this);
114
		PreferencesUtil.getPreferenceStore().addPropertyChangeListener(this);
115

  
116
		if (selection != null) {
117
			setSelection(selection);
118
		}
119
	}
68 120

  
69 121
	/**
70 122
	 * <p>
......
392 444
		customPreferredTerms = terms;
393 445
		populateTerms(customPreferredTerms);
394 446
	}
447
	
448
	private List<T> filterDefinedTermByTermType(List<T> terms, TermType termType) {
449
		List<T> definedTerms = new ArrayList<T>();
450
		for(T term : terms){
451
			if(term.getTermType().equals(termType)) {
452
				definedTerms.add(term);
453
			}
454
		}		
455
		return definedTerms;
456
	}
395 457
}

Also available in: Unified diff