wburrows 2004/12/07 13:22:24
Modified: src/share/org/apache/slide/event EventCollectionFilter.java
Log:
Defect 32250: fixes to solve db deadlocks when client transaction used.
Revision Changes Path
1.6 +37 -28
jakarta-slide/src/share/org/apache/slide/event/EventCollectionFilter.java
Index: EventCollectionFilter.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/event/EventCollectionFilter.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- EventCollectionFilter.java 28 Jul 2004 09:36:26 -0000 1.5
+++ EventCollectionFilter.java 7 Dec 2004 21:22:23 -0000 1.6
@@ -34,14 +34,17 @@
public class EventCollectionFilter {
public static ContentEvent[] getChangedContents(EventCollection
collection) {
List changedContents = new ArrayList();
- List collectedEvents = collection.getCollection();
- for ( Iterator i = collectedEvents.iterator(); i.hasNext(); ) {
- EventCollection.Event event = (EventCollection.Event)i.next();
- if ( event.getMethod() == ContentEvent.STORE ) {
- removeContentEvents(changedContents,
((ContentEvent)event.getEvent()).getUri());
- changedContents.add(event.getEvent());
- } else if ( event.getMethod() == ContentEvent.REMOVE ) {
- removeContentEvents(changedContents,
((ContentEvent)event.getEvent()).getUri());
+ if (collection != null)
+ {
+ List collectedEvents = collection.getCollection();
+ for ( Iterator i = collectedEvents.iterator(); i.hasNext(); ) {
+ EventCollection.Event event =
(EventCollection.Event)i.next();
+ if ( event.getMethod() == ContentEvent.STORE ) {
+ removeContentEvents(changedContents,
((ContentEvent)event.getEvent()).getUri());
+ changedContents.add(event.getEvent());
+ } else if ( event.getMethod() == ContentEvent.REMOVE ) {
+ removeContentEvents(changedContents,
((ContentEvent)event.getEvent()).getUri());
+ }
}
}
ContentEvent[] changedContentEvents = new
ContentEvent[changedContents.size()];
@@ -50,14 +53,17 @@
public static ContentEvent[] getCreatedContents(EventCollection
collection) {
List changedContents = new ArrayList();
- List collectedEvents = collection.getCollection();
- for ( Iterator i = collectedEvents.iterator(); i.hasNext(); ) {
- EventCollection.Event event = (EventCollection.Event)i.next();
- if ( event.getMethod() == ContentEvent.CREATE ) {
- removeContentEvents(changedContents,
((ContentEvent)event.getEvent()).getUri());
- changedContents.add(event.getEvent());
- } else if ( event.getMethod() == ContentEvent.REMOVE ) {
- removeContentEvents(changedContents,
((ContentEvent)event.getEvent()).getUri());
+ if (collection != null)
+ {
+ List collectedEvents = collection.getCollection();
+ for ( Iterator i = collectedEvents.iterator(); i.hasNext(); ) {
+ EventCollection.Event event =
(EventCollection.Event)i.next();
+ if ( event.getMethod() == ContentEvent.CREATE ) {
+ removeContentEvents(changedContents,
((ContentEvent)event.getEvent()).getUri());
+ changedContents.add(event.getEvent());
+ } else if ( event.getMethod() == ContentEvent.REMOVE ) {
+ removeContentEvents(changedContents,
((ContentEvent)event.getEvent()).getUri());
+ }
}
}
ContentEvent[] changedContentEvents = new
ContentEvent[changedContents.size()];
@@ -66,14 +72,17 @@
public static ContentEvent[] getRemovedContents(EventCollection
collection) {
List changedContents = new ArrayList();
- List collectedEvents = collection.getCollection();
- for ( Iterator i = collectedEvents.iterator(); i.hasNext(); ) {
- EventCollection.Event event = (EventCollection.Event)i.next();
- if ( event.getMethod() == ContentEvent.REMOVE ) {
- removeContentEvents(changedContents,
((ContentEvent)event.getEvent()).getUri());
- changedContents.add(event.getEvent());
- } else if ( event.getMethod() == ContentEvent.CREATE ||
event.getMethod() == ContentEvent.STORE ) {
- removeContentEvents(changedContents,
((ContentEvent)event.getEvent()).getUri());
+ if (collection != null)
+ {
+ List collectedEvents = collection.getCollection();
+ for ( Iterator i = collectedEvents.iterator(); i.hasNext(); ) {
+ EventCollection.Event event =
(EventCollection.Event)i.next();
+ if ( event.getMethod() == ContentEvent.REMOVE ) {
+ removeContentEvents(changedContents,
((ContentEvent)event.getEvent()).getUri());
+ changedContents.add(event.getEvent());
+ } else if ( event.getMethod() == ContentEvent.CREATE ||
event.getMethod() == ContentEvent.STORE ) {
+ removeContentEvents(changedContents,
((ContentEvent)event.getEvent()).getUri());
+ }
}
}
ContentEvent[] changedContentEvents = new
ContentEvent[changedContents.size()];
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]