spring - Creating PrimeFaces metergauge chart without @PostConstruct annotation -
i need retrieve data spring jpa data managed bean class, creates metergaugechartview. when call values injected spring bean within @postconstruct method java.lang.nullponterexception. when remove annotation, error below.
java.lang.nullpointerexception org.primefaces.component.chart.renderer.metergaugerenderer.encodedata(metergaugerenderer.java:33) below code , full stack...
package ch.business.quickline.controller; import java.io.serializable; import java.util.arraylist; import java.util.list; import javax.annotation.postconstruct; import javax.faces.bean.managedbean; import javax.faces.bean.managedproperty; import javax.faces.bean.viewscoped; import org.primefaces.model.chart.metergaugechartmodel; import org.springframework.stereotype.component; import ch.business.quickline.viewservice.mitarbeiterglobalservice; @managedbean @component @viewscoped public class metergaugechartview implements serializable { private metergaugechartmodel masterbewertungenindividual; private metergaugechartmodel selbstbewertungenindividual; private metergaugechartmodel masterbewertungenglobal; private metergaugechartmodel selbstbewertungenglobal; @managedproperty("#{mitarbeiterglobalservice}") private mitarbeiterglobalservice mitarbeiterglobalservice; public void init() { createmetergaugemodels(); } public metergaugechartmodel getmasterbewertungenindividual() { return masterbewertungenindividual; } public metergaugechartmodel getselbstbewertungenindividual() { return selbstbewertungenindividual; } public metergaugechartmodel getmasterbewertungenglobal() { return masterbewertungenglobal; } public metergaugechartmodel getselbstbewertungenglobal() { return selbstbewertungenglobal; } private metergaugechartmodel initmetergaugemodel() { list<number> intervals = new arraylist<number>() {{ add(1); add(2); add(3); add(4); add(5); } }; return new metergaugechartmodel(5, intervals); } public void createmetergaugemodels() { masterbewertungenindividual = initmetergaugemodel(); //masterbewertungenindividual.settitle("masterbewertungen"); masterbewertungenindividual.setgaugelabel("skill"); masterbewertungenindividual.setvalue(mitarbeiterglobalservice.getmasterbewertungindividualaverage()); selbstbewertungenindividual = initmetergaugemodel(); //selbstbewertungenindividual.settitle("selbstbewertungen"); selbstbewertungenindividual.setgaugelabel("interesse"); selbstbewertungenindividual.setvalue(mitarbeiterglobalservice.getselbstbewertungindividualaverage()); masterbewertungenglobal = initmetergaugemodel(); //masterbewertungenglobal.settitle("masterbewertungen"); masterbewertungenglobal.setgaugelabel("skill"); masterbewertungenglobal.setvalue(mitarbeiterglobalservice.getmasterbewertungglobalaverage()); selbstbewertungenglobal = initmetergaugemodel(); //selbstbewertungenglobal.settitle("selbstbewertungen"); selbstbewertungenglobal.setgaugelabel("interesse"); selbstbewertungenglobal.setvalue(mitarbeiterglobalservice.getselbstbewertungglobalaverage()); } } package ch.business.quickline.viewservice; import java.math.bigdecimal; import javax.faces.bean.applicationscoped; import javax.faces.bean.managedbean; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.component; import ch.business.quickline.domain.mitarbeiterskill; import ch.business.quickline.service.mitarbeiterservice; import ch.business.quickline.service.mitarbeiterskillservice; @managedbean(name = "mitarbeiterglobalservice") @component @applicationscoped public class mitarbeiterglobalservice { @autowired private mitarbeiterservice mitarbeiterservice; @autowired private mitarbeiterskillservice mitarbeiterskillservice; private bigdecimal masterbewertungindividualaverage; private bigdecimal selbstbewertungindividualaverage; private double masterbewertungglobalaverage; private double selbstbewertungglobalaverage; public void init() { masterbewertungindividualaverage = mitarbeiterservice.findbymitarbeiterid(1).getmitarbeitermasterbewertungdurchschnitt(); selbstbewertungindividualaverage = mitarbeiterservice.findbymitarbeiterid(1).getmitarbeiterselbstbewertungdurchschnitt(); masterbewertungglobalaverage = retrievemasterbewertungglobalaverage(); selbstbewertungglobalaverage = retrieveselbstbewertungglobalaverage(); } public bigdecimal getmasterbewertungindividualaverage() { return masterbewertungindividualaverage; } public void setmasterbewertungindividualaverage(bigdecimal masterbewertungindividualaverage) { this.masterbewertungindividualaverage = masterbewertungindividualaverage; } public bigdecimal getselbstbewertungindividualaverage() { return selbstbewertungindividualaverage; } public void setselbstbewertungindividualaverage( bigdecimal selbstbewertungindividualaverage) { this.selbstbewertungindividualaverage = selbstbewertungindividualaverage; } public double getmasterbewertungglobalaverage() { return masterbewertungglobalaverage; } public void setmasterbewertungglobalaverage(double masterbewertungglobalaverage) { this.masterbewertungglobalaverage = masterbewertungglobalaverage; } public double getselbstbewertungglobalaverage() { return selbstbewertungglobalaverage; } public void setselbstbewertungglobalaverage(double selbstbewertungglobalaverage) { this.selbstbewertungglobalaverage = selbstbewertungglobalaverage; } public double retrievemasterbewertungglobalaverage() { double sum = 0.0; (mitarbeiterskill skill : mitarbeiterskillservice.findall()) { sum = sum + skill.getmasterbewertung(); } return sum / mitarbeiterskillservice.findall().size(); } public double retrieveselbstbewertungglobalaverage() { double sum = 0.0; (mitarbeiterskill interest : mitarbeiterskillservice.findall()) { sum = sum + interest.getselbstbewertung(); } return sum / mitarbeiterskillservice.findall().size(); } } <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui"> <ui:composition template="/templates/default/template.xhtml"> <ui:define name="content"> <ui:insert> <div class="ui-grid"> <div class="ui-grid-row"> <div class="ui-grid-col-6"> <p:chart type="metergauge" model="#{metergaugechartview.masterbewertungenglobal}" style="width:400px;height:250px" /> </div> <div class="ui-grid-col-6"> <p:chart type="metergauge" model="#{metergaugechartview.selbstbewertungenglobal}" style="width:400px;height:250px" /> </div> </div> </div> <div class="ui-grid ui-grid-responsive"> <div class="ui-grid-row"> <div class="ui-grid-col-6"> <p:datalist value="#{rankingdatalist.mitarbeitermasterbewertungrangliste}" var="mitarbeiter" type="ordered"> <f:facet name="header"> top mitarbeiter nach masterbewertung </f:facet> #{mitarbeiter.mitarbeitervorname} #{mitarbeiter.mitarbeiternachname}: #{mitarbeiter.mitarbeitermasterbewertungdurchschnitt} </p:datalist> </div> <div class="ui-grid-col-6"> <p:datalist value="#{rankingdatalist.mitarbeiterselbstbewertungrangliste}" var="mitarbeiter" type="ordered"> <f:facet name="header"> top mitarbeiter nach selbstbewertung </f:facet> #{mitarbeiter.mitarbeitervorname} #{mitarbeiter.mitarbeiternachname}: #{mitarbeiter.mitarbeiterselbstbewertungdurchschnitt} </p:datalist> </div> </div> </div> </ui:insert> </ui:define> </ui:composition> </html> apr 25, 2015 12:10:21 org.apache.tomcat.util.digester.setpropertiesrule begin warnung: [setpropertiesrule]{server/service/engine/host/context} setting property 'source' 'org.eclipse.jst.jee.server:skillmanager' did not find matching property. apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: server version: apache tomcat/7.0.59 apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: server built: jan 28 2015 15:51:10 utc apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: server number: 7.0.59.0 apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: os name: linux apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: os version: 3.13.0-24-generic apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: architecture: amd64 apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: java home: /usr/lib/jvm/java-8-oracle/jre apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: jvm version: 1.8.0_40-b25 apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: jvm vendor: oracle corporation apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: catalina_base: /home/fanatik/documents/workspace-sts-3.6.3.sr1/.metadata/.plugins/org.eclipse.wst.server.core/tmp0 apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: catalina_home: /home/fanatik/apache-tomcat-7.0.59 apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: command line argument: -dcatalina.base=/home/fanatik/documents/workspace-sts-3.6.3.sr1/.metadata/.plugins/org.eclipse.wst.server.core/tmp0 apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: command line argument: -dcatalina.home=/home/fanatik/apache-tomcat-7.0.59 apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: command line argument: -dwtp.deploy=/home/fanatik/documents/workspace-sts-3.6.3.sr1/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: command line argument: -djava.endorsed.dirs=/home/fanatik/apache-tomcat-7.0.59/endorsed apr 25, 2015 12:10:21 org.apache.catalina.startup.versionloggerlistener log information: command line argument: -dfile.encoding=utf-8 apr 25, 2015 12:10:21 org.apache.catalina.core.aprlifecyclelistener lifecycleevent information: apr based apache tomcat native library allows optimal performance in production environments not found on java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib apr 25, 2015 12:10:21 org.apache.coyote.abstractprotocol init information: initializing protocolhandler ["http-bio-8080"] apr 25, 2015 12:10:21 org.apache.coyote.abstractprotocol init information: initializing protocolhandler ["ajp-bio-8009"] apr 25, 2015 12:10:21 org.apache.catalina.startup.catalina load information: initialization processed in 706 ms apr 25, 2015 12:10:21 org.apache.catalina.core.standardservice startinternal information: starting service catalina apr 25, 2015 12:10:21 org.apache.catalina.core.standardengine startinternal information: starting servlet engine: apache tomcat/7.0.59 apr 25, 2015 12:10:22 org.apache.catalina.loader.webappclassloader validatejarfile information: validatejarfile(/home/fanatik/documents/workspace-sts-3.6.3.sr1/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/skillmanager/web-inf/lib/el-api-2.2.1-b04.jar) - jar not loaded. see servlet spec 3.0, section 10.7.2. offending class: javax/el/expression.class apr 25, 2015 12:10:25 org.apache.catalina.startup.tagliburirule body information: tld skipped. uri: http://mojarra.dev.java.net/mojarra_ext defined apr 25, 2015 12:10:25 org.apache.catalina.startup.tagliburirule body information: tld skipped. uri: http://java.sun.com/jsf/core defined apr 25, 2015 12:10:25 org.apache.catalina.startup.tagliburirule body information: tld skipped. uri: http://java.sun.com/jsf/html defined apr 25, 2015 12:10:25 org.apache.catalina.core.standardcontext addapplicationlistener information: listener "com.sun.faces.config.configurelistener" configured context. duplicate definition has been ignored. apr 25, 2015 12:10:25 org.apache.catalina.core.applicationcontext log information: spring webapplicationinitializers detected on classpath: [ch.business.quickline.config.webappinitializer@12297d72] slf4j: class path contains multiple slf4j bindings. slf4j: found binding in [jar:file:/home/fanatik/documents/workspace-sts-3.6.3.sr1/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/skillmanager/web-inf/lib/slf4j-log4j12-1.7.12.jar!/org/slf4j/impl/staticloggerbinder.class] slf4j: found binding in [jar:file:/home/fanatik/documents/workspace-sts-3.6.3.sr1/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/skillmanager/web-inf/lib/slf4j-simple-1.7.10.jar!/org/slf4j/impl/staticloggerbinder.class] slf4j: see http://www.slf4j.org/codes.html#multiple_bindings explanation. slf4j: actual binding of type [org.slf4j.impl.log4jloggerfactory] apr 25, 2015 12:10:25 com.sun.faces.config.configurelistener contextinitialized information: mojarra 2.2.0 ( 20130502-2118 https://svn.java.net/svn/mojarra~svn/tags/2.2.0@11930) für kontext '/skillmanager' wird initialisiert. apr 25, 2015 12:10:25 com.sun.faces.spi.injectionproviderfactory createinstance information: jsf1048: postconstruct/predestroy-annotationen vorhanden. verwaltete bean-methoden, die mit diesen annotationen markiert sind, lassen die entsprechenden annotationen verarbeiten. apr 25, 2015 12:10:26 net.bootsfaces.listeners.addresourceslistener <clinit> information: net.bootsfaces.listeners.addresourceslistener ready use. apr 25, 2015 12:10:27 org.primefaces.webapp.postconstructapplicationeventlistener processevent information: running on primefaces 5.1 apr 25, 2015 12:10:27 org.apache.catalina.core.applicationcontext log information: initializing spring root webapplicationcontext log4j:warn no appenders found logger (org.springframework.web.context.contextloader). log4j:warn please initialize log4j system properly. log4j:warn see http://logging.apache.org/log4j/1.2/faq.html#noconfig more info. apr 25, 2015 12:10:31 org.apache.coyote.abstractprotocol start information: starting protocolhandler ["http-bio-8080"] apr 25, 2015 12:10:31 org.apache.coyote.abstractprotocol start information: starting protocolhandler ["ajp-bio-8009"] apr 25, 2015 12:10:31 org.apache.catalina.startup.catalina start information: server startup in 9849 ms apr 25, 2015 12:10:34 com.sun.faces.application.view.faceletviewhandlingstrategy handlerenderexception schwerwiegend: error rendering view[/index.xhtml] java.lang.nullpointerexception @ org.primefaces.component.chart.renderer.metergaugerenderer.encodedata(metergaugerenderer.java:33) @ org.primefaces.component.chart.renderer.baseplotrenderer.render(baseplotrenderer.java:29) @ org.primefaces.component.chart.chartrenderer.encodescript(chartrenderer.java:95) @ org.primefaces.component.chart.chartrenderer.encodeend(chartrenderer.java:67) @ javax.faces.component.uicomponentbase.encodeend(uicomponentbase.java:924) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1863) @ javax.faces.render.renderer.encodechildren(renderer.java:176) @ javax.faces.component.uicomponentbase.encodechildren(uicomponentbase.java:894) @ org.primefaces.renderkit.corerenderer.renderchild(corerenderer.java:79) @ org.primefaces.renderkit.corerenderer.renderchildren(corerenderer.java:66) @ org.primefaces.component.layout.layoutunitrenderer.encodeend(layoutunitrenderer.java:49) @ javax.faces.component.uicomponentbase.encodeend(uicomponentbase.java:924) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1863) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1859) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1859) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1859) @ com.sun.faces.application.view.faceletviewhandlingstrategy.renderview(faceletviewhandlingstrategy.java:443) @ com.sun.faces.application.view.multiviewhandler.renderview(multiviewhandler.java:131) @ com.sun.faces.lifecycle.renderresponsephase.execute(renderresponsephase.java:120) @ com.sun.faces.lifecycle.phase.dophase(phase.java:101) @ com.sun.faces.lifecycle.lifecycleimpl.render(lifecycleimpl.java:219) @ javax.faces.webapp.facesservlet.service(facesservlet.java:647) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:303) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208) @ org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:52) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:241) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:220) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:122) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:504) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:170) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:103) @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:950) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:116) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:421) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1074) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:611) @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:314) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617) @ org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run(taskthread.java:61) @ java.lang.thread.run(thread.java:745) apr 25, 2015 12:10:34 org.apache.catalina.core.standardwrappervalve invoke schwerwiegend: servlet.service() servlet [faces servlet] in context path [/skillmanager] threw exception [null] root cause java.lang.nullpointerexception @ org.primefaces.component.chart.renderer.metergaugerenderer.encodedata(metergaugerenderer.java:33) @ org.primefaces.component.chart.renderer.baseplotrenderer.render(baseplotrenderer.java:29) @ org.primefaces.component.chart.chartrenderer.encodescript(chartrenderer.java:95) @ org.primefaces.component.chart.chartrenderer.encodeend(chartrenderer.java:67) @ javax.faces.component.uicomponentbase.encodeend(uicomponentbase.java:924) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1863) @ javax.faces.render.renderer.encodechildren(renderer.java:176) @ javax.faces.component.uicomponentbase.encodechildren(uicomponentbase.java:894) @ org.primefaces.renderkit.corerenderer.renderchild(corerenderer.java:79) @ org.primefaces.renderkit.corerenderer.renderchildren(corerenderer.java:66) @ org.primefaces.component.layout.layoutunitrenderer.encodeend(layoutunitrenderer.java:49) @ javax.faces.component.uicomponentbase.encodeend(uicomponentbase.java:924) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1863) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1859) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1859) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1859) @ com.sun.faces.application.view.faceletviewhandlingstrategy.renderview(faceletviewhandlingstrategy.java:443) @ com.sun.faces.application.view.multiviewhandler.renderview(multiviewhandler.java:131) @ com.sun.faces.lifecycle.renderresponsephase.execute(renderresponsephase.java:120) @ com.sun.faces.lifecycle.phase.dophase(phase.java:101) @ com.sun.faces.lifecycle.lifecycleimpl.render(lifecycleimpl.java:219) @ javax.faces.webapp.facesservlet.service(facesservlet.java:647) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:303) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208) @ org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:52) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:241) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:220) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:122) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:504) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:170) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:103) @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:950) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:116) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:421) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1074) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:611) @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:314) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617) @ org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run(taskthread.java:61) @ java.lang.thread.run(thread.java:745)
Comments
Post a Comment