Added UI (JSF) and JPA to bayesian network entities.
[simdecs.git] / src / java / org / ufcspa / simdecs / bn / ui / util / JsfUtil.java
1 package org.ufcspa.simdecs.bn.ui.util;
2
3 import java.util.List;
4 import javax.faces.application.FacesMessage;
5 import javax.faces.component.UIComponent;
6 import javax.faces.context.FacesContext;
7 import javax.faces.convert.Converter;
8 import javax.faces.model.SelectItem;
9
10 public class JsfUtil {
11
12     public static SelectItem[] getSelectItems(List<?> entities, boolean selectOne) {
13         int size = selectOne ? entities.size() + 1 : entities.size();
14         SelectItem[] items = new SelectItem[size];
15         int i = 0;
16         if (selectOne) {
17             items[0] = new SelectItem("", "---");
18             i++;
19         }
20         for (Object x : entities) {
21             items[i++] = new SelectItem(x, x.toString());
22         }
23         return items;
24     }
25
26     public static void addErrorMessage(Exception ex, String defaultMsg) {
27         String msg = ex.getLocalizedMessage();
28         if (msg != null && msg.length() > 0) {
29             addErrorMessage(msg);
30         } else {
31             addErrorMessage(defaultMsg);
32         }
33     }
34
35     public static void addErrorMessages(List<String> messages) {
36         for (String message : messages) {
37             addErrorMessage(message);
38         }
39     }
40
41     public static void addErrorMessage(String msg) {
42         FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, msg, msg);
43         FacesContext.getCurrentInstance().addMessage(null, facesMsg);
44     }
45
46     public static void addSuccessMessage(String msg) {
47         FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_INFO, msg, msg);
48         FacesContext.getCurrentInstance().addMessage("successInfo", facesMsg);
49     }
50
51     public static String getRequestParameter(String key) {
52         return FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(key);
53     }
54
55     public static Object getObjectFromRequestParameter(String requestParameterName, Converter converter, UIComponent component) {
56         String theId = JsfUtil.getRequestParameter(requestParameterName);
57         return converter.getAsObject(FacesContext.getCurrentInstance(), component, theId);
58     }
59 }