-1

I am using fluent api to generate rules. I have a requirement to do multiple actions when a specific condition is satisfied. I can add multiple constraints in lhs. I need to know how I can add multiple rhs statements.

PackageDescrBuilder pkgDescrBuilder = DescrFactory.newPackage();
        pkgDescrBuilder.name("com.test.drools").getDescr();
        RuleDescrBuilder ruleBuilder = pkgDescrBuilder.newRule().name("droolsTest");
        CEDescrBuilder<RuleDescrBuilder, AndDescr> lhsBuilder = ruleBuilder.lhs();
        PatternDescrBuilder<CEDescrBuilder<RuleDescrBuilder, AndDescr>> patternBuilder = lhsBuilder.pattern("DroolClass").id("$droolClass", false);
        patternBuilder.constraint("nameObj.name matches \".*john.*\"").end();
        patternBuilder.constraint("nameObj.name == \"john snow\"").end();
        ruleBuilder.rhs("nameObj.gender = male").end();

When I add one more rhs, It is over writing the existing one. I would need help to write multiple actions statements in rhs.

Sathish Kumar
  • 189
  • 1
  • 2
  • 14

1 Answers1

0
StringBuilder sb = new StringBuilder();
sb.append( "int a = 1;" );
sb.append( "int b = 2;" );
ruleBuilder.rhs( sb.toString() ).end();
laune
  • 31,114
  • 3
  • 29
  • 42