KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > cms > applications > common > actions > ConfirmRedirect


1 /* ===============================================================================
2  *
3  * Part of the InfoGlue Content Management Platform (www.infoglue.org)
4  *
5  * ===============================================================================
6  *
7  * Copyright (C)
8  *
9  * This program is free software; you can redistribute it and/or modify it under
10  * the terms of the GNU General Public License version 2, as published by the
11  * Free Software Foundation. See the file LICENSE.html for more information.
12  *
13  * This program is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License along with
18  * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
19  * Place, Suite 330 / Boston, MA 02111-1307 / USA.
20  *
21  * ===============================================================================
22  */

23
24 package org.infoglue.cms.applications.common.actions;
25
26 import org.infoglue.cms.exception.ConfigurationError;
27
28 import webwork.util.ServletValueStack;
29
30
31 /**
32  * @author mgu
33  *
34  * To change this generated comment edit the template variable "typecomment":
35  * Window>Preferences>Java>Templates.
36  * To enable and disable the creation of type comments go to
37  * Window>Preferences>Java>Code Generation.
38  */

39 public class ConfirmRedirect extends InfoGlueAbstractAction {
40
41     private static final long serialVersionUID = 8512298644737456785L;
42
43     private String JavaDoc unparsedURL;
44
45
46     public void setUrl(String JavaDoc unparsedURL)
47     {
48         this.unparsedURL = unparsedURL;
49     }
50     
51     public String JavaDoc doExecute() throws Exception JavaDoc
52     {
53         validateUnparsedURL();
54         redirect();
55         return SUCCESS;
56     }
57
58     
59     private void validateUnparsedURL()
60     {
61         if (this.unparsedURL == null || this.unparsedURL.trim().length() == 0)
62         {
63             throw new ConfigurationError("No url/empty url specified for ExtendedRedirect.action");
64         }
65     }
66     
67     
68     
69     private void redirect() throws Exception JavaDoc
70     {
71         final String JavaDoc url = getValueFromCallingAction(this.unparsedURL);
72         getResponse().sendRedirect(url);
73     }
74     
75     
76     private String JavaDoc getValueFromCallingAction(String JavaDoc fieldName)
77     {
78         Object JavaDoc value = ServletValueStack.getStack(getRequest()).findValue(fieldName);
79         //Object value = ValueStack.getStack(getRequest()).findValue(fieldName);
80

81         if (value==null)
82             value = getRequest().getParameter(fieldName);
83         
84         if (value == null)
85         {
86             throw new ConfigurationError("Unable to find the value for the parameter [" + fieldName + "].");
87         }
88         
89         
90         return value.toString();
91     }
92
93
94 }
95
Popular Tags