Description of problem: Consider adding a DataCollection of ACSObjects. I had mistakenly specified the filter on 'parent.categories.id' instead of 'categories.id'. objects.addEqualsFilter("parent.categories.id", cat.getID()); Prior to test-qgen land, the error message would have been along the lines of no such path 'parent.categories.id', valid paths are [...list of all paths in object...]' Now, however, it merely says java.lang.IllegalArgumentException: unable to resolve variable: parent {com.arsdigita.kernel.ACSObject this;} This is a significantly reduced level of useful information for the developer. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. Retrieve a collection of objects 2. Add a filter on an invalid path 3. Actual results: Error message indicating invalid path Expected results: Error message indicating invalid path & listing all valid paths. Additional info: java.lang.IllegalArgumentException: unable to resolve variable: parent {com.arsdigita.kernel.ACSObject this;} at com.redhat.persistence.oql.Generator.resolve(Generator.java(Compiled Code)) at com.redhat.persistence.oql.Variable.frame(Variable.java(Compiled Code)) at com.redhat.persistence.oql.Get.frame(Get.java(Compiled Code)) at com.redhat.persistence.oql.Get.frame(Get.java(Compiled Code)) at com.redhat.persistence.oql.Static$Choice.frame(Static.java(Compiled Code)) at com.redhat.persistence.oql.Static.frame(Static.java(Compiled Code)) at com.redhat.persistence.oql.Filter.frame(Filter.java:34) at com.redhat.persistence.oql.Sort.frame(Sort.java:36) at com.redhat.persistence.oql.Size.frame(Size.java:21) at com.redhat.persistence.oql.Query.generate(Query.java(Compiled Code)) at com.redhat.persistence.oql.Query.generate(Query.java:45) at com.redhat.persistence.engine.rdbms.ANSIWriter.write(ANSIWriter.java:35) at com.redhat.persistence.engine.rdbms.Select.write(Select.java:60) at com.redhat.persistence.engine.rdbms.SQLWriter.write(SQLWriter.java:181) at com.redhat.persistence.engine.rdbms.RDBMSEngine.execute(RDBMSEngine.java:436) at com.redhat.persistence.engine.rdbms.RDBMSEngine.execute(RDBMSEngine.java:430) at com.redhat.persistence.engine.rdbms.RDBMSEngine.size(RDBMSEngine.java:275) at com.redhat.persistence.DataSet.size(DataSet.java:66) at com.arsdigita.persistence.DataQueryImpl.size(DataQueryImpl.java:671) at com.arsdigita.london.navigation.DataCollectionRenderer.generateXML(DataCollectionRenderer.java:80) at com.arsdigita.london.navigation.ui.portlet.ObjectListPortletRenderer.generateBodyXML(ObjectListPortletRenderer.java:56) at com.arsdigita.bebop.portal.AbstractPortletRenderer.generateXMLBody(AbstractPortletRenderer.java:58) at com.arsdigita.bebop.portal.Portlet.generateXML(Portlet.java:111) at com.arsdigita.bebop.portal.AbstractPortletRenderer.makeXML(AbstractPortletRenderer.java:78) at com.arsdigita.bebop.portal.AbstractPortletRenderer.generateXML(AbstractPortletRenderer.java:87) at com.arsdigita.london.portal.ui.PersistentPortal.generateXML(PersistentPortal.java:335) at com.arsdigita.bebop.SimpleContainer.generateChildrenXML(SimpleContainer.java:243) at com.arsdigita.bebop.SimpleContainer.generateXML(SimpleContainer.java:260) at com.arsdigita.aplaws.ui.HomepageWorkspace.generateXML(HomepageWorkspace.java:151) at com.arsdigita.bebop.SimpleContainer.generateChildrenXML(SimpleContainer.java:243) at com.arsdigita.bebop.SimpleContainer.generateXML(SimpleContainer.java:260) at com.arsdigita.bebop.Page.generateXML(Page.java:642) at com.arsdigita.bebop.jsp.DefinePage.doEndTag(DefinePage.java:253) at _templates._ccm_22dldn_22dportal._portal._index__jsp._jspService(_index__jsp.java:113) at com.caucho.jsp.JavaPage.service(JavaPage.java:75) at com.caucho.jsp.Page.subservice(Page.java:506) at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182) at com.caucho.server.http.Invocation.service(Invocation.java:315) at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:222) at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:103) at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:80) at com.arsdigita.web.ApplicationFileServlet.doService(ApplicationFileServlet.java:148) at com.arsdigita.web.BaseApplicationServlet$1.excurse(BaseApplicationServlet.java:111) at com.arsdigita.kernel.KernelExcursion.run(KernelExcursion.java:57) at com.arsdigita.web.BaseApplicationServlet.doService(BaseApplicationServlet.java:105) at com.arsdigita.web.BaseServlet$1.excurse(BaseServlet.java:176) at com.arsdigita.kernel.KernelExcursion.run(KernelExcursion.java:57) at com.arsdigita.web.BaseServlet.internalService(BaseServlet.java:147) at com.arsdigita.web.BaseServlet.doGet(BaseServlet.java:272) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96) at com.caucho.server.http.Invocation.service(Invocation.java:315) at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:222) at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:103) at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:80) at com.arsdigita.web.BaseDispatcher.forward(BaseDispatcher.java:206) at com.arsdigita.web.BaseDispatcher.forward(BaseDispatcher.java:190) at com.arsdigita.web.BaseDispatcher.dispatch(BaseDispatcher.java:130) at com.arsdigita.web.DispatcherServlet.doService(DispatcherServlet.java:123) at com.arsdigita.web.BaseServlet$1.excurse(BaseServlet.java:176) at com.arsdigita.kernel.KernelExcursion.run(KernelExcursion.java:57) at com.arsdigita.web.BaseServlet.internalService(BaseServlet.java:147) at com.arsdigita.web.BaseServlet.doGet(BaseServlet.java:272) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96) at com.arsdigita.london.shortcuts.ShortcutFilter.doService(ShortcutFilter.java:79) at com.arsdigita.web.BaseFilter.doFilter(BaseFilter.java:96) at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88) at com.arsdigita.london.subsite.SubsiteFilter.doService(SubsiteFilter.java:69) at com.arsdigita.web.BaseFilter.doFilter(BaseFilter.java:96) at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88) at com.caucho.server.http.Invocation.service(Invocation.java:315) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:246) at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:164) at com.caucho.server.TcpConnection.run(TcpConnection.java:139) at java.lang.Thread.run(Thread.java:513)
Closing old tickets