Advertisement
Guest User

Untitled

a guest
Feb 26th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.25 KB | None | 0 0
  1. package spring_hibernate_jsf_pf_crud.business;
  2.  
  3. import java.io.Serializable;
  4. import java.util.List;
  5. import javax.persistence.Entity;
  6. import javax.persistence.GeneratedValue;
  7. import javax.persistence.GenerationType;
  8. import javax.persistence.Id;
  9. import javax.persistence.OneToMany;
  10. @Entity
  11. public class Category implements Serializable{
  12. private static final long serialVersionUID = -4015837657967733863L;
  13. @Id
  14. @GeneratedValue(strategy = GenerationType.IDENTITY)
  15. private int id;
  16. private String name;
  17. private String description;
  18. @OneToMany(mappedBy ="category")
  19. private List<Deadline> deadlines;
  20. public Category(){}
  21. public List<Deadline> getDeadlines() {
  22. return deadlines;
  23. }
  24. public void setDeadlines(List<Deadline> deadlines) {
  25. this.deadlines = deadlines;
  26. }
  27. public Category(int id, String name, String description) {
  28. super();
  29. this.id = id;
  30. this.name = name;
  31. this.description = description;
  32. }
  33. public int getId() {
  34. return id;
  35. }
  36. public String getName() {
  37. return name;
  38. }
  39. public String getDescription() {
  40. return description;
  41. }
  42. public void setId(int id) {
  43. this.id = id;
  44. }
  45. public void setName(String name) {
  46. this.name = name;
  47. }
  48. public void setDescription(String description) {
  49. this.description = description;
  50. }
  51. @Override
  52. public String toString() {
  53. return "id=" + id + " name=" + name + " description=" + description + " ";
  54. }
  55. }
  56.  
  57. package spring_hibernate_jsf_pf_crud.views;
  58.  
  59. import java.io.Serializable;
  60. import java.util.ArrayList;
  61. import java.util.List;
  62.  
  63. import javax.annotation.PostConstruct;
  64. import javax.faces.application.FacesMessage;
  65. import javax.faces.bean.SessionScoped;
  66. import javax.faces.context.FacesContext;
  67.  
  68. import org.primefaces.context.RequestContext;
  69. import org.primefaces.event.SelectEvent;
  70. import org.springframework.beans.factory.annotation.Autowired;
  71. import org.springframework.stereotype.Component;
  72.  
  73. import spring_hibernate_jsf_pf_crud.business.Category;
  74. import spring_hibernate_jsf_pf_crud.services.CategoryService;
  75.  
  76. @Component(value = "category_bean")
  77. @SessionScoped
  78. public class CategoryBean implements Serializable {
  79.  
  80. /**
  81. *
  82. */
  83. private static final long serialVersionUID = -3879109000442564940L;
  84. @Autowired
  85. private CategoryService categorieService;
  86.  
  87. private List<Category> categories;
  88. private Category category;
  89.  
  90. @PostConstruct
  91. public void init() {
  92. category = new Category();
  93. categories = categorieService.getAll();
  94. FacesContext.getCurrentInstance().getExternalContext().getApplicationMap().put("categories",categories);
  95. }
  96.  
  97. public List<Category> completeText(String query) {
  98. List<Category> filteredCategories = new ArrayList<Category>();
  99. for (int i = 0; i < categories.size(); i++) {
  100. Category cgy = categories.get(i);
  101. if (cgy.getName().toLowerCase().contains(query)) {
  102. filteredCategories.add(cgy);
  103. }
  104. // Quand la saisie n'est pas reconnue il faut pouvoir créer une
  105. // nouvelle catégorie
  106. // else{
  107. // RequestContext.getCurrentInstance().openDialog("newCategoryView");
  108.  
  109. // break;
  110. // }
  111. }
  112. return filteredCategories;
  113. }
  114.  
  115. public void checkIfExists(){
  116. System.out.println(category);
  117. }
  118.  
  119. public void onReturnFromNewCategory(SelectEvent event) {
  120. System.out.println("nouvelle catégorie");
  121. FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Data Returned", event.getObject().toString()));
  122. }
  123.  
  124. public String createNewCategory() {
  125. //Todo
  126. return null;
  127. }
  128. public List<Category> getCategories() {
  129. return categories;
  130. }
  131. public void setCategories(List<Category> categories) {
  132. this.categories = categories;
  133. }
  134. public Category getCategory() {
  135. return category;
  136. }
  137. public void setCategory(Category category) {
  138. this.category = category;
  139. }
  140. }
  141.  
  142. package spring_hibernate_jsf_pf_crud.utils.primefaces;
  143.  
  144. import javax.faces.application.FacesMessage;
  145. import javax.faces.component.UIComponent;
  146. import javax.faces.context.FacesContext;
  147. import javax.faces.convert.Converter;
  148. import javax.faces.convert.ConverterException;
  149.  
  150. import org.primefaces.context.RequestContext;
  151. import org.springframework.stereotype.Component;
  152.  
  153. import spring_hibernate_jsf_pf_crud.business.Category;
  154. import spring_hibernate_jsf_pf_crud.views.CategoryBean;
  155.  
  156. @Component(value = "categoryConverter")
  157. public class CategoryConverter implements Converter {
  158. public Object getAsObject(FacesContext fc, UIComponent uic, String value) {
  159. System.out.println("valeur de l'id dans getasobject " + value);
  160. if (value != null && value.trim().length() > 0) {
  161. try {
  162. CategoryBean categoryService = (CategoryBean) fc.getExternalContext()
  163. .getApplicationMap().get("category_bean");
  164. System.out.println("catégorie " + categoryService);
  165. return categoryService.getCategories().get((Integer.parseInt(value)));
  166. } catch (NumberFormatException e) {
  167. RequestContext.getCurrentInstance().openDialog("newCategoryView");
  168. throw new ConverterException(
  169. new FacesMessage(FacesMessage.SEVERITY_ERROR,
  170. "Conversion Error", "Not a valid theme."));
  171. }
  172. } else {
  173. return null;
  174. }
  175. }
  176.  
  177. public String getAsString(FacesContext fc, UIComponent uic, Object object) {
  178. if (object != null) {
  179. return String.valueOf(((Category) object).getId());
  180. }
  181. return null;
  182. }
  183. }
  184.  
  185. <p:autoComplete id="category"
  186. value="#{deadline_bean.deadline.category}"
  187. completeMethod="#{category_bean.completeText}"
  188. var="category"
  189. itemLabel="#{category.name}"
  190. itemValue="#{category}"
  191. converter="#{categoryConverter}"
  192. forceSelection="false">
  193. </p:autoComplete>
  194.  
  195. valeur de l'id dans getasobject 2
  196. catégorie null
  197. févr. 26, 2017 9:40:07 AM com.sun.faces.context.AjaxExceptionHandlerImpl handlePartialResponseError
  198. GRAVE: java.lang.NullPointerException
  199. at spring_hibernate_jsf_pf_crud.utils.primefaces.CategoryConverter.getAsObject(CategoryConverter.java:24)
  200. at org.primefaces.component.autocomplete.AutoCompleteRenderer.getConvertedValue(AutoCompleteRenderer.java:670)
  201. at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1045)
  202. at javax.faces.component.UIInput.validate(UIInput.java:975)
  203. at javax.faces.component.UIInput.executeValidate(UIInput.java:1248)
  204. at javax.faces.component.UIInput.processValidators(UIInput.java:712)
  205. at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1260)
  206. at javax.faces.component.UIForm.processValidators(UIForm.java:253)
  207. at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1260)
  208. at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1260)
  209. at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1195)
  210. at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
  211. at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
  212. at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
  213. at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
  214. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
  215. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
  216. at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
  217. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
  218. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
  219. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
  220. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
  221. at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
  222. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
  223. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
  224. at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
  225. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
  226. at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:509)
  227. at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1104)
  228. at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
  229. at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
  230. at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
  231. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  232. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  233. at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  234. at java.lang.Thread.run(Thread.java:745)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement