package org.fedorahosted.flies.core.action;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.fedorahosted.flies.core.model.HFliesLocale;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.framework.EntityQuery;

import com.ibm.icu.util.ULocale;

@Name("localeList")
public class LocaleList extends EntityQuery<HFliesLocale> {
	public LocaleList() {
		setEjbql("select locale from HFliesLocale locale");
	}

	
	public void importJavaLocales(){
		ULocale [] locales = ULocale.getAvailableLocales();
		List<String> addedLocales = new ArrayList<String>();
		for(ULocale locale : locales){
			HFliesLocale fliesLocale = getEntityManager().find(HFliesLocale.class, HFliesLocale.getFliesId(locale));
			if(fliesLocale == null){
				fliesLocale = new HFliesLocale(locale);
				getEntityManager().persist(fliesLocale);
				addedLocales.add(fliesLocale.getId());
			}
		}
		if(addedLocales.size() > 0)
			getFacesMessages().add("Added {0} locales: {1}", addedLocales.size(), StringUtils.join(addedLocales, ", "));
		else
			getFacesMessages().add("No locales added");
	}
}

@@ -229,16 +229,59 @@
 s.Name;%0A
+import org.jboss.seam.faces.FacesMessages;%0A
 import o
@@ -997,27 +997,24 @@
 e() %3E 0)%0A%09%09%09
-get
 FacesMessage
@@ -1006,32 +1006,41 @@
 %09%09%09FacesMessages
+.instance
 ().add(%22Added %7B0
@@ -1126,19 +1126,16 @@
 else%0A%09%09%09
-get
 FacesMes
@@ -1139,16 +1139,25 @@
 Messages
+.instance
 ().add(%22

replace deprecated method calls