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

Tina Vießmann tviessmann at stud.hs-bremen.de
Sun Oct 24 18:48:35 EDT 2010


Hi Esteban,

#2 is still a problem for me. Have you found something out?

Thank you.
Tina

> Hi,
>
> #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?
> The message will appear every time a resource containing a type 
> definition is modified.
>
> #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.)
> This is strange. This message should only appear if the LHS of a rule 
> has changed. I will take a look to see if this is a bug.
>
>
> Best,
>
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
>
> Esteban Aliverti
> - Developer @ http://www.plugtree.com <http://www.plugtree.com>
> - Blog @ http://ilesteban.wordpress.com
>
>
> 2010/8/24 Tina Vießmann <tviessmann at stud.hs-bremen.de 
> <mailto:tviessmann at stud.hs-bremen.de>>
>
>     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  <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 <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/20101025/63824865/attachment.html 


More information about the rules-users mailing list