[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