rkaehlert/auftragsverwaltung — pull request #1 by mr678 (2014-11-23 18:57:01+00:00)
Title: Fix NPE in JobListProducer

Support request via email ;-)

Als erstes habe ich die Datasource auf Example DS geändert, damit ich bei mir nicht allzu viel einrichten muss.

Beim Aufruf ihrer „Problemseite“ habe ich Browser folgende Fehlermeldung bekommen:

Context Path:/Auftragsverwaltung-1.0-SNAPSHOT
Servlet Path:/listJobs.jsf
Path Info:null
Query String:null
Stack Trace
javax.servlet.ServletException: Bei der Ressourcen-Einspeisung auf dem verwalteten Bean jobListProducer ist ein Fehler aufgetreten.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHan dler.java:61)
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36 )

Ist mehr oder wengier “bla bla bla”. Wichtig ist hier, dass Sie immer auch auf der Server schauen. Dies liegt daran, dass viele Frameworks (in diesem Fall JSF) verschiedene Wrapper und Abstraktionsschichten um den eigentlichen Code legen. Daher sieht man nicht immer direkt die Fehlermeldung im Browser.

Im Server:

19:46:04,669 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (default task-13) Error Rendering View[/listJobs.xhtml]: com.sun.faces.mgbean.ManagedBeanCreationException: Bei der Ressourcen-Einspeisung auf dem verwalteten Bean jobListProducer ist ein Fehler aufgetreten.
at com.sun.faces.mgbean.BeanBuilder.invokePostConstruct(BeanBuilder.java:227) [jsf-impl-2.2.6- jbossorg-4.jar:]
at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:103) [jsf-impl-2.2.6-jbossorg-4.jar:]
at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409) [jsf-impl-2.2.6- jbossorg-4.jar:]
„1000“ Zeilen im Logfile später
Caused by: java.lang.NullPointerException
at de.fresko.auftragsverwaltung.data.JobListProducer.createMockJobs(JobListProducer.java:39) [classes:]
at de.fresko.auftragsverwaltung.data.JobListProducer.init(JobListProducer.java:20) [classes:]
... 97 more

Und hier ist auch schon das Problem: NullPointerException in JobListProducer#createMockJobs Line 39

Fix in Line 17: private List jobs = new ArrayList<>();