Scarab commit: svn commit: r11131 - trunk: . src/java/org/tigris/scarab/actions src/java/org/tigris/scarab/om src/webapp/WEB-INF/templates/screens src/webapp/WEB-INF/templates/viewIssue

[email protected] Fri, 13 Apr 2012 06:58:39 -0700 (PDT)
Newsgroups gmane.comp.java.scarab.cvs
Message-ID <[email protected]>
Author: mcoss
Date: 2012-04-13 06:58:39-0700
New Revision: 11131

Modified:
   trunk/   (props changed)
   trunk/properties.xsl   (props changed)
   trunk/src/java/org/tigris/scarab/actions/ModifyModule.java
   trunk/src/java/org/tigris/scarab/om/Issue.java
   trunk/src/java/org/tigris/scarab/om/Module.java
   trunk/src/java/org/tigris/scarab/om/ScarabModule.java
   trunk/src/webapp/WEB-INF/templates/screens/MoveIssue.vm
   trunk/src/webapp/WEB-INF/templates/screens/ViewIssue.vm
   trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab5.vm

Log:
MRG - Merged revision from b22-release branch starting from last revision of merge: 11090-11105, except website related changes in html files.

Modified: trunk/src/java/org/tigris/scarab/actions/ModifyModule.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/actions/ModifyModule.java?view=diff&pathrev=11131&r1=11130&r2=11131
==============================================================================
--- trunk/src/java/org/tigris/scarab/actions/ModifyModule.java	(original)
+++ trunk/src/java/org/tigris/scarab/actions/ModifyModule.java	2012-04-13 06:58:39-0700
@@ -70,6 +70,8 @@
 import org.tigris.scarab.tools.ScarabRequestTool;
 import org.tigris.scarab.tools.localization.L10NKeySet;
 import org.tigris.scarab.util.Log;
+import org.tigris.scarab.util.ScarabConstants;
+import org.tigris.scarab.util.ScarabRuntimeException;
 
 /**
  * This class is responsible for creating / updating Scarab Modules
@@ -172,9 +174,11 @@
                         // FIXME: Using SQL because IDBroker doesn't have a Peer yet.
                         String idTable = IDBroker.TABLE_NAME.substring(0, 
                                 IDBroker.TABLE_NAME.indexOf('.'));
+                        String instanceId = GlobalParameterManager
+                        .getString(ScarabConstants.INSTANCE_ID);
                         String sql = "update " + idTable 
-                         + " SET TABLE_NAME='" + newCode + "' WHERE TABLE_NAME='" +
-                         origCode + "'";
+                         + " SET TABLE_NAME='" + instanceId + "-" + newCode + "' WHERE TABLE_NAME='" +
+                         instanceId + "-" + origCode + "'";
                         BasePeer.executeStatement(sql);                                                
                     }
                     else
@@ -260,6 +264,7 @@
 
         IntakeTool intake = getIntakeTool(context);
         ScarabRequestTool scarabR = getScarabRequestTool(context);
+        ScarabLocalizationTool l10n = getLocalizationTool(context);
         
         if (intake.isAllValid())
         {
@@ -282,16 +287,28 @@
             }
             else
             {
-                me.setOwnerId(user.getUserId());
-                me.save();
-                
-                updateModuleParameters(data, me);
-
-                data.setACL(((ScarabUser)data.getUser()).getACL());
-                data.save();
-
-                scarabR.setConfirmMessage(L10NKeySet.NewModuleCreated);
-                intake.remove(moduleGroup);
+            	try{
+	                me.setOwnerId(user.getUserId());
+	                me.save();
+	                
+	                updateModuleParameters(data, me);
+	
+	                data.setACL(((ScarabUser)data.getUser()).getACL());
+	                data.save();
+	
+	                scarabR.setConfirmMessage(L10NKeySet.NewModuleCreated);
+	                intake.remove(moduleGroup);
+            	}
+                catch(Exception e){
+                	if(e instanceof ScarabRuntimeException){
+                		scarabR.setAlertMessage(((ScarabRuntimeException)e).getMessage(l10n));  
+                		setTarget(data, template);
+                		return;
+                	}
+                	else{
+                		throw e; // TODO: don't knwo what to do here.
+                	}
+                }
             }
         }
         else

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&pathrev=11131&r1=11130&r2=11131
==============================================================================
--- trunk/src/java/org/tigris/scarab/om/Issue.java	(original)
+++ trunk/src/java/org/tigris/scarab/om/Issue.java	2012-04-13 06:58:39-0700
@@ -3122,7 +3122,7 @@
             .getInstance(NUMBERKEY_0);
         ActivityManager
             .createTextActivity(newIssue, zeroAttribute, activitySet2,
-                                ActivityType.ISSUE_MOVED,
+                                ActivityType.ISSUE_COPIED,
                                 getUniqueId(), newIssue.getUniqueId());
 
         newIssue.index();
@@ -3395,16 +3395,20 @@
             for (Iterator it = dependencies.iterator(); it.hasNext(); )
             {
                 Depend depend = (Depend)it.next();
-                ActivitySet deleteSet = 
-                    this.doDeleteDependency(activitySet, depend, user);
-                for (Iterator act = deleteSet.getActivityList().iterator(); act.hasNext(); )
-                {
-                    activitySet.addActivity((Activity)act.next());
-                }
-                NotificationManagerFactory.getInstance()
-                        .addActivityNotification(ActivityType.ISSUE_DELETED,
-                                activitySet, this, user);
+                if(!depend.getDeleted()){
+                	ActivitySet deleteSet = 
+                        this.doDeleteDependency(activitySet, depend, user);
+                    for (Iterator act = deleteSet.getActivityList().iterator(); act.hasNext(); )
+                    {
+                        activitySet.addActivity((Activity)act.next());
+                    }
+                }        
             }
+            
+            NotificationManagerFactory.getInstance()
+            .addActivityNotification(ActivityType.ISSUE_DELETED,
+                    activitySet, this, user);
+            
             save();
         }
     }    

Modified: trunk/src/java/org/tigris/scarab/om/Module.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/om/Module.java?view=diff&pathrev=11131&r1=11130&r2=11131
==============================================================================
--- trunk/src/java/org/tigris/scarab/om/Module.java	(original)
+++ trunk/src/java/org/tigris/scarab/om/Module.java	2012-04-13 06:58:39-0700
@@ -262,7 +262,13 @@
     int getDedupeSequence(IssueType issueType)
         throws TorqueException;
 
-    List<RModuleAttribute> getRModuleAttributes(IssueType issueType, boolean activeOnly,
+    /**
+     * Gets duplicate modules for given real module name and parent.
+     */
+    List getDuplicatesByNameAndParent(String realName, Integer parentId) 
+    	throws TorqueException;
+    
+    List getRModuleAttributes(IssueType issueType, boolean activeOnly,
                                      String attributeType)
         throws TorqueException;
 

Modified: trunk/src/java/org/tigris/scarab/om/ScarabModule.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/om/ScarabModule.java?view=diff&pathrev=11131&r1=11130&r2=11131
==============================================================================
--- trunk/src/java/org/tigris/scarab/om/ScarabModule.java	(original)
+++ trunk/src/java/org/tigris/scarab/om/ScarabModule.java	2012-04-13 06:58:39-0700
@@ -83,6 +83,7 @@
 import org.tigris.scarab.tools.ScarabUserTool;
 import org.tigris.scarab.tools.localization.L10NKey;
 import org.tigris.scarab.tools.localization.L10NKeySet;
+import org.tigris.scarab.tools.localization.Localizable;
 import org.tigris.scarab.util.ScarabConstants;
 import org.tigris.scarab.util.ScarabException;
 import org.tigris.scarab.util.ScarabPaginatedList;
@@ -738,11 +739,27 @@
             // a way to satisfy method signature regarding "throws" for Torque class and Group class.
             // that is hide it all by throwing a RuntimeException.
             // usuages of this method must be careful of this!
-            throw new ScarabRuntimeException(new L10NKey("ScarabModule.save TorqueException <localize me>"),e); //EXCEPTION
+            throw new ScarabRuntimeException((Localizable)null,e); //EXCEPTION
         }
     }
 
     /**
+     * Return duplicates for given name and parent.
+     * @param realName : Real name.
+     * @param parentId  : Id of parent module.
+     * @return : List of duplicates.
+     * @throws TorqueException
+     */
+    public List getDuplicatesByNameAndParent(String realName, Integer parentId) throws TorqueException{
+    	
+    	final Criteria crit = new Criteria();
+        crit.add(ScarabModulePeer.MODULE_NAME, realName);
+        crit.add(ScarabModulePeer.PARENT_ID, parentId);
+        return ScarabModulePeer.doSelect(crit);
+        
+    }
+    
+    /**
      * Saves the module into the database. Note that this
      * cannot be used within a activitySet if the module isNew()
      * because dbCon.commit() is called within the method. An
@@ -754,17 +771,10 @@
         // if new, make sure the code has a value.
         if (isNew())
         {
-            final Criteria crit = new Criteria();
-            crit.add(ScarabModulePeer.MODULE_NAME, getRealName());
-            crit.add(ScarabModulePeer.PARENT_ID, getParentId());
-            // FIXME: this should be done with a method in Module
-            // that takes the two criteria values as a argument so that other 
-            // implementations can benefit from being able to get the 
-            // list of modules. -- do not agree - jdm
 
             List result;
             try {
-                result = ScarabModulePeer.doSelect(crit);
+                result = getDuplicatesByNameAndParent(getRealName(), getParentId());
             }
             catch (TorqueException te)
             {
@@ -779,7 +789,7 @@
                         new ScarabException(
                                 L10NKeySet.ExceptionModuleAllreadyExists,
                         getRealName(), 
-                        getParentId()));
+                        getParent().getName()));
             }
 
             final String code = getCode();

Modified: trunk/src/webapp/WEB-INF/templates/screens/MoveIssue.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/screens/MoveIssue.vm?view=diff&pathrev=11131&r1=11130&r2=11131
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/screens/MoveIssue.vm	(original)
+++ trunk/src/webapp/WEB-INF/templates/screens/MoveIssue.vm	2012-04-13 06:58:39-0700
@@ -19,6 +19,12 @@
 #if ($issueList)
   #foreach ($issueId in $issueList)
      #set ($currentIssue = $scarabR.getIssue($issueId))
+     
+     ##detect current module from first issue as in MoveIssue.java
+     #if(!$issueModule)
+     	#set ($issueModule= $currentIssue.Module)
+     #end
+
      #if ($currentIssue && $scarabR.hasPermission($scarabG.Permission.ISSUE__VIEW, $currentIssue.Module))
      <input type="hidden" name="issue_ids" value="$issueId" />
      <input type="hidden" name="id" value="$issueId" />

Modified: trunk/src/webapp/WEB-INF/templates/screens/ViewIssue.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/screens/ViewIssue.vm?view=diff&pathrev=11131&r1=11130&r2=11131
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/screens/ViewIssue.vm	(original)
+++ trunk/src/webapp/WEB-INF/templates/screens/ViewIssue.vm	2012-04-13 06:58:39-0700
@@ -162,9 +162,9 @@
   #elseif (!$collisionDetectedOnMoveAttempt)
     <div align="right">
       #set ($currentIssue = $scarabR.getIssue($currentIssueId))
-      #set ($newIssue = $scarabR.getIssue($currentIssueId, true).IssueNewId)
+      #set ($newIssue = $scarabR.getIssue($currentIssueId).IssueNewId)
       #if ($newIssue && $newIssue!=$currentIssueId)  ## There's a newissueid, not the current one
-        $l10n.format("IssueIsNowLocatedIn", $link.getIssueIdLink($scarabR.getIssue($newIssue, true)), $newIssue)
+        $l10n.format("IssueIsNowLocatedIn", $link.getIssueIdLink($scarabR.getIssue($newIssue)), $newIssue)
       #elseif (!$currentIssue.Moved )
         <h3>$l10n.IssueSearchResults</h3>
          #if ($currentIssueId && $currentIssueId.length() > 0)

Modified: trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab5.vm
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab5.vm?view=diff&pathrev=11131&r1=11130&r2=11131
==============================================================================
--- trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab5.vm	(original)
+++ trunk/src/webapp/WEB-INF/templates/viewIssue/ViewIssueTab5.vm	2012-04-13 06:58:39-0700
@@ -1,4 +1,5 @@
 #set ($allActivitySets = $scarabG.reverse($currentIssue.activitySets))
+#set ($sizeOfHistory = $currentIssue.activitySets.size())
 #if (!$fullHistory.equals("true"))
   #set ($allActivitySets = $scarabG.subset($allActivitySets, 0, $currentIssue.HistoryLimit))
 #end
@@ -52,7 +53,7 @@
       </div>
     #end
 
-    #if ($currentIssue.isHistoryLong())
+    #if ($sizeOfHistory > 5)
       <div class="functnbar3">
         #if ($fullHistory.equals("true"))
           #set ($historyLink = $link.setPage("$template").addPathInfo("id", $currentIssueId).addPathInfo("fullhistory", "false").addPathInfo("tab", "5"))

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