Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package spring_hibernate_jsf_pf_crud.business;
- import java.io.Serializable;
- import java.util.List;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- import javax.persistence.OneToMany;
- @Entity
- public class Category implements Serializable{
- private static final long serialVersionUID = -4015837657967733863L;
- @Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- private int id;
- private String name;
- private String description;
- @OneToMany(mappedBy ="category")
- private List<Deadline> deadlines;
- public Category(){}
- public List<Deadline> getDeadlines() {
- return deadlines;
- }
- public void setDeadlines(List<Deadline> deadlines) {
- this.deadlines = deadlines;
- }
- public Category(int id, String name, String description) {
- super();
- this.id = id;
- this.name = name;
- this.description = description;
- }
- public int getId() {
- return id;
- }
- public String getName() {
- return name;
- }
- public String getDescription() {
- return description;
- }
- public void setId(int id) {
- this.id = id;
- }
- public void setName(String name) {
- this.name = name;
- }
- public void setDescription(String description) {
- this.description = description;
- }
- @Override
- public String toString() {
- return "id=" + id + " name=" + name + " description=" + description + " ";
- }
- }
- package spring_hibernate_jsf_pf_crud.views;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.List;
- import javax.annotation.PostConstruct;
- import javax.faces.application.FacesMessage;
- import javax.faces.bean.SessionScoped;
- import javax.faces.context.FacesContext;
- import org.primefaces.context.RequestContext;
- import org.primefaces.event.SelectEvent;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import spring_hibernate_jsf_pf_crud.business.Category;
- import spring_hibernate_jsf_pf_crud.services.CategoryService;
- @Component(value = "category_bean")
- @SessionScoped
- public class CategoryBean implements Serializable {
- /**
- *
- */
- private static final long serialVersionUID = -3879109000442564940L;
- @Autowired
- private CategoryService categorieService;
- private List<Category> categories;
- private Category category;
- @PostConstruct
- public void init() {
- category = new Category();
- categories = categorieService.getAll();
- FacesContext.getCurrentInstance().getExternalContext().getApplicationMap().put("categories",categories);
- }
- public List<Category> completeText(String query) {
- List<Category> filteredCategories = new ArrayList<Category>();
- for (int i = 0; i < categories.size(); i++) {
- Category cgy = categories.get(i);
- if (cgy.getName().toLowerCase().contains(query)) {
- filteredCategories.add(cgy);
- }
- // Quand la saisie n'est pas reconnue il faut pouvoir créer une
- // nouvelle catégorie
- // else{
- // RequestContext.getCurrentInstance().openDialog("newCategoryView");
- // break;
- // }
- }
- return filteredCategories;
- }
- public void checkIfExists(){
- System.out.println(category);
- }
- public void onReturnFromNewCategory(SelectEvent event) {
- System.out.println("nouvelle catégorie");
- FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Data Returned", event.getObject().toString()));
- }
- public String createNewCategory() {
- //Todo
- return null;
- }
- public List<Category> getCategories() {
- return categories;
- }
- public void setCategories(List<Category> categories) {
- this.categories = categories;
- }
- public Category getCategory() {
- return category;
- }
- public void setCategory(Category category) {
- this.category = category;
- }
- }
- package spring_hibernate_jsf_pf_crud.utils.primefaces;
- import javax.faces.application.FacesMessage;
- import javax.faces.component.UIComponent;
- import javax.faces.context.FacesContext;
- import javax.faces.convert.Converter;
- import javax.faces.convert.ConverterException;
- import org.primefaces.context.RequestContext;
- import org.springframework.stereotype.Component;
- import spring_hibernate_jsf_pf_crud.business.Category;
- import spring_hibernate_jsf_pf_crud.views.CategoryBean;
- @Component(value = "categoryConverter")
- public class CategoryConverter implements Converter {
- public Object getAsObject(FacesContext fc, UIComponent uic, String value) {
- System.out.println("valeur de l'id dans getasobject " + value);
- if (value != null && value.trim().length() > 0) {
- try {
- CategoryBean categoryService = (CategoryBean) fc.getExternalContext()
- .getApplicationMap().get("category_bean");
- System.out.println("catégorie " + categoryService);
- return categoryService.getCategories().get((Integer.parseInt(value)));
- } catch (NumberFormatException e) {
- RequestContext.getCurrentInstance().openDialog("newCategoryView");
- throw new ConverterException(
- new FacesMessage(FacesMessage.SEVERITY_ERROR,
- "Conversion Error", "Not a valid theme."));
- }
- } else {
- return null;
- }
- }
- public String getAsString(FacesContext fc, UIComponent uic, Object object) {
- if (object != null) {
- return String.valueOf(((Category) object).getId());
- }
- return null;
- }
- }
- <p:autoComplete id="category"
- value="#{deadline_bean.deadline.category}"
- completeMethod="#{category_bean.completeText}"
- var="category"
- itemLabel="#{category.name}"
- itemValue="#{category}"
- converter="#{categoryConverter}"
- forceSelection="false">
- </p:autoComplete>
- valeur de l'id dans getasobject 2
- catégorie null
- févr. 26, 2017 9:40:07 AM com.sun.faces.context.AjaxExceptionHandlerImpl handlePartialResponseError
- GRAVE: java.lang.NullPointerException
- at spring_hibernate_jsf_pf_crud.utils.primefaces.CategoryConverter.getAsObject(CategoryConverter.java:24)
- at org.primefaces.component.autocomplete.AutoCompleteRenderer.getConvertedValue(AutoCompleteRenderer.java:670)
- at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1045)
- at javax.faces.component.UIInput.validate(UIInput.java:975)
- at javax.faces.component.UIInput.executeValidate(UIInput.java:1248)
- at javax.faces.component.UIInput.processValidators(UIInput.java:712)
- at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1260)
- at javax.faces.component.UIForm.processValidators(UIForm.java:253)
- at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1260)
- at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1260)
- at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1195)
- at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
- at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
- at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
- at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
- at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
- at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
- at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
- at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
- at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
- at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
- at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
- at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
- at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:509)
- at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1104)
- at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
- at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
- at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
- at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
- at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
- at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
- at java.lang.Thread.run(Thread.java:745)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement