use of org.drools.compiler.builder.impl.KnowledgeBuilderImpl in project drools by kiegroup.
the class BayesRuntimeTest method testBayesRuntimeManager.
@Test
public void testBayesRuntimeManager() throws Exception {
KnowledgeBuilderImpl kbuilder = new KnowledgeBuilderImpl();
kbuilder.add(ResourceFactory.newClassPathResource("Garden.xmlbif", AssemblerTest.class), ResourceType.BAYES);
InternalKnowledgeBase kbase = getKnowledgeBase();
kbase.addPackages(kbuilder.getKnowledgePackages());
StatefulKnowledgeSessionImpl ksession = (StatefulKnowledgeSessionImpl) kbase.newKieSession();
BayesRuntime bayesRuntime = ksession.getKieRuntime(BayesRuntime.class);
BayesInstance<Garden> instance = bayesRuntime.createInstance(Garden.class);
assertNotNull(instance);
}
use of org.drools.compiler.builder.impl.KnowledgeBuilderImpl in project drools by kiegroup.
the class WeaverTest method testBayesPackageWeaving.
@Test
public void testBayesPackageWeaving() throws Exception {
KnowledgeBuilderImpl kbuilder = new KnowledgeBuilderImpl();
kbuilder.add(ResourceFactory.newClassPathResource("Garden.xmlbif", AssemblerTest.class), ResourceType.BAYES);
InternalKnowledgeBase kbase = getKnowledgeBase();
kbase.addPackages(kbuilder.getKnowledgePackages());
InternalKnowledgePackage kpkg = (InternalKnowledgePackage) kbase.getKiePackage("org.drools.beliefs.bayes.integration");
Map<ResourceType, ResourceTypePackage> map = kpkg.getResourceTypePackages();
BayesPackage existing = (BayesPackage) map.get(ResourceType.BAYES);
JunctionTree jtree = existing.getJunctionTree("Garden");
assertNotNull(jtree);
}
use of org.drools.compiler.builder.impl.KnowledgeBuilderImpl in project drools by kiegroup.
the class RuleBuilderTest method testBuildAttributes.
@Test
public void testBuildAttributes() throws Exception {
// creates mock objects
final RuleBuildContext context = mock(RuleBuildContext.class);
final RuleImpl rule = mock(RuleImpl.class);
// creates input object
final RuleDescr ruleDescr = new RuleDescr("my rule");
ruleDescr.addAttribute(new AttributeDescr("no-loop", "true"));
ruleDescr.addAttribute(new AttributeDescr("auto-focus", "false"));
ruleDescr.addAttribute(new AttributeDescr("agenda-group", "my agenda"));
ruleDescr.addAttribute(new AttributeDescr("activation-group", "my activation"));
ruleDescr.addAttribute(new AttributeDescr("lock-on-active", ""));
ruleDescr.addAttribute(new AttributeDescr("enabled", "false"));
ruleDescr.addAttribute(new AttributeDescr("duration", "60"));
ruleDescr.addAttribute(new AttributeDescr("calendars", "\"cal1\""));
ruleDescr.addAttribute(new AttributeDescr("date-effective", "10-Jul-1974"));
ruleDescr.addAttribute(new AttributeDescr("date-expires", "10-Jul-2040"));
// creates expected results
final Calendar effective = Calendar.getInstance();
effective.setTime(DateUtils.parseDate("10-Jul-1974"));
final Calendar expires = Calendar.getInstance();
expires.setTime(DateUtils.parseDate("10-Jul-2040"));
// defining expectations on the mock object
when(context.getRule()).thenReturn(rule);
when(context.getRuleDescr()).thenReturn(ruleDescr);
when(context.getKnowledgeBuilder()).thenReturn(new KnowledgeBuilderImpl());
// calling the build method
RuleBuilder.buildAttributes(context);
// check expectations
verify(rule).setNoLoop(true);
verify(rule).setAutoFocus(false);
verify(rule).setAgendaGroup("my agenda");
verify(rule).setActivationGroup("my activation");
verify(rule).setLockOnActive(true);
verify(rule).setEnabled(EnabledBoolean.ENABLED_FALSE);
verify(rule).setTimer(new IntervalTimer(null, null, -1, TimeUtils.parseTimeString("60"), 0));
verify(rule).setCalendars(new String[] { "cal1" });
verify(rule).setDateEffective(effective);
verify(rule).setDateExpires(expires);
}
use of org.drools.compiler.builder.impl.KnowledgeBuilderImpl in project drools by kiegroup.
the class RuleBuilderTest method testBuildBigIntegerLiteralConstraint.
@Test
public void testBuildBigIntegerLiteralConstraint() throws Exception {
final PackageDescr pkgDescr = new PackageDescr("org.drools");
final RuleDescr ruleDescr = new RuleDescr("Test Rule");
AndDescr andDescr = new AndDescr();
PatternDescr patDescr = new PatternDescr("java.math.BigInteger", "$bd");
ExprConstraintDescr fcd = new ExprConstraintDescr("this==10");
patDescr.addConstraint(fcd);
andDescr.addDescr(patDescr);
ruleDescr.setLhs(andDescr);
ruleDescr.setConsequence("");
pkgDescr.addRule(ruleDescr);
final KnowledgeBuilderImpl kBuilder = new KnowledgeBuilderImpl();
kBuilder.addPackage(pkgDescr);
assertTrue(kBuilder.getErrors().toString(), kBuilder.getErrors().isEmpty());
final RuleImpl rule = kBuilder.getPackages()[0].getRule("Test Rule");
final GroupElement and = rule.getLhs();
final Pattern pat = (Pattern) and.getChildren().get(0);
if (pat.getConstraints().get(0) instanceof MvelConstraint) {
final MvelConstraint fc = (MvelConstraint) pat.getConstraints().get(0);
assertTrue("Wrong class. Expected java.math.BigInteger. Found: " + fc.getField().getValue().getClass(), fc.getField().getValue() instanceof BigInteger);
}
}
use of org.drools.compiler.builder.impl.KnowledgeBuilderImpl in project drools by kiegroup.
the class RuleBuilderTest method testInvalidDialect.
@Test
public void testInvalidDialect() throws Exception {
final PackageDescr pkgDescr = new PackageDescr("org.drools");
final RuleDescr ruleDescr = new RuleDescr("Test Rule");
ruleDescr.addAttribute(new AttributeDescr("dialect", "mvl"));
ruleDescr.setConsequence("");
pkgDescr.addRule(ruleDescr);
final KnowledgeBuilderImpl kBuilder = new KnowledgeBuilderImpl();
kBuilder.addPackage(pkgDescr);
assertFalse(kBuilder.getErrors().toString(), kBuilder.getErrors().isEmpty());
}
Aggregations