001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017: package org.apache.cocoon.environment.portlet;
018:
019: import javax.portlet.ActionRequest;
020: import javax.portlet.ActionResponse;
021: import javax.portlet.PortletContext;
022: import javax.portlet.PortletRequest;
023: import javax.portlet.PortletResponse;
024: import javax.portlet.RenderRequest;
025: import javax.portlet.RenderResponse;
026:
027: import java.util.Map;
028:
029: /**
030: * A set of constants and methods to access the JSR-168 (Portlet)
031: * specific objects from the object model.
032: *
033: * The object model is a <code>Map</code> used to pass information about the
034: * calling environment to the sitemap and its components (matchers, actions,
035: * transformers, etc).
036: *
037: * @author <a href="mailto:alex.rudnev@dc.gov">Alex Rudnev</a>
038: * @version CVS $Id: PortletObjectModelHelper.java 433543 2006-08-22 06:22:54Z crossley $
039: */
040: public final class PortletObjectModelHelper {
041:
042: /** Key for the environment {@link javax.portlet.RenderRequest} in the object model. */
043: public final static String RENDER_REQUEST_OBJECT = "render-request";
044:
045: /** Key for the environment {@link javax.portlet.ActionRequest} in the object model. */
046: public final static String ACTION_REQUEST_OBJECT = "action-request";
047:
048: /** Key for the environment {@link javax.portlet.RenderResponse} in the object model. */
049: public final static String RENDER_RESPONSE_OBJECT = "render-response";
050:
051: /** Key for the environment {@link javax.portlet.ActionResponse} in the object model. */
052: public final static String ACTION_RESPONSE_OBJECT = "action-response";
053:
054: /** Key for the environment {@link javax.portlet.PortletRequest} in the object model. */
055: public static final String PORTLET_REQUEST_OBJECT = "portlet-request";
056:
057: /** Key for the environment {@link javax.portlet.PortletResponse} in the object model. */
058: public static final String PORTLET_RESPONSE_OBJECT = "portlet-response";
059:
060: /** Key for the environment {@link javax.portlet.PortletContext} in the object model. */
061: public static final String PORTLET_CONTEXT_OBJECT = "portlet-context";
062:
063: private PortletObjectModelHelper() {
064: // Forbid instantiation
065: }
066:
067: public static final RenderRequest getRenderRequest(Map objectModel) {
068: return (RenderRequest) objectModel.get(RENDER_REQUEST_OBJECT);
069: }
070:
071: public static final RenderResponse getRenderResponse(Map objectModel) {
072: return (RenderResponse) objectModel.get(RENDER_RESPONSE_OBJECT);
073: }
074:
075: public static final ActionRequest getActionRequest(Map objectModel) {
076: return (ActionRequest) objectModel.get(ACTION_REQUEST_OBJECT);
077: }
078:
079: public static final ActionResponse getActionResponse(Map objectModel) {
080: return (ActionResponse) objectModel.get(ACTION_RESPONSE_OBJECT);
081: }
082:
083: public static final PortletRequest getPortletRequest(Map objectModel) {
084: return (PortletRequest) objectModel.get(PORTLET_REQUEST_OBJECT);
085: }
086:
087: public static final PortletResponse getPortletResponse(
088: Map objectModel) {
089: return (PortletResponse) objectModel
090: .get(PORTLET_RESPONSE_OBJECT);
091: }
092:
093: public static final PortletContext getPortletContext(Map objectModel) {
094: return (PortletContext) objectModel.get(PORTLET_CONTEXT_OBJECT);
095: }
096:
097: public static final void setPortletRequest(Map objectModel,
098: PortletRequest object) {
099: if (objectModel.get(PORTLET_REQUEST_OBJECT) != null) {
100: throw new IllegalStateException(
101: "PortletRequest has been set already");
102: }
103: objectModel.put(PORTLET_REQUEST_OBJECT, object);
104: if (object instanceof ActionRequest) {
105: objectModel.put(ACTION_REQUEST_OBJECT, object);
106: }
107: if (object instanceof RenderRequest) {
108: objectModel.put(RENDER_REQUEST_OBJECT, object);
109: }
110: }
111:
112: public static final void setPortletResponse(Map objectModel,
113: PortletResponse object) {
114: if (objectModel.get(PORTLET_RESPONSE_OBJECT) != null) {
115: throw new IllegalStateException(
116: "PortletResponse has been set already");
117: }
118: objectModel.put(PORTLET_RESPONSE_OBJECT, object);
119: if (object instanceof ActionResponse) {
120: objectModel.put(ACTION_RESPONSE_OBJECT, object);
121: }
122: if (object instanceof RenderResponse) {
123: objectModel.put(RENDER_RESPONSE_OBJECT, object);
124: }
125: }
126:
127: public static final void setPortletContext(Map objectModel,
128: PortletContext object) {
129: if (objectModel.get(PORTLET_CONTEXT_OBJECT) != null) {
130: throw new IllegalStateException(
131: "PortletContext has been set already");
132: }
133: objectModel.put(PORTLET_CONTEXT_OBJECT, object);
134: }
135: }
|