package droolsRules.tests; import java.io.File; import java.io.FileReader; import java.io.InputStreamReader; import java.io.Reader; import org.drools.RuleBase; import org.drools.RuleBaseFactory; import org.drools.compiler.PackageBuilder; import org.drools.compiler.PackageBuilderConfiguration; import org.drools.rule.Package; import org.drools.rule.builder.dialect.java.JavaDialectConfiguration; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; /** * This suite is the place to add Drools tests. * * @author J. Michael Dean, M.D., M.B.A. (University of Utah) * Copyright 2005 - 2008. All Rights Reserved. * */ @RunWith(Suite.class) @SuiteClasses( { TestHypoglycemiaDetection.class }) public class AllDroolsRulesTests { public static RuleBase ruleBase; @BeforeClass public static void setUp() throws Exception { Reader source; PackageBuilderConfiguration pkgConfig = new PackageBuilderConfiguration(); //ERROR OCCURS HERE WHEN I USE MY MINIMAL DROOLS PLUGIN JAR JavaDialectConfiguration javaDialectConf = (JavaDialectConfiguration) pkgConfig.getDialectConfiguration("java"); javaDialectConf.setCompiler(JavaDialectConfiguration.ECLIPSE); if (pkgConfig == null) { System.out.println("Error - null package configuration"); } else { System.out.println("Package configuration is not null"); } final PackageBuilder builder = new PackageBuilder(pkgConfig); // ERROR OCCURS HERE WHEN I USE DROOLS.ORG.ECLIPSE_4.0.3.JAR boolean exists = (new File("rules/GlucoseDroolRules00.drl")).exists(); if (exists) { builder.addPackageFromDrl(new FileReader( "rules/GlucoseDroolRules00.drl")); System.out.println("Found the file!"); } else { System.out.println("Cannot locate the file - will try as resource"); source = new InputStreamReader(AllDroolsRulesTests.class .getResourceAsStream("GlucoseDroolRules00.drl")); if (source == null){ System.out.println("Could not get input stream"); } else { System.out.println("Opened the stream successfully"); } builder.addPackageFromDrl(source); } if (builder.hasErrors()) { System.out.println(builder.getErrors().toString()); } Package pkg = builder.getPackage(); ruleBase = RuleBaseFactory.newRuleBase(); ruleBase.addPackage(pkg); } @AfterClass public static void tearDown() throws Exception { } public static RuleBase getRuleBase() { return ruleBase; } }