[rules-users] KnowledgeAgent Issue

Steven Williams stevearoonie at gmail.com
Tue Mar 22 01:44:41 EDT 2011


I'm not sure whether they were added or not. I noticed the rules weren't
running when I expected them to though, so perhaps not. I have worked around
it by putting all my rules in the same package - luckily I only had about 30
different rule files, but it is a less than ideal solution.

Once I have everything working and checked in on my project I'll test
further to see what is going on.

Steve

On Tue, Mar 22, 2011 at 2:43 PM, Esteban Aliverti <
esteban.aliverti at gmail.com> wrote:

> Someone mentioned me the problem some time ago. I have a fix for it in my
> local repo, butI was waiting for the trunk to be stable to test it.
> The problem is that under certain circumstances, the kagent is reusing the
> same kbuilder to compile all the resources present in a change-set (the
> modifications I have force the agent to use a new kbuilder for each
> resource).
> The only difference between what you are reporting and the problem I'm
> talking about is that in my case all the rules, functions, etc were added to
> the kbase, but all within the same package. No matter the real package
> definition. Is this your case also?
>
> Please file a bug report and let me know.
>
> Best Regards,
>
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
>
> Esteban Aliverti
> - Developer @ http://www.plugtree.com
> - Blog @ http://ilesteban.wordpress.com
>
>
> 2011/3/21 Steven Williams <stevearoonie at gmail.com>
>
>> Hi all,
>>
>> I am trying to use a Knowledge Agent in 5.1.1 with a change set with a few
>> different packages and resource types in it, and I am running into a problem
>> where it is not adding all the packages. Looking at the code I can see that
>> KnowledegeAgentImpl.createPackageFromResource has the following code when it
>> loads a resource:
>>
>>             if (kbuilder.getKnowledgePackages().iterator().hasNext()) {
>>
>>                 return (KnowledgePackageImp)
>> kbuilder.getKnowledgePackages().iterator().next();
>>
>>             }
>>
>>
>> and KnowledgeBuilderImpl.getKnowledgePackages does the following:
>>
>>
>> Package[] pkgs = pkgBuilder.getPackages();
>>
>> List<KnowledgePackage> list = new ArrayList<KnowledgePackage>(
>> pkgs.length );
>>
>>
>> and PackageBuilder.getPackages does the following:
>>
>>
>>         for ( PackageRegistry pkgRegistry : this.pkgRegistryMap.values()
>> ) {
>>
>>             Package pkg = pkgRegistry.getPackage();
>>
>>             // add package to array
>>
>>         }
>>
>>
>> pkgRegistryMap is implemented as a HashMap however so the order the
>> packages are returned in is not guaranteed. I seem to be hitting this
>> problem.
>>
>> This is a hard one to create a unit test for so I wanted to check that my
>> analysis is correct before raising a bug. Perhaps using a LinkedHashMap or
>> similar would fix it?
>>
>> thanks
>> Steve
>>
>> _______________________________________________
>> 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/20110322/aa0c55f3/attachment.html 


More information about the rules-users mailing list