[rules-users] no visitor implementation for : class org.drools.rule.TypeDeclaration
Tina Vießmann
tviessmann at stud.hs-bremen.de
Fri Oct 29 08:02:57 EDT 2010
Sorry, I didn't want to sound like I expected you to solve it. I was
just curious if you had found something out, because the error remains
the same. But it's nothing fatal to me. ;-)
I'll see if I can make up a simple test project the next days.
Tina
> Honestly, I didn't have time to take a look at it :(
> Could you please provide me a simple test project where I can see this
> issue?
>
> Best,
>
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
>
> Esteban Aliverti
> - Developer @ http://www.plugtree.com <http://www.plugtree.com>
> - Blog @ http://ilesteban.wordpress.com
>
>
> 2010/10/24 Tina Vießmann <tviessmann at stud.hs-bremen.de
> <mailto:tviessmann at stud.hs-bremen.de>>
>
> 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 <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/20101029/c0a9732e/attachment.html
More information about the rules-users
mailing list