You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by mo...@apache.org on 2003/06/20 01:28:21 UTC

cvs commit: jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions JLoginUser.java JetspeedAccessController.java JetspeedSessionValidator.java

morciuch    2003/06/19 16:28:20

  Modified:    src/java/org/apache/jetspeed/modules/actions JLoginUser.java
                        JetspeedAccessController.java
                        JetspeedSessionValidator.java
  Log:
  Applied necessary changes to trap Horrible Exception stack traces (see Bugzilla bug# 20511).
  
  ShowError template (or whatever is defined as template.error in tr.props) is displayed which isn't much better than the stack trace itself but at least can be customized.
  
  Revision  Changes    Path
  1.34      +11 -1     jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/JLoginUser.java
  
  Index: JLoginUser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/JLoginUser.java,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- JLoginUser.java	7 Apr 2003 19:46:27 -0000	1.33
  +++ JLoginUser.java	19 Jun 2003 23:28:20 -0000	1.34
  @@ -77,7 +77,7 @@
   
   
   import org.apache.jetspeed.om.security.JetspeedUser;
  -
  +import org.apache.jetspeed.services.security.nosecurity.FakeJetspeedUser;
   import org.apache.jetspeed.services.rundata.JetspeedRunData;
   import org.apache.jetspeed.services.resources.JetspeedResources;
   import org.apache.jetspeed.services.JetspeedSecurity;
  @@ -272,6 +272,16 @@
                   data.getParameters().setString("username", username);
               } 
   
  +            return;
  +        }
  +        catch (Throwable other)
  +        {
  +            data.setScreenTemplate(JetspeedResources.getString(TurbineConstants.TEMPLATE_ERROR));
  +            String message = other.getMessage() != null ? other.getMessage() : other.toString();
  +            data.setMessage(message);
  +            data.setStackTrace(org.apache.turbine.util.StringUtils.stackTrace(other), other);
  +            JetspeedUser juser = new FakeJetspeedUser(JetspeedSecurity.getAnonymousUserName(), false);
  +            data.setUser(juser);
               return;
           }
   
  
  
  
  1.8       +34 -5     jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/JetspeedAccessController.java
  
  Index: JetspeedAccessController.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/JetspeedAccessController.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- JetspeedAccessController.java	7 May 2003 15:16:47 -0000	1.7
  +++ JetspeedAccessController.java	19 Jun 2003 23:28:20 -0000	1.8
  @@ -57,11 +57,15 @@
   import org.apache.turbine.util.RunData;
   import org.apache.turbine.modules.Action;
   import org.apache.turbine.util.Log;
  +import org.apache.turbine.TurbineConstants;
   
   import org.apache.jetspeed.services.rundata.JetspeedRunData;
   import org.apache.jetspeed.services.Profiler;
  +import org.apache.jetspeed.services.resources.JetspeedResources;
   import org.apache.jetspeed.om.profile.Profile;
   import org.apache.jetspeed.om.security.JetspeedUser;
  +import org.apache.jetspeed.services.security.nosecurity.FakeJetspeedUser;
  +import org.apache.jetspeed.services.JetspeedSecurity;
   
   /**
       Calls the profiler to load the requested PSML resource based on request params
  @@ -92,11 +96,36 @@
               return;
           }
   
  +        Profile newProfile = null;
  +        Profile currentProfile = null;
   
  -       // get the profile and store it in the RunData
  -        Profile newProfile = Profiler.getProfile(jdata);
  -        Profile currentProfile = jdata.getProfile();
  -
  +        try
  +        {
  +            // get the profile and store it in the RunData
  +            newProfile = Profiler.getProfile(jdata);
  +            currentProfile = jdata.getProfile();
  +        }
  +        catch (Throwable other)
  +        {
  +            data.setScreenTemplate(JetspeedResources.getString(TurbineConstants.TEMPLATE_ERROR));
  +            String message = other.getMessage() != null ? other.getMessage() : other.toString();
  +            data.setMessage(message);
  +            data.setStackTrace(org.apache.turbine.util.StringUtils.stackTrace(other), other);
  +
  +            if (currentProfile == null)
  +            {
  +                currentProfile = Profiler.createProfile();
  +            }
  +            if (newProfile == null)
  +            {
  +                newProfile = Profiler.createProfile();
  +            }
  +            if (data.getUser() == null)
  +            {
  +                JetspeedUser juser = new FakeJetspeedUser(JetspeedSecurity.getAnonymousUserName(), false);
  +                data.setUser(juser);
  +            }
  +        }
   
   
           if ((currentProfile == null)
  
  
  
  1.24      +14 -2     jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/JetspeedSessionValidator.java
  
  Index: JetspeedSessionValidator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/JetspeedSessionValidator.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- JetspeedSessionValidator.java	7 May 2003 15:16:47 -0000	1.23
  +++ JetspeedSessionValidator.java	19 Jun 2003 23:28:20 -0000	1.24
  @@ -60,6 +60,7 @@
   import org.apache.turbine.util.Log;
   import org.apache.turbine.services.resources.TurbineResources;
   import org.apache.turbine.services.localization.LocalizationService;
  +import org.apache.turbine.TurbineConstants;
   
   import org.apache.jetspeed.om.security.JetspeedUser;
   import org.apache.jetspeed.services.JetspeedSecurity;
  @@ -101,7 +102,18 @@
           //FIXME: if the user is not found (this can happen, for instance,
           // if the anonymous user is not in the DB), it throws a terrible exception
           // in the user's face
  -         super.doPerform(data);         
  +        try 
  +        {
  +            super.doPerform(data);         
  +        }
  +        catch (Throwable other)
  +        {
  +            data.setScreenTemplate(JetspeedResources.getString(TurbineConstants.TEMPLATE_ERROR));
  +            String message = other.getMessage() != null ? other.getMessage() : other.toString();
  +            data.setMessage(message);
  +            data.setStackTrace(org.apache.turbine.util.StringUtils.stackTrace(other), other);
  +            return;
  +        }
        
           JetspeedUser user = (JetspeedUser)data.getUser();
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org