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

[email protected]
Newsgroups gmane.comp.java.scarab.cvs
Message-ID <[email protected]>
Author: ronvoe122
Date: 2006-11-08 08:59:26-0800
New Revision: 10349

Modified:
   trunk/   (props changed)
   trunk/src/java/org/tigris/scarab/om/Activity.java
   trunk/src/java/org/tigris/scarab/om/Issue.java

Log:
Merged revisions 10331 via svnmerge from 
http://scarab.tigris.org/svn/scarab/branches/release/b21

........
  r10331 | ronvoe122 | 2006-11-07 11:17:38 +0100 (Di, 07 Nov 2006) | 3 lines
  
  [SCB2002] Avoid that Activities sometimes occur twice in the history.
  Removed call of Issue.save() from Activity.save().
........


Modified: trunk/src/java/org/tigris/scarab/om/Activity.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/om/Activity.java?view=diff&rev=10349&p1=trunk/src/java/org/tigris/scarab/om/Activity.java&p2=trunk/src/java/org/tigris/scarab/om/Activity.java&r1=10348&r2=10349
==============================================================================
--- trunk/src/java/org/tigris/scarab/om/Activity.java	(original)
+++ trunk/src/java/org/tigris/scarab/om/Activity.java	2006-11-08 08:59:26-0800
@@ -46,7 +46,6 @@
  * individuals on behalf of Collab.Net.
  */ 
 
-import java.util.Date;
 import java.util.List;
 
 // Turbine classes
@@ -178,10 +177,6 @@
             this.setEndDate(getActivitySet().getCreatedDate());
         }
         
-        // The issue must be updated with the last-modification info!
-        this.getIssue().setLastTransId(this.getTransactionId());
-        this.getIssue().save();
-        
         super.save(dbCon);
     }
 

Modified: trunk/src/java/org/tigris/scarab/om/Issue.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/om/Issue.java?view=diff&rev=10349&p1=trunk/src/java/org/tigris/scarab/om/Issue.java&p2=trunk/src/java/org/tigris/scarab/om/Issue.java&r1=10348&r2=10349
==============================================================================
--- trunk/src/java/org/tigris/scarab/om/Issue.java	(original)
+++ trunk/src/java/org/tigris/scarab/om/Issue.java	2006-11-08 08:59:26-0800
@@ -552,12 +552,8 @@
         attachment.setTextFields(user, this, Attachment.URL__PK);
         attachment.save();
 
-        // Save activitySet record
-        if (activitySet == null)
-        {
-            activitySet = getActivitySet(user, ActivitySetTypePeer.EDIT_ISSUE__PK);
-            activitySet.save();            
-        }
+        activitySet = attachActivitySet(activitySet, user);
+
         // Save activity record
         ActivityManager
             .createTextActivity(this, activitySet, ActivityType.URL_ADDED, attachment);
@@ -593,12 +589,8 @@
         {
             throw new ScarabException(L10NKeySet.NoDataInComment);
         }
-        if (activitySet == null)
-        {
-            activitySet = getActivitySet(user, 
-                            ActivitySetTypePeer.EDIT_ISSUE__PK);
-        }
-        activitySet.save();
+
+        activitySet = attachActivitySet(activitySet, user);
 
         // populates the attachment with data to be a comment
         attachment = AttachmentManager
@@ -677,12 +669,8 @@
         {
             return activitySet;
         }
-        if (activitySet == null)
-        {
-            // Save activitySet record
-            activitySet = getActivitySet(user, ActivitySetTypePeer.EDIT_ISSUE__PK);
-            activitySet.save();
-        }
+        activitySet = attachActivitySet(activitySet, user);
+
         final Iterator itr = unSavedAttachments.iterator();
         while (itr.hasNext())
         {
@@ -998,7 +986,7 @@
         else 
         {
             result = (List)obj;
-        }
+    }
         return result;
     }
 
@@ -1938,15 +1926,8 @@
         depend.setDeleted(false);
         depend.save();
 
-        if (activitySet == null)
-        {
-            // deal with user comments
-            Attachment comment = depend.getDescriptionAsAttachment(user, this);
-            // Save activitySet record
-            activitySet = getActivitySet(user, comment,
-                              ActivitySetTypePeer.EDIT_ISSUE__PK);
-            activitySet.save();
-        }
+        Attachment comment = depend.getDescriptionAsAttachment(user, this);
+        activitySet = attachActivitySet(activitySet, user, comment);
 
         // Save activity record for the parent issue
         ActivityManager
@@ -2460,9 +2441,7 @@
                 final Activity oldAct = oldA.getActivity();
                 if (oldAct != null)
                 {
-                    final ActivitySet activitySet = getActivitySet(
-                        user, ActivitySetTypePeer.EDIT_ISSUE__PK);
-                    activitySet.save();
+                    final ActivitySet activitySet = newIssue.attachActivitySet(null, user);
                     ActivityManager.createTextActivity(newIssue, activitySet,
                         ActivityType.getActivityType(oldA.getActivity().getActivityType()), newA);
                 }
@@ -2638,12 +2617,9 @@
         attachment.setTextFields(user, newIssue, Attachment.MODIFICATION__PK);
         attachment.save();
 
-
         // Create activitySet for the MoveIssue activity
-        final ActivitySet activitySet2 = ActivitySetManager
-            .getInstance(ActivitySetTypePeer.MOVE_ISSUE__PK, user, attachment);
-        activitySet2.save();
-        ScarabCache.put(activitySet2, newIssue, GET_LAST_TRANSACTION);
+        final ActivitySet activitySet2 = 
+        	newIssue.attachActivitySet(null, user, attachment, ActivitySetTypePeer.MOVE_ISSUE__PK);
 
         // Save activity record
         final Attribute zeroAttribute = AttributeManager
@@ -2707,9 +2683,8 @@
             voteValue = (TotalVotesAttribute)voteValues.get(0);
         }
         // Updating attribute values requires a activitySet
-        ActivitySet activitySet = ActivitySetManager
-            .getInstance(ActivitySetTypePeer.RETOTAL_ISSUE_VOTE__PK, user);
-        activitySet.save();
+        ActivitySet activitySet = attachActivitySet(null, user, null, 
+           ActivitySetTypePeer.RETOTAL_ISSUE_VOTE__PK);
         voteValue.startActivitySet(activitySet);
         voteValue.addVote();
         voteValue.save();
@@ -2914,8 +2889,7 @@
     {        
         if (user.hasPermission(ScarabSecurity.ISSUE__DELETE, this.getModule()))
         {
-            ActivitySet activitySet = this.getActivitySet(user, ActivitySetTypePeer.EDIT_ISSUE__PK);
-            activitySet.save();
+            ActivitySet activitySet = attachActivitySet(null, user);
             ActivityManager.createDeleteIssueActivity(this, activitySet);
             this.setDeleted(true);
             List dependencies = this.getDependsRelatedByObservedId();
@@ -3214,15 +3188,8 @@
     {                
         final UserAttribute attVal = new UserAttribute();
 
-        // Save activitySet if it has not been already
-        if (activitySet == null)
-        { 
-            activitySet = ActivitySetManager
-                .getInstance(ActivitySetTypePeer.EDIT_ISSUE__PK, assigner, 
-                             attachment);
-            activitySet.save();
-            attVal.startActivitySet(activitySet);
-        }
+        activitySet = attachActivitySet(activitySet, assigner, attachment);
+        attVal.startActivitySet(activitySet);
 
         ActivityManager
             .createUserActivity(this, attribute, activitySet,
@@ -3251,14 +3218,8 @@
                                                 final Attachment attachment)
         throws TorqueException,ScarabException
     {
-        // Save activitySet if it has not been already
-        if (activitySet == null)
-        { 
-            activitySet = ActivitySetManager
-                .getInstance(ActivitySetTypePeer.EDIT_ISSUE__PK, assigner, attachment);
-            activitySet.save();
-            oldAttVal.startActivitySet(activitySet);
-        }
+        activitySet = attachActivitySet(activitySet, assigner, attachment);
+        oldAttVal.startActivitySet(activitySet);
 
         // Save activity record for deletion of old assignment
         ActivityManager
@@ -3291,14 +3252,8 @@
             final Attachment attachment)
         throws TorqueException, ScarabException
     {
-        // Save activitySet record if it has not been already
-        if (activitySet == null)
-        { 
-            activitySet = ActivitySetManager
-                .getInstance(ActivitySetTypePeer.EDIT_ISSUE__PK, assigner, attachment);
-            activitySet.save();
-            attVal.startActivitySet(activitySet);
-        }
+        activitySet = attachActivitySet(activitySet, assigner, attachment);
+        attVal.startActivitySet(activitySet);
 
         // Save activity record
         ActivityManager
@@ -3343,16 +3298,10 @@
         // does not try to return the item from the cache
         ScarabCache.put(null, thisIssue, GET_DEPENDENCY, otherIssue);
 
-        if (activitySet == null)
-        {
-            // deal with user comments
-            final Attachment comment = oldDepend.getDescriptionAsAttachment(user, thisIssue);
+        Attachment comment = oldDepend.getDescriptionAsAttachment(user, thisIssue);
 
-            activitySet = getActivitySet(user, comment,
-                              ActivitySetTypePeer.EDIT_ISSUE__PK);
-            // Save activitySet record
-            activitySet.save();
-        }
+        activitySet = thisIssue.attachActivitySet(activitySet, user, comment);
+        activitySet = otherIssue.attachActivitySet(activitySet, user, comment);
 
         ActivityManager
             .createDeleteDependencyActivity(thisIssue, activitySet, oldDepend);
@@ -3390,13 +3339,7 @@
             { 
                 desc = desc.substring(0,248) + "...";
             }
-            if (activitySet == null)
-            {
-                // Save activitySet record
-                activitySet = getActivitySet(user, ActivitySetTypePeer.EDIT_ISSUE__PK);
-                activitySet.save();
-            }
-            // Save activity record
+            activitySet = attachActivitySet(activitySet, user);
             ActivityManager
                 .createTextActivity(this, activitySet,
                                     ActivityType.URL_DESC_CHANGED, attachment,
@@ -3433,12 +3376,8 @@
             { 
                 desc = desc.substring(0,248) + "...";
             }
-            if (activitySet == null)
-            {
-                // Save activitySet record
-                activitySet = getActivitySet(user, ActivitySetTypePeer.EDIT_ISSUE__PK);
-                activitySet.save();
-            }
+            activitySet = attachActivitySet(activitySet, user);
+
             // Save activity record
             ActivityManager.createTextActivity(
                     this,
@@ -3494,16 +3433,10 @@
             // does not try to return the item from the cache
             ScarabCache.put(null, this, GET_DEPENDENCY, otherIssue);
 
-            if (activitySet == null)
-            {
-                // deal with user comments
-                final Attachment comment = newDepend.getDescriptionAsAttachment(user, this);
-    
-                activitySet = getActivitySet(user, comment,
-                                  ActivitySetTypePeer.EDIT_ISSUE__PK);
-                // Save activitySet record
-                activitySet.save();
-            }
+            final Attachment comment = newDepend.getDescriptionAsAttachment(user, this);
+
+            activitySet = attachActivitySet(activitySet, user, comment);
+            activitySet = otherIssue.attachActivitySet(activitySet, user, comment);
             
             ActivityManager
                 .createChangeDependencyActivity(this, activitySet, newDepend,
@@ -3619,16 +3552,8 @@
                                      Attachment.MODIFICATION__PK);
             attachment.save();
         }
-
-        // Create the ActivitySet
-        if (activitySet == null)
-        {
-            activitySet = getActivitySet(user, attachment,
-                                      ActivitySetTypePeer.EDIT_ISSUE__PK);
-            activitySet.save();
-            ScarabCache.clear();
-        }
-
+        activitySet = attachActivitySet(activitySet, user, attachment );
+        
         final LinkedMap avMap = getModuleAttributeValuesMap(); 
         AttributeValue oldAttVal = null;
         AttributeValue newAttVal = null;
@@ -3677,6 +3602,53 @@
     }
 
     /**
+     * Sets an ActivitySet as the lastActivitySet of an Issue.
+     * Crates and saves a new ActivitySet, if required.
+     * Saves the Issue.
+     * @return ActivitySet
+     * @throws TorqueException
+     */
+    protected ActivitySet attachActivitySet( 
+       ActivitySet activitySet,
+       final ScarabUser user,
+       final Attachment attachment,
+       final Integer activitySetType 
+    )
+       throws TorqueException,ScarabException
+    {
+        if (activitySet == null)
+        {
+            activitySet = getActivitySet(
+               user, attachment,
+               activitySetType);
+            activitySet.save();
+            ScarabCache.clear();
+        }
+        setLastTransId(activitySet.getActivitySetId());
+        save();
+        return activitySet;
+    }
+
+    protected ActivitySet attachActivitySet( 
+        ActivitySet activitySet,
+        final ScarabUser user,
+        final Attachment attachment
+    )
+        throws TorqueException,ScarabException
+    {
+        return attachActivitySet(activitySet, user, attachment, ActivitySetTypePeer.EDIT_ISSUE__PK);
+    }
+
+    protected ActivitySet attachActivitySet( 
+        ActivitySet activitySet,
+        final ScarabUser user
+    )
+        throws TorqueException,ScarabException
+    {
+        return attachActivitySet(activitySet, user, null, ActivitySetTypePeer.EDIT_ISSUE__PK);
+    }
+
+    /**
      * This method is used with the setInitialAttributeValues() method to 
      * Make sure that workflow is valid for the initial values of a new issue. 
      * It will return a non-null String
@@ -3791,13 +3763,7 @@
             attachment.setData(newComment);
             attachment.save();
            
-            if (activitySet == null)
-            {
-                 // Save activitySet record
-                activitySet = getActivitySet(user,
-                                          ActivitySetTypePeer.EDIT_ISSUE__PK);
-                activitySet.save();
-            }
+            activitySet = attachActivitySet( activitySet, user);
             // Save activity record
             ActivityManager
                 .createTextActivity(this, null, activitySet,
@@ -3824,13 +3790,8 @@
         attachment.setDeleted(true);
         attachment.save();
 
-        if (activitySet == null)
-        {
-             // Save activitySet record
-            activitySet = getActivitySet(user,
-                                      ActivitySetTypePeer.EDIT_ISSUE__PK);
-            activitySet.save();
-        }
+        activitySet = attachActivitySet( activitySet, user);
+
         // Save activity record
         ActivityManager
             .createTextActivity(this, null, activitySet,
@@ -3867,14 +3828,8 @@
         attachment.setDeleted(true);
         attachment.save();
 
-        if (activitySet == null) 
-        {
-             // Save activitySet record
-            activitySet = getActivitySet(user,
-                              ActivitySetTypePeer.EDIT_ISSUE__PK);
-            activitySet.save();
-        }
-
+        activitySet = attachActivitySet(activitySet, user);
+        
         // Save activity record
         ActivityManager
             .createTextActivity(this, null, activitySet,
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.