I am using the shale-framework-20070207 snapshot with tiles.

I have a managed bean systemOperatorBean with an int property named 
"searchPageSize". I have another bean named "systemOperatorMnt" which has 
property operatorBean with value "#{systemOperatorBean}".

I can create and update records using bean systemOperatorMnt when I enter int 
values for the searchPageSize property. This tells me I have a perfectly good 
bean with a good corresponding jsp page.

However, I get a npe if I initialize searchPageSize in systemOperatorBean. What 
stumps me is that I can initialize other String properties in 
systemOperatorBean just fine. Any ideas anyone?

Thanks in advance,

Dick Starr

Details follow:

Managed beans:
...
<!-- TODO Why can I initialize name (a String) but get a npe
  when I try to initialize searchPageSize (an int)? -->
  <managed-bean>
    <managed-bean-name>systemOperatorBean</managed-bean-name>
    <managed-bean-class>com.starrcs.system.OperatorBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    <managed-property>
      <property-name>name</property-name>
      <value>test1</value>
    </managed-property>
    <managed-property>
      <property-name>searchPageSize</property-name>
      <value>15</value>
    </managed-property>
  </managed-bean>
  
  <managed-bean>
    <managed-bean-name>systemOperatorMnt</managed-bean-name>
    <managed-bean-class>com.starrcs.system.OperatorMnt</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    <managed-property>
      <property-name>operatorBean</property-name>
      <value>#{systemOperatorBean}</value>
    </managed-property>
    <managed-property>
      <property-name>operatorBean1</property-name>
      <value>#{systemOperatorBean}</value>
    </managed-property>
    <managed-property>
      <property-name>operatorListBean</property-name>
      <value>#{systemOperatorListBean}</value>
    </managed-property>
    <managed-property>
      <property-name>searchBean</property-name>
      <value>#{commonSearch}</value>
    </managed-property>
  </managed-bean>

jsp:
...
<t:saveState id="operatorBeanSS" value="#{systemOperatorMnt.operatorBean}"/>
<t:saveState id="operatorBean1SS" value="#{systemOperatorMnt.operatorBean1}"/>
<h:form id="operatorMnt">
...
     <h:outputLabel for="name">
      <h:outputText  value="#{msg['app.Name']}"/>
      <h:outputText value="#{msg['symbol.sep1']}"/>
    </h:outputLabel>
    <h:panelGroup>
      <h:inputText id="name" maxlength="48" required="true" size="36" 
value="#{systemOperatorMnt.operatorBean.name}">
        <f:validateLength minimum="4" maximum="48"/>
      </h:inputText>
      <h:message for="name" styleClass="starraMsgError"/>        
    </h:panelGroup>
 ...
    <h:outputLabel for="searchPageSize">
      <h:outputText  value="#{msg['app.Search.page.size']}"/>
      <h:outputText value="#{msg['symbol.sep1']}"/>
    </h:outputLabel>
    <h:panelGroup>
      <h:inputText id="searchPageSize" maxlength="2" required="true" size="2" 
value="#{systemOperatorMnt.operatorBean.searchPageSize}">
        <f:validateLongRange maximum="99" minimum="5"/>
      </h:inputText>
      <h:message for="searchPageSize" styleClass="starraMsgError"/>        
    </h:panelGroup>
 ...
  
 trace:

2007-02-09 12:46:39,729 - ERROR 
org.apache.myfaces.lifecycle.PhaseListenerManager - Exception in PhaseListener 
RESTORE_VIEW(1) afterPhase
java.lang.NullPointerException
        at 
org.apache.myfaces.renderkit.html.util.AutoScrollPhaseListener.afterPhase(AutoScrollPhaseListener.java:52)
        at 
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:89)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:181)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:66)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
org.apache.shale.application.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilter.java:267)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
        at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)
2007-02-09 12:46:39,790 - ERROR 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/starraShale].[faces]
 - Servlet.service() for servlet faces threw exception
javax.faces.el.EvaluationException: Cannot get value for expression 
'#{systemOperatorBean}'
        at 
org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:402)
        at 
org.apache.shale.tiger.faces.VariableResolverImpl.property(VariableResolverImpl.java:605)
        at 
org.apache.shale.tiger.faces.VariableResolverImpl.create(VariableResolverImpl.java:250)
        at 
org.apache.shale.tiger.faces.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:194)
        at 
org.apache.shale.faces.ShaleVariableResolver.resolveVariable(ShaleVariableResolver.java:157)
        at 
org.apache.myfaces.config.LastVariableResolverInChain.resolveVariable(LastVariableResolverInChain.java:42)
        at 
org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:574)
        at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
        at 
org.apache.myfaces.el.ValueBindingImpl.resolveToBaseAndProperty(ValueBindingImpl.java:455)
        at 
org.apache.myfaces.el.ValueBindingImpl.setValue(ValueBindingImpl.java:248)
        at 
org.apache.myfaces.custom.savestate.UISaveState.restoreState(UISaveState.java:77)
        at 
javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:728)
        at 
javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:719)
        at 
org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreComponentState(JspStateManagerImpl.java:221)
        at 
org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspStateManagerImpl.java:287)
        at 
org.apache.myfaces.application.jsp.JspViewHandlerImpl.restoreView(JspViewHandlerImpl.java:255)
        at 
org.apache.shale.tiles.TilesViewHandler.restoreView(TilesViewHandler.java:230)
        at 
org.apache.shale.validator.faces.ValidatorViewHandler.restoreView(ValidatorViewHandler.java:136)
        at 
org.apache.shale.view.faces.ViewViewHandler.restoreView(ViewViewHandler.java:160)
        at 
org.apache.shale.tiles.TilesViewHandler.restoreView(TilesViewHandler.java:230)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:141)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:66)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
org.apache.shale.application.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilter.java:267)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
        at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
        at 
org.apache.shale.tiger.faces.VariableResolverImpl.property(VariableResolverImpl.java:620)
        at 
org.apache.shale.tiger.faces.VariableResolverImpl.create(VariableResolverImpl.java:250)
        at 
org.apache.shale.tiger.faces.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:194)
        at 
org.apache.shale.faces.ShaleVariableResolver.resolveVariable(ShaleVariableResolver.java:157)
        at 
org.apache.myfaces.config.LastVariableResolverInChain.resolveVariable(LastVariableResolverInChain.java:42)
        at 
org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:574)
        at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
        at 
org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:383)
        ... 42 more


  

Reply via email to