[jboss-svn-commits] JBL Code SVN: r23938 - in labs/jbossrules/trunk: drools-api/src/main/java/org/drools/runtime/rule and 8 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Nov 18 23:51:55 EST 2008
Author: mark.proctor at jboss.com
Date: 2008-11-18 23:51:54 -0500 (Tue, 18 Nov 2008)
New Revision: 23938
Added:
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/ActivationGroup.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/RuleFlowGroup.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/ActivationGroupImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/AgendaGroupImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/AgendaImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/RuleFlowGroupImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/SerializedRule.java
Modified:
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/StatefulKnowledgeSession.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/Agenda.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/AgendaGroup.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderImpl.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ArrayAgendaGroup.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BinaryHeapQueueAgendaGroup.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalAgenda.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SequentialAgendaGroupImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/rule/impl/SerializableAgendaGroup.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ActivationGroup.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/RuleFlowGroup.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/rule/AgendaEventSupportTest.java
Log:
JBRULES-1734 Drools API
-Agenda can now be returned and cleared
-AgendaGroup, RuleFlowGroup and Activation group can be returned from the Agenda and cleared
-AgendaGroup can call setFocus
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/StatefulKnowledgeSession.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/StatefulKnowledgeSession.java 2008-11-19 04:37:31 UTC (rev 23937)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/StatefulKnowledgeSession.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -17,7 +17,5 @@
KnowledgeBase getKnowledgeBase();
- void setFocus(String string);
-
void dispose();
}
Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/ActivationGroup.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/ActivationGroup.java (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/ActivationGroup.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -0,0 +1,12 @@
+package org.drools.runtime.rule;
+
+
+public interface ActivationGroup {
+ /**
+ * @return
+ * The ActivationGroup name
+ */
+ public String getName();
+
+ public void clear();
+}
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/Agenda.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/Agenda.java 2008-11-19 04:37:31 UTC (rev 23937)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/Agenda.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -1,5 +1,11 @@
package org.drools.runtime.rule;
public interface Agenda {
-
+ public void clear();
+
+ AgendaGroup getAgendaGroup(String name);
+
+ ActivationGroup getActivationGroup(String name);
+
+ RuleFlowGroup getRuleFlowGroup(String name);
}
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/AgendaGroup.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/AgendaGroup.java 2008-11-19 04:37:31 UTC (rev 23937)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/AgendaGroup.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -7,4 +7,8 @@
* The AgendaGroup name
*/
public String getName();
+
+ public void clear();
+
+ public void setFocus();
}
Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/RuleFlowGroup.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/RuleFlowGroup.java (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/RuleFlowGroup.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -0,0 +1,12 @@
+package org.drools.runtime.rule;
+
+
+public interface RuleFlowGroup {
+ /**
+ * @return
+ * The RuleFlowGroup name
+ */
+ public String getName();
+
+ public void clear();
+}
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java 2008-11-19 04:37:31 UTC (rev 23937)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/WorkingMemory.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -25,4 +25,6 @@
Collection<? extends FactHandle> getFactHandles();
Collection<? extends FactHandle> getFactHandles(ObjectFilter filter);
+
+ Agenda getAgenda();
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderImpl.java 2008-11-19 04:37:31 UTC (rev 23937)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/builder/impl/KnowledgeBuilderImpl.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -13,7 +13,7 @@
import org.drools.builder.ResourceConfiguration;
import org.drools.compiler.PackageBuilder;
import org.drools.definition.KnowledgePackage;
-import org.drools.knowledge.definitions.impl.KnowledgePackageImp;
+import org.drools.definitions.impl.KnowledgePackageImp;
import org.drools.rule.Package;
public class KnowledgeBuilderImpl implements KnowledgeBuilder {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java 2008-11-19 04:37:31 UTC (rev 23937)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ExecutionFlowControlTest.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -14,6 +14,8 @@
import org.drools.Cell;
import org.drools.Cheese;
import org.drools.FactHandle;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
import org.drools.Message;
import org.drools.Neighbor;
import org.drools.Person;
@@ -23,6 +25,9 @@
import org.drools.RuleBaseFactory;
import org.drools.StatefulSession;
import org.drools.WorkingMemory;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.KnowledgeType;
import org.drools.common.DefaultAgenda;
import org.drools.common.InternalWorkingMemoryActions;
import org.drools.common.RuleFlowGroupImpl;
@@ -37,6 +42,7 @@
import org.drools.lang.descr.PackageDescr;
import org.drools.process.instance.ProcessInstance;
import org.drools.rule.Package;
+import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.spi.Activation;
import org.drools.spi.ActivationGroup;
import org.drools.spi.AgendaGroup;
@@ -508,24 +514,26 @@
}
public void testAgendaGroups() throws Exception {
- final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_AgendaGroups.drl" ) ) );
- final Package pkg = builder.getPackage();
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+ kbuilder.addResource( new InputStreamReader( getClass().getResourceAsStream( "test_AgendaGroups.drl" ) ), KnowledgeType.DRL );
- RuleBase ruleBase = getRuleBase();
- ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject( ruleBase );
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ assertFalse( kbuilder.hasErrors() );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+ kbase = SerializationHelper.serializeObject( kbase );
+ final StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
+
final List list = new ArrayList();
- workingMemory.setGlobal( "list",
+ session.setGlobal( "list",
list );
final Cheese brie = new Cheese( "brie",
12 );
- workingMemory.insert( brie );
+ session.insert( brie );
- workingMemory.fireAllRules();
+ session.fireAllRules();
assertEquals( 7,
list.size() );
@@ -545,13 +553,29 @@
assertEquals( "MAIN",
list.get( 6 ) );
- workingMemory.setFocus( "group2" );
- workingMemory.fireAllRules();
+ session.getAgenda().getAgendaGroup( "group2" ).setFocus( );
+ session.fireAllRules();
assertEquals( 8,
list.size() );
assertEquals( "group2",
list.get( 7 ) );
+
+ // clear main only the auto focus related ones should fire
+ list.clear();
+ session.insert( new Cheese( "cheddar" ) );
+ session.getAgenda().getAgendaGroup( "MAIN" ).clear();
+ session.fireAllRules();
+ assertEquals( 3,
+ list.size() );
+ assertEquals( "group3",
+ list.get( 0 ) );
+ assertEquals( "group4",
+ list.get( 1 ) );
+ assertEquals( "group3",
+ list.get( 2 ) );
+
+
}
public void testActivationGroups() throws Exception {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ArrayAgendaGroup.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ArrayAgendaGroup.java 2008-11-19 04:37:31 UTC (rev 23937)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/ArrayAgendaGroup.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -219,4 +219,8 @@
public int hashCode() {
return this.name.hashCode();
}
+
+ public void setFocus() {
+ throw new UnsupportedOperationException();
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BinaryHeapQueueAgendaGroup.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BinaryHeapQueueAgendaGroup.java 2008-11-19 04:37:31 UTC (rev 23937)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BinaryHeapQueueAgendaGroup.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -151,4 +151,8 @@
public int hashCode() {
return this.name.hashCode();
}
+
+ public void setFocus() {
+ throw new UnsupportedOperationException();
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalAgenda.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalAgenda.java 2008-11-19 04:37:31 UTC (rev 23937)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InternalAgenda.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -2,9 +2,11 @@
import org.drools.Agenda;
import org.drools.spi.Activation;
+import org.drools.spi.ActivationGroup;
import org.drools.spi.AgendaFilter;
import org.drools.spi.AgendaGroup;
import org.drools.spi.ConsequenceException;
+import org.drools.spi.RuleFlowGroup;
public interface InternalAgenda
extends
@@ -112,6 +114,12 @@
* @param agendaFilter filters the activations that may fire
*/
public void fireUntilHalt(AgendaFilter agendaFilter);
+
+ public AgendaGroup getAgendaGroup(String name);
+
+ public ActivationGroup getActivationGroup(String name);
+
+ public RuleFlowGroup getRuleFlowGroup(String name);
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SequentialAgendaGroupImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SequentialAgendaGroupImpl.java 2008-11-19 04:37:31 UTC (rev 23937)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SequentialAgendaGroupImpl.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -171,4 +171,8 @@
public int hashCode() {
return this.name.hashCode();
}
+
+ public void setFocus() {
+ throw new UnsupportedOperationException();
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/rule/impl/SerializableAgendaGroup.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/rule/impl/SerializableAgendaGroup.java 2008-11-19 04:37:31 UTC (rev 23937)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/rule/impl/SerializableAgendaGroup.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -30,6 +30,14 @@
public String getName() {
return this.name;
+ }
+
+ public void clear() {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setFocus() {
+ throw new UnsupportedOperationException();
}
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java 2008-11-19 04:37:31 UTC (rev 23937)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -11,6 +11,7 @@
import org.drools.KnowledgeBase;
import org.drools.WorkingMemory;
+import org.drools.common.InternalAgenda;
import org.drools.common.InternalFactHandle;
import org.drools.common.InternalWorkingMemory;
import org.drools.common.ObjectStore;
@@ -56,6 +57,7 @@
import org.drools.runtime.rule.AgendaFilter;
import org.drools.runtime.rule.FactHandle;
import org.drools.runtime.rule.WorkingMemoryEntryPoint;
+import org.drools.runtime.rule.impl.AgendaImpl;
import org.drools.spi.Activation;
import org.drools.time.SessionClock;
@@ -166,11 +168,7 @@
public void halt() {
this.session.halt();
}
-
- public void setFocus(String agendaGroup) {
- this.session.setFocus( agendaGroup );
- }
-
+
public void dispose() {
this.session.dispose();
}
@@ -557,7 +555,6 @@
}
public Agenda getAgenda() {
- // TODO Auto-generated method stub
- return null;
+ return new AgendaImpl( ( InternalAgenda ) this.session.getAgenda() );
}
}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/ActivationGroupImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/ActivationGroupImpl.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/ActivationGroupImpl.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -0,0 +1,44 @@
+package org.drools.runtime.rule.impl;
+
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
+import org.drools.Agenda;
+import org.drools.common.InternalAgenda;
+import org.drools.runtime.rule.ActivationGroup;
+
+public class ActivationGroupImpl implements ActivationGroup, Externalizable {
+
+ private String name;
+
+ private InternalAgenda agenda;
+
+ ActivationGroupImpl() {
+
+ }
+
+ ActivationGroupImpl(org.drools.spi.ActivationGroup activationGroup, InternalAgenda agenda) {
+ this.name = activationGroup.getName();
+ this.agenda = agenda;
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeUTF( this.name );
+ }
+
+ public void readExternal(ObjectInput in) throws IOException,
+ ClassNotFoundException {
+ this.name = in.readUTF();
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void clear() {
+ this.agenda.clearAndCancelActivationGroup( this.name );
+ }
+
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/AgendaGroupImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/AgendaGroupImpl.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/AgendaGroupImpl.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -0,0 +1,48 @@
+package org.drools.runtime.rule.impl;
+
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
+import org.drools.Agenda;
+import org.drools.common.InternalAgenda;
+import org.drools.runtime.rule.AgendaGroup;
+
+public class AgendaGroupImpl implements AgendaGroup, Externalizable {
+
+ private String name;
+
+ private InternalAgenda agenda;
+
+ AgendaGroupImpl() {
+
+ }
+
+ AgendaGroupImpl(org.drools.spi.AgendaGroup agendaGroup, InternalAgenda agenda) {
+ this.name = agendaGroup.getName();
+ this.agenda = agenda;
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeUTF( this.name );
+ }
+
+ public void readExternal(ObjectInput in) throws IOException,
+ ClassNotFoundException {
+ this.name = in.readUTF();
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void clear() {
+ this.agenda.clearAndCancelAgendaGroup( this.name );
+ }
+
+ public void setFocus() {
+ this.agenda.setFocus( this.name );
+ }
+
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/AgendaImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/AgendaImpl.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/AgendaImpl.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -0,0 +1,49 @@
+package org.drools.runtime.rule.impl;
+
+import org.drools.common.InternalAgenda;
+import org.drools.runtime.rule.ActivationGroup;
+import org.drools.runtime.rule.Agenda;
+import org.drools.runtime.rule.AgendaGroup;
+import org.drools.runtime.rule.RuleFlowGroup;
+
+public class AgendaImpl
+ implements
+ Agenda {
+ private InternalAgenda agenda;
+
+ public AgendaImpl(InternalAgenda agenda) {
+ super();
+ this.agenda = agenda;
+ }
+
+ public void clear() {
+ this.agenda.clearAndCancel();
+ }
+
+ public AgendaGroup getAgendaGroup(String name) {
+ org.drools.spi.AgendaGroup agendaGroup = this.agenda.getAgendaGroup( name );
+ if ( agendaGroup != null ) {
+ return new AgendaGroupImpl( agendaGroup, this.agenda );
+ } else {
+ return null;
+ }
+ }
+
+ public ActivationGroup getActivationGroup(String name) {
+ org.drools.spi.ActivationGroup activationGroup = this.agenda.getActivationGroup( name );
+ if ( activationGroup != null ) {
+ return new ActivationGroupImpl( activationGroup, this.agenda );
+ } else {
+ return null;
+ }
+ }
+
+ public RuleFlowGroup getRuleFlowGroup(String name) {
+ org.drools.spi.RuleFlowGroup ruleFlowGroup = this.agenda.getRuleFlowGroup( name );
+ if ( ruleFlowGroup != null ) {
+ return new RuleFlowGroupImpl( ruleFlowGroup, this.agenda );
+ } else {
+ return null;
+ }
+ }
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/RuleFlowGroupImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/RuleFlowGroupImpl.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/RuleFlowGroupImpl.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -0,0 +1,45 @@
+package org.drools.runtime.rule.impl;
+
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
+import org.drools.Agenda;
+import org.drools.common.InternalAgenda;
+import org.drools.runtime.rule.AgendaGroup;
+import org.drools.runtime.rule.RuleFlowGroup;
+
+public class RuleFlowGroupImpl implements RuleFlowGroup, Externalizable {
+
+ private String name;
+
+ private InternalAgenda agenda;
+
+ RuleFlowGroupImpl() {
+
+ }
+
+ RuleFlowGroupImpl(org.drools.spi.RuleFlowGroup ruleflowGroup, InternalAgenda agenda) {
+ this.name = ruleflowGroup.getName();
+ this.agenda = agenda;
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeUTF( this.name );
+ }
+
+ public void readExternal(ObjectInput in) throws IOException,
+ ClassNotFoundException {
+ this.name = in.readUTF();
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void clear() {
+ this.agenda.clearAndCancelRuleFlowGroup( this.name );
+ }
+
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/SerializedRule.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/SerializedRule.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/SerializedRule.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -0,0 +1,45 @@
+package org.drools.runtime.rule.impl;
+
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
+import org.drools.definition.rule.Rule;
+
+public class SerializedRule
+ implements
+ Rule,
+ Externalizable {
+ private String name;
+ private String packageName;
+
+ public SerializedRule() {
+
+ }
+
+ public SerializedRule(Rule rule) {
+ this.name = rule.getName();
+ this.packageName = rule.getPackageName();
+ }
+
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeUTF( name );
+ out.writeUTF( packageName );
+ }
+
+ public void readExternal(ObjectInput in) throws IOException,
+ ClassNotFoundException {
+ name = in.readUTF();
+ packageName = in.readUTF();
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public String getPackageName() {
+ return this.packageName;
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ActivationGroup.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ActivationGroup.java 2008-11-19 04:37:31 UTC (rev 23937)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ActivationGroup.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -5,7 +5,7 @@
public interface ActivationGroup
extends
- Serializable {
+ org.drools.runtime.rule.ActivationGroup {
public String getName();
public void addActivation(Activation activation);
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/RuleFlowGroup.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/RuleFlowGroup.java 2008-11-19 04:37:31 UTC (rev 23937)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/RuleFlowGroup.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -21,7 +21,7 @@
import org.drools.common.RuleFlowGroupNode;
-public interface RuleFlowGroup extends Externalizable {
+public interface RuleFlowGroup extends org.drools.runtime.rule.RuleFlowGroup {
String getName();
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/rule/AgendaEventSupportTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/rule/AgendaEventSupportTest.java 2008-11-19 04:37:31 UTC (rev 23937)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/rule/AgendaEventSupportTest.java 2008-11-19 04:51:54 UTC (rev 23938)
@@ -191,7 +191,7 @@
agendaList.clear();
// setFocus results in an AgendaGroupPushedEvent
- session.setFocus( "test group" );
+ session.getAgenda().getAgendaGroup( "test group" ).setFocus();
assertEquals( 1,
agendaList.size() );
final AgendaGroupPushedEvent pushedEvent = (AgendaGroupPushedEvent) agendaList.get( 0 );
More information about the jboss-svn-commits
mailing list