Scarab commit: svn commit: r11279 - branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab: actions util

[email protected] Fri, 8 Jun 2012 15:17:14 -0700 (PDT)
Newsgroups gmane.comp.java.scarab.cvs
Message-ID <[email protected]>
Author: dabbous
Date: 2012-06-08 15:17:14-0700
New Revision: 11279

Modified:
   branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/actions/Register.java
   branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/util/StaticLink.java

Log:
Try to make registration more robust (less stack traces)

Modified: branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/actions/Register.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/actions/Register.java?view=diff&pathrev=11279&r1=11278&r2=11279
==============================================================================
--- branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/actions/Register.java	(original)
+++ branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/actions/Register.java	2012-06-08 15:17:14-0700
@@ -119,7 +119,7 @@
         }
         
         ScarabUser existingUser=ScarabUserManager.getInstance(su.getUserName());
-        if (existingUser!=null)
+        if (existingUser!=null && !existingUser.isDeleted())
         {
             setTarget(data, template);
             scarabR.setAlertMessage(L10NKeySet.UsernameExistsAlready);
@@ -135,25 +135,32 @@
     {
         String nextTemplate = getNextTemplate(data);
         ScarabRequestTool scarabR = getScarabRequestTool(context);
-        ScarabUser su = null;
-
-        try
+        ScarabUser su = (ScarabUser) data.getUser();
+        if (su == null)
         {
-            su = (ScarabUser) data.getUser().getTemp(ScarabConstants.SESSION_REGISTER);
+            setTarget(data, "Register.vm");
+            return;
         }
-        catch (java.lang.ClassCastException cce)
+        
+        Object ob = su.getTemp(ScarabConstants.SESSION_REGISTER);
+        if (ob == null)
         {
-            su = null;
-            L10NMessage l10nMessage = new L10NMessage(L10NKeySet.CanNotConvertUserName, data.getUser().toString());
-            scarabR.setAlertMessage(l10nMessage);
+            setTarget(data, "Register.vm");
+            return;
         }
-
-        if (su == null)
+        
+        if(ob instanceof ScarabUser)
         {
-            setTarget(data, "Register.vm");
+            su = (ScarabUser)ob;
+        }
+        else
+        {
+            L10NMessage l10nMessage = new L10NMessage(L10NKeySet.CanNotConvertUserName, ob.toString());
+            scarabR.setAlertMessage(l10nMessage);
             return;
         }
         
+        String user_name = su.getUserName();
         try
         {
             su.createNewUser();
@@ -163,7 +170,7 @@
             su = ScarabUserManager.reactivateUserIfDeleted(su);
             if (su == null)
             {
-                ScarabUser existingUser = ScarabUserManager.getInstance(su.getUserName());
+                ScarabUser existingUser = ScarabUserManager.getInstance(user_name);
                 if(existingUser.isConfirmed())
                 {
                     Localizable msg = new L10NMessage(L10NKeySet.UsernameExistsAlready);
@@ -197,7 +204,7 @@
             }
             L10NMessage l10nMessage = new L10NMessage(L10NKeySet.CouldNotSendEmail, msg);
             scarabR.setAlertMessage(l10nMessage);
-            setTarget(data, "Register.vm");
+            setTarget(data, "Login.vm");
             return;
         }
         setTarget(data, nextTemplate);

Modified: branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/util/StaticLink.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/util/StaticLink.java?view=diff&pathrev=11279&r1=11278&r2=11279
==============================================================================
--- branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/util/StaticLink.java	(original)
+++ branches/scarab_11079_legacy_with_ant_maven1/src/java/org/tigris/scarab/util/StaticLink.java	2012-06-08 15:17:14-0700
@@ -116,8 +116,17 @@
     public String toString()
     {
         String prefix = getPrefix();
-        return new StringBuffer(prefix.length()+path.length())
+        String result;
+        if(path == null)
+        {
+            result = prefix;
+        }
+        else
+        {
+            result = new StringBuffer(prefix.length()+path.length())
             .append(prefix).append(path).toString();
+        }
+        return result;
     }
 
     /**

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