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]

Reply via email to