Hi Ramsey, Thanks for the info. I really appreciate it.
Joe On Fri, Dec 14, 2012 at 4:24 PM, Ramsey Gurley <[email protected]>wrote: > Sounds like the display group qualifier is applied after the fetch. Since > it only fetched the original objects, it has to fault the relationships to > filter them with the qualifier and does so one at a time. > > On Dec 14, 2012, at 5:08 PM, Joe Kramer wrote: > > Weird... putting it in it's own class file works just fine. Turns out it > was not my qualifier, but something to do with the way I am using an > ERXDisplayGroup. > > I have this code in my search method: > displayGroup().setQualifier(qual); > displayGroup().fetch(); > > public ERXDisplayGroup<Person> displayGroup() { > if (displayGroup == null) { > EODatabaseDataSource dataSource = new EODatabaseDataSource( > session().defaultEditingContext(), > Person.ENTITY_NAME); > > displayGroup = new ERXDisplayGroup<Person>(); > displayGroup.setDataSource(dataSource); > displayGroup.setNumberOfObjectsPerBatch(10); > > displayGroup.setSortOrderings(Person.LAST_NAME.ascInsensitives()); > } > return displayGroup; > } > > If I change the code in the search method to: > displayGroup().setObjectArray(Person.fetchPersons(ec, qual, null)); > > everything works as fast as I would expect. Anyone have insights into why > the way I was trying to use ERXDisplayGroup was so slow? > > Thanks, > > Joe > > > On Fri, Dec 14, 2012 at 3:38 PM, Ramsey Gurley <[email protected]>wrote: > >> Uhhh, bizarre >> >> IllegalArgumentException: <NSSelector> method is not public: public >> com.webobjects.foundation.NSArray >> >> >> :D Looks public to me. >> >> Try making the delegate an actual class in its own java file then. >> >> Ramsey >> >> On Dec 14, 2012, at 4:26 PM, Joe Kramer wrote: >> >> Hi Ramsey, >> >> Adding that code I get the following stack. Did I miss anything? >> >> IllegalArgumentException: <NSSelector> method is not public: public >> com.webobjects.foundation.NSArray >> com.example.app.Application$1.editingContextShouldFetchObjects(com.webobjects.eocontrol.EOEditingContext,com.webobjects.eocontrol.EOFetchSpecification) >> Class com.webobjects.foundation.NSSelector can not access a member of >> class com.example.app.Application$1 with modifiers "public" >> at >> com.webobjects.foundation.NSSelector._safeInvokeMethod(NSSelector.java:126) >> at com.webobjects.foundation._NSDelegate._perform(_NSDelegate.java:223) >> at com.webobjects.foundation._NSDelegate.perform(_NSDelegate.java:163) >> at >> com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(EOEditingContext.java:4064) >> at >> er.extensions.eof.ERXEC.objectsWithFetchSpecification(ERXEC.java:1231) >> ... skipped 1 stack elements >> at >> com.webobjects.appserver.WODisplayGroup.fetch(WODisplayGroup.java:2132) >> at >> er.extensions.appserver.ERXDisplayGroup.fetch(ERXDisplayGroup.java:125) >> at >> er.directtoweb.pages.ERD2WListPage._fetchDisplayGroup(ERD2WListPage.java:452) >> at er.directtoweb.pages.ERD2WListPage.setupPhase(ERD2WListPage.java:552) >> ... skipped 16 stack elements >> >> On Fri, Dec 14, 2012 at 3:02 PM, Ramsey Gurley >> <[email protected]>wrote: >> >>> editingContextShouldFetchObjects >>> >> >> >> > >
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
