NullPointerException at org.richfaces.skin.SkinFactoryImpl.clearSkinCaches(SkinFactoryImpl.java:100)
msansm1 May 5, 2011 11:42 AMHello,
I had begun an application under richfaces 3.3.x, and after seeing the final version of 4.0 I decided to migrate it.
But I have encountered one problem I can't resolv myself (to this moment).
Here is the server.log
2011-05-05 17:09:52,347 INFO [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (HDScanner) deploy, ctxPath=/ARMv4 2011-05-05 17:09:52,521 INFO [javax.enterprise.resource.webcontainer.jsf.config] (HDScanner) Initializing Mojarra (1.2_12-b01-FCS) for context '/ARMv4' 2011-05-05 17:09:56,119 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (HDScanner) JSF1029: The specified InjectionProvider implementation 'org.jboss.web.jsf.integration.injection.JBossDelegatingInjectionProvider' does not implement the InjectionProvider interface. 2011-05-05 17:09:56,120 INFO [javax.enterprise.resource.webcontainer.jsf.application] (HDScanner) JSF1048: PostConstruct/PreDestroy annotations present. ManagedBeans methods marked with these annotations will have said annotations processed. 2011-05-05 17:09:56,981 WARNING [org.richfaces.log.Config] (HDScanner) Found JavaScript function definition for class javax.validation.constraints.NotNull, but that class is not presented 2011-05-05 17:09:56,982 WARNING [org.richfaces.log.Config] (HDScanner) Found JavaScript function definition for class org.hibernate.validator.constraints.NotEmpty, but that class is not presented 2011-05-05 17:09:56,983 WARNING [org.richfaces.log.Config] (HDScanner) Found JavaScript function definition for class javax.validation.constraints.Size, but that class is not presented 2011-05-05 17:09:56,984 WARNING [org.richfaces.log.Config] (HDScanner) Found JavaScript function definition for class javax.validation.constraints.Pattern, but that class is not presented 2011-05-05 17:09:56,984 WARNING [org.richfaces.log.Config] (HDScanner) Found JavaScript function definition for class javax.validation.constraints.Min, but that class is not presented 2011-05-05 17:09:56,986 WARNING [org.richfaces.log.Config] (HDScanner) Found JavaScript function definition for class javax.validation.constraints.Max, but that class is not presented 2011-05-05 17:09:56,986 WARNING [org.richfaces.log.Config] (HDScanner) Found JavaScript function definition for class javax.validation.constraints.AssertTrue, but that class is not presented 2011-05-05 17:09:56,987 WARNING [org.richfaces.log.Config] (HDScanner) Found JavaScript function definition for class javax.validation.constraints.AssertFalse, but that class is not presented 2011-05-05 17:09:56,998 INFO [org.richfaces.log.Cache] (HDScanner) Selected fallback cache factory 2011-05-05 17:09:57,002 INFO [org.richfaces.log.Cache] (HDScanner) Creating LRUMap cache instance using parameters: {com.sun.faces.duplicateJARPattern=^tmp\d+(\S*\.jar), org.richfaces.skin=blueSky, com.sun.faces.injectionProvider=org.jboss.web.jsf.integration.injection.JBossDelegatingInjectionProvider, org.richfaces.enableControlSkinning=true, org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL=true, javax.faces.STATE_SAVING_METHOD=server} 2011-05-05 17:09:57,008 INFO [org.richfaces.log.Cache] (HDScanner) Creating LRUMap cache instance of 512 items capacity 2011-05-05 17:09:57,027 INFO [org.richfaces.log.Application] (HDScanner) RichFaces Core Implementation by JBoss, a division of Red Hat, Inc., version v.4.0.0.Final SVN r.22269 2011-05-05 17:10:08,803 INFO [STDOUT] (http-127.0.0.1-8080-1) phase 2011-05-05 17:10:08,912 INFO [STDOUT] (http-127.0.0.1-8080-1) Current Session created : 317DCADDB0E94FD03F1CCBE940D02961 at Thu May 05 17:10:08 CEST 2011 2011-05-05 17:10:08,913 INFO [STDOUT] (http-127.0.0.1-8080-1) viewID : /index.jsp 2011-05-05 17:10:08,916 INFO [STDOUT] (http-127.0.0.1-8080-1) phase 2011-05-05 17:10:08,917 INFO [STDOUT] (http-127.0.0.1-8080-1) phase 2011-05-05 17:10:08,918 INFO [STDOUT] (http-127.0.0.1-8080-1) phase 2011-05-05 17:10:08,918 INFO [STDOUT] (http-127.0.0.1-8080-1) phase 2011-05-05 17:10:08,918 INFO [STDOUT] (http-127.0.0.1-8080-1) viewID : /index.jsp 2011-05-05 17:10:08,928 INFO [STDOUT] (http-127.0.0.1-8080-1) phase 2011-05-05 17:10:08,928 INFO [STDOUT] (http-127.0.0.1-8080-1) viewID : /welcome.xhtml 2011-05-05 17:10:08,929 INFO [STDOUT] (http-127.0.0.1-8080-1) phase 2011-05-05 17:10:08,929 INFO [STDOUT] (http-127.0.0.1-8080-1) phase 2011-05-05 17:10:08,929 INFO [STDOUT] (http-127.0.0.1-8080-1) phase 2011-05-05 17:10:08,930 INFO [STDOUT] (http-127.0.0.1-8080-1) phase 2011-05-05 17:10:08,930 INFO [STDOUT] (http-127.0.0.1-8080-1) viewID : /welcome.xhtml 2011-05-05 17:10:08,943 INFO [STDOUT] (http-127.0.0.1-8080-1) phase 2011-05-05 17:10:08,944 INFO [STDOUT] (http-127.0.0.1-8080-1) phase 2011-05-05 17:10:08,945 INFO [javax.enterprise.resource.webcontainer.jsf.context] (http-127.0.0.1-8080-1) Exception when handling error trying to reset the response. java.lang.NullPointerException at org.richfaces.skin.SkinFactoryImpl.clearSkinCaches(SkinFactoryImpl.java:100) at org.richfaces.skin.SkinFactoryPreRenderViewListener.processEvent(SkinFactoryPreRenderViewListener.java:36) at javax.faces.event.SystemEvent.processListener(SystemEvent.java:106) at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2129) at com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:2105) at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:300) at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:244) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) 2011-05-05 17:10:08,947 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/ARMv4].[Faces Servlet]] (http-127.0.0.1-8080-1) "Servlet.service()" pour la servlet Faces Servlet a g�n�r� une exception java.lang.NullPointerException at org.richfaces.skin.SkinFactoryImpl.clearSkinCaches(SkinFactoryImpl.java:100) at org.richfaces.skin.SkinFactoryPreRenderViewListener.processEvent(SkinFactoryPreRenderViewListener.java:36) at javax.faces.event.SystemEvent.processListener(SystemEvent.java:106) at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2129) at com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:2105) at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:300) at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:244) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619)
the web.xml file :
<?xml version="1.0"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>ARMv4</display-name> <context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>server</param-value> </context-param> <context-param> <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name> <param-value>true</param-value> </context-param> <context-param> <param-name>org.richfaces.enableControlSkinning</param-name> <param-value>true</param-value> </context-param> <context-param> <param-name>org.richfaces.skin</param-name> <param-value>blueSky</param-value> </context-param> <listener> <listener-class>BSM.JSFVersion.Authentication.MySessionListener</listener-class> </listener> <listener> <listener-class>com.sun.faces.config.ConfigureListener</listener-class> </listener> <!-- Faces Servlet --> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <!-- Faces Servlet Mapping --> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping> <session-config> <session-timeout>1</session-timeout> </session-config> <welcome-file-list> <welcome-file>index.jsf</welcome-file> </welcome-file-list> <mime-mapping> <extension>css</extension> <mime-type>text/css</mime-type> </mime-mapping> <login-config> <auth-method>BASIC</auth-method> <form-login-config> <form-login-page>/index.jsp</form-login-page> <form-error-page>/Banniere01.jsp</form-error-page> </form-login-config> </login-config> </web-app>
the faces-config.xml :
<?xml version="1.0" encoding="UTF-8"?> <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"> <managed-bean> <managed-bean-name>authentication</managed-bean-name> <managed-bean-class>BSM.JSFVersion.Authentication.Authentication</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>_dao</property-name> <property-class>com.devoteam.armv4.utils.DaoUtil</property-class> <value/> </managed-property> <managed-property> <property-name>firstName</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>id</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>lastName</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>login</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>mdp</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> </managed-bean> <managed-bean> <managed-bean-name>listProject</managed-bean-name> <managed-bean-class>BSM.JSFVersion.Administration.ListProject</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>_auth</property-name> <property-class>BSM.JSFVersion.Authentication.Authentication</property-class> <value>#{authentication}</value> </managed-property> <managed-property> <property-name>lp</property-name> <property-class>java.util.List</property-class> <value/> </managed-property> </managed-bean> <managed-bean> <managed-bean-name>project</managed-bean-name> <managed-bean-class>BSM.JSFVersion.Administration.Project</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>id</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>lp</property-name> <property-class>java.util.List</property-class> <value/> </managed-property> <managed-property> <property-name>name</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> </managed-bean> <managed-bean> <managed-bean-name>projectDetails</managed-bean-name> <managed-bean-class>BSM.JSFVersion.Administration.ProjectDetails</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>delay</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>nbJob</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>status</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> </managed-bean> <managed-bean> <managed-bean-name>user</managed-bean-name> <managed-bean-class>BSM.JSFVersion.Authentication.User</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>company</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>id</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>login</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>mail</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>mdp</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>nom</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>prenom</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>update</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> </managed-bean> <managed-bean> <managed-bean-name>usersProject</managed-bean-name> <managed-bean-class>BSM.JSFVersion.Authentication.UsersProject</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>lu</property-name> <property-class>java.util.List</property-class> <value/> </managed-property> <managed-property> <property-name>operation</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>projet</property-name> <property-class>BSM.JSFVersion.Administration.Project</property-class> <value>#{project}</value> </managed-property> <managed-property> <property-name>u</property-name> <property-class>BSM.JSFVersion.Authentication.User</property-class> <value>#{user}</value> </managed-property> <managed-property> <property-name>roles</property-name> <property-class>java.util.List</property-class> <value/> </managed-property> <managed-property> <property-name>id_User</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>id_client</property-name> <property-class>javax.faces.component.UIParameter</property-class> <value/> </managed-property> <managed-property> <property-name>checked</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> </managed-bean> <managed-bean> <managed-bean-name>links</managed-bean-name> <managed-bean-class>BSM.JSFVersion.Administration.Links</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>project_admin</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>projet</property-name> <property-class>BSM.JSFVersion.Administration.Project</property-class> <value/> </managed-property> </managed-bean> <navigation-rule> <from-view-id>/Banniere01.jsp</from-view-id> <navigation-case> <from-outcome>prof</from-outcome> <to-view-id>/my_profil.jsp</to-view-id> <redirect/> </navigation-case> <navigation-case> <from-outcome>Non</from-outcome> <to-view-id>/Banniere01.jsp</to-view-id> <redirect/> </navigation-case> </navigation-rule> <navigation-rule> <from-view-id>/index.jsp</from-view-id> <navigation-case> <from-outcome>Oui</from-outcome> <to-view-id>/AdminstrationPage.jsp</to-view-id> <redirect/> </navigation-case> <navigation-case> <from-outcome>Non</from-outcome> <to-view-id>/Banniere01.jsp</to-view-id> <redirect/> </navigation-case> </navigation-rule> <navigation-rule> <from-view-id>/AdminstrationPage.jsp</from-view-id> <navigation-case> <from-outcome>Admin</from-outcome> <to-view-id>/Admin.jsp</to-view-id> <redirect/> </navigation-case> </navigation-rule> <navigation-rule> <from-view-id>/Admin.jsp</from-view-id> <navigation-case> <from-outcome>list_project</from-outcome> <to-view-id>/AdminstrationPage.jsp</to-view-id> <redirect/> </navigation-case> </navigation-rule> <navigation-rule> <from-view-id>/AdminstrationPage.jsp</from-view-id> <navigation-case> <from-outcome>reload</from-outcome> <to-view-id>/AdminstrationPage.jsp</to-view-id> <redirect/> </navigation-case> </navigation-rule> <navigation-rule> <navigation-case> <from-outcome>logout</from-outcome> <to-view-id>/index.jsp</to-view-id> <redirect/> </navigation-case> </navigation-rule> <validator> <validator-id>persoValidatorId</validator-id> <validator-class>BSM.JSFVersion.Authentication.PersoValidator</validator-class> </validator> <lifecycle> <phase-listener>BSM.JSFVersion.Authentication.Redirect</phase-listener> </lifecycle> </faces-config>
First it has been a bean to managed different skins, but I have forced one to test. The result is still the same.
In the jsp or xhtml files, I don't have any reference to a css file.
Thanks in advance for your help