Wolfgang Laun wrote:
> 2010/1/31 <
rouvas@di.uoa.gr>
>
>> Wolfang,
>>
>> thank you very much for your reply.
>>
>> Your assumptions are correct and your explanation makes sense.
>> Unfortunately, I cannot understand why this happens.
>>
>>
> It may very well be an implementation restriction; whether it can be
> removed easily I'm not prepared to say. (@Edson?)
Fair enough.
>
>
>> The IUEcop has the following structure (in rough terms)
>> IUEcop
>> +- (various objects as properties)
>> +- list of traderAuthorisation
>> +- list of warehouseAuthorisation
>> +- list of temporaryAuthorisation
>>
>>
>> A more general issue with my understanding has to do with handling of
>> deeply nested objects. In my case, the "traderAuthorisation" object has
>> itself another set of object properties and lists that I would like to
>> refer to in my rules. Are you aware of any relevant documentation?
>>
>
> Nested objects that are not facts but shared between fact objects should
> not
> cause any problems; especially the MVEL syntax is provided for easy
> access to properties of a property.
>
> If such an object is shared among several fact objects, you'll have a
> problem whenever such a shared object is updated by code on a RHS:
> To trigger reevaluation of rules, the engine would have to be
> notified about all objects referring to the shared object as being
> updated.
Although in my case the objects are not shared, I understand the issues
involved.
>
> Lists is adding another twist, even though the "from" CE appears
> to simplify handling of Iterable properties and works well enough.
> The recommended (see Drools Expert, section 4.8.2.8, Conditional
> Element "from") alternative is to add List elements as WM elements
> of their own,
I was hoping to avoid this.
This is how I was doing things in Prolog, but I was hoping that
object-orientation would help tackling this issue.
Anyway, thanks a lot for your help.
-Stathis
> even though this may require the addition of linking
> information to the list elements. (In your case: a TraderAuthorisation
> would have to contain a reference to the IUEcop object it belongs
> to.) You'll have to balance the additionally required coding effort
> for this against the greater complexity of rules using "from".
>
> -W
>
>
>> Thank you very much for your time,
>> -Stathis
>>