/**
* Most of the code in the Qalingo project is copyrighted Hoteia and licensed
* under the Apache License Version 2.0 (release version 0.8.0)
* http://www.apache.org/licenses/LICENSE-2.0
*
* Copyright (c) Hoteia, 2012-2014
* http://www.hoteia.com - http://twitter.com/hoteia - contact@hoteia.com
*
*/
package org.hoteia.qalingo.core.web.mvc.viewbean;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class StoreLocatorFilterBean extends AbstractViewBean {
/**
*
*/
private static final long serialVersionUID = 5515180433042585447L;
private final Logger logger = LoggerFactory.getLogger(getClass());
private List<StoreLocatorCountryFilterBean> countries;
public List<StoreLocatorCountryFilterBean> getCountries() {
return countries;
}
public void addCountry(StoreLocatorCountryFilterBean country) {
if(this.countries == null){
this.countries = new ArrayList<StoreLocatorCountryFilterBean>();
}
this.countries.add(country);
}
public void sortCountries() {
if(countries != null){
List<StoreLocatorCountryFilterBean> sortedObjects = new LinkedList<StoreLocatorCountryFilterBean>(countries);
Collections.sort(sortedObjects, new Comparator<StoreLocatorCountryFilterBean>() {
@Override
public int compare(StoreLocatorCountryFilterBean o1, StoreLocatorCountryFilterBean o2) {
if (o1 != null && o1.getName() != null
&& o2 != null) {
int compare = o1.getName().compareTo(o2.getName());
return compare;
}
return 0;
}
});
for (Iterator<StoreLocatorCountryFilterBean> iterator = sortedObjects.iterator(); iterator.hasNext();) {
StoreLocatorCountryFilterBean bean = (StoreLocatorCountryFilterBean) iterator.next();
bean.sortCities();
}
this.countries = sortedObjects;
}
}
}