[jboss-svn-commits] JBL Code SVN: r29575 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools: management and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Oct 11 15:20:11 EDT 2009
Author: tirelli
Date: 2009-10-11 15:20:10 -0400 (Sun, 11 Oct 2009)
New Revision: 29575
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/management/KnowledgeSessionMonitoring.java
Log:
JBRULES-2294: fixing NPE when a user or rule tries to modify an expired fact
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java 2009-10-10 22:31:52 UTC (rev 29574)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java 2009-10-11 19:20:10 UTC (rev 29575)
@@ -1283,7 +1283,7 @@
handle = this.objectStore.reconnect( handle );
}
- if ( handle.getId() == -1 ) {
+ if ( handle.getId() == -1 || ( handle.isEvent() && ((EventFactHandle)handle).isExpired() ) ) {
// the handle is invalid, most likely already retracted, so
// return
return;
@@ -1353,6 +1353,12 @@
InternalFactHandle handle = (InternalFactHandle) factHandle;
+ if ( handle.getId() == -1 || ( handle.isEvent() && ((EventFactHandle)handle).isExpired() ) ) {
+ // the handle is invalid, most likely already retracted, so
+ // return
+ return;
+ }
+
// the handle might have been disconnected, so reconnect if it has
if ( factHandle instanceof DisconnectedFactHandle ) {
handle = this.objectStore.reconnect( handle );
@@ -1460,7 +1466,7 @@
final InternalFactHandle handle = (InternalFactHandle) factHandle;
final Object originalObject = handle.getObject();
- if ( handle.getId() == -1 || object == null ) {
+ if ( handle.getId() == -1 || object == null || (handle.isEvent() && ((EventFactHandle)handle).isExpired()) ) {
// the handle is invalid, most likely already retracted, so
// return
// and we cannot assert a null object
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java 2009-10-10 22:31:52 UTC (rev 29574)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/NamedEntryPoint.java 2009-10-11 19:20:10 UTC (rev 29575)
@@ -185,7 +185,7 @@
final InternalFactHandle handle = (InternalFactHandle) factHandle;
final Object originalObject = handle.getObject();
- if ( handle.getId() == -1 || object == null ) {
+ if ( handle.getId() == -1 || object == null || ( handle.isEvent() && ((EventFactHandle)handle).isExpired() )) {
// the handle is invalid, most likely already retracted, so
// return
// and we cannot assert a null object
@@ -328,7 +328,7 @@
// ((ShadowProxy) handle.getObject()).getShadowedObject() :
// handle.getObject();
- if ( handle.getId() == -1 ) {
+ if ( handle.getId() == -1 || ( handle.isEvent() && ((EventFactHandle)handle).isExpired() ) ) {
// the handle is invalid, most likely already retracted, so
// return
return;
@@ -394,6 +394,12 @@
final InternalFactHandle handle = (InternalFactHandle) factHandle;
final Object originalObject = handle.getObject();
+ if ( handle.getId() == -1 || ( handle.isEvent() && ((EventFactHandle)handle).isExpired() ) ) {
+ // the handle is invalid, most likely already retracted, so
+ // return
+ return;
+ }
+
this.handleFactory.increaseFactHandleRecency( handle );
if ( activation != null ) {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/management/KnowledgeSessionMonitoring.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/management/KnowledgeSessionMonitoring.java 2009-10-10 22:31:52 UTC (rev 29574)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/management/KnowledgeSessionMonitoring.java 2009-10-11 19:20:10 UTC (rev 29575)
@@ -258,7 +258,7 @@
this.activationsCreated = new AtomicLong(0);
this.activationsCancelled = new AtomicLong(0);
this.firingTime = new AtomicLong(0);
- this.lastReset = new AtomicReference(new Date());
+ this.lastReset = new AtomicReference<Date>(new Date());
}
public void startFireClock() {
More information about the jboss-svn-commits
mailing list