[jboss-svn-commits] JBL Code SVN: r23511 - in labs/jbossrules/branches/drools-api-refactor-20080929: drools-api/src/main/java/org/drools/builder and 8 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Oct 19 14:11:41 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-10-19 14:11:40 -0400 (Sun, 19 Oct 2008)
New Revision: 23511

Added:
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderConfiguration.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/KnowledgeSessionConfiguration.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/rule/RuleContext.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemoryEntryPoint.java
Removed:
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/KnowledgeBuilderConfiguration.java
Modified:
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/KnowledgeBase.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/SessionConfiguration.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/WorkingMemoryEntryPoint.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/SequentialKnowledgeHelper.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/KnowledgeBaseImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/spi/KnowledgeHelper.java
Log:
JBRULES-1734 Drools API
-EntryPoints now work

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/KnowledgeBase.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/KnowledgeBase.java	2008-10-19 17:43:02 UTC (rev 23510)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/KnowledgeBase.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -4,6 +4,7 @@
 
 import org.drools.event.knowledgebase.KnowledgeBaseEventManager;
 import org.drools.knowledge.definitions.KnowledgePackage;
+import org.drools.runtime.KnowledgeSessionConfiguration;
 import org.drools.runtime.StatefulKnowledgeSession;
 
 public interface KnowledgeBase extends KnowledgeBaseEventManager {    
@@ -19,6 +20,8 @@
 
     void removeRule(String packageName,
                     String ruleName);
+
+    StatefulKnowledgeSession newStatefulSession(KnowledgeSessionConfiguration conf);
     
     
 }

Deleted: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/KnowledgeBuilderConfiguration.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/KnowledgeBuilderConfiguration.java	2008-10-19 17:43:02 UTC (rev 23510)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/KnowledgeBuilderConfiguration.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -1,5 +0,0 @@
-package org.drools;
-
-public interface KnowledgeBuilderConfiguration {
-
-}

Copied: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderConfiguration.java (from rev 23484, labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/KnowledgeBuilderConfiguration.java)
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderConfiguration.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderConfiguration.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -0,0 +1,5 @@
+package org.drools.builder;
+
+public interface KnowledgeBuilderConfiguration {
+
+}


Property changes on: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderConfiguration.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/KnowledgeSessionConfiguration.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/KnowledgeSessionConfiguration.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/KnowledgeSessionConfiguration.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -0,0 +1,5 @@
+package org.drools.runtime;
+
+public interface KnowledgeSessionConfiguration {
+
+}

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/rule/RuleContext.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/rule/RuleContext.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/rule/RuleContext.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -0,0 +1,12 @@
+package org.drools.runtime.rule;
+
+import org.drools.knowledge.definitions.rule.Rule;
+import org.drools.runtime.KnowledgeRuntime;
+
+public interface RuleContext {
+    Rule getRule();
+    
+    Activation getActivation();
+    
+    KnowledgeRuntime getKnowledgeRuntime();            
+}

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java	2008-10-19 17:43:02 UTC (rev 23510)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -6,7 +6,7 @@
 import org.drools.runtime.ObjectFilter;
 import org.drools.time.SessionClock;
 
-public interface WorkingMemory extends WorkingMemoryEventManager {
+public interface WorkingMemory extends WorkingMemoryEventManager, WorkingMemoryEntryPoint {
     FactHandle insert(Object object);
     
     void retract(FactHandle factHandle);

Added: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemoryEntryPoint.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemoryEntryPoint.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemoryEntryPoint.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -0,0 +1,13 @@
+package org.drools.runtime.rule;
+
+public interface WorkingMemoryEntryPoint {
+
+    FactHandle insert(Object object);
+
+    void retract(FactHandle handle);
+
+    void update(FactHandle handle,
+                Object object);
+    
+    WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String name);
+}

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java	2008-10-19 17:43:02 UTC (rev 23510)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -25,12 +25,12 @@
 import java.util.Properties;
 import java.util.Map.Entry;
 
-import org.drools.KnowledgeBuilderConfiguration;
 import org.drools.RuleBaseConfiguration;
 import org.drools.RuntimeDroolsException;
 import org.drools.base.accumulators.AccumulateFunction;
 import org.drools.base.evaluators.EvaluatorDefinition;
 import org.drools.base.evaluators.EvaluatorRegistry;
+import org.drools.builder.KnowledgeBuilderConfiguration;
 import org.drools.process.builder.ProcessNodeBuilder;
 import org.drools.process.builder.ProcessNodeBuilderRegistry;
 import org.drools.rule.Package;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java	2008-10-19 17:43:02 UTC (rev 23510)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/StreamsTest.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -20,19 +20,26 @@
 import junit.framework.Assert;
 import junit.framework.TestCase;
 import org.drools.ClockType;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
 import org.drools.SessionConfiguration;
 import org.drools.StatefulSession;
-import org.drools.WorkingMemoryEntryPoint;
 import org.drools.RuleBase;
 import org.drools.RuleBaseConfiguration;
 import org.drools.RuleBaseFactory;
 import org.drools.StockTick;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
 import org.drools.common.InternalFactHandle;
 import org.drools.compiler.DrlParser;
 import org.drools.compiler.DroolsParserException;
 import org.drools.compiler.PackageBuilder;
+import org.drools.impl.KnowledgeBaseImpl.KnowledgeBaseEventListenerWrapper;
 import org.drools.lang.descr.PackageDescr;
 import org.drools.rule.Package;
+import org.drools.runtime.KnowledgeSessionConfiguration;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.rule.WorkingMemoryEntryPoint;
 import org.drools.WorkingMemory;
 
 import java.io.IOException;
@@ -73,6 +80,18 @@
         return RuleBaseFactory.newRuleBase( RuleBase.RETEOO,
                                             config );
     }
+    
+    private KnowledgeBase loadKnowledgeBase(final Reader reader) throws IOException,
+        DroolsParserException,
+    Exception {
+        KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+        kbuilder.addPackageFromDrl( reader );
+        
+        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+        kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+                        
+        return SerializationHelper.serializeObject( kbase );
+    }
 
     private RuleBase loadRuleBase(final Reader reader) throws IOException,
                                                       DroolsParserException,
@@ -98,15 +117,16 @@
     public void testEventAssertion() throws Exception {
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_EntryPoint.drl" ) );
-        final RuleBase ruleBase = loadRuleBase( reader );
+        KnowledgeBase kbase = loadKnowledgeBase( reader );
+        //final RuleBase ruleBase = loadRuleBase( reader );
 
-        SessionConfiguration conf = new SessionConfiguration();
-        conf.setClockType( ClockType.PSEUDO_CLOCK );
-        StatefulSession wm = ruleBase.newStatefulSession( conf );
+        KnowledgeSessionConfiguration conf = new SessionConfiguration();
+        ((SessionConfiguration)conf).setClockType( ClockType.PSEUDO_CLOCK );
+        StatefulKnowledgeSession session = kbase.newStatefulSession( conf );
 
         final List results = new ArrayList();
 
-        wm.setGlobal( "results",
+        session.setGlobal( "results",
                       results );
 
         StockTick tick1 = new StockTick( 1,
@@ -126,10 +146,10 @@
                                          50,
                                          System.currentTimeMillis() );
 
-        InternalFactHandle handle1 = (InternalFactHandle) wm.insert( tick1 );
-        InternalFactHandle handle2 = (InternalFactHandle) wm.insert( tick2 );
-        InternalFactHandle handle3 = (InternalFactHandle) wm.insert( tick3 );
-        InternalFactHandle handle4 = (InternalFactHandle) wm.insert( tick4 );
+        InternalFactHandle handle1 = (InternalFactHandle) session.insert( tick1 );
+        InternalFactHandle handle2 = (InternalFactHandle) session.insert( tick2 );
+        InternalFactHandle handle3 = (InternalFactHandle) session.insert( tick3 );
+        InternalFactHandle handle4 = (InternalFactHandle) session.insert( tick4 );
 
         assertNotNull( handle1 );
         assertNotNull( handle2 );
@@ -141,7 +161,7 @@
         assertTrue( handle3.isEvent() );
         assertTrue( handle4.isEvent() );
 
-        wm.fireAllRules();
+        session.fireAllRules();
 
         assertEquals( 0,
                       results.size() );
@@ -163,7 +183,7 @@
                                          50,
                                          System.currentTimeMillis() );
 
-        WorkingMemoryEntryPoint entry = wm.getWorkingMemoryEntryPoint( "StockStream" );
+        WorkingMemoryEntryPoint entry = session.getWorkingMemoryEntryPoint( "StockStream" );
 
         InternalFactHandle handle5 = (InternalFactHandle) entry.insert( tick5 );
         InternalFactHandle handle6 = (InternalFactHandle) entry.insert( tick6 );
@@ -180,7 +200,7 @@
         assertTrue( handle7.isEvent() );
         assertTrue( handle8.isEvent() );
 
-        wm.fireAllRules();
+        session.fireAllRules();
 
         assertEquals( 1,
                       results.size() );

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/SessionConfiguration.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/SessionConfiguration.java	2008-10-19 17:43:02 UTC (rev 23510)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/SessionConfiguration.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -22,6 +22,7 @@
 import java.io.ObjectOutput;
 import java.util.Properties;
 
+import org.drools.runtime.KnowledgeSessionConfiguration;
 import org.drools.util.ChainedProperties;
 
 /**
@@ -44,6 +45,7 @@
  */
 public class SessionConfiguration
     implements
+    KnowledgeSessionConfiguration,
     Externalizable {
     private static final long serialVersionUID = 500L;
 

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/WorkingMemoryEntryPoint.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/WorkingMemoryEntryPoint.java	2008-10-19 17:43:02 UTC (rev 23510)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/WorkingMemoryEntryPoint.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -27,7 +27,7 @@
  *  
  * @author etirelli
  */
-public interface WorkingMemoryEntryPoint {
+public interface WorkingMemoryEntryPoint extends org.drools.runtime.rule.WorkingMemoryEntryPoint {
     /**
      * Assert a fact.
      * 
@@ -40,7 +40,7 @@
      *             If a RuntimeException error occurs.
      */
     FactHandle insert(Object object) throws FactException;
-    
+
     /**
      * Insert a fact registering JavaBean <code>PropertyChangeListeners</code>
      * on the Object to automatically trigger <code>update</code> calls
@@ -58,8 +58,8 @@
      *             If a RuntimeException error occurs.
      */
     FactHandle insert(Object object,
-                            boolean dynamic) throws FactException;
-    
+                      boolean dynamic) throws FactException;
+
     /**
      * Retract a fact.
      * 
@@ -84,22 +84,22 @@
      *             If a RuntimeException error occurs.
      */
     void update(FactHandle handle,
-                      Object object) throws FactException;
-    
+                Object object) throws FactException;
+
     /**
      * 
      * @param factHandle
      */
     public void modifyRetract(final FactHandle factHandle);
-    
+
     /**
      * 
      * @param factHandle
      * @param object
      */
     public void modifyInsert(final FactHandle factHandle,
-                             final Object object); 
-    
-    public WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String name);    
+                             final Object object);
 
+    public WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String name);
+
 }

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java	2008-10-19 17:43:02 UTC (rev 23510)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/DefaultKnowledgeHelper.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -18,9 +18,12 @@
 
 import org.drools.FactException;
 import org.drools.common.InternalWorkingMemoryActions;
+import org.drools.impl.StatefulKnowledgeSessionImpl;
+import org.drools.reteoo.ReteooStatefulSession;
 import org.drools.rule.Declaration;
 import org.drools.rule.GroupElement;
 import org.drools.rule.Rule;
+import org.drools.runtime.KnowledgeRuntime;
 import org.drools.runtime.rule.FactHandle;
 import org.drools.WorkingMemory;
 import org.drools.spi.Activation;
@@ -196,6 +199,10 @@
     public WorkingMemory getWorkingMemory() {
         return this.workingMemory;
     }
+    
+    public KnowledgeRuntime getKnowledgeRuntime() {        
+       return new StatefulKnowledgeSessionImpl( (ReteooStatefulSession) this.workingMemory );
+    }
 
     public Activation getActivation() {
         return this.activation;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/SequentialKnowledgeHelper.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/SequentialKnowledgeHelper.java	2008-10-19 17:43:02 UTC (rev 23510)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/base/SequentialKnowledgeHelper.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -21,9 +21,12 @@
 import org.drools.FactException;
 import org.drools.QueryResults;
 import org.drools.common.InternalWorkingMemoryActions;
+import org.drools.impl.StatefulKnowledgeSessionImpl;
+import org.drools.reteoo.ReteooStatefulSession;
 import org.drools.rule.Declaration;
 import org.drools.rule.GroupElement;
 import org.drools.rule.Rule;
+import org.drools.runtime.KnowledgeRuntime;
 import org.drools.runtime.rule.FactHandle;
 import org.drools.WorkingMemory;
 import org.drools.spi.Activation;
@@ -146,6 +149,10 @@
     public WorkingMemory getWorkingMemory() {
         return this.workingMemory;
     }
+    
+    public KnowledgeRuntime getKnowledgeRuntime() {        
+        return new StatefulKnowledgeSessionImpl( (ReteooStatefulSession) this.workingMemory );
+     }
 
     public Activation getActivation() {
         return this.activation;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/KnowledgeBaseImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/KnowledgeBaseImpl.java	2008-10-19 17:43:02 UTC (rev 23510)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/KnowledgeBaseImpl.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -13,6 +13,8 @@
 
 import org.drools.KnowledgeBase;
 import org.drools.RuleBase;
+import org.drools.SessionConfiguration;
+import org.drools.StatefulSession;
 import org.drools.event.AfterFunctionRemovedEvent;
 import org.drools.event.AfterPackageAddedEvent;
 import org.drools.event.AfterPackageRemovedEvent;
@@ -27,10 +29,6 @@
 import org.drools.event.BeforeRuleBaseLockedEvent;
 import org.drools.event.BeforeRuleBaseUnlockedEvent;
 import org.drools.event.BeforeRuleRemovedEvent;
-import org.drools.event.ObjectInsertedEvent;
-import org.drools.event.ObjectRetractedEvent;
-import org.drools.event.ObjectUpdatedEvent;
-import org.drools.event.RuleBaseEventListener;
 import org.drools.event.knowledgebase.KnowledgeBaseEventListener;
 import org.drools.event.knowlegebase.impl.AfterFunctionRemovedEventImpl;
 import org.drools.event.knowlegebase.impl.AfterKnowledgeBaseLockedEventImpl;
@@ -46,18 +44,13 @@
 import org.drools.event.knowlegebase.impl.BeforeKnowledgePackageRemovedEventImpl;
 import org.drools.event.knowlegebase.impl.BeforeRuleAddedEventImpl;
 import org.drools.event.knowlegebase.impl.BeforeRuleRemovedEventImpl;
-import org.drools.event.rule.WorkingMemoryEventListener;
-import org.drools.event.rule.impl.ObjectInsertedEventImpl;
-import org.drools.event.rule.impl.ObjectRetractedEventImpl;
-import org.drools.event.rule.impl.ObjectUpdatedEventImpl;
-import org.drools.impl.StatefulKnowledgeSessionImpl.WorkingMemoryEventListenerWrapper;
 import org.drools.knowledge.definitions.KnowledgePackage;
-import org.drools.KnowledgeBase;
 import org.drools.knowledge.definitions.impl.KnowledgePackageImp;
 import org.drools.knowledge.definitions.rule.impl.RuleImpl;
 import org.drools.reteoo.ReteooRuleBase;
 import org.drools.reteoo.ReteooStatefulSession;
 import org.drools.rule.Package;
+import org.drools.runtime.KnowledgeSessionConfiguration;
 import org.drools.runtime.StatefulKnowledgeSession;
 
 public class KnowledgeBaseImpl
@@ -129,6 +122,12 @@
         return new StatefulKnowledgeSessionImpl( session,
                                                  this );
     }
+    
+    public StatefulKnowledgeSession newStatefulSession(KnowledgeSessionConfiguration conf) {        
+        ReteooStatefulSession session = (ReteooStatefulSession) this.ruleBase.newStatefulSession( (SessionConfiguration) conf );
+        return new StatefulKnowledgeSessionImpl( session,
+                                                 this );
+    }    
 
     public void removeKnowledgePackage(String packageName) {
         this.ruleBase.removePackage( packageName );
@@ -226,4 +225,5 @@
                                                                              new RuleImpl( event.getRule() ) ) );
         }
     }
+
 }

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java	2008-10-19 17:43:02 UTC (rev 23510)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -48,6 +48,7 @@
 import org.drools.runtime.ObjectFilter;
 import org.drools.runtime.StatefulKnowledgeSession;
 import org.drools.runtime.rule.FactHandle;
+import org.drools.runtime.rule.WorkingMemoryEntryPoint;
 import org.drools.time.SessionClock;
 
 public class StatefulKnowledgeSessionImpl
@@ -73,6 +74,10 @@
         this.mappedAgendaListeners = new IdentityHashMap<AgendaEventListener, AgendaEventListenerWrapper>();
         this.mappedProcessListeners = new IdentityHashMap<ProcessEventListener, ProcessEventListenerWrapper>();
     }
+    
+    public WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String name) {
+        return session.getWorkingMemoryEntryPoint( name );        
+    }    
 
     public void addEventListener(WorkingMemoryEventListener listener) {
         WorkingMemoryEventListenerWrapper wrapper = new WorkingMemoryEventListenerWrapper( listener );

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/spi/KnowledgeHelper.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/spi/KnowledgeHelper.java	2008-10-19 17:43:02 UTC (rev 23510)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/spi/KnowledgeHelper.java	2008-10-19 18:11:40 UTC (rev 23511)
@@ -22,6 +22,7 @@
 import org.drools.rule.Declaration;
 import org.drools.rule.Rule;
 import org.drools.runtime.rule.FactHandle;
+import org.drools.runtime.rule.RuleContext;
 import org.drools.WorkingMemory;
 
 /**
@@ -39,6 +40,7 @@
  */
 public interface KnowledgeHelper
     extends
+    RuleContext,
     Serializable {
     
     public void setActivation(final Activation agendaItem); 




More information about the jboss-svn-commits mailing list