1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. 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, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 package org.apache.myfaces.orchestra.lib.jsf; 20 21 import javax.faces.context.ExternalContext; 22 import javax.faces.context.ExternalContextWrapper; 23 24 import org.apache.myfaces.orchestra.requestParameterProvider.RequestParameterProviderManager; 25 26 /** 27 * Class used by _PortletFacesContextWrapper to allow orchestra work in portlets 28 * 29 * This class wraps encodeActionURL and encodeResourceURL to include 30 * conversationContext param like RequestParameterResponseWrapper does. In portlets 31 * we can't do the same than is servlets, because the params added here must be 32 * encoded by the portlet container and in portlets we don't have servlet redirect 33 * cases. 34 * 35 * @author Leonardo Uribe(latest modification by $Author: lu4242 $) 36 * @version $Revision: 798382 $ $Date: 2009-07-27 22:23:02 -0500 (lun, 27 jul 2009) $ 37 */ 38 public class PortletExternalContextWrapper extends ExternalContextWrapper 39 { 40 private ExternalContext _delegate; 41 42 public PortletExternalContextWrapper(ExternalContext context) 43 { 44 super(); 45 this._delegate = context; 46 } 47 48 @Override 49 public ExternalContext getWrapped() 50 { 51 return _delegate; 52 } 53 54 public String encodeActionURL(String url) 55 { 56 if (url != null) 57 { 58 url = RequestParameterProviderManager.getInstance().encodeAndAttachParameters(url); 59 } 60 return getWrapped().encodeActionURL(url); 61 } 62 63 public String encodeResourceURL(String url) 64 { 65 if (url != null) 66 { 67 url = RequestParameterProviderManager.getInstance().encodeAndAttachParameters(url); 68 } 69 return getWrapped().encodeResourceURL(url); 70 } 71 }