Bug 118710 - Missing information from exception when adding a filter on an invalid path
Summary: Missing information from exception when adding a filter on an invalid path
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Web Application Framework
Classification: Retired
Component: persistence
Version: nightly
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: ccm-bugs-list
QA Contact: Jon Orris
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-03-19 11:14 UTC by Daniel Berrangé
Modified: 2007-04-18 17:04 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-09-02 17:36:29 UTC
Embargoed:


Attachments (Terms of Use)

Description Daniel Berrangé 2004-03-19 11:14:32 UTC
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)

Comment 1 Daniel Berrangé 2006-09-02 17:36:29 UTC
Closing old tickets



Note You need to log in before you can comment on or make changes to this bug.