<div dir="ltr">It seams that I'm not the first one with thie problem, an equal question was there a several months ago:<br><div><a href="http://drools.46999.n3.nabble.com/rules-users-Banking-Example-4-to-6-sorting-incorrect-tt4021041.html#none">http://drools.46999.n3.nabble.com/rules-users-Banking-Example-4-to-6-sorting-incorrect-tt4021041.html#none</a></div>
<div><br></div><div style>but there was no answer. Maybe someone has an idea today? <br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/4/18 Stefan Schuster <span dir="ltr"><<a href="mailto:stefan.m.schuster@gmail.com" target="_blank">stefan.m.schuster@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi, thank you for your response.<div>I'm using the latest stable release of Drools 5.5.0 final.</div>
<div>Eclipse is Juno Service Release 2.</div><div><br></div><div>Can you confirm, that the order 1,2,3 is the expected result?</div>
<div><br></div><div>If this is a known bug, is there some kind of jira or bugzilla numer assigned to it?</div><div> </div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">
2013/4/18 Wolfgang Laun <span dir="ltr"><<a href="mailto:wolfgang.laun@gmail.com" target="_blank">wolfgang.laun@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">IIRC, this was a bug one or two minor versions ago. What version are you using?<br>
-W<br>
<div><div><br>
On 18/04/2013, Stefan Schuster <<a href="mailto:stefan.m.schuster@gmail.com" target="_blank">stefan.m.schuster@gmail.com</a>> wrote:<br>
> For the sake of completeness, here is also the RuleRunner class used in<br>
> this example:<br>
><br>
> package org.drools.tutorials.banking;<br>
><br>
> import java.util.Collection;<br>
><br>
> import org.drools.KnowledgeBase;<br>
> import org.drools.KnowledgeBaseFactory;<br>
> import org.drools.builder.KnowledgeBuilder;<br>
> import org.drools.builder.KnowledgeBuilderFactory;<br>
> import org.drools.builder.ResourceType;<br>
> import org.drools.definition.KnowledgePackage;<br>
> import org.drools.io.ResourceFactory;<br>
> import org.drools.runtime.StatefulKnowledgeSession;<br>
><br>
> public class RuleRunner {<br>
><br>
> public RuleRunner() {<br>
> }<br>
><br>
> public void runRules(String[] rules,<br>
> Object[] facts) {<br>
><br>
> KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();<br>
> KnowledgeBuilder kbuilder =<br>
> KnowledgeBuilderFactory.newKnowledgeBuilder();<br>
><br>
> for ( int i = 0; i < rules.length; i++ ) {<br>
> String ruleFile = rules[i];<br>
> System.out.println( "Loading file: " + ruleFile );<br>
> kbuilder.add( ResourceFactory.newClassPathResource( ruleFile,<br>
><br>
> RuleRunner.class ),<br>
> ResourceType.DRL );<br>
> }<br>
><br>
> Collection<KnowledgePackage> pkgs =<br>
> kbuilder.getKnowledgePackages();<br>
> kbase.addKnowledgePackages( pkgs );<br>
> StatefulKnowledgeSession ksession =<br>
> kbase.newStatefulKnowledgeSession();<br>
><br>
> for ( int i = 0; i < facts.length; i++ ) {<br>
> Object fact = facts[i];<br>
> System.out.println( "Inserting fact: " + fact );<br>
> ksession.insert( fact );<br>
> }<br>
><br>
> ksession.fireAllRules();<br>
> }<br>
> }<br>
><br>
><br>
> 2013/4/18 Stefan Schuster <<a href="mailto:stefan.m.schuster@gmail.com" target="_blank">stefan.m.schuster@gmail.com</a>><br>
><br>
>> Hello,<br>
>><br>
>> I have a problem with the banking tutorial number 3, which is part of the<br>
>> examples of drools expert.<br>
>> It simply adds some Numbers as facts, and retracts them in an increasing<br>
>> order.<br>
>><br>
>> It is very short, therefore I post the whole Code:<br>
>><br>
>><br>
>> BankingExample3.java<br>
>> _________________________________________________<br>
>> package org.drools.tutorials.banking;<br>
>><br>
>> public class BankingExample3 {<br>
>> public static void main(String[] args) {<br>
>> Number[] numbers = new Number[] {wrap(3), wrap(1), wrap(4),<br>
>> wrap(1), wrap(5)};<br>
>> new RuleRunner().runRules( new String[] { "Example3.drl" },<br>
>> numbers );<br>
>> }<br>
>><br>
>> private static Integer wrap(int i) {<br>
>> return new Integer(i);<br>
>> }<br>
>> }<br>
>> _________________________________________________<br>
>><br>
>><br>
>><br>
>> Example3.drl:<br>
>> _________________________________________________<br>
>> package org.drools.tutorials.banking<br>
>><br>
>> rule "Rule 01"<br>
>> when<br>
>> $number : Number()<br>
>> not Number( intValue < $number.intValue )<br>
>> then<br>
>> System.out.println("Number found with value: " +<br>
>> $number.intValue() );<br>
>> retract( $number );<br>
>> end<br>
>> _________________________________________________<br>
>><br>
>><br>
>> Output:<br>
>> _________________________________________________<br>
>> Loading file: Example3.drl<br>
>> Inserting fact: 3<br>
>> Inserting fact: 1<br>
>> Inserting fact: 4<br>
>> Inserting fact: 1<br>
>> Inserting fact: 5<br>
>> Number found with value: 1<br>
>> Number found with value: 1<br>
>> Number found with value: 3<br>
>> Number found with value: 4<br>
>> Number found with value: 5<br>
>> _________________________________________________<br>
>><br>
>><br>
>> that seams absolute logically to me.<br>
>> But now I alter the Numbers in the Java-Part:<br>
>> Number[] numbers = new Number[] {wrap(3), wrap(1), wrap(2)};<br>
>><br>
>> and the output destroys everything I thought I understood:<br>
>> Loading file: Example3.drl<br>
>> Inserting fact: 3<br>
>> Inserting fact: 1<br>
>> Inserting fact: 2<br>
>> Number found with value: 1<br>
>> Number found with value: 3<br>
>> Number found with value: 2<br>
>><br>
>><br>
>> Can someone reproduce this behavior?? It seams absolutely strange to me.<br>
>> I would have expected the order 1,2,3. Any explanations?<br>
>><br>
>> Thanks in advance for helping me!<br>
>><br>
>><br>
>><br>
><br>
</div></div>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>