+import java.text.Collator;
+import java.util.Comparator;
+
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.ListenerList;
import org.eclipse.jface.viewers.IColorProvider;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.dialog.selection.AbstractFilteredCdmResourceSelectionDialog.FilteredCdmResourceLabelProvider;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.CdmFilteredItemsSelectionDialog.ItemsFilter;
import eu.etaxonomy.taxeditor.ui.dialog.selection.CdmFilteredItemsSelectionDialog.ItemsListSeparator;
/**
return abbrevTitleCache;
}
};
+
+ /** {@inheritDoc} */
+ @Override
+ protected ItemsFilter createFilter() {
+ return new ItemsFilter() {
+
+ /**
+ * Always returns false to enforce refiltering even if the pattern is equal
+ */
+ @Override
+ public boolean equalsFilter(ItemsFilter filter) {
+ return false;
+ }
+
+ @Override
+ public boolean isConsistentItem(Object item) {
+ return false;
+ }
+
+ @Override
+ public boolean matchItem(Object item) {
+ String text = null;
+ if(item instanceof UuidAndTitleCache){
+ text = ((UuidAndTitleCache) item).getAbbrevTitleCache();
+ }else if(item instanceof String){
+ text = (String) item;
+ }
+ return text != null ? matches(text) : false;
+ }
+
+ };
+ }
+
+ @Override
+ protected Comparator getItemsComparator() {
+ return new Comparator<UuidAndTitleCache>() {
+ @Override
+ public int compare(UuidAndTitleCache entity1,
+ UuidAndTitleCache entity2) {
+ Collator collator = Collator.getInstance();
+ return collator.compare(entity1.getAbbrevTitleCache(), entity2.getAbbrevTitleCache());
+ }
+ };
+ }
+
}