Re: [WO45] Problem with a new EOQualifier subclass in Java
Re: [WO45] Problem with a new EOQualifier subclass in Java
- Subject: Re: [WO45] Problem with a new EOQualifier subclass in Java
- From: Max Muller <email@hidden>
- Date: Mon, 10 Mar 2003 19:40:29 -0800
Hi Labrie,
Is this qualifier being used with an AND or an OR? If so then you
actually need to implement the Cloneable interface (not mentioned in
the doc anywhere). For some strange reason in the 4.5 code qualifiers
need to be cloned when they are used with AND and OR qualifiers on the
Java side (not on the ObjC side, go figure).
Regards,
Max
On Monday, March 10, 2003, at 06:36 PM, Labrie, Francis (Liste de
distribution) wrote:
Hi,
Chuck Hill wrote:
I don't use WODisplayGroups but... The docs state, "It
collects objects from an EODataSource, filters and sorts
them, and maintains a selection in the filtered subset."
That is not very clear, but it strongly suggests that
WODisplayGroup does in memory filtering rather than
refetching from the DB.
I though that WODisplayGroup did memory filtering too,
so I've tried to implement EOQualifierEvaluation interface
and add evaluateWithObject(Object) method with debug output
within. But it still complains with the
NSInvalidArgumentException exception:
NSInvalidArgumentException: ***
-qualifierMigratedFromEntity:relationshipPath: cannot be sent to an
abstract
object of class com/genilog/webobjects/eocontrol/SoundExQualifier:
Create a
concrete instance!
I've define qualifierMigratedFromEntity(EOEntity, String)
method too with debug output, but no one are called. The fetch
is done on the database, the ODBCChannel receive all the results
and the internal transaction is commited. But then the
exception is fired.
What does it mean: "... cannot be sent to an abstract object of
class..." and "Create a concrete instance!"? My SoundExQualifier
is not an abstract class, and it doesn't return any abstract
EOQualifier class! I suspect I need to provide another method,
but I can't figure what is it... And I don't have access any
native code of WO4.5 EOQualifier classes...
Any idea? What's the magic trick to make WODisplayGroup happy
with my new SoudExQualifier?
Labrie, Francis (Liste de distribution) wrote:
I've developed a new EOQualifier subclass in Java called
SoundExQualifier that permits SoundEx comparison on a DBMS
that support it like Microsoft SQL Server (i.e.
"DIFFERENCE(keyPath, value) >= similarityLevel").
When I use this qualifier with a simple
EOFetchSpecification, it works like a charm.
But I can't use it with a WODisplayGroup. When the
WODisplayGroup method qualifyDataSource() is called, an
exception is thrown:
NSInvalidArgumentException: ***
-qualifierMigratedFromEntity:relationshipPath: cannot be
sent to an abstract object of class
com/genilog/webobjects/eocontrol/SoundExQualifier: Create
a concrete instance!
Why do I get a such exception? I don't implements
EOQualifierEvaluation because I don't want to support in
memory fetch, so there is no evaluateWithObject(Object)
method. I've tried to define a
qualifierMigratedFromEntity(EOEntity, String) method
too that returns a SoundExQualifier clone, but it doesn't
work. Can anyone help me?
--
Chuck Hill email@hidden
Global Village Consulting Inc.
http://www.global-village.net
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.