Hi,

Im trying to create a component which initializes a PropertySelection component based on a parameter provided to my own component. I have placed the setup code in prepareForRender() since the parameter does not seem to be set in pageBeginRender()

public abstract class BasketItem extends BaseComponent{
   @Parameter(required=true)
   public abstract ShoppingItem getItem();
public abstract StringPropertySelectionModel getPropertyModel(); public abstract void setPropertyModel(StringPropertySelectionModel spsm);

   public abstract String getQuantity();
   public abstract void setQuantity(String quantity);
   public abstract ShoppingItem getShoppingItem();
   public abstract void setShoppingItem(ShoppingItem item);
protected void prepareForRender(IRequestCycle arg0) {

       // prepare the StringPropertySelectionModel
       String[] options = new String[getItem().getQuantity()];
       for(int i=0;i<options.length;i++){
           options[i] = String.valueOf(i+1);
       }
       setPropertyModel(new StringPropertySelectionModel(options));
setQuantity(String.valueOf(getItem().getQuantity())); setShoppingItem(getItem()); super.prepareForRender(arg0);
   }

   .
   .
   .

}

  <form jwcid="@Form" listener="listener:doSubmit">
       <input jwcid="@Hidden" value="ognl:shoppingItem"/>
       <span jwcid="@InsertText" value="ognl:item.itemName"/>
       <span jwcid="@InsertText" value="ognl:item.quantity"/>
       <span jwcid="@InsertText" value="ognl:item.quantity"/>
<span jwcid="@PropertySelection" value="ognl:quantity" model="ognl:propertyModel"/> <span jwcid="@Submit" selected="ognl:selected" tag="update" label="Update quantity"/> <span jwcid="@Submit" selected="ognl:selected" tag="remove" label="Remove all"/>
  </form>

This seems to be working fine until I submit and I get the following NullpointerException

Stack Trace:

   * 
org.apache.tapestry.form.PropertySelection.rewindFormComponent(PropertySelection.java:118)

   * 
org.apache.tapestry.form.AbstractFormComponent.renderComponent(AbstractFormComponent.java:115)

   * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)

   * 
org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:434)

   * org.apache.tapestry.form.FormSupportImpl.rewind(FormSupportImpl.java:564)

   * org.apache.tapestry.form.Form.renderComponent(Form.java:226)
   * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)

   * org.apache.tapestry.form.Form.rewind(Form.java:327)
   * org.apache.tapestry.engine.RequestCycle.rewindForm(RequestCycle.java:439)

   * org.apache.tapestry.form.Form.trigger(Form.java:338)
   * 
org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java:146)

   * org.apache.tapestry.engine.DirectService.service(DirectService.java:132)

   * $IEngineService_10bddc7119f.service($IEngineService_10bddc7119f.java)
   * 
org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:66)

   * org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248)

   * 
org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)

   * 
$WebRequestServicer_10bddc7117a.service($WebRequestServicer_10bddc7117a.java)

   * 
org.apache.tapestry.services.impl.DisableCachingFilter.service(DisableCachingFilter.java:48)

   * 
$WebRequestServicerFilter_10bddc7117c.service($WebRequestServicerFilter_10bddc7117c.java)

   * 
$WebRequestServicer_10bddc7117e.service($WebRequestServicer_10bddc7117e.java)

   * 
$WebRequestServicer_10bddc71176.service($WebRequestServicer_10bddc71176.java)

   * 
org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)

   * 
$ServletRequestServicer_10bddc7115a.service($ServletRequestServicer_10bddc7115a.java)

   * 
org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)

   * 
$ServletRequestServicerFilter_10bddc71156.service($ServletRequestServicerFilter_10bddc71156.java)

   * 
$ServletRequestServicer_10bddc7115c.service($ServletRequestServicer_10bddc7115c.java)

   * 
org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)

   * 
$ServletRequestServicerFilter_10bddc71154.service($ServletRequestServicerFilter_10bddc71154.java)

   * 
$ServletRequestServicer_10bddc7115c.service($ServletRequestServicer_10bddc7115c.java)

   * 
org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)

   * 
$ServletRequestServicerFilter_10bddc71158.service($ServletRequestServicerFilter_10bddc71158.java)

   * 
$ServletRequestServicer_10bddc7115c.service($ServletRequestServicer_10bddc7115c.java)

   * 
$ServletRequestServicer_10bddc7114e.service($ServletRequestServicer_10bddc7114e.java)

   * 
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)

   * org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:168)

   * javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
   * javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   * 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)

   * 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

   * 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)

   * 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)

   * 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)

   * 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)

   * 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)

   * org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)

   * org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)

   * 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)

   * 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)

   * 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)

   * 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)

   * java.lang.Thread.run(Unknown Source)

I am not sure what Im doing wrong, is there another place to read parameters?

regards
Erik


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to