package fr.openwide.core.wicket.more.console.maintenance.ehcache.model;
import java.io.Serializable;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import net.sf.ehcache.CacheManager;
import org.apache.wicket.model.LoadableDetachableModel;
import com.google.common.collect.Lists;
import fr.openwide.core.jpa.business.generic.model.GenericEntity;
public class EhCacheCacheManagerListModel extends LoadableDetachableModel<List<CacheManager>> {
private static final long serialVersionUID = 2905490587596353984L;
@Override
protected List<CacheManager> load() {
List<CacheManager> cacheManagers = Lists.newArrayList(CacheManager.ALL_CACHE_MANAGERS);
Collections.sort(cacheManagers, EhcacheCacheManagerComparator.INSTANCE);
return cacheManagers;
}
private static final class EhcacheCacheManagerComparator implements Comparator<CacheManager>, Serializable {
private static final long serialVersionUID = 1L;
private static final EhcacheCacheManagerComparator INSTANCE = new EhcacheCacheManagerComparator();
@Override
public int compare(CacheManager o1, CacheManager o2) {
return GenericEntity.DEFAULT_STRING_COLLATOR.compare(o1.getName(), o2.getName());
}
}
}