| package __PACKAGE__; |
| |
| import java.util.ArrayList; |
| import java.util.Arrays; |
| import java.util.Collection; |
| import java.util.HashSet; |
| import java.util.List; |
| import java.util.Set; |
| import javax.faces.application.FacesMessage; |
| import javax.faces.component.UIComponent; |
| import javax.faces.context.FacesContext; |
| import javax.faces.convert.Converter; |
| import javax.faces.model.SelectItem; |
| |
| public class JsfUtil { |
| |
| public static SelectItem[] getSelectItems(List<?> entities, boolean selectOne) { |
| int size = selectOne ? entities.size() + 1 : entities.size(); |
| SelectItem[] items = new SelectItem[size]; |
| int i = 0; |
| if (selectOne) { |
| items[0] = new SelectItem("", "---"); |
| i++; |
| } |
| for (Object x : entities) { |
| items[i++] = new SelectItem(x, x.toString()); |
| } |
| return items; |
| } |
| |
| public static void ensureAddErrorMessage(Exception ex, String defaultMsg) { |
| String msg = ex.getLocalizedMessage(); |
| if (msg != null && msg.length() > 0) { |
| addErrorMessage(msg); |
| } else { |
| addErrorMessage(defaultMsg); |
| } |
| } |
| |
| public static void addErrorMessages(List<String> messages) { |
| for (String message : messages) { |
| addErrorMessage(message); |
| } |
| } |
| |
| public static void addErrorMessage(String msg) { |
| FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, msg, msg); |
| FacesContext.getCurrentInstance().addMessage(null, facesMsg); |
| } |
| |
| public static void addSuccessMessage(String msg) { |
| FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_INFO, msg, msg); |
| FacesContext.getCurrentInstance().addMessage("successInfo", facesMsg); |
| } |
| |
| public static String getRequestParameter(String key) { |
| return FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(key); |
| } |
| |
| public static Object getObjectFromRequestParameter(String requestParameterName, Converter converter, UIComponent component) { |
| String theId = JsfUtil.getRequestParameter(requestParameterName); |
| return converter.getAsObject(FacesContext.getCurrentInstance(), component, theId); |
| } |
| |
| public static <T> List<T> arrayToList(T[] arr) { |
| if (arr == null) { |
| return new ArrayList<T>(); |
| } |
| return Arrays.asList(arr); |
| } |
| |
| public static <T> Set<T> arrayToSet(T[] arr) { |
| if (arr == null) { |
| return new HashSet<T>(); |
| } |
| return new HashSet(Arrays.asList(arr)); |
| } |
| |
| public static Object[] collectionToArray(Collection<?> c) { |
| if (c == null) { |
| return new Object[0]; |
| } |
| return c.toArray(); |
| } |
| |
| public static <T> List<T> setToList(Set<T> set) { |
| return new ArrayList<T>(set); |
| } |
| |
| public static String getAsConvertedString(Object object, Converter converter) { |
| return converter.getAsString(FacesContext.getCurrentInstance(), null, object); |
| } |
| |
| public static String getCollectionAsString(Collection<?> collection) { |
| if (collection == null || collection.size() == 0) { |
| return "(No Items)"; |
| } |
| StringBuffer sb = new StringBuffer(); |
| int i = 0; |
| for (Object item : collection) { |
| if (i > 0) { |
| sb.append("<br />"); |
| } |
| sb.append(item); |
| i++; |
| } |
| return sb.toString(); |
| } |
| } |