Scarab commit: svn commit: r11029 - trunk/src/java/org/tigris/scarab/om/ActivitySet.java

[email protected] Wed, 24 Nov 2010 07:39:47 -0800 (PST)
Newsgroups gmane.comp.java.scarab.cvs
Message-ID <[email protected]>
Author: dabbous
Date: 2010-11-24 07:39:47-0800
New Revision: 11029

Modified:
   trunk/src/java/org/tigris/scarab/om/ActivitySet.java

Log:
Fix for SCB3055
The check for sealed issues apparently fails when no current activitySet does exist for an issue. i believe that in this case a "item not found exceptions" is generated when processing the iterator() aover all activities. (Not sure if that is true)

Modified: trunk/src/java/org/tigris/scarab/om/ActivitySet.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/om/ActivitySet.java?view=diff&pathrev=11029&r1=11028&r2=11029
==============================================================================
--- trunk/src/java/org/tigris/scarab/om/ActivitySet.java	(original)
+++ trunk/src/java/org/tigris/scarab/om/ActivitySet.java	2010-11-24 07:39:47-0800
@@ -51,6 +51,7 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.HashSet;
+import java.util.NoSuchElementException;
 import java.util.Set;
 
 import org.apache.torque.TorqueException;
@@ -259,26 +260,35 @@
                     if (iter != null)
                     {
                         Activity act = null;
-                        while((act = iter.next()) != null)
+                        try
                         {
-                            ActivityType at = ActivityType.getActivityType(act.getActivityType());
-                            if(at == ActivityType.ATTRIBUTE_CHANGED)
+                            while((act = iter.next()) != null)
                             {
-                                Attribute att = act.getAttribute();
-                                String name = att.getName();
-                                if(name.equals(status))
+                                ActivityType at = ActivityType.getActivityType(act.getActivityType());
+                                if(at == ActivityType.ATTRIBUTE_CHANGED)
                                 {
-                                   String oldv = act.getOldValue();
-                                   String newv = act.getNewValue();
-                                   
-                                   if(oldv.equals(value) || newv.equals(value))
-                                   {
-                                       result = true;
-                                       break;
-                                   }
+                                    Attribute att = act.getAttribute();
+                                    String name = att.getName();
+                                    if(name.equals(status))
+                                    {
+                                       String oldv = act.getOldValue();
+                                       String newv = act.getNewValue();
+                                       
+                                       if(oldv.equals(value) || newv.equals(value))
+                                       {
+                                           result = true;
+                                           break;
+                                       }
+                                    }
                                 }
                             }
                         }
+                        catch (NoSuchElementException nsee)
+                        {
+                            Throwable th = new Throwable("No such element exception occured.(ignore and assume transitionToSealed=false)");
+                            th.printStackTrace();
+                            result = false;
+                        }
                     }
                 }
             }

------------------------------------------------------
http://scarab.tigris.org/ds/viewMessage.do?dsForumId=3577&dsMessageId=2685394