InvalidPropertyException-Collection of common programming errors

 



UpdateStockController





updateStock

nic.mams.web.beans.UpdateStockBean





updateStock
addOrEditOpenBalane



My xml configuration is shown above

The command class code is below

    import java.util.LinkedList;
import java.util.List;

public class UpdateStockBean {
List dimensionStones=new LinkedList(); }
public List getDimensionStones() {
return dimensionStones;
}
public void setDimensionStones(List dimensionStones) {
this.dimensionStones = dimensionStones;
}
}

The DimensionStone class is below

  public class DimensionStone {
int stoneNo;
int length;
int breadth;
int height;
int dimension;
String isIssued;

public int getStoneNo() {
return stoneNo;
}
public void setStoneNo(int stoneNo) {
this.stoneNo = stoneNo;
}
public int getLength() {
return length;
}
public void setLength(int length) {
this.length = length;
}
public int getBreadth() {
return breadth;
}
public void setBreadth(int breadth) {
this.breadth = breadth;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public int getDimension() {
return dimension;
}
public void setDimension(int dimension) {
this.dimension = dimension;
}
public String getIsIssued() {
return isIssued;
}
public void setIsIssued(String isIssued) {
this.isIssued = isIssued;
}

}

The form corresponding to the page value ” addOrEditOpenBalane “

is below

    


Remove Dimension Stone
Remove Dimension Stone
Add Dimension Stone

my controller class is shown below

    public class UpdateStockController extends AbstractWizardFormController {

@Override
protected ModelAndView processFinish(HttpServletRequest req,HttpServletResponse res, Object cmd, BindException be)
throws Exception {

}

@Override
@SuppressWarnings({ "rawtypes", "unchecked"})
protected Map referenceData(HttpServletRequest request, Object command,Errors errors, int page) throws Exception {
// TODO Auto-generated method stub
System.out.println(".............................referenceData..................");
Map map = new HashMap();
String applicationId=null;
applicationId=(String) request.getSession().getAttribute("applicationId");

Date productionDate=new Date();
Calendar cal = new GregorianCalendar();
cal.setTime(productionDate);
cal.add(Calendar.DAY_OF_MONTH, -30);
Date today30 = cal.getTime();
map.put("updateStockBean", updateStockBean.getDimensionStones());

return map;
}

}

here text boxes are added dynamically using JQUERY.The site my reference is http://outbottle.com/spring-3-mvc-adding-objects-to-a-list-element-on-the-fly-at-form-submit-generic-method/#comment-818756766

But I have run the code I got the exception

    HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.InvalidPropertyException: Invalid property 'dimensionStones[0]' of bean class [nic.mams.web.beans.UpdateStockBean]: Index of out of bounds in property path 'dimensionStones[0]'; nested exception is java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:488)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

root cause

org.springframework.beans.InvalidPropertyException: Invalid property 'dimensionStones[0]' of bean class [nic.mams.web.beans.UpdateStockBean]: Index of out of bounds in property path 'dimensionStones[0]'; nested exception is java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:617)
    org.springframework.beans.BeanWrapperImpl.getNestedBeanWrapper(BeanWrapperImpl.java:451)
    org.springframework.beans.BeanWrapperImpl.getBeanWrapperForPropertyPath(BeanWrapperImpl.java:428)
    org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645)
    org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
    org.springframework.validation.DataBinder.applyPropertyValues(DataBinder.java:532)
    org.springframework.validation.DataBinder.doBind(DataBinder.java:434)
    org.springframework.web.bind.WebDataBinder.doBind(WebDataBinder.java:147)
    org.springframework.web.bind.ServletRequestDataBinder.bind(ServletRequestDataBinder.java:108)
    org.springframework.web.servlet.mvc.BaseCommandController.bindAndValidate(BaseCommandController.java:391)
    org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:263)
    org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
    org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:861)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:795)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

root cause

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    java.util.LinkedList.entry(Unknown Source)
    java.util.LinkedList.get(Unknown Source)
    org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:566)
    org.springframework.beans.BeanWrapperImpl.getNestedBeanWrapper(BeanWrapperImpl.java:451)
    org.springframework.beans.BeanWrapperImpl.getBeanWrapperForPropertyPath(BeanWrapperImpl.java:428)
    org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645)
    org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
    org.springframework.validation.DataBinder.applyPropertyValues(DataBinder.java:532)
    org.springframework.validation.DataBinder.doBind(DataBinder.java:434)
    org.springframework.web.bind.WebDataBinder.doBind(WebDataBinder.java:147)
    org.springframework.web.bind.ServletRequestDataBinder.bind(ServletRequestDataBinder.java:108)
    org.springframework.web.servlet.mvc.BaseCommandController.bindAndValidate(BaseCommandController.java:391)
    org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:263)
    org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
    org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:861)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:795)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

note The full stack trace of the root cause is available in the JBoss Web/3.0.0-CR1 logs.
JBoss Web/3.0.0-CR1

can Any one correct the problem.If possible please reply