01: /*
02: * (C) Copyright 2005 Nabh Information Systems, Inc.
03: *
04: * All copyright notices regarding Nabh's products MUST remain
05: * intact in the scripts and in the outputted HTML.
06: * This program is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public License
08: * as published by the Free Software Foundation; either version 2.1
09: * of the License, or (at your option) any later version.
10: *
11: * This program is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: * GNU Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public License
17: * along with this program; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19: *
20: */
21: package com.nabhinc.portlet.mvcportlet.actionprocessor;
22:
23: import java.io.IOException;
24:
25: import javax.portlet.ActionRequest;
26: import javax.portlet.ActionResponse;
27: import javax.portlet.PortletException;
28:
29: import com.nabhinc.portlet.mvcportlet.common.BaseAttributeSetter;
30: import com.nabhinc.portlet.mvcportlet.core.ActionConfig;
31: import com.nabhinc.portlet.mvcportlet.core.ActionProcessor;
32:
33: /**
34: * Sets attribute values from request parameters or preferences. For setting attributes
35: * from request parameters, the action processor is
36: * configured as follows:
37: * <pre>
38: * <action-processor name="AttrSetter"
39: * class="com.nabhinc.portlet.mvcportlet.actionprocessor.AttributeSetter">
40: * <params>param1,param2,param3</params>
41: * <scope>scopeString</scope>
42: * <attributes>attr1,attr2,attr3</attributes>
43: * </action-processor>
44: * </pre>
45: * "params" is a comma separated list of request parameters. If you want to set attributes
46: * from portlet preferences, use "prefs" tag. Only one of these two tags must be specified.<br/>
47: * "scope" must be <code>request</code>, <code>portlet_session</code>, <code>application_session</code> or <code>portlet_context</code>.
48: * If the "scope" is not set, and this processor is mapped to a form, then the
49: * form element's scope, if specified, will be used. Otherwise, <code>portlet_session</code> scope is
50: * assumed.<br/>
51: * "attributes" is a comma separated list of attribute names. If this is ommitted
52: * attribute names are assumed to be the same names as the parameter names.
53: *
54: * @author Padmanabh Dabke
55: * (c) 2005 Nabh Information Systems, Inc. All Rights Reserved.
56: * @since 0.9.1
57: */
58: public class AttributeSetter extends BaseAttributeSetter implements
59: ActionProcessor {
60:
61: /**
62: * Processes the request's parameters and sets them as attributes to the
63: * specified scope. <code>success</code> is always returned.
64: * @param request
65: * @param response
66: * @param actionConfig
67: * @return <code>success</code>
68: * @throws PortletException
69: * @throws IOException
70: */
71: public String process(ActionRequest request,
72: ActionResponse response, ActionConfig actionConfig)
73: throws PortletException, IOException {
74: return super.process(request, response, actionConfig);
75: }
76:
77: }
|