KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > blandware > atleap > webapp > action > core > contentFieldValue > ProcessValueSetAction


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

16 package com.blandware.atleap.webapp.action.core.contentFieldValue;
17
18 import com.blandware.atleap.webapp.action.core.BaseAction;
19 import com.blandware.atleap.webapp.form.core.ProcessSetForm;
20 import com.blandware.atleap.webapp.util.core.WebappConstants;
21 import org.apache.commons.validator.GenericValidator;
22 import org.apache.struts.action.ActionForm;
23 import org.apache.struts.action.ActionForward;
24 import org.apache.struts.action.ActionMapping;
25
26 import javax.servlet.http.HttpServletRequest JavaDoc;
27 import javax.servlet.http.HttpServletResponse JavaDoc;
28 import java.util.ArrayList JavaDoc;
29
30 /**
31  * <p>Processes set of selected content field values and does something with
32  * them all (edit/view/delete)
33  * </p>
34  * <p><a HREF="ProcessValueSetAction.java.htm"><i>View Source</i></a></p>
35  * <p/>
36  *
37  * @author Sergey Zubtcovskii <a HREF="mailto:sergey.zubtcovskii@blandware.com">&lt;sergey.zubtcovskii@blandware.com&gt;</a>
38  * @version $Revision: 1.16 $ $Date: 2006/03/10 17:10:18 $
39  * @struts.action path="/core/contentFieldValue/processValueSet"
40  * name="processSetForm"
41  * scope="request"
42  * validate="false"
43  * roles="core-contentFieldValue-list"
44  * @struts.action-forward name="callCreateOrUpdateContentFieldValue"
45  * path="/core/contentFieldValue/callCreateOrUpdate.do"
46  * redirect="false"
47  * @struts.action-forward name="viewContentFieldValue"
48  * path="/core/contentFieldValue/view.do"
49  * redirect="false"
50  * @struts.action-forward name="deleteContentFieldValue"
51  * path="/core/contentFieldValue/delete.do"
52  * redirect="false"
53  * @struts.action-forward name="viewContentField"
54  * path="/core/contentField/view.do"
55  * redirect="true"
56  */

57 public final class ProcessValueSetAction extends BaseAction {
58
59     /**
60      * @param mapping The ActionMapping used to select this instance
61      * @param form The optional ActionForm bean for this request (if any)
62      * @param request The HTTP request we are proceeding
63      * @param response The HTTP response we are creating
64      * @return an ActionForward instance describing where and how
65      * control should be forwarded, or null if response
66      * has already been completed
67      */

68     public ActionForward execute(ActionMapping mapping, ActionForm form,
69                                  HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) throws Exception JavaDoc {
70
71         ProcessSetForm processSetForm = (ProcessSetForm) form;
72         ArrayList JavaDoc selectedLocalesList = new ArrayList JavaDoc(processSetForm.getCheckedBoxes().keySet());
73
74         Long JavaDoc contentFieldId = null;
75         if ( !GenericValidator.isBlankOrNull(request.getParameter("contentFieldId")) ) {
76             contentFieldId = Long.valueOf(request.getParameter("contentFieldId"));
77         } else {
78             if ( log.isWarnEnabled() ) {
79                 log.warn("Missing content field ID. Returning to index...");
80             }
81             return mapping.findForward("admin");
82         }
83
84         request.getSession().setAttribute(WebappConstants.CONTENT_FIELD_ID_KEY, contentFieldId);
85
86         if ( selectedLocalesList.isEmpty() ) {
87             return mapping.findForward("viewContentField");
88         }
89
90         request.setAttribute(WebappConstants.CONTENT_FIELD_VALUE_SELECTED_LOCALES_KEY, selectedLocalesList);
91
92         ActionForward forward = null;
93         if ( request.getParameter("editSelected") != null ) {
94             forward = mapping.findForward("callCreateOrUpdateContentFieldValue");
95         } else if ( request.getParameter("viewSelected") != null ) {
96             forward = mapping.findForward("viewContentFieldValue");
97         } else if ( request.getParameter("deleteSelected") != null ) {
98             forward = mapping.findForward("deleteContentFieldValue");
99         } else {
100             forward = mapping.findForward("viewContentField");
101         }
102
103         return forward;
104     }
105 }
Popular Tags