Changeset 5120


Ignore:
Timestamp:
05/02/14 12:20:10 (10 years ago)
Author:
Twan Goosen
Message:

Fixed serialisation issue in FacetFieldValuesProvider?

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  
    2323import eu.clarin.cmdi.vlo.pojo.FieldValuesFilter;
    2424import eu.clarin.cmdi.vlo.pojo.FieldValuesOrder;
     25import java.io.Serializable;
    2526import java.text.Collator;
    2627import java.util.Collection;
     
    4344 * SOLR) present on a {@link FacetField}, sortable by either count or name
    4445 *
    45  * TODO: Add option to hide values with only 1 record (as in VLO 2.x)
     46 * TODO: cache values list/size
    4647 *
    4748 * @see FieldValuesOrder
     
    176177        final Ordering ordering;
    177178        if (getSort().getProperty() == FieldValuesOrder.COUNT) {
    178             ordering = countOrdering;
     179            ordering = new CountOrdering();
    179180        } else if (getSort().getProperty() == FieldValuesOrder.NAME) {
    180             ordering = nameOrdering;
     181            ordering = new NameOrdering(getLocale());
    181182        } else {
    182183            ordering = Ordering.natural();
     
    189190        }
    190191    }
    191 
    192     private final Ordering<FacetField.Count> countOrdering = new Ordering<FacetField.Count>() {
    193 
    194         @Override
    195         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         @Override
    209         public int compare(Count arg0, Count arg1) {
    210             return collator.compare(arg0.getName(), arg1.getName());
    211         }
    212     };
    213192
    214193    protected Locale getLocale() {
     
    223202        return Locale.getDefault();
    224203    }
     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    };
    225227
    226228    /**
Note: See TracChangeset for help on using the changeset viewer.