Bug 118710
| Summary: | Missing information from exception when adding a filter on an invalid path | ||
|---|---|---|---|
| Product: | [Retired] Red Hat Web Application Framework | Reporter: | Daniel Berrangé <berrange> |
| Component: | persistence | Assignee: | ccm-bugs-list |
| Status: | CLOSED WONTFIX | QA Contact: | Jon Orris <jorris> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | nightly | ||
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2006-09-02 17:36:29 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
Closing old tickets |
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)