I started on something like this many years ago and my solution devolved the evolved then .. good enough later... hmm, I best refactor it again...
Anyway:
I originally stored serialized arrays and such. That was bad as soon as the next db change.
The bottom line is, I had to create a custom setup.
User / System --> Templates --> Columns --> QueryItem
Basically unraveled the queryItem world back in and out of the database. Since mine was a custom report/screen system, I had to save the picked columns and their order. QueryItems was stored as queryDictionaryType, attributeKeyPath, value, etc.
HTH James
On Oct 19, 2012, at 11:49 AM, David Avendasora < email@hidden> wrote: Hey all,
I've got a situation where I'm allowing the user to create some basic business rules within the application at runtime. I'm planning on creating EOQualifiers based on their input that will then be used to determine how to categorize EOs in one of our Entities. Kinda like:
boolean studentMeetsRequirements = aSchool().enrollmentRequirement().evaluateWithObject(aStudent()); if(studentMeetsRequirements) { aStudent().setStatus(StudentStatus.ACCEPTED); }
In this example the user would be able to create an arbitrarily complex set of rules that I will then turn into the enrollmentRequirement() EOQualifier, and each School can have it's own set of rules which will be stored in the database just like any other attribute of a School.
What I want to know is if anyone has done something similar and has a good design pattern for it. I've got a decent idea of how to do it, but before I go creating it I figured I'd ask if anyone has any experience they care to share. I'm specifically looking for ideas on how to store EOQualifiers in the database.
Thanks!
Dave
—————————————————————————————
WebObjects - so easy that even Dave Avendasora can do it!™ ————————————————————————————— David Avendasora Senior Software Abuser Kaiten, Inc.
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
|