KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > struts > webapp > tiles > portal > UserPortalSettingsAction


1 /*
2  * $Id: UserPortalSettingsAction.java 54929 2004-10-16 16:38:42Z germuska $
3  *
4  * Copyright 1999-2004 The Apache Software Foundation.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */

18
19 package org.apache.struts.webapp.tiles.portal;
20
21 import javax.servlet.http.HttpServletRequest JavaDoc;
22 import javax.servlet.http.HttpServletResponse JavaDoc;
23
24 import org.apache.struts.action.ActionForm;
25 import org.apache.struts.action.ActionForward;
26 import org.apache.struts.action.ActionMapping;
27 import org.apache.struts.tiles.ComponentContext;
28 import org.apache.struts.tiles.actions.TilesAction;
29
30 /**
31  * Implementation of <strong>Action</strong> that populates an instance of
32  * <code>SubscriptionForm</code> from the currently specified subscription.
33  *
34  * This action is used as controller for portal settings editor.
35  * It does folowing :
36  * <ul>
37  * <li>Load or create user portal settings</li>
38  * <li>Read web form, and set user portal setting accordingly</li>
39  * <li>Prepare portal editor needed attributes</li>
40  * <li></li>
41  * </ul>
42  *
43  * @version $Rev: 54929 $ $Date: 2004-10-16 17:38:42 +0100 (Sat, 16 Oct 2004) $
44  */

45 public final class UserPortalSettingsAction extends TilesAction {
46
47     /**
48      * Process the specified HTTP request, and create the corresponding HTTP
49      * response (or forward to another web component that will create it).
50      * Return an <code>ActionForward</code> instance describing where and how
51      * control should be forwarded, or <code>null</code> if the response has
52      * already been completed.
53      *
54      * @param context The current Tile context, containing Tile attributes.
55      * @param mapping The ActionMapping used to select this instance.
56      * @param form The optional ActionForm bean for this request (if any).
57      * @param request The HTTP request we are processing.
58      * @param response The HTTP response we are creating.
59      *
60      * @exception Exception if the application business logic throws
61      * an exception
62      * @since Struts 1.1
63      */

64     public ActionForward execute(
65         ComponentContext context,
66         ActionMapping mapping,
67         ActionForm form,
68         HttpServletRequest JavaDoc request,
69         HttpServletResponse JavaDoc response)
70         throws Exception JavaDoc {
71
72         PortalSettingsForm prefsForm = (PortalSettingsForm) form;
73
74         // Get user portal settings from user context
75
PortalSettings settings = UserPortalAction.getSettings(request, context);
76         PortalCatalog catalog =
77             UserPortalAction.getPortalCatalog(
78                 context,
79                 getServlet().getServletContext());
80
81         if (prefsForm.isSubmitted()) { // read arrays
82

83             // Set settings cols according to user choice
84
for (int i = 0; i < prefsForm.getNumCol(); i++) {
85                 settings.setListAt(i, catalog.getTiles(prefsForm.getNewCol(i)));
86             }
87
88             prefsForm.reset();
89
90         }
91
92         // Set lists values to be shown
93
for (int i = 0; i < settings.getNumCols(); i++) {
94             prefsForm.addCol(settings.getListAt(i));
95             prefsForm.addColLabels(catalog.getTileLabels(settings.getListAt(i)));
96         }
97
98         prefsForm.setChoices(catalog.getTiles());
99         prefsForm.setChoiceLabels(catalog.getTilesLabels());
100
101         return null;
102     }
103
104 }
105
Popular Tags