/** * 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; public class StoreLocatorCountryFilterBean extends AbstractViewBean { /** * */ private static final long serialVersionUID = -5109758686236128069L; private String name; private String code; private List<StoreLocatorCityFilterBean> cities; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public List<StoreLocatorCityFilterBean> getCities() { return cities; } public void addCity(StoreLocatorCityFilterBean city) { if(this.cities == null){ this.cities = new ArrayList<StoreLocatorCityFilterBean>(); } this.cities.add(city); } public void sortCities() { if(cities != null){ List<StoreLocatorCityFilterBean> sortedObjects = new LinkedList<StoreLocatorCityFilterBean>(cities); Collections.sort(sortedObjects, new Comparator<StoreLocatorCityFilterBean>() { @Override public int compare(StoreLocatorCityFilterBean o1, StoreLocatorCityFilterBean o2) { if (o1 != null && o2 != null) { int compare = o1.getName().compareTo(o2.getName()); if (compare != 0) { return compare; } return o1.getName().compareTo(o2.getName()); } return 0; } }); for (Iterator<StoreLocatorCityFilterBean> iterator = sortedObjects.iterator(); iterator.hasNext();) { StoreLocatorCityFilterBean bean = (StoreLocatorCityFilterBean) iterator.next(); bean.sortStores(); } this.cities = sortedObjects; } } }