/*******************************************************************************
* Copyright (c) 2010-2014 SAP AG and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* SAP AG - initial API and implementation
*******************************************************************************/
package org.eclipse.skalli.view.internal.filter;
import java.io.IOException;
import java.security.AccessControlException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import org.eclipse.skalli.view.Consts;
public class FilterUtil {
public static final String PATH_SEPARATOR = "/"; //$NON-NLS-1$
private FilterUtil() {
// don't allow instances of this class
}
public static void handleException(ServletRequest request, ServletResponse response, Exception e)
throws ServletException, IOException {
if (!response.isCommitted()) {
// dispatch this request to /error
RequestDispatcher rd = request.getRequestDispatcher(Consts.URL_ERROR);
request.setAttribute(Consts.ATTRIBUTE_EXCEPTION, e);
rd.forward(request, response);
}
}
public static void handleACException(ServletRequest request, ServletResponse response, AccessControlException e)
throws ServletException, IOException {
if (!response.isCommitted()) {
// dispatch this request to /unauthorized
RequestDispatcher rd = request.getRequestDispatcher(Consts.URL_UNAUTHORIZED);
request.setAttribute(Consts.ATTRIBUTE_EXCEPTION, e);
rd.forward(request, response);
}
}
public static void forward(ServletRequest request, ServletResponse response, String url) throws ServletException,
IOException {
if (!response.isCommitted()) {
RequestDispatcher dispatcher = request.getRequestDispatcher(url);
dispatcher.forward(request, response);
}
}
}