[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