5 Replies Latest reply on May 7, 2011 3:04 PM by lfryc

    NullPointerException at org.richfaces.skin.SkinFactoryImpl.clearSkinCaches(SkinFactoryImpl.java:100)

    msansm1

      Hello,

       

      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