[jboss-svn-commits] JBL Code SVN: r36391 - labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Dec 12 22:34:52 EST 2010
Author: eaa
Date: 2010-12-12 22:34:52 -0500 (Sun, 12 Dec 2010)
New Revision: 36391
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/BaseKnowledgeAgentTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentBinaryDiffTests.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentCustomClassLoaderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentIncrementalChangeSetTest.java
Log:
JBRULES-2817: Make the KnowledgeAgent Tests more robust and faster
- KnowledgeAgentCustomClassLoaderTest was migrated to the new test approach
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/BaseKnowledgeAgentTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/BaseKnowledgeAgentTest.java 2010-12-13 03:02:05 UTC (rev 36390)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/BaseKnowledgeAgentTest.java 2010-12-13 03:34:52 UTC (rev 36391)
@@ -29,6 +29,7 @@
import org.mortbay.jetty.handler.ResourceHandler;
import junit.framework.TestCase;
+import org.drools.builder.KnowledgeBuilderConfiguration;
public abstract class BaseKnowledgeAgentTest extends TestCase {
FileManager fileManager;
@@ -246,26 +247,47 @@
public KnowledgeAgent createKAgent(KnowledgeBase kbase) {
return createKAgent( kbase, true );
}
- public KnowledgeAgent createKAgent(KnowledgeBase kbase, boolean newInsatnce) {
+
+
+
+ public KnowledgeAgent createKAgent(KnowledgeBase kbase, boolean newInstance) {
+ return this.createKAgent(kbase, newInstance, null, null);
+ }
+
+ public KnowledgeAgent createKAgent(KnowledgeBase kbase, boolean newInstance, boolean useKBaseClassLoaderForCompiling) {
+ return this.createKAgent(kbase, newInstance, useKBaseClassLoaderForCompiling, null);
+ }
+
+ public KnowledgeAgent createKAgent(KnowledgeBase kbase, boolean newInstance, Boolean useKBaseClassLoaderForCompiling, KnowledgeBuilderConfiguration builderConf) {
KnowledgeAgentConfiguration aconf = KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
aconf.setProperty( "drools.agent.scanDirectories",
"true" );
aconf.setProperty( "drools.agent.scanResources",
"true" );
aconf.setProperty( "drools.agent.newInstance",
- Boolean.toString( newInsatnce ) );
-
+ Boolean.toString( newInstance ) );
+ if (useKBaseClassLoaderForCompiling != null){
+ aconf.setProperty("drools.agent.useKBaseClassLoaderForCompiling",
+ ""+useKBaseClassLoaderForCompiling);
+ }
+
KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent("test agent",
kbase,
- aconf );
+ aconf,
+ builderConf);
assertEquals( "test agent",
kagent.getName() );
return kagent;
- }
+
+ }
public String createHeader(String packageName) {
+ return this.createHeader(packageName, null);
+ }
+
+ public String createHeader(String packageName, String[] customImports) {
StringBuilder header = new StringBuilder();
if ( StringUtils.isEmpty( packageName ) ) {
header.append( "package org.drools.test\n" );
@@ -274,7 +296,14 @@
header.append( packageName );
header.append( "\n" );
}
- header.append( "import org.drools.Person\n" );
+ header.append( "import org.drools.Person;\n" );
+ if (customImports != null){
+ for (String customImport : customImports) {
+ header.append( "import " );
+ header.append( customImport );
+ header.append( ";\n" );
+ }
+ }
header.append( "global java.util.List list\n" );
return header.toString();
@@ -285,11 +314,16 @@
return createVersionedRule( true, packageName, ruleNames, attribute, lhs, version );
}
+
public String createCustomRule(boolean header, String packageName, String[] ruleNames, String attribute, String lhs, String rhs) {
+ return this.createCustomRule(header, packageName, null, ruleNames, attribute, lhs, rhs);
+ }
+
+ public String createCustomRule(boolean header, String packageName, String[] customImports, String[] ruleNames, String attribute, String lhs, String rhs) {
StringBuilder rule = new StringBuilder();
if ( header ) {
- rule.append( createHeader( packageName ) );
+ rule.append( createHeader( packageName, customImports ) );
}
for (String ruleName : ruleNames ) {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentBinaryDiffTests.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentBinaryDiffTests.java 2010-12-13 03:02:05 UTC (rev 36390)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentBinaryDiffTests.java 2010-12-13 03:34:52 UTC (rev 36391)
@@ -1,26 +1,16 @@
package org.drools.agent;
-import java.io.BufferedWriter;
import java.io.File;
-import java.io.FileWriter;
-import java.io.Writer;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;
-import junit.framework.TestCase;
import org.drools.KnowledgeBase;
import org.drools.KnowledgeBaseFactory;
-import org.drools.core.util.FileManager;
-import org.drools.io.ResourceChangeScannerConfiguration;
import org.drools.io.ResourceFactory;
-import org.drools.io.impl.ResourceChangeNotifierImpl;
-import org.drools.io.impl.ResourceChangeScannerImpl;
import org.drools.rule.Rule;
import org.drools.runtime.StatefulKnowledgeSession;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.ResourceHandler;
public class KnowledgeAgentBinaryDiffTests extends BaseKnowledgeAgentTest {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentCustomClassLoaderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentCustomClassLoaderTest.java 2010-12-13 03:02:05 UTC (rev 36390)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentCustomClassLoaderTest.java 2010-12-13 03:34:52 UTC (rev 36391)
@@ -1,69 +1,23 @@
package org.drools.agent;
-import java.io.BufferedWriter;
import java.io.File;
-import java.io.FileWriter;
-import java.io.Writer;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.List;
-import junit.framework.TestCase;
import org.drools.KnowledgeBase;
import org.drools.KnowledgeBaseConfiguration;
import org.drools.KnowledgeBaseFactory;
-import org.drools.SystemEventListener;
import org.drools.builder.KnowledgeBuilderConfiguration;
import org.drools.builder.KnowledgeBuilderFactory;
-import org.drools.core.util.FileManager;
-import org.drools.io.ResourceChangeScannerConfiguration;
import org.drools.io.ResourceFactory;
-import org.drools.io.impl.ResourceChangeNotifierImpl;
-import org.drools.io.impl.ResourceChangeScannerImpl;
import org.drools.runtime.StatefulKnowledgeSession;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.handler.ResourceHandler;
-public class KnowledgeAgentCustomClassLoaderTest extends TestCase {
+public class KnowledgeAgentCustomClassLoaderTest extends BaseKnowledgeAgentTest {
- FileManager fileManager;
- private Server server;
- private final List<String> kagentWarnings = new ArrayList<String>();
-
- @Override
- protected void setUp() throws Exception {
- fileManager = new FileManager();
- fileManager.setUp();
- ((ResourceChangeScannerImpl) ResourceFactory.getResourceChangeScannerService()).reset();
- ResourceFactory.getResourceChangeNotifierService().start();
- ResourceFactory.getResourceChangeScannerService().start();
-
- this.server = new Server(0);
- ResourceHandler resourceHandler = new ResourceHandler();
- resourceHandler.setResourceBase(fileManager.getRootDirectory().getPath());
-
- server.setHandler(resourceHandler);
-
- server.start();
- }
-
- private int getPort(){
- return this.server.getConnectors()[0].getLocalPort();
- }
-
- @Override
- protected void tearDown() throws Exception {
- fileManager.tearDown();
- ResourceFactory.getResourceChangeNotifierService().stop();
- ResourceFactory.getResourceChangeScannerService().stop();
- ((ResourceChangeNotifierImpl) ResourceFactory.getResourceChangeNotifierService()).reset();
- ((ResourceChangeScannerImpl) ResourceFactory.getResourceChangeScannerService()).reset();
-
- server.stop();
- }
-
+
public void testCustomKnowledgeBuilderConfigurationWithIncrementalProcessing() throws Exception{
this.testCustomKnowledgeBuilderConfiguration(false);
}
@@ -81,123 +35,28 @@
}
private void testCustomKnowledgeBuilderConfiguration(boolean newInstance) throws Exception {
-
- //A simple rule using a class (org.drools.agent.test.KnowledgeAgentInstance)
- //that is not present in the classloader.
- String rule1 = "";
- rule1 += "package org.drools.test\n";
- rule1 += "import org.drools.agent.test.KnowledgeAgentInstance\n";
- rule1 += "global java.util.List list\n";
- rule1 += "rule rule1\n";
- rule1 += "when\n";
- rule1 += " KnowledgeAgentInstance($id: instanceId)\n";
- rule1 += "then\n";
- rule1 += " list.add(\"Instance number \"+$id);\n";
- rule1 += "end\n";
- File f1 = fileManager.newFile("rule1.drl");
- Writer output = new BufferedWriter(new FileWriter(f1));
- output.write(rule1);
- output.close();
-
- //The change set to process the created resource
- String xml = "";
- xml += "<change-set xmlns='http://drools.org/drools-5.0/change-set'";
- xml += " xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'";
- xml += " xs:schemaLocation='http://drools.org/drools-5.0/change-set http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd' >";
- xml += " <add> ";
- xml += " <resource source='http://localhost:"+this.getPort()+"/rule1.drl' type='DRL' />";
- xml += " </add> ";
- xml += "</change-set>";
- File fxml = fileManager.newFile("changeset.xml");
- output = new BufferedWriter(new FileWriter(fxml));
- output.write(xml);
- output.close();
-
- //We are going to add KAModelTest.jar to the kbase classloader.
- //This kbase will be the one used by the agent.
- URL jarURL = this.getClass().getResource("/KAModelTest.jar");
- URLClassLoader ucl = new URLClassLoader(new URL[]{jarURL}, this.getClass().getClassLoader());
-
- //Add the classloader to the kbase
- KnowledgeBaseConfiguration kbaseConfig = KnowledgeBaseFactory.newKnowledgeBaseConfiguration(null, ucl);
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(kbaseConfig);
-
- //Create a kagent with the kbase
- KnowledgeAgent kagent = this.createKAgent(kbase,newInstance,false);
-
- //The agent processes the changeset (Because the compiler created internally
- //by the agent doesn't have a definition for KnowledgeAgentInstance,
- //the compilation will fail.
- kagent.applyChangeSet(ResourceFactory.newUrlResource(fxml.toURI().toURL()));
-
- //Because the compilation failed, no package was created.
- assertTrue(kagent.getKnowledgeBase().getKnowledgePackages().isEmpty());
-
- //There should be more than 1 warning
- assertTrue(kagentWarnings.size() >= 1);
- //One of the warnings should be "KnowledgeAgent has KnowledgeBuilder errors "
- assertTrue(kagentWarnings.contains("KnowledgeAgent has KnowledgeBuilder errors "));
-
- kagentWarnings.clear();
-
- //Stop monitoring resources
- kagent.monitorResourceChangeEvents(false);
-
- //Now we create a new kagent, but passing a custom KnowledgeBuilderConfiguration
- //having the correct classloader
- KnowledgeBuilderConfiguration kbuilderConfig =
- KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(null, ucl);
- kagent = this.createKAgent(kbase, newInstance, false, kbuilderConfig);
-
- //The agent processes the changeset. The rule should be compiled
- //succesfully
- kagent.applyChangeSet(ResourceFactory.newUrlResource(fxml.toURI().toURL()));
-
- //One package should be created
- assertEquals(1, kagent.getKnowledgeBase().getKnowledgePackages().size());
-
- //We create a session to test if the rule runs ok
- StatefulKnowledgeSession ksession = kagent.getKnowledgeBase().newStatefulKnowledgeSession();
- List<String> list = new ArrayList<String>();
- ksession.setGlobal("list", list);
-
- //Create a new KnowledgeAgentInstance and set its instanceId = 2
- Class<?> modelClass = ucl.loadClass("org.drools.agent.test.KnowledgeAgentInstance");
- Object modelInstance = modelClass.newInstance();
- modelClass.getMethod("setInstanceId", int.class).invoke(modelInstance, 2);
-
- //insert the KnowledgeAgentInstance
- ksession.insert(modelInstance);
-
- //fire all rules
- ksession.fireAllRules();
- ksession.dispose();
-
- //The global list should contain 1 element
- assertEquals(1, list.size());
- assertTrue(list.contains("Instance number 2"));
- kagent.monitorResourceChangeEvents(false);
+ this.testKagentWithCustomClassLoader(newInstance, false);
}
-
private void testUseKBaseClassLoaderForCompilingProperty(boolean newInstance) throws Exception {
+ this.testKagentWithCustomClassLoader(newInstance, true);
+ }
+ /**
+ *
+ * @param newInstance
+ * @param useKBaseClassLoaderForCompiling if true, the kagent will use
+ * the kbase's class loader to compile the rules. If false, it will
+ * create a new KnowledgeBuilderConfiguration with the kbase's cl and pass
+ * it to the agent.
+ * @throws Exception
+ */
+ private void testKagentWithCustomClassLoader(boolean newInstance, boolean useKBaseClassLoaderForCompiling) throws Exception {
+
//A simple rule using a class (org.drools.agent.test.KnowledgeAgentInstance)
//that is not present in the classloader.
- String rule1 = "";
- rule1 += "package org.drools.test\n";
- rule1 += "import org.drools.agent.test.KnowledgeAgentInstance\n";
- rule1 += "global java.util.List list\n";
- rule1 += "rule rule1\n";
- rule1 += "when\n";
- rule1 += " KnowledgeAgentInstance($id: instanceId)\n";
- rule1 += "then\n";
- rule1 += " list.add(\"Instance number \"+$id);\n";
- rule1 += "end\n";
- File f1 = fileManager.newFile("rule1.drl");
- Writer output = new BufferedWriter(new FileWriter(f1));
- output.write(rule1);
- output.close();
+ String rule = this.createCustomRule(true, "org.drools.test", new String[]{"org.drools.agent.test.KnowledgeAgentInstance"}, new String[]{"rule1"}, null, " KnowledgeAgentInstance($id: instanceId)\n"," list.add(\"Instance number \"+$id);\n");
+ this.fileManager.write("rule1.drl", rule);
//The change set to process the created resource
String xml = "";
@@ -208,10 +67,9 @@
xml += " <resource source='http://localhost:"+this.getPort()+"/rule1.drl' type='DRL' />";
xml += " </add> ";
xml += "</change-set>";
- File fxml = fileManager.newFile("changeset.xml");
- output = new BufferedWriter(new FileWriter(fxml));
- output.write(xml);
- output.close();
+
+ File fxml = fileManager.write( "changeset.xml",
+ xml );
//We are going to add KAModelTest.jar to the kbase classloader.
//This kbase will be the one used by the agent.
@@ -228,30 +86,36 @@
//The agent processes the changeset (Because the compiler created internally
//by the agent doesn't have a definition for KnowledgeAgentInstance,
//the compilation will fail.
- kagent.applyChangeSet(ResourceFactory.newUrlResource(fxml.toURI().toURL()));
-
+ try{
+ applyChangeSet(kagent, ResourceFactory.newUrlResource(fxml.toURI().toURL()));
+ fail( "Knowledge should fail to compile" );
+ }catch (Exception e){
+ assertTrue(e.getMessage().contains("Unable to compile Knowledge"));
+
+ }
//Because the compilation failed, no package was created.
assertTrue(kagent.getKnowledgeBase().getKnowledgePackages().isEmpty());
- //There should be more than 1 warning
- assertTrue(kagentWarnings.size() >= 1);
- //One of the warnings should be "KnowledgeAgent has KnowledgeBuilder errors "
- assertTrue(kagentWarnings.contains("KnowledgeAgent has KnowledgeBuilder errors "));
- kagentWarnings.clear();
-
//Stop monitoring resources
- kagent.monitorResourceChangeEvents(false);
+ kagent.dispose();
- //Create a kagent with the kbase and using useKBaseClassLoaderForCompiling.
- //The kbase's classloader should be used for compilation too
- KnowledgeBuilderConfiguration kbuilderConfig =
+ if (useKBaseClassLoaderForCompiling){
+ //Create a kagent with the kbase and using useKBaseClassLoaderForCompiling.
+ //The kbase's classloader should be used for compilation too
+ kagent = this.createKAgent(kbase, newInstance, true);
+ }else{
+ //Now we create a new kagent, but passing a custom KnowledgeBuilderConfiguration
+ //having the correct classloader
+ KnowledgeBuilderConfiguration kbuilderConfig =
KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(null, ucl);
- kagent = this.createKAgent(kbase, newInstance, true, kbuilderConfig);
-
+ kagent = this.createKAgent(kbase, newInstance, false, kbuilderConfig);
+ }
+
+
//The agent processes the changeset. The rule should be compiled
//succesfully
- kagent.applyChangeSet(ResourceFactory.newUrlResource(fxml.toURI().toURL()));
+ this.applyChangeSet(kagent, ResourceFactory.newUrlResource(fxml.toURI().toURL()));
//One package should be created
assertEquals(1, kagent.getKnowledgeBase().getKnowledgePackages().size());
@@ -271,66 +135,14 @@
//fire all rules
ksession.fireAllRules();
- ksession.dispose();
//The global list should contain 1 element
assertEquals(1, list.size());
assertTrue(list.contains("Instance number 2"));
- kagent.monitorResourceChangeEvents(false);
+
+
+ ksession.dispose();
+ kagent.dispose();
}
- private KnowledgeAgent createKAgent(KnowledgeBase kbase, boolean newInstance, boolean useKBaseClassLoaderForCompiling) {
- return this.createKAgent(kbase, newInstance, useKBaseClassLoaderForCompiling, null);
- }
-
- private KnowledgeAgent createKAgent(KnowledgeBase kbase, boolean newInstance, boolean useKBaseClassLoaderForCompiling, KnowledgeBuilderConfiguration builderConf) {
- ResourceChangeScannerConfiguration sconf = ResourceFactory.getResourceChangeScannerService().newResourceChangeScannerConfiguration();
- sconf.setProperty("drools.resource.scanner.interval", "2");
- ResourceFactory.getResourceChangeScannerService().configure(sconf);
-
- //System.setProperty(KnowledgeAgentFactory.PROVIDER_CLASS_NAME_PROPERTY_NAME, "org.drools.agent.impl.KnowledgeAgentProviderImpl");
-
- KnowledgeAgentConfiguration aconf = KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
- aconf.setProperty("drools.agent.scanDirectories", "true");
- aconf.setProperty("drools.agent.scanResources", "true");
- aconf.setProperty("drools.agent.newInstance", ""+newInstance);
- aconf.setProperty("drools.agent.useKBaseClassLoaderForCompiling", ""+useKBaseClassLoaderForCompiling);
-
-
- KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent(
- "test agent", kbase, aconf, builderConf);
-
- kagent.setSystemEventListener(new SystemEventListener() {
-
- public void info(String message) {
- }
-
- public void info(String message, Object object) {
- }
-
- public void warning(String message) {
- kagentWarnings.add(message);
- }
-
- public void warning(String message, Object object) {
- kagentWarnings.add(message);
- }
-
- public void exception(String message, Throwable e) {
- }
-
- public void exception(Throwable e) {
- }
-
- public void debug(String message) {
- }
-
- public void debug(String message, Object object) {
- }
- });
-
- assertEquals("test agent", kagent.getName());
-
- return kagent;
- }
}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentIncrementalChangeSetTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentIncrementalChangeSetTest.java 2010-12-13 03:02:05 UTC (rev 36390)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentIncrementalChangeSetTest.java 2010-12-13 03:34:52 UTC (rev 36391)
@@ -1050,94 +1050,6 @@
ksession.dispose();
kagent.dispose();
}
- //
- // public void testStatefulSessionReuse() throws Exception {
- //
- // String header = "";
- // header += "package org.drools.test\n";
- // header += "import org.drools.Person\n";
- // header += "global java.util.List list\n\n";
- //
- // Person john = new Person("John");
- // Person peter = new Person("Peter");
- //
- // String ruleJohn = this.createPatternRule("ruleJohn","Person(name==\"John\")\n");
- // String rulePeter = this.createPatternRule("rulePeter","Person(name==\"Peter\")\n");
- // String ruleJohnPeter = this.createPatternRule("ruleJohnPeter","Person(name==\"John\")\nPerson(name==\"Peter\")\n");
- // String ruleTmp = this.createCommonRule("ruleTmp");
- //
- // File f1 = fileManager.newFile("rules.drl");
- // Writer output = new BufferedWriter(new FileWriter(f1));
- // output.write(header);
- // output.write(ruleJohn);
- // output.write(rulePeter);
- // output.close();
- //
- //
- // String xml = "";
- // xml += "<change-set xmlns='http://drools.org/drools-5.0/change-set'";
- // xml += " xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'";
- // xml += " xs:schemaLocation='http://drools.org/drools-5.0/change-set http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd' >";
- // xml += " <add> ";
- // xml += " <resource source='http://localhost:"+this.getPort()+"/rules.drl' type='DRL' />";
- // xml += " </add> ";
- // xml += "</change-set>";
- // File fxml = fileManager.newFile("changeset.xml");
- // output = new BufferedWriter(new FileWriter(fxml));
- // output.write(xml);
- // output.close();
- //
- // KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- // KnowledgeAgent kagent = this.createKAgent(kbase);
- //
- // kagent.applyChangeSet(ResourceFactory.newUrlResource(fxml.toURI().toURL()));
- //
- // StatefulKnowledgeSession ksession = kagent.getKnowledgeBase().newStatefulKnowledgeSession();
- // List<String> list = new ArrayList<String>();
- // ksession.setGlobal("list", list);
- //
- // ksession.insert(john);
- //
- // ksession.fireAllRules();
- //
- // assertEquals(1, list.size());
- // assertTrue(list.contains("ruleJohn"));
- //
- // list.clear();
- //
- // // have to sleep here as linux lastModified does not do milliseconds
- // // http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=1&t=019789
- // System.gc();
- // Thread.sleep(2000);
- //
- // output = new BufferedWriter(new FileWriter(f1));
- // output.write(header);
- // output.write(ruleJohn);
- // output.write(rulePeter);
- // output.write(ruleJohnPeter);
- // output.write(ruleTmp);
- // output.close();
- // System.gc();
- // Thread.sleep(3000);
- //
- // list.clear();
- //
- // // Use the same session for incremental build test
- // // ksession = kagent.getKnowledgeBase().newStatefulKnowledgeSession();
- // //ksession.setGlobal("list", list);
- // ksession.insert(peter);
- //
- // ksession.fireAllRules();
- // ksession.dispose();
- //
- // assertEquals(3, list.size());
- //
- // //becuase we inserted a peter
- // assertTrue(list.contains("rulePeter"));
- // //there was already a john. Even after the rule exists in kbase
- // assertTrue(list.contains("ruleJohnPeter"));
- // assertTrue(list.contains("ruleTmp"));
- // kagent.monitorResourceChangeEvents(false);
- // }
+
}
More information about the jboss-svn-commits
mailing list