{"id":6116,"date":"2014-04-13T03:00:44","date_gmt":"2014-04-13T03:00:44","guid":{"rendered":"https:\/\/unknownerror.org\/index.php\/2014\/04\/13\/invalidpropertyexception-collection-of-common-programming-errors-2\/"},"modified":"2014-04-13T03:00:44","modified_gmt":"2014-04-13T03:00:44","slug":"invalidpropertyexception-collection-of-common-programming-errors-2","status":"publish","type":"post","link":"https:\/\/unknownerror.org\/index.php\/2014\/04\/13\/invalidpropertyexception-collection-of-common-programming-errors-2\/","title":{"rendered":"InvalidPropertyException-Collection of common programming errors"},"content":{"rendered":"<pre><code> \n\n\n\nUpdateStockController\n\n\n\n\n\nupdateStock\n\nnic.mams.web.beans.UpdateStockBean\n\n\n\n\n\nupdateStock\naddOrEditOpenBalane\n\n\n\n<\/code><\/pre>\n<p>My xml configuration is shown above<\/p>\n<p>The command class code is below<\/p>\n<pre><code>    import java.util.LinkedList;\nimport java.util.List;\n\npublic class UpdateStockBean {\nList dimensionStones=new LinkedList(); }\npublic List getDimensionStones() {\nreturn dimensionStones;\n}\npublic void setDimensionStones(List dimensionStones) {\nthis.dimensionStones = dimensionStones;\n}\n}\n<\/code><\/pre>\n<p>The DimensionStone class is below<\/p>\n<pre><code>  public class DimensionStone {\nint stoneNo;\nint length;\nint breadth;\nint height;\nint dimension;\nString isIssued;\n\npublic int getStoneNo() {\nreturn stoneNo;\n}\npublic void setStoneNo(int stoneNo) {\nthis.stoneNo = stoneNo;\n}\npublic int getLength() {\nreturn length;\n}\npublic void setLength(int length) {\nthis.length = length;\n}\npublic int getBreadth() {\nreturn breadth;\n}\npublic void setBreadth(int breadth) {\nthis.breadth = breadth;\n}\npublic int getHeight() {\nreturn height;\n}\npublic void setHeight(int height) {\nthis.height = height;\n}\npublic int getDimension() {\nreturn dimension;\n}\npublic void setDimension(int dimension) {\nthis.dimension = dimension;\n}\npublic String getIsIssued() {\nreturn isIssued;\n}\npublic void setIsIssued(String isIssued) {\nthis.isIssued = isIssued;\n}\n\n}\n<\/code><\/pre>\n<p>The form corresponding to the page value &#8221; addOrEditOpenBalane &#8220;<\/p>\n<p>is below<\/p>\n<pre><code>    \n\n\n<\/code><\/pre>\n<table border=\"1\" width=\"740\"><\/table>\n<table border=\"1\" width=\"400\">\n<tr class=\"dimensionStone\">\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td>Remove Dimension Stone<\/td>\n<\/tr>\n<tr class=\"dimensionStone defaultRow\">\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td>Remove Dimension Stone<\/td>\n<\/tr>\n<\/table>\n<table border=\"1\" width=\"600\">\n<tr>\n<td align=\"left\" colspan=\"3\">Add Dimension Stone<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<\/tr>\n<tr>\n<td align=\"center\" colspan=\"3\" height=\"180\" width=\"200\"><\/td>\n<\/tr>\n<\/table>\n<p>my controller class is shown below<\/p>\n<pre><code>    public class UpdateStockController extends AbstractWizardFormController {\n\n@Override\nprotected ModelAndView processFinish(HttpServletRequest req,HttpServletResponse res, Object cmd, BindException be)\nthrows Exception {\n\n}\n\n@Override\n@SuppressWarnings({ \"rawtypes\", \"unchecked\"})\nprotected Map referenceData(HttpServletRequest request, Object command,Errors errors, int page) throws Exception {\n\/\/ TODO Auto-generated method stub\nSystem.out.println(\".............................referenceData..................\");\nMap map = new HashMap();\nString applicationId=null;\napplicationId=(String) request.getSession().getAttribute(\"applicationId\");\n\nDate productionDate=new Date();\nCalendar cal = new GregorianCalendar();\ncal.setTime(productionDate);\ncal.add(Calendar.DAY_OF_MONTH, -30);\nDate today30 = cal.getTime();\nmap.put(\"updateStockBean\", updateStockBean.getDimensionStones());\n\nreturn map;\n}\n\n}\n<\/code><\/pre>\n<p>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<\/p>\n<p>But I have run the code I got the exception<\/p>\n<pre><code>    HTTP Status 500 -\n\ntype Exception report\n\nmessage\n\ndescription The server encountered an internal error () that prevented it from fulfilling this request.\n\nexception\n\norg.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\n    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:488)\n    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)\n    javax.servlet.http.HttpServlet.service(HttpServlet.java:754)\n    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)\n\nroot cause\n\norg.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\n    org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:617)\n    org.springframework.beans.BeanWrapperImpl.getNestedBeanWrapper(BeanWrapperImpl.java:451)\n    org.springframework.beans.BeanWrapperImpl.getBeanWrapperForPropertyPath(BeanWrapperImpl.java:428)\n    org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645)\n    org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)\n    org.springframework.validation.DataBinder.applyPropertyValues(DataBinder.java:532)\n    org.springframework.validation.DataBinder.doBind(DataBinder.java:434)\n    org.springframework.web.bind.WebDataBinder.doBind(WebDataBinder.java:147)\n    org.springframework.web.bind.ServletRequestDataBinder.bind(ServletRequestDataBinder.java:108)\n    org.springframework.web.servlet.mvc.BaseCommandController.bindAndValidate(BaseCommandController.java:391)\n    org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:263)\n    org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)\n    org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)\n    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:861)\n    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:795)\n    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)\n    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)\n    javax.servlet.http.HttpServlet.service(HttpServlet.java:754)\n    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)\n\nroot cause\n\njava.lang.IndexOutOfBoundsException: Index: 0, Size: 0\n    java.util.LinkedList.entry(Unknown Source)\n    java.util.LinkedList.get(Unknown Source)\n    org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:566)\n    org.springframework.beans.BeanWrapperImpl.getNestedBeanWrapper(BeanWrapperImpl.java:451)\n    org.springframework.beans.BeanWrapperImpl.getBeanWrapperForPropertyPath(BeanWrapperImpl.java:428)\n    org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645)\n    org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)\n    org.springframework.validation.DataBinder.applyPropertyValues(DataBinder.java:532)\n    org.springframework.validation.DataBinder.doBind(DataBinder.java:434)\n    org.springframework.web.bind.WebDataBinder.doBind(WebDataBinder.java:147)\n    org.springframework.web.bind.ServletRequestDataBinder.bind(ServletRequestDataBinder.java:108)\n    org.springframework.web.servlet.mvc.BaseCommandController.bindAndValidate(BaseCommandController.java:391)\n    org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:263)\n    org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)\n    org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)\n    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:861)\n    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:795)\n    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)\n    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)\n    javax.servlet.http.HttpServlet.service(HttpServlet.java:754)\n    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)\n\nnote The full stack trace of the root cause is available in the JBoss Web\/3.0.0-CR1 logs.\nJBoss Web\/3.0.0-CR1\n<\/code><\/pre>\n<p>can Any one correct the problem.If possible please reply<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 { [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-6116","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/6116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/comments?post=6116"}],"version-history":[{"count":0,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/6116\/revisions"}],"wp:attachment":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/media?parent=6116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/categories?post=6116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/tags?post=6116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}