/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.web.portal;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.enonic.esl.servlet.http.HttpServletRequestWrapper;
import com.enonic.cms.core.SiteURLResolver;
import com.enonic.cms.core.structure.SitePath;
@Component
public class SiteRedirectAndForwardHelper
{
private SiteURLResolver siteURLResolver;
private String replaceSpacesWithPlus( String path )
{
return path.replaceAll( " ", "+" );
}
@Autowired
public void setSiteURLResolver( SiteURLResolver value )
{
this.siteURLResolver = value;
}
public void forward( HttpServletRequest request, HttpServletResponse response, SitePath sitePath )
throws ServletException, IOException
{
String path = siteURLResolver.createPathWithinContextPath( request, sitePath, false );
path = replaceSpacesWithPlus( path );
HttpServletRequestWrapper wrappedRequest = new HttpServletRequestWrapper( request, sitePath.getParams() );
request.getRequestDispatcher( path ).forward( wrappedRequest, response );
}
}