Ok, I've sent a patch to Turbine.

The solution I selected was to have the Action class just do a:

RunData.setRedirectURI()

When it wants to call for a redirect.

Make sure not to set any headers or body in the response directly before (or
after) this.

If the Action class does this, and turbine is patched (you can apply the
patch to our version of turbine or the tip, I'll attach it fyi), things work
well again.

That is, once you patch Jetspeed's redirect calls, which are all done
directly to the response object, not to the run data.

I've made these changes and included the patch.

Warning: I'm not sure that the redirects in the VelocityPortletAction
classes doCancel() etc. will work. I have to check this out - it may be that
by the time these are called (not as a turbine action, but as part of
processing the portlets) it's far too late to call for a redirect. I made
the changes to the code to do it the new way, and I'll report back soon to
see if we need further changes in the way these actions are handled to
support redirects.


- Glenn
 
--------------------------------------------
Glenn R. Golden, Systems Research Programmer
University of Michigan School of Information
[EMAIL PROTECTED]               734-615-1419
http://www-personal.si.umich.edu/~ggolden/
--------------------------------------------


> -----Original Message-----
> From: David Sean Taylor [mailto:[EMAIL PROTECTED]] 
> Sent: Monday, March 25, 2002 11:21 PM
> To: 'Jetspeed Developers List'
> Subject: RE: Turbine - Jetspeed interaction problems
> 
> 
> > Next Step: If we like this, how do we get this into Turbine?
> 
> Just join the Turbine-dev or Turbine-user list and post your 
> argument there. Your argument is sound. Im on the turbine 
> lists, I'll try to help if they don't want to fix it.
> 
> You can also send them a patch.
> 
> 
> 
> 
> --
> To unsubscribe, e-mail:   
> <mailto:jetspeed-dev-> [EMAIL PROTECTED]>
> For 
> additional commands, 
> e-mail: <mailto:[EMAIL PROTECTED]>
> 

Index: src/java/org/apache/turbine/Turbine.java
===================================================================
RCS file: /home/cvspublic/jakarta-turbine-2/src/java/org/apache/turbine/Turbine.java,v
retrieving revision 1.11
diff -u -r1.11 Turbine.java
--- src/java/org/apache/turbine/Turbine.java    13 Mar 2002 19:44:19 -0000      1.11
+++ src/java/org/apache/turbine/Turbine.java    26 Mar 2002 18:46:22 -0000
@@ -376,6 +376,9 @@
         throws IOException,
                ServletException
     {
+        // set to true if the request is to be redirected by the page
+        boolean requestRedirected = false;
+
         // Placeholder for the RunData object.
         RunData data = null;
         try
@@ -584,46 +587,64 @@
                     AccessControlList.SESSION_KEY);
             }
 
-            try
+            // handle a redirect request
+            requestRedirected = ((data.getRedirectURI() != null) && 
+(data.getRedirectURI().length() > 0));
+            if (requestRedirected)
             {
-                if ( data.isPageSet() == false &&
-                     data.isOutSet() == false )
-                    throw new Exception ( "Nothing to output" );
-
-                // We are all done! if isPageSet() output that way
-                // otherwise, data.getOut() has already been written
-                // to the data.getOut().close() happens below in the
-                // finally.
-                if ( data.isPageSet() && data.isOutSet() == false )
+                if (data.getResponse().isCommitted())
+                {
+                    requestRedirected = false;
+                    log ("redirect requested, response already committed: " + 
+data.getRedirectURI());
+                }
+                else
                 {
-                    // Modules can override these.
-                    data.getResponse()
-                        .setLocale( data.getLocale() );
-                    data.getResponse()
-                        .setContentType( data.getContentType() );
-
-                    // Handle the case where a module may want to send
-                    // a redirect.
-                    if ( ( data.getStatusCode() == 301 ||
-                           data.getStatusCode() ==  302 ) &&
-                         data.getRedirectURI() != null )
+                    data.getResponse().sendRedirect(data.getRedirectURI());
+                }
+            }
+
+            if (!requestRedirected)
+            {
+                try
+                {
+                    if ( data.isPageSet() == false &&
+                        data.isOutSet() == false )
+                        throw new Exception ( "Nothing to output" );
+
+                    // We are all done! if isPageSet() output that way
+                    // otherwise, data.getOut() has already been written
+                    // to the data.getOut().close() happens below in the
+                    // finally.
+                    if ( data.isPageSet() && data.isOutSet() == false )
                     {
+                        // Modules can override these.
                         data.getResponse()
-                            .sendRedirect ( data.getRedirectURI() );
-                    }
+                            .setLocale( data.getLocale() );
+                        data.getResponse()
+                            .setContentType( data.getContentType() );
 
-                    // Set the status code.
-                    data.getResponse().setStatus ( data.getStatusCode() );
-                    // Output the Page.
-                    data.getPage().output (data.getOut());
+                        // Handle the case where a module may want to send
+                        // a redirect.
+                        if ( ( data.getStatusCode() == 301 ||
+                            data.getStatusCode() ==  302 ) &&
+                            data.getRedirectURI() != null )
+                        {
+                            data.getResponse()
+                                .sendRedirect ( data.getRedirectURI() );
+                        }
+
+                        // Set the status code.
+                        data.getResponse().setStatus ( data.getStatusCode() );
+                        // Output the Page.
+                        data.getPage().output (data.getOut());
+                    }
+                }
+                catch ( Exception e )
+                {
+                    // The output stream was probably closed by the client
+                    // end of things ie: the client clicked the Stop
+                    // button on the browser, so ignore any errors that
+                    // result.
                 }
-            }
-            catch ( Exception e )
-            {
-                // The output stream was probably closed by the client
-                // end of things ie: the client clicked the Stop
-                // button on the browser, so ignore any errors that
-                // result.
             }
         }
         catch ( Exception e )
@@ -637,13 +658,17 @@
         finally
         {
             // Make sure to close the outputstream when we are done.
-            try
+            // Note: not for redirects, when we must not get a printwriter on the 
+response output stream.
+            if (!requestRedirected)
             {
-                data.getOut().close();
-            }
-            catch (Exception e)
-            {
-                // Ignore.
+                try
+                {
+                    data.getOut().close();
+                }
+                catch (Exception e)
+                {
+                    // Ignore.
+                }
             }
 
             // Return the used RunData to the factory for recycling.
Index: src/java/org/apache/turbine/modules/pages/DefaultPage.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-turbine-2/src/java/org/apache/turbine/modules/pages/DefaultPage.java,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 DefaultPage.java
--- src/java/org/apache/turbine/modules/pages/DefaultPage.java  16 Aug 2001 05:08:36 
-0000      1.1.1.1
+++ src/java/org/apache/turbine/modules/pages/DefaultPage.java  26 Mar 2002 18:46:23 
+-0000
@@ -143,6 +143,9 @@
             ActionLoader.getInstance().exec ( data, data.getAction() );
         }
 
+        // if a redirect was setup in data, don't do anything else
+        if ((data.getRedirectURI() != null) && (data.getRedirectURI().length() > 0)) 
+return;
+
         // Set the default doctype from the value given in
         // TurbineResources.properties.
         setDefaultDoctype(data);
Index: src/java/org/apache/jetspeed/modules/actions/CreateNewUserAndConfirm.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/CreateNewUserAndConfirm.java,v
retrieving revision 1.30
diff -u -r1.30 CreateNewUserAndConfirm.java
--- src/java/org/apache/jetspeed/modules/actions/CreateNewUserAndConfirm.java   25 Mar 
2002 21:35:23 -0000      1.30
+++ src/java/org/apache/jetspeed/modules/actions/CreateNewUserAndConfirm.java   26 Mar 
+2002 19:13:10 -0000
@@ -291,12 +291,12 @@
           data.setACL(acl);
           data.save();
 
-          // bring logged on user to homepage with internal redirect
+          // bring logged on user to homepage via redirect
           //data.setScreenTemplate(TurbineTemplate.getDefaultScreen());
           //data.setScreenTemplate("Home");
           DynamicURI duri = new DynamicURI (data);
           duri.addPathInfo(JetspeedResources.PATH_TEMPLATE_KEY, "Home");
-          data.getResponse().sendRedirect(duri.toString());
+          data.setRedirectURI(duri.toString());
 
         }
         catch ( Exception e )
Index: 
src/java/org/apache/jetspeed/modules/actions/controllers/MultiColumnControllerAction.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/controllers/MultiColumnControllerAction.java,v
retrieving revision 1.8
diff -u -r1.8 MultiColumnControllerAction.java
--- 
src/java/org/apache/jetspeed/modules/actions/controllers/MultiColumnControllerAction.java
   25 Mar 2002 21:35:23 -0000      1.8
+++ 
+src/java/org/apache/jetspeed/modules/actions/controllers/MultiColumnControllerAction.java
+   26 Mar 2002 19:13:10 -0000
@@ -349,19 +349,8 @@
         {
             ((JetspeedRunData)data).setMode("default");
 
-            try
-            {
-                // bring logged on user to homepage with internal redirect
-                DynamicURI duri = new DynamicURI(data);
-                data.getResponse().sendRedirect(duri.toString());
-            }
-            catch ( Exception e )
-            {
-                Log.error(e);
-                data.setMessage(e.toString());
-                data.setStackTrace(StringUtils.stackTrace(e), e);
-                
data.setScreenTemplate(JetspeedResources.getString("template.error","Error"));
-            }
+            // bring logged on user to homepage via HTTP redirect
+            data.setRedirectURI(new DynamicURI(data).toString());
         }
     }
 
Index: 
src/java/org/apache/jetspeed/modules/actions/controllers/RowColumnControllerAction.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/controllers/RowColumnControllerAction.java,v
retrieving revision 1.9
diff -u -r1.9 RowColumnControllerAction.java
--- 
src/java/org/apache/jetspeed/modules/actions/controllers/RowColumnControllerAction.java
     25 Mar 2002 21:35:23 -0000      1.9
+++ 
+src/java/org/apache/jetspeed/modules/actions/controllers/RowColumnControllerAction.java
+     26 Mar 2002 19:13:11 -0000
@@ -292,19 +292,8 @@
         {
             ((JetspeedRunData)data).setMode("default");
 
-            try
-            {
-                // bring logged on user to homepage with internal redirect
-                DynamicURI duri = new DynamicURI(data);
-                data.getResponse().sendRedirect(duri.toString());
-            }
-            catch ( Exception e )
-            {
-                Log.error(e);
-                data.setMessage(e.toString());
-                data.setStackTrace(StringUtils.stackTrace(e), e);
-                
data.setScreenTemplate(JetspeedResources.getString("template.error","Error"));
-            }
+            // bring logged on user to homepage via HTTP redirect
+            data.setRedirectURI(new DynamicURI(data).toString());
         }
     }
 
Index: 
src/java/org/apache/jetspeed/modules/actions/portlets/security/GroupUpdateAction.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/security/GroupUpdateAction.java,v
retrieving revision 1.4
diff -u -r1.4 GroupUpdateAction.java
--- 
src/java/org/apache/jetspeed/modules/actions/portlets/security/GroupUpdateAction.java  
     25 Mar 2002 21:35:23 -0000      1.4
+++ 
+src/java/org/apache/jetspeed/modules/actions/portlets/security/GroupUpdateAction.java 
+      26 Mar 2002 19:13:12 -0000
@@ -199,7 +199,7 @@
                 DynamicURI duri = new DynamicURI (rundata);
                 duri.addPathInfo(SecurityConstants.PANE_NAME, 
SecurityConstants.PANEID_GROUP_UPDATE);
                 duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_INVALID_ENTITY_NAME);
-                rundata.getResponse().sendRedirect(duri.toString());
+                rundata.setRedirectURI(duri.toString());
                 rundata.getUser().setTemp(TEMP_GROUP, null);
                 return;
             }
@@ -226,7 +226,7 @@
             DynamicURI duri = new DynamicURI (rundata);
             duri.addPathInfo(SecurityConstants.PANE_NAME, 
SecurityConstants.PANEID_GROUP_UPDATE);
             duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_ENTITY_ALREADY_EXISTS);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
 
             // save values that user just entered so they don't have to re-enter
            if (group != null)
@@ -272,7 +272,7 @@
             if (group != null)
                 duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, group.getName());
             duri.addQueryData(SecurityConstants.PARAM_MODE, 
SecurityConstants.PARAM_MODE_UPDATE);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
 
            // save values that user just entered so they don't have to re-enter
            if (group != null)
@@ -320,7 +320,7 @@
             if (group != null)
                 duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, group.getName());
             duri.addQueryData(SecurityConstants.PARAM_MODE, 
SecurityConstants.PARAM_MODE_DELETE);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
 
             // save values that user just entered so they don't have to re-enter
            if (group != null)
Index: 
src/java/org/apache/jetspeed/modules/actions/portlets/security/PermissionUpdateAction.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/security/PermissionUpdateAction.java,v
retrieving revision 1.3
diff -u -r1.3 PermissionUpdateAction.java
--- 
src/java/org/apache/jetspeed/modules/actions/portlets/security/PermissionUpdateAction.java
  25 Mar 2002 21:35:23 -0000      1.3
+++ 
+src/java/org/apache/jetspeed/modules/actions/portlets/security/PermissionUpdateAction.java
+  26 Mar 2002 19:13:12 -0000
@@ -199,7 +199,7 @@
                 DynamicURI duri = new DynamicURI (rundata);
                 duri.addPathInfo(SecurityConstants.PANE_NAME, 
SecurityConstants.PANEID_PERMISSION_UPDATE);
                 duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_INVALID_ENTITY_NAME);
-                rundata.getResponse().sendRedirect(duri.toString());
+                rundata.setRedirectURI(duri.toString());
                 rundata.getUser().setTemp(TEMP_PERMISSION, null);
                 return;
             }
@@ -226,7 +226,7 @@
             DynamicURI duri = new DynamicURI (rundata);
             duri.addPathInfo(SecurityConstants.PANE_NAME, 
SecurityConstants.PANEID_PERMISSION_UPDATE);
             duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_ENTITY_ALREADY_EXISTS);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
 
             // save values that user just entered so they don't have to re-enter
            if (permission != null)
@@ -272,7 +272,7 @@
             if (permission != null)
                 duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, 
permission.getName());
             duri.addQueryData(SecurityConstants.PARAM_MODE, 
SecurityConstants.PARAM_MODE_UPDATE);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
 
            // save values that user just entered so they don't have to re-enter
            if (permission != null)
@@ -319,7 +319,7 @@
             if (permission != null)
                 duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, 
permission.getName());
             duri.addQueryData(SecurityConstants.PARAM_MODE, 
SecurityConstants.PARAM_MODE_DELETE);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
 
             // save values that user just entered so they don't have to re-enter
            if (permission != null)
Index: 
src/java/org/apache/jetspeed/modules/actions/portlets/security/RolePermissionUpdateAction.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/security/RolePermissionUpdateAction.java,v
retrieving revision 1.3
diff -u -r1.3 RolePermissionUpdateAction.java
--- 
src/java/org/apache/jetspeed/modules/actions/portlets/security/RolePermissionUpdateAction.java
      25 Mar 2002 21:35:23 -0000      1.3
+++ 
+src/java/org/apache/jetspeed/modules/actions/portlets/security/RolePermissionUpdateAction.java
+      26 Mar 2002 19:13:13 -0000
@@ -202,7 +202,7 @@
             DynamicURI duri = new DynamicURI (rundata);
             duri.addPathInfo(SecurityConstants.PANE_NAME, 
SecurityConstants.PANEID_ROLEPERMISSION_UPDATE);
             duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_MISSING_PARAMETER);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
             return;
         }
         Role role = JetspeedSecurity.getRole(entityid);
@@ -212,7 +212,7 @@
             DynamicURI duri = new DynamicURI (rundata);
             duri.addPathInfo(SecurityConstants.PANE_NAME, 
SecurityConstants.PANEID_ROLEPERMISSION_UPDATE);
             duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_MISSING_PARAMETER);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
             return;
         }
 
@@ -228,7 +228,7 @@
                 DynamicURI duri = new DynamicURI (rundata);
                 duri.addPathInfo(SecurityConstants.PANE_NAME, 
SecurityConstants.PANEID_ROLEPERMISSION_UPDATE);
                 duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_MISSING_PARAMETER);
-                rundata.getResponse().sendRedirect(duri.toString());
+                rundata.setRedirectURI(duri.toString());
                 return;
             }
 
@@ -274,7 +274,7 @@
             duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_UPDATE_FAILED);
             if (role != null)
                 duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, role.getName());
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
 
         }
     }
Index: 
src/java/org/apache/jetspeed/modules/actions/portlets/security/RoleUpdateAction.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/security/RoleUpdateAction.java,v
retrieving revision 1.6
diff -u -r1.6 RoleUpdateAction.java
--- 
src/java/org/apache/jetspeed/modules/actions/portlets/security/RoleUpdateAction.java   
     25 Mar 2002 21:35:23 -0000      1.6
+++ 
+src/java/org/apache/jetspeed/modules/actions/portlets/security/RoleUpdateAction.java  
+      26 Mar 2002 19:13:13 -0000
@@ -198,7 +198,7 @@
                 DynamicURI duri = new DynamicURI (rundata);
                 duri.addPathInfo(SecurityConstants.PANE_NAME, 
SecurityConstants.PANEID_ROLE_UPDATE);
                 duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_INVALID_ENTITY_NAME);
-                rundata.getResponse().sendRedirect(duri.toString());
+                rundata.setRedirectURI(duri.toString());
                 rundata.getUser().setTemp(TEMP_ROLE, null);
                 return;
             }
@@ -225,7 +225,7 @@
             DynamicURI duri = new DynamicURI (rundata);
             duri.addPathInfo(SecurityConstants.PANE_NAME, 
SecurityConstants.PANEID_ROLE_UPDATE);
             duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_ENTITY_ALREADY_EXISTS);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
 
             // save values that user just entered so they don't have to re-enter
            if (role != null)
@@ -271,7 +271,7 @@
             if (role != null)
                 duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, role.getName());
             duri.addQueryData(SecurityConstants.PARAM_MODE, 
SecurityConstants.PARAM_MODE_UPDATE);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
 
            // save values that user just entered so they don't have to re-enter
            if (role != null)
@@ -319,7 +319,7 @@
             if (role != null)
                 duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, role.getName());
             duri.addQueryData(SecurityConstants.PARAM_MODE, 
SecurityConstants.PARAM_MODE_DELETE);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
 
             // save values that user just entered so they don't have to re-enter
            if (role != null)
Index: 
src/java/org/apache/jetspeed/modules/actions/portlets/security/UserRoleUpdateAction.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/security/UserRoleUpdateAction.java,v
retrieving revision 1.3
diff -u -r1.3 UserRoleUpdateAction.java
--- 
src/java/org/apache/jetspeed/modules/actions/portlets/security/UserRoleUpdateAction.java
    25 Mar 2002 21:35:23 -0000      1.3
+++ 
+src/java/org/apache/jetspeed/modules/actions/portlets/security/UserRoleUpdateAction.java
+    26 Mar 2002 19:13:13 -0000
@@ -198,7 +198,7 @@
             DynamicURI duri = new DynamicURI (rundata);
             duri.addPathInfo(SecurityConstants.PANE_NAME, 
SecurityConstants.PANEID_USERROLE_UPDATE);
             duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_MISSING_PARAMETER);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
             return;
         }
 
@@ -209,7 +209,7 @@
             DynamicURI duri = new DynamicURI (rundata);
             duri.addPathInfo(SecurityConstants.PANE_NAME, 
SecurityConstants.PANEID_USERROLE_UPDATE);
             duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_MISSING_PARAMETER);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
             return;
         }
 
@@ -224,7 +224,7 @@
                 DynamicURI duri = new DynamicURI (rundata);
                 duri.addPathInfo(SecurityConstants.PANE_NAME, 
SecurityConstants.PANEID_USERROLE_UPDATE);
                 duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_MISSING_PARAMETER);
-                rundata.getResponse().sendRedirect(duri.toString());
+                rundata.setRedirectURI(duri.toString());
                 return;
             }
 
@@ -273,7 +273,7 @@
             duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_UPDATE_FAILED);
             if (user != null)
                 duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, 
user.getUserName());
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
 
         }
     }
Index: 
src/java/org/apache/jetspeed/modules/actions/portlets/security/UserUpdateAction.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/security/UserUpdateAction.java,v
retrieving revision 1.10
diff -u -r1.10 UserUpdateAction.java
--- 
src/java/org/apache/jetspeed/modules/actions/portlets/security/UserUpdateAction.java   
     25 Mar 2002 21:35:23 -0000      1.10
+++ 
+src/java/org/apache/jetspeed/modules/actions/portlets/security/UserUpdateAction.java  
+      26 Mar 2002 19:13:14 -0000
@@ -218,7 +218,7 @@
                 DynamicURI duri = new DynamicURI (rundata);
                 duri.addPathInfo(SecurityConstants.PANE_NAME, 
SecurityConstants.PANEID_USER_UPDATE);
                 duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_INVALID_ENTITY_NAME);
-                rundata.getResponse().sendRedirect(duri.toString());
+                rundata.setRedirectURI(duri.toString());
                 // save values that user just entered so they don't have to re-enter
                 if (user != null)
                    rundata.getUser().setTemp(TEMP_USER, user);
@@ -264,7 +264,7 @@
             DynamicURI duri = new DynamicURI (rundata);
             duri.addPathInfo(SecurityConstants.PANE_NAME, 
SecurityConstants.PANEID_USER_UPDATE);
             duri.addPathInfo(SecurityConstants.PARAM_MSGID, 
SecurityConstants.MID_ENTITY_ALREADY_EXISTS);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
             // save values that user just entered so they don't have to re-enter
             if (user != null)
                rundata.getUser().setTemp(TEMP_USER, user);
@@ -347,7 +347,7 @@
             if (user != null)
                 duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, 
user.getUserName());
             duri.addQueryData(SecurityConstants.PARAM_MODE, 
SecurityConstants.PARAM_MODE_UPDATE);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
             // save values that user just entered so they don't have to re-enter
             if (user != null)
                 rundata.getUser().setTemp(TEMP_USER, user);
@@ -429,7 +429,7 @@
             if (user != null)
                 duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, 
user.getUserName());
             duri.addQueryData(SecurityConstants.PARAM_MODE, 
SecurityConstants.PARAM_MODE_UPDATE);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
             // save values that user just entered so they don't have to re-enter
             if (user != null)
                 rundata.getUser().setTemp(TEMP_USER, user);
@@ -463,7 +463,7 @@
                 if (user != null)
                     duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, 
user.getUserName());
                 duri.addQueryData(SecurityConstants.PARAM_MODE, 
SecurityConstants.PARAM_MODE_UPDATE);
-                rundata.getResponse().sendRedirect(duri.toString());
+                rundata.setRedirectURI(duri.toString());
                 // save values that user just entered so they don't have to re-enter
                 if (user != null)
                    rundata.getUser().setTemp(TEMP_USER, user);
@@ -518,7 +518,7 @@
             if (user != null)
                 duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, 
user.getUserName());
             duri.addQueryData(SecurityConstants.PARAM_MODE, 
SecurityConstants.PARAM_MODE_UPDATE);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
             // save values that user just entered so they don't have to re-enter
             if (user != null)
                rundata.getUser().setTemp(TEMP_USER, user);
@@ -552,7 +552,7 @@
                 if (user != null)
                     duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, 
user.getUserName());
                 duri.addQueryData(SecurityConstants.PARAM_MODE, 
SecurityConstants.PARAM_MODE_DELETE);
-                rundata.getResponse().sendRedirect(duri.toString());
+                rundata.setRedirectURI(duri.toString());
                 // save values that user just entered so they don't have to re-enter
                 if (user != null)
                    rundata.getUser().setTemp(TEMP_USER, user);
@@ -579,7 +579,7 @@
             if (user != null)
                 duri.addPathInfo(SecurityConstants.PARAM_ENTITY_ID, 
user.getUserName());
             duri.addQueryData(SecurityConstants.PARAM_MODE, 
SecurityConstants.PARAM_MODE_DELETE);
-            rundata.getResponse().sendRedirect(duri.toString());
+            rundata.setRedirectURI(duri.toString());
 
             // save values that user just entered so they don't have to re-enter
            if (user != null)

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to