package org.beanfuse.rule.model; import java.util.ArrayList; import java.util.List; import org.beanfuse.entity.Model; import org.beanfuse.rule.Context; import org.beanfuse.rule.Rule; import org.beanfuse.rule.engine.RuleExecutor; import org.beanfuse.rule.engine.RuleExecutorBuilder; import org.beanfuse.rule.engine.impl.DefaultRuleExecutorBuilder; import org.beanfuse.test.spring.SpringTestCase; public class RuleTest extends SpringTestCase { // public void testSpringBuilder() { // RuleExecutorBuilder builder = (DefaultRuleExecutorBuilder) applicationContext // .getBean("ruleExecutorBuilder"); // Rule rule = (Rule) Model.newInstance(Rule.class); // rule.setFactory(DefaultRuleExecutorBuilder.SPRING); // rule.setServiceName("ruleExecutor1"); // RuleExecutor exceutor = builder.build(rule); // Context context = new SimpleContext(); // exceutor.execute(context); // } public void testComposite() { RuleExecutorBuilder builder = (DefaultRuleExecutorBuilder) applicationContext .getBean("ruleExecutorBuilder"); List rules = new ArrayList(); // Rule rule1 = (Rule) Model.newInstance(Rule.class); // rule1.setFactory(DefaultRuleExecutorBuilder.SPRING); // rule1.setServiceName("ruleExecutor1"); Rule rule2 = new BusinessRule(); rule2.setFactory(DefaultRuleExecutorBuilder.BEAN); rule2.setServiceName("org.beanfuse.rule.impl.RuleExecutor2"); // rules.add(rule1); rules.add(rule2); Context context = new SimpleContext(); RuleExecutor exceutor = builder.build(rules,false); exceutor.execute(context); } }