Revision: 1286
Author: plorenz
Date: Sat Mar 2 18:23:08 2013
Log: Fix test contexts to make sure listeners are unique across
different engines.
Fix NPE in hibernate version of dead end listener
http://code.google.com/p/sarasvati/source/detail?r=1286
Modified:
/java/trunk/sarasvati-core/src/main/java/com/googlecode/sarasvati/mem/TokenSetDeadEndListener.java
/java/trunk/sarasvati-hibernate/src/main/java/com/googlecode/sarasvati/hib/TokenSetDeadEndListener.java
/java/trunk/sarasvati-test/src/main/java/com/googlecode/sarasvati/test/HibernateTestEnvProvider.java
/java/trunk/sarasvati-test/src/main/java/com/googlecode/sarasvati/test/JdbcTestEnvProvider.java
/java/trunk/sarasvati-test/src/main/java/com/googlecode/sarasvati/test/MemTestEnvProvider.java
=======================================
---
/java/trunk/sarasvati-core/src/main/java/com/googlecode/sarasvati/mem/TokenSetDeadEndListener.java
Tue Feb 26 19:49:07 2013
+++
/java/trunk/sarasvati-core/src/main/java/com/googlecode/sarasvati/mem/TokenSetDeadEndListener.java
Sat Mar 2 18:23:08 2013
@@ -36,13 +36,13 @@
public class TokenSetDeadEndListener implements ExecutionListener
{
private static final String KEY
= "com.googlecode.sarasvati.tokenset.tokens_waiting_for_tokenset";
-
+
@Override
public EventActions notify (final ExecutionEvent event)
{
if ( event.getEventType() ==
ExecutionEventType.ARC_TOKEN_INCOMPLETE_JOIN &&
event.getArcToken().getArc().getEndNode().getJoinType() ==
JoinType.TOKEN_SET )
- {
+ {
for ( TokenSetMember setMember :
event.getArcToken().getTokenSetMemberships() )
{
final Env tsEnv = setMember.getTokenSet().getEnv();
@@ -54,7 +54,7 @@
tsEnv.setTransientAttribute(KEY, checkNodes);
}
checkNodes.add(event.getArcToken());
- }
+ }
}
else if ( event.getEventType() ==
ExecutionEventType.NODE_TOKEN_COMPLETED )
{
=======================================
---
/java/trunk/sarasvati-hibernate/src/main/java/com/googlecode/sarasvati/hib/TokenSetDeadEndListener.java
Tue Feb 26 19:49:07 2013
+++
/java/trunk/sarasvati-hibernate/src/main/java/com/googlecode/sarasvati/hib/TokenSetDeadEndListener.java
Sat Mar 2 18:23:08 2013
@@ -33,20 +33,20 @@
public class TokenSetDeadEndListener implements ExecutionListener
{
private static final String KEY
= "com.googlecode.sarasvati.tokenset.tokens_waiting_for_tokenset";
-
+
@Override
public EventActions notify (final ExecutionEvent event)
{
if ( event.getEventType() ==
ExecutionEventType.ARC_TOKEN_INCOMPLETE_JOIN &&
event.getArcToken().getArc().getEndNode().getJoinType() ==
JoinType.TOKEN_SET )
- {
+ {
for ( TokenSetMember setMember :
event.getArcToken().getTokenSetMemberships() )
{
final Env tsEnv = setMember.getTokenSet().getEnv();
long[] checkNodes = tsEnv.getAttribute(KEY, long[].class);
if (checkNodes == null)
{
- checkNodes = new long[] { event.getArcToken().getId() };
+ checkNodes = new long[] { event.getArcToken().getId() };
}
else
{
@@ -55,7 +55,7 @@
newCheckNodes[checkNodes.length] = event.getArcToken().getId();
}
tsEnv.setAttribute(KEY, checkNodes);
- }
+ }
}
else if ( event.getEventType() ==
ExecutionEventType.NODE_TOKEN_COMPLETED )
{
@@ -68,10 +68,13 @@
{
final Env tsEnv = setMember.getTokenSet().getEnv();
long[] checkNodes = tsEnv.getAttribute(KEY, long[].class);
- for (final long arcTokenId : checkNodes)
+ if (checkNodes != null)
{
- final ArcToken arcToken =
hibEngine.getRepository().loadArcToken(arcTokenId);
- event.getEngine().retryIncompleteArcToken(arcToken);
+ for (final long arcTokenId : checkNodes)
+ {
+ final ArcToken arcToken =
hibEngine.getRepository().loadArcToken(arcTokenId);
+ event.getEngine().retryIncompleteArcToken(arcToken);
+ }
}
}
}
=======================================
---
/java/trunk/sarasvati-test/src/main/java/com/googlecode/sarasvati/test/HibernateTestEnvProvider.java
Sun Nov 11 19:39:36 2012
+++
/java/trunk/sarasvati-test/src/main/java/com/googlecode/sarasvati/test/HibernateTestEnvProvider.java
Sat Mar 2 18:23:08 2013
@@ -51,7 +51,7 @@
{
session = sessionFactory.openSession();
session.beginTransaction();
- engine = new HibEngine(session);
+ engine = new HibEngine("HibernateTestContext", session);
}
@Override
=======================================
---
/java/trunk/sarasvati-test/src/main/java/com/googlecode/sarasvati/test/JdbcTestEnvProvider.java
Sun Oct 21 16:58:48 2012
+++
/java/trunk/sarasvati-test/src/main/java/com/googlecode/sarasvati/test/JdbcTestEnvProvider.java
Sat Mar 2 18:23:08 2013
@@ -56,7 +56,7 @@
connection.rollback();
}
- engine = new JdbcEngine(connection, dialect);
+ engine = new JdbcEngine(connection, dialect, "JDBCTestContext");
}
catch(final Exception e)
{
=======================================
---
/java/trunk/sarasvati-test/src/main/java/com/googlecode/sarasvati/test/MemTestEnvProvider.java
Sun Oct 21 16:58:48 2012
+++
/java/trunk/sarasvati-test/src/main/java/com/googlecode/sarasvati/test/MemTestEnvProvider.java
Sat Mar 2 18:23:08 2013
@@ -7,7 +7,7 @@
public class MemTestEnvProvider implements TestEnvProvider
{
- private MemEngine engine = new MemEngine();
+ private MemEngine engine = new MemEngine("MemoryTestContext");
@Override
public Engine getEngine()