[jboss-svn-commits] JBL Code SVN: r26047 - in labs/jbossrules/trunk: drools-core/src/main/java/org/drools/agent/impl and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Apr 15 22:30:09 EDT 2009


Author: mark.proctor at jboss.com
Date: 2009-04-15 22:30:09 -0400 (Wed, 15 Apr 2009)
New Revision: 26047

Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentTest.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/KnowledgeAgentImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/io/impl/ResourceChangeNotifierImpl.java
Log:
JBRULES-2059 StatelessKnowledgeSessions should have special behaviour for KnowledgeAgents
-fixed test

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentTest.java	2009-04-16 00:06:42 UTC (rev 26046)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/agent/KnowledgeAgentTest.java	2009-04-16 02:30:09 UTC (rev 26047)
@@ -27,6 +27,7 @@
 import org.drools.definition.KnowledgePackage;
 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.drools.runtime.StatelessKnowledgeSession;
@@ -51,6 +52,7 @@
         this.server = new Server( 9000 );
         ResourceHandler resourceHandler = new ResourceHandler();        
         resourceHandler.setResourceBase( fileManager.getRootDirectory().getPath() );
+        System.out.println("root : " + fileManager.getRootDirectory().getPath() );
 
         server.setHandler( resourceHandler );
 
@@ -62,6 +64,7 @@
         fileManager.tearDown();
         ResourceFactory.getResourceChangeNotifierService().stop();
         ResourceFactory.getResourceChangeScannerService().stop();
+        ((ResourceChangeNotifierImpl) ResourceFactory.getResourceChangeNotifierService()).reset();
         ((ResourceChangeScannerImpl) ResourceFactory.getResourceChangeScannerService()).reset();
         
         server.stop();
@@ -258,6 +261,7 @@
         rule1 += "then\n";
         rule1 += "list.add( drools.getRule().getName() );\n";
         rule1 += "end\n";
+        System.out.println("root : " + f1.getPath() );
         output = new BufferedWriter( new FileWriter( f1 ) );
         output.write( rule1 );
         output.close();
@@ -268,12 +272,12 @@
 
         assertEquals( 2,
                       list.size() );
-
+        
         assertTrue( list.contains( "rule3" ) );
         assertTrue( list.contains( "rule2" ) );
         kagent.monitorResourceChangeEvents( false );        
     }    
-/*
+
     public void  testModifyPackageUrl() throws Exception {
         String rule1 = "";
         rule1 += "package org.drools.test\n";
@@ -816,6 +820,5 @@
          } finally {
              out.close();
          }
-     }
-  */  
+     } 
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/KnowledgeAgentImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/KnowledgeAgentImpl.java	2009-04-16 00:06:42 UTC (rev 26046)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/KnowledgeAgentImpl.java	2009-04-16 02:30:09 UTC (rev 26047)
@@ -109,13 +109,15 @@
     }
 
     public void applyChangeSet(ChangeSet changeSet) {
-        this.listener.info( "KnowledgAgent applying ChangeSet" );
-        ChangeSetState changeSetState = new ChangeSetState();
-        changeSetState.scanDirectories = this.scanDirectories;
-        processChangeSet( changeSet,
-                          changeSetState );
-
-        rebuildResources( changeSetState );
+        synchronized ( this.resources ) {
+            this.listener.info( "KnowledgAgent applying ChangeSet" );
+            ChangeSetState changeSetState = new ChangeSetState();
+            changeSetState.scanDirectories = this.scanDirectories;
+            processChangeSet( changeSet,
+                              changeSetState );
+    
+            rebuildResources( changeSetState );
+        }
         //buildResourceMapping( this.kbase );
     }
 
@@ -377,8 +379,8 @@
                 KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
 
                 for ( Resource resource : this.resources.keySet() ) {
-                    this.listener.debug( "KnowledgeAgent building resource=" + resource );
                     if ( ((InternalResource) resource).getResourceType() != ResourceType.PKG ) {
+                        this.listener.debug( "KnowledgeAgent building resource=" + resource );
                         // .pks are handled as a special case.
                         kbuilder.add( resource,
                                       ((InternalResource) resource).getResourceType() );

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/io/impl/ResourceChangeNotifierImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/io/impl/ResourceChangeNotifierImpl.java	2009-04-16 00:06:42 UTC (rev 26046)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/io/impl/ResourceChangeNotifierImpl.java	2009-04-16 02:30:09 UTC (rev 26047)
@@ -211,6 +211,11 @@
         this.thread.interrupt();
         this.processChangeSet = null;
     }
+    
+    public void reset() {
+        this.subscriptions.clear();
+        this.monitors.clear();        
+    }
 
     private Thread           thread;
     private ProcessChangeSet processChangeSet;




More information about the jboss-svn-commits mailing list