Changeset 5120
- Timestamp:
- 05/02/14 12:20:10 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/provider/FacetFieldValuesProvider.java
r5117 r5120 23 23 import eu.clarin.cmdi.vlo.pojo.FieldValuesFilter; 24 24 import eu.clarin.cmdi.vlo.pojo.FieldValuesOrder; 25 import java.io.Serializable; 25 26 import java.text.Collator; 26 27 import java.util.Collection; … … 43 44 * SOLR) present on a {@link FacetField}, sortable by either count or name 44 45 * 45 * TODO: Add option to hide values with only 1 record (as in VLO 2.x)46 * TODO: cache values list/size 46 47 * 47 48 * @see FieldValuesOrder … … 176 177 final Ordering ordering; 177 178 if (getSort().getProperty() == FieldValuesOrder.COUNT) { 178 ordering = countOrdering;179 ordering = new CountOrdering(); 179 180 } else if (getSort().getProperty() == FieldValuesOrder.NAME) { 180 ordering = n ameOrdering;181 ordering = new NameOrdering(getLocale()); 181 182 } else { 182 183 ordering = Ordering.natural(); … … 189 190 } 190 191 } 191 192 private final Ordering<FacetField.Count> countOrdering = new Ordering<FacetField.Count>() {193 194 @Override195 public int compare(Count arg0, Count arg1) {196 return Long.compare(arg0.getCount(), arg1.getCount());197 }198 };199 200 private final Ordering<FacetField.Count> nameOrdering = new Ordering<FacetField.Count>() {201 private final Collator collator;202 203 {204 collator = Collator.getInstance(getLocale());205 collator.setStrength(Collator.PRIMARY);206 }207 208 @Override209 public int compare(Count arg0, Count arg1) {210 return collator.compare(arg0.getName(), arg1.getName());211 }212 };213 192 214 193 protected Locale getLocale() { … … 223 202 return Locale.getDefault(); 224 203 } 204 205 private final static class CountOrdering extends Ordering<FacetField.Count> { 206 207 @Override 208 public int compare(Count arg0, Count arg1) { 209 return Long.compare(arg0.getCount(), arg1.getCount()); 210 } 211 }; 212 213 private final static class NameOrdering extends Ordering<FacetField.Count> implements Serializable { 214 215 private final Collator collator; 216 217 public NameOrdering(Locale locale) { 218 collator = Collator.getInstance(locale); 219 collator.setStrength(Collator.PRIMARY); 220 } 221 222 @Override 223 public int compare(Count arg0, Count arg1) { 224 return collator.compare(arg0.getName(), arg1.getName()); 225 } 226 }; 225 227 226 228 /**
Note: See TracChangeset
for help on using the changeset viewer.