[rules-users] no visitor implementation for : class org.drools.rule.TypeDeclaration

Tina Vießmann tviessmann at stud.hs-bremen.de
Tue Aug 24 10:45:51 EDT 2010


  Thank you for the explanation, Esteban. :)
I'm sorry, but I have still some uncertainties about it.

#1  I'm not sure if I've understood it correct. Is the message displayed 
every time a resource containing declares is modified or does is it 
displayed if the declare statements are changed?

#2 The following extract of my original log extract says that the LHS of 
two rules has been changed. But I haven't modified anything on them. 
I've just deleted a rule. So what does it mean? Or am I 
missunderstanding the messages? Because for the the first rule no 
changes have been detected (and that is what I would expect for all 
rules except the deleted on.)

    [2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl: [Rule
    name=/Warning threshold exceeded to many times/, agendaGroup=MAIN,
    salience=0, no-loop=false] didn't change. Removing from diff package
    and adding it to unmodified list.
    [2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl:
    Comparing [Rule name=/_I_nsert Watcher Into Knowledge Base/,
    agendaGroup=MAIN, salience=0, no-loop=false] against [Rule
    name=Insert Watcher Into Knowledge Base, agendaGroup=MAIN,
    salience=0, no-loop=false]
    [2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl: *The
    rules have different LHS*
    [2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl:
    Comparing [Rule name=/Add Event to Watcher Set/, agendaGroup=MAIN,
    salience=0, no-loop=false] against [Rule name=Add Event to Watcher
    Set, agendaGroup=MAIN, salience=0, no-loop=false]
    [2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl: *The
    rules have different LHS*

Thanks :)
Tina



Am 23.08.2010 23:33, schrieb Esteban Aliverti:
> When working on incremental change-set processing mode, Knowledge 
> Agent performs a diff between the original and the modified resources. 
> Modified resources are compiled, and a visitor pattern is used to loop 
> over knowledge definitions (such as rules, functions, queries, etc.).
> So if rule1 was modified in the new resource, it is removed from the 
> original kbase and replaced with the new implementation. The thing is 
> that kagent doesn't implement a visitor for TypeDeclaration (when you 
> use *declare* in your DRL to define your model) so it doesn't know how 
> to handle them.
> I have recently fix a typo in the visitor implementation that 
> prevented you to receive a better message:
>
> "BinaryResourceDiffProducerImpl: Couldn't handle 
> "+yourDefinitionName+". We must leave it in the new Package."
>
> This means that kagent doesn't support modifications on declared types 
> yet.
>
> Best,
>
>
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
>
> Esteban Aliverti
> - Developer @ http://www.plugtree.com <http://www.plugtree.com>
> - Blog @ http://ilesteban.wordpress.com
>
>
> 2010/8/23 Tina Vießmann <tviessmann at stud.hs-bremen.de 
> <mailto:tviessmann at stud.hs-bremen.de>>
>
>     Hi,
>
>     I'm getting a two red highlighted outputs in eclipse if I modify
>     my rules file during run time. Besides that the modifications seem
>     to work.
>     What does it mean?
>
>     The full output I get when the resource change is detected is
>     listed below. The bold lines are the concerned ones.
>
>     Thanks for any help! :)
>     Tina
>
>
>     [2010:08:235 21:08:296:debug] ResourceChangeScanner attempt to
>     scan 1 resources
>     [2010:08:235 21:08:296:debug] ResourceChangeScanner modified
>     resource=[ClassPathResource path='testRule.drl'] : 1282559206875 :
>     1282591705000
>     [2010:08:235 21:08:296:debug] ResourceChangeNotification received
>     ChangeSet notification
>     [2010:08:235 21:08:296:debug] ResourceChangeScanner thread is
>     waiting for 10 seconds.
>     [2010:08:235 21:08:296:debug] ResourceChangeNotification
>     processing ChangeSet
>     [2010:08:235 21:08:296:debug] ResourceChangeNotification ChangeSet
>     modified resource=[ClassPathResource path='testRule.drl'] for
>     listener=org.drools.agent.impl.KnowledgeAgentImpl at b40ec4
>     [2010:08:235 21:08:296:debug] KnowledgeAgent received ChangeSet
>     changed notification
>     [2010:08:235 21:08:296:info] KnowledgeAgent applying ChangeSet
>     [2010:08:235 21:08:296:debug] KnowledgeAgent removing mappings for
>     resource=[ClassPathResource path='testRule.drl'] with unsubscribe=true
>     [2010:08:235 21:08:296:debug] KnowledgeAgent notifier
>     unsubscribing to resource=[ClassPathResource path='testRule.drl']
>     [2010:08:235 21:08:296:debug] ResourceChangeNotification
>     unsubscribing
>     listener=org.drools.agent.impl.KnowledgeAgentImpl at b40ec4 to
>     resource=[ClassPathResource path='testRule.drl']
>     [2010:08:235 21:08:296:debug] ResourceChangeScanner unsubcribing
>     notifier=org.drools.io.impl.ResourceChangeNotifierImpl at 13576a2 to
>     resource=[ClassPathResource path='testRule.drl']
>     [2010:08:235 21:08:296:debug] ResourceChangeScanner
>     resource=[ClassPathResource path='testRule.drl'] now has no
>     subscribers
>     [2010:08:235 21:08:296:debug] KnowledgeAgent rebuilding
>     KnowledgeBase using ChangeSet
>     [2010:08:235 21:08:296:info] KnowledgeAgent performing an
>     incremental build of the ChangeSet
>     [2010:08:235 21:08:296:debug] ResourceChangeNotification thread is
>     waiting for queue update
>     [INFO ] 21:30:10,375 [main] "Event retracted."  (DRL Logger)
>     [2010:08:235 21:08:453:debug] KnowledgeAgent: Diffing:
>     [ClassPathResource path='testRule.drl']
>     [INFO ] 21:30:10,453 [main] "Event retracted."  (DRL Logger)
>     [2010:08:235 21:08:500:debug] BinaryResourceDiffProducerImpl:
>     [Rule name=delete parameter values, agendaGroup=MAIN, salience=0,
>     no-loop=false] is not present anymore. Adding to removed list.
>     [2010:08:235 21:08:500:debug] BinaryResourceDiffProducerImpl:
>     org.drools.rule.Function at 67fe80 did change. Marking as removed so
>     it new version could be added later.
>     [2010:08:235 21:08:500:debug] BinaryResourceDiffProducerImpl:
>     Comparing [Rule name=Warning threshold exceeded to many times,
>     agendaGroup=MAIN, salience=0, no-loop=false] against [Rule
>     name=Warning threshold exceeded to many times, agendaGroup=MAIN,
>     salience=0, no-loop=false]
>     *no visitor implementation for : class
>     org.drools.rule.TypeDeclaration :
>     org.drools.rule.TypeDeclaration at 95f290
>     no visitor implementation for : class
>     org.drools.rule.TypeDeclaration :
>     org.drools.rule.TypeDeclaration at bfd66a*
>     [2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl:
>     [Rule name=Warning threshold exceeded to many times,
>     agendaGroup=MAIN, salience=0, no-loop=false] didn't change.
>     Removing from diff package and adding it to unmodified list.
>     [2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl:
>     Comparing [Rule name=Insert Watcher Into Knowledge Base,
>     agendaGroup=MAIN, salience=0, no-loop=false] against [Rule
>     name=Insert Watcher Into Knowledge Base, agendaGroup=MAIN,
>     salience=0, no-loop=false]
>     [2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl: The
>     rules have different LHS
>     [2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl:
>     Comparing [Rule name=Add Event to Watcher Set, agendaGroup=MAIN,
>     salience=0, no-loop=false] against [Rule name=Add Event to Watcher
>     Set, agendaGroup=MAIN, salience=0, no-loop=false]
>     [2010:08:235 21:08:546:debug] BinaryResourceDiffProducerImpl: The
>     rules have different LHS
>     [2010:08:235 21:08:546:debug] KnowledgeAgent: Removing: [Rule
>     name=delete parameter values, agendaGroup=MAIN, salience=0,
>     no-loop=false]
>     [2010:08:235 21:08:546:debug] KnowledgeAgent removing Rule=[Rule
>     name=delete parameter values, agendaGroup=MAIN, salience=0,
>     no-loop=false] from package=net.eads.astrium.aits.cep.rules
>     [2010:08:235 21:08:546:debug] KnowledgeAgent: Removing:
>     org.drools.rule.Function at 67fe80
>     [2010:08:235 21:08:562:debug] KnowledgeAgent mapping
>     resource=[ClassPathResource path='testRule.drl'] to
>     KnowledgeDefinition=[Rule name=Warning threshold exceeded to many
>     times, agendaGroup=MAIN, salience=0, no-loop=false]
>     [2010:08:235 21:08:562:debug] KnowledgeAgent obtaining pkg
>     resource=[ClassPathResource path='testRule.drl']
>     [2010:08:235 21:08:562:debug] KnowledgeAgent mapping
>     resource=[ClassPathResource path='testRule.drl'] to
>     KnowledgeDefinition=[Rule name=Insert Watcher Into Knowledge Base,
>     agendaGroup=MAIN, salience=0, no-loop=false]
>     [2010:08:235 21:08:562:debug] KnowledgeAgent notifier subscribing
>     to resource=[ClassPathResource path='testRule.drl']
>     [2010:08:235 21:08:562:debug] ResourceChangeNotification
>     subscribing
>     listener=org.drools.agent.impl.KnowledgeAgentImpl at b40ec4 to
>     resource=[ClassPathResource path='testRule.drl']
>     [2010:08:235 21:08:562:debug] ResourceChangeScanner subcribing
>     notifier=org.drools.io.impl.ResourceChangeNotifierImpl at 13576a2 to
>     resource=[ClassPathResource path='testRule.drl']
>     [2010:08:235 21:08:562:debug] KnowledgeAgent mapping
>     resource=[ClassPathResource path='testRule.drl'] to
>     KnowledgeDefinition=[Rule name=Add Event to Watcher Set,
>     agendaGroup=MAIN, salience=0, no-loop=false]
>     [2010:08:235 21:08:562:debug] KnowledgeAgent notifier subscribing
>     to resource=[ClassPathResource path='testRule.drl']
>     [2010:08:235 21:08:562:debug] ResourceChangeNotification
>     subscribing
>     listener=org.drools.agent.impl.KnowledgeAgentImpl at b40ec4 to
>     resource=[ClassPathResource path='testRule.drl']
>     [2010:08:235 21:08:562:debug] KnowledgeAgent mapping
>     resource=[ClassPathResource path='testRule.drl'] to
>     KnowledgeDefinition=org.drools.rule.TypeDeclaration at 17dff15
>     [2010:08:235 21:08:562:debug] KnowledgeAgent notifier subscribing
>     to resource=[ClassPathResource path='testRule.drl']
>     [2010:08:235 21:08:562:debug] ResourceChangeNotification
>     subscribing
>     listener=org.drools.agent.impl.KnowledgeAgentImpl at b40ec4 to
>     resource=[ClassPathResource path='testRule.drl']
>     [2010:08:235 21:08:562:debug] KnowledgeAgent mapping
>     resource=[ClassPathResource path='testRule.drl'] to
>     KnowledgeDefinition=org.drools.rule.TypeDeclaration at f5cbda
>     [2010:08:235 21:08:562:debug] KnowledgeAgent notifier subscribing
>     to resource=[ClassPathResource path='testRule.drl']
>     [2010:08:235 21:08:562:debug] ResourceChangeNotification
>     subscribing
>     listener=org.drools.agent.impl.KnowledgeAgentImpl at b40ec4 to
>     resource=[ClassPathResource path='testRule.drl']
>     [2010:08:235 21:08:562:debug] KnowledgeAgent mapping
>     resource=[ClassPathResource path='testRule.drl'] to
>     KnowledgeDefinition=org.drools.rule.Function at 11a59ce
>     [2010:08:235 21:08:562:debug] KnowledgeAgent notifier subscribing
>     to resource=[ClassPathResource path='testRule.drl']
>     [2010:08:235 21:08:562:debug] ResourceChangeNotification
>     subscribing
>     listener=org.drools.agent.impl.KnowledgeAgentImpl at b40ec4 to
>     resource=[ClassPathResource path='testRule.drl']
>     [2010:08:235 21:08:562:debug] KnowledgeAgent adding
>     KnowledgeDefinitionsPackage net.eads.astrium.aits.cep.rules
>     [2010:08:235 21:08:578:info] KnowledgeAgent incremental build of
>     KnowledgeBase finished and in use
>     [2010:08:235 21:08:578:debug] KnowledgeAgent finished rebuilding
>     KnowledgeBase using ChangeSet
>
>     _______________________________________________
>     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
>
>
>
> _______________________________________________
> 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/20100824/ba2e5897/attachment.html 


More information about the rules-users mailing list