Scarab commit: svn commit: r11097 - branches/release/1.0.22/src/java/org/tigris/scarab: actions om

[email protected] Thu, 12 Apr 2012 09:03:02 -0700 (PDT)
Newsgroups gmane.comp.java.scarab.cvs
Message-ID <[email protected]>
Author: mcoss
Date: 2012-04-12 09:03:01-0700
New Revision: 11097

Modified:
   branches/release/1.0.22/src/java/org/tigris/scarab/actions/ModifyModule.java
   branches/release/1.0.22/src/java/org/tigris/scarab/om/ScarabModule.java

Log:
FIX - Runtime exception on creation of a duplicated module (for same parent) is caught and localized error message from nested ScarabException is shown to user.

Modified: branches/release/1.0.22/src/java/org/tigris/scarab/actions/ModifyModule.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/release/1.0.22/src/java/org/tigris/scarab/actions/ModifyModule.java?view=diff&pathrev=11097&r1=11096&r2=11097
==============================================================================
--- branches/release/1.0.22/src/java/org/tigris/scarab/actions/ModifyModule.java	(original)
+++ branches/release/1.0.22/src/java/org/tigris/scarab/actions/ModifyModule.java	2012-04-12 09:03:01-0700
@@ -70,6 +70,7 @@
 import org.tigris.scarab.tools.ScarabRequestTool;
 import org.tigris.scarab.tools.localization.L10NKeySet;
 import org.tigris.scarab.util.Log;
+import org.tigris.scarab.util.ScarabRuntimeException;
 
 /**
  * This class is responsible for creating / updating Scarab Modules
@@ -252,6 +253,7 @@
 
         IntakeTool intake = getIntakeTool(context);
         ScarabRequestTool scarabR = getScarabRequestTool(context);
+        ScarabLocalizationTool l10n = getLocalizationTool(context);
         
         if (intake.isAllValid())
         {
@@ -274,16 +276,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: branches/release/1.0.22/src/java/org/tigris/scarab/om/ScarabModule.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/release/1.0.22/src/java/org/tigris/scarab/om/ScarabModule.java?view=diff&pathrev=11097&r1=11096&r2=11097
==============================================================================
--- branches/release/1.0.22/src/java/org/tigris/scarab/om/ScarabModule.java	(original)
+++ branches/release/1.0.22/src/java/org/tigris/scarab/om/ScarabModule.java	2012-04-12 09:03:01-0700
@@ -79,6 +79,7 @@
 import org.tigris.scarab.om.ScarabUserManager;
 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;
@@ -735,7 +736,7 @@
             // 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
         }
     }
 
@@ -776,7 +777,7 @@
                         new ScarabException(
                                 L10NKeySet.ExceptionModuleAllreadyExists,
                         getRealName(), 
-                        getParentId()));
+                        getParent().getName()));
             }
 
             final String code = getCode();

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