[rules-users] Drools 4.0.7 - Rules not fired

David Sinclair dsinclair at chariotsolutions.com
Fri May 1 09:18:48 EDT 2009


Benoit,

Could you try this with Drools 5 to see if you still have problems? I just
tried with that and each rule fired as expected.

2008/8/20 Benoit VILLAUMIE <bvillaumie at karavel.com>

>  Hello,
>
> I am using Drools engine 4.0.7 and Eclipse 3.3 drools plugin.
>
> I have a very basic/dumb problem but I do not understand where my error is
> :
>
> I have 2 rules
> ---------------------------------
>
> package poc
>
> import poc.FlashFact;
>
> *rule "HP one"*
>     when
>         FlashFact( homepage == "one");
>     then
>         System.out.println("*** HP one");
> end
>
> *rule "HP commons"*
>     when
>         FlashFact();
>     then
>         System.out.println("*** HP commons ");
> end
>
> ----------------------------------
>
> I insert a FlashFact which homepage is set with "one" value.
>
> In my understanding, both rules "HP one" and "HP commons" should be fired.
> Instead, only "HP commons" is launched. I have compared with the Drools
> State example (which works fine), but I do not notice nothing.
>
> Thanks for your help.
>
> The code of the FlashFact class
> ---------------------------------
>
> package poc;
>
> public class FlashFact {
>
>     public FlashFact() {
>         this(null);
>     }
>
>     public FlashFact(String homepage) {
>         this.setHomepage(homepage);
>     }
>
>     private String homepage;
>
>     /**
>      * @return the homepage
>      */
>     public final String getHomepage() {
>         return this.homepage;
>     }
>
>     /**
>      * @param homepage the homepage to set
>      */
>     public final void setHomepage(String homepage) {
>         this.homepage = homepage;
>     }
>
> }
>
> ---------------------------------
>
> The code of the launcher
> ---------------------------------
> package poc;
>
> import java.io.InputStreamReader;
>
> import org.drools.RuleBase;
> import org.drools.RuleBaseFactory;
> import org.drools.StatefulSession;
> import org.drools.audit.WorkingMemoryFileLogger;
> import org.drools.compiler.PackageBuilder;
>
> public class FlashUndeployedRulesMain {
>
>     public static void main(String[] args) throws Exception {
>         StatefulSession session = null;
>         WorkingMemoryFileLogger logger = null;
>         try {
>             PackageBuilder builder = new PackageBuilder();
>             builder.addPackageFromDrl(new InputStreamReader(
>                     FlashUndeployedRulesMain.class.getClassLoader()
>                             .getResourceAsStream(RULE)));
>             final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
>             ruleBase.addPackage(builder.getPackage());
>             session = ruleBase.newStatefulSession();
>
>             logger = new WorkingMemoryFileLogger(
>                     session);
>             logger.setFileName("log/flash");
>
>             // inserting facts
>             FlashFact HPFrance = new FlashFact("one");
>
>             session.insert(HPFrance);
>
>             session.fireAllRules();
>         } finally {
>             if(session != null) {session.dispose();}
>             if(logger != null) {logger.writeToDisk();}
>         }
>     }
>
>     private static final String RULE = "poc/Flash.drl";
> ---------------------------------
>
>
>
> _______________________________________________
> 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/20090501/82fb2481/attachment.html 


More information about the rules-users mailing list