[rules-users] IllegalAccessError in shadow classes

Mark Proctor mproctor at codehaus.org
Wed Feb 20 18:59:23 EST 2008


Edson Tirelli wrote:
>
>    Godmar,
>
>    Ok, now I understood what you mean. This ability to use Maps as a 
> "special" type of facts requires the implementation of what we call 
> "pluggable fact types". It is something we wanted to have for ages, 
> but it is not implemented yet. Unfortunately it is not as "easy" as it 
> may appear, but definitively it is a must have for the future, 
> specially as we move to the ontology space.
>    You are right to think that this will give us another level of 
> expressive power. Among several other advantages, it would allow the 
> the user instead of writing patterns like:
>
>    Map( this.factType == "SomeFactType", ... )
>
>    Where "factType" is a key in the Map, to simply write rules:
>
>    SomeFactType( ... )
>
>    More than that, once we have such feature, we can directly use any 
> structure mappable into a Java class as a fact, like 
> Grrovy/Jython/Whatever beans, CSV files, XML documents, etc.
>    So, it is REALLY powerful and really cool!
>
>    Our only limitation is indeed "(wo)man power"... :)
>    Seriously speaking, we already have pluggable dialects, pluggable 
> evaluators and an "almost pluggable" extractor framework. All of them 
> are pre-reqs for the pluggable fact types, but we did not reached that 
> point yet.
>
>    Talking about the project, the team is now committed to deliver 
> support to CEP applications (including temporal reasoning and stream 
> management), support to higher levels of ruleflow and process 
> modeling, improving the whole BRMS and repository tools, plus we have 
> Master Degree and PhD students working on Machine Learning, Decision 
> Trees, Uncertainty Reasoning, Temporal Reasoning and Rulebase Static 
> Analysis.
>    As you can see there is a LOT on our plate, so if anyone wants to 
> step up and help us accelerate the development of pluggable fact 
> types, it is more than welcome.
The engine is already mostly model independant, via our use of 
ObjectType and Extractor interfaces. Its now a matter of making that 
design clean and pluggable. I'm hoping that once we remove shadow 
proxies when I merge my branch, for 5.0, having pluggable extractors 
will be even easier.
>
>    ANYONE up to the task? :)
>
>    Regarding your question about the removal of shadow fact, yes, it 
> is scheduled for the next major release in a few months time. 
> Although, it is import to remember that you can already disable shadow 
> facts, just by following some requirements. I will write another 
> e-mail about that.
>
>    []s
>    Edson
>
>
> 2008/2/20, Godmar Back <godmar at gmail.com <mailto:godmar at gmail.com>>:
>
>     I think that you *should* treat facts that implement java.util.Map
>     differently from other facts.
>     Ignore their concrete class and don't worry about applying your
>     shadowing algorithm.
>     Then, treat them as if they were beans with getXYZ() methods for each
>     key "XYZ" they contain.
>
>     Your reply indicates that you haven't even considered this design. I
>     wonder why not?  (It seemed so natural to me that I assumed it's what
>     Drools *must* do. Especially considering the fact that Drools's chosen
>     scripting language, MVEL, supports accesses to maps using a special,
>     javascript-like syntax that allows you to verify that accesses are
>     side-effect free.)
>
>
>     On Wed, Feb 20, 2008 at 4:11 PM, Edson Tirelli <tirelli at post.com
>     <mailto:tirelli at post.com>> wrote:
>     >
>     >     A blog I wrote a long time ago about dynamically generated
>     beans:
>     >
>     >
>     http://blog.athico.com/2006/12/dynamically-generated-class-beans-as.html
>     >
>
>
>     I'm aware that I can generate beans - dynamically or statically, but
>     that is exactly the hassle I had hoped to avoid. (And, quite frankly,
>     it's not something I should have to go through when using a framework
>     such as Drools.)
>
>     Will the issue disappear in a future, shadowless version of your
>     engine? To what degree will this version depend on facts being
>     conforming Java beans?
>
>
>       - Godmar
>     _______________________________________________
>     rules-users mailing list
>     rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
>     https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
>
> -- 
>   Edson Tirelli
>   JBoss Drools Core Development
>   Office: +55 11 3529-6000
>   Mobile: +55 11 9287-5646
>   JBoss, a division of Red Hat @ www.jboss.com <http://www.jboss.com>
> ------------------------------------------------------------------------
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20080220/14b09063/attachment.html 


More information about the rules-users mailing list