Package com.alibaba.citrus.webx.util

Examples of com.alibaba.citrus.webx.util.ErrorHandlerHelper


        return new DetailedErrorPageVisitor(context, helper);
    }

    @Override
    protected String getTitle(Object visitor) {
        ErrorHandlerHelper helper = ((DetailedErrorPageVisitor) visitor).helper;
        StringBuilder title = new StringBuilder();

        if (helper.getMessage() != null) {
            title.append(helper.getMessage());
        }

        title.append(": ").append(helper.getRequestURI());

        return title.toString();
    }
View Full Code Here


        }

        public RequestHandlerContext getRequestHandlerContextForError(HttpServletRequest request, HttpServletResponse response,
                                                                      Throwable exception) {
            // servletName == ""
            ErrorHandlerHelper helper = ErrorHandlerHelper.getInstance(request);

            helper.init(EMPTY_STRING, exception, exceptionCodeMapping);
            response.setStatus(helper.getStatusCode());

            String internalBaseURL = getBaseURL(request) + internalPathPrefix;

            return new InternalRequestHandlerContext(request, response, internalBaseURL, internalBaseURL + "/"
                                                                                         + ERROR_PREFIX, "", errorHandler);
View Full Code Here

        }

        public RequestHandlerContext getRequestHandlerContextForError(HttpServletRequest request, HttpServletResponse response,
                                                                      Throwable exception) {
            // servletName == ""
            ErrorHandlerHelper helper = ErrorHandlerHelper.getInstance(request);

            helper.init(EMPTY_STRING, exception, exceptionCodeMapping);
            response.setStatus(helper.getStatusCode());

            String internalBaseURL = getBaseURL(request) + internalPathPrefix;

            return new InternalRequestHandlerContext(request, response, internalBaseURL, internalBaseURL + "/"
                                                                                         + ERROR_PREFIX, "", errorHandler);
View Full Code Here

        Throwable cause = e.getCause();
        if (cause != null && cause instanceof ArbitrateException) {
            e = (ArbitrateException) cause;
        }

        ErrorHandlerHelper errorHandlerHelper = ErrorHandlerHelper.getInstance(request);
        errorHandlerHelper.setException(e);
        pipelineContext.invokeNext();
    }
View Full Code Here

*
* @author Michael Zhou
*/
public class SendErrorHandler implements RequestHandler {
    public void handleRequest(RequestHandlerContext context) throws Exception {
        ErrorHandlerHelper helper = ErrorHandlerHelper.getInstance(context.getRequest());

        helper.setServletErrorAttributes();
        context.getResponse().sendError(helper.getStatusCode());
    }
View Full Code Here

        return new DetailedErrorPageVisitor(context, ErrorHandlerHelper.getInstance(context.getRequest()));
    }

    @Override
    protected String getTitle(Object visitor) {
        ErrorHandlerHelper helper = ((DetailedErrorPageVisitor) visitor).helper;
        StringBuilder title = new StringBuilder();

        if (helper.getMessage() != null) {
            title.append(helper.getMessage());
        }

        title.append(": ").append(helper.getRequestURI());

        return title.toString();
    }
View Full Code Here

        sorted.add(handler);
    }

    public void invoke(PipelineContext pipelineContext) throws Exception {
        TurbineRunDataInternal rundata = (TurbineRunDataInternal) getTurbineRunData(request);
        ErrorHandlerHelper helper = ErrorHandlerHelper.getInstance(request);
        Throwable exception = helper.getException();

        // ģ���п��õ�helper
        rundata.getContext().put(helperName, helper);

        if (exception != null) {
            int statusCode = -1;
            String target = null;

            // ���������exception cause��ʼ����׷�ݣ����磺t1 caused by t2 caused by t3��
            // ��ô�����˳��Ϊt3, t2, t1��
            CAUSES: for (Throwable cause : getCauses(exception, true)) {
                // ����ÿ���쳣������ƥ���exception handlers��
                // ����handlers�Ѿ����򣬽�������쳣��ǰ������T1 extends T2����ôT1��T2֮ǰ��
                for (ExceptionHandler exceptionHandler : exceptionHandlers) {
                    if (exceptionHandler.getExceptionType().isInstance(cause)) {
                        statusCode = exceptionHandler.getStatusCode();
                        target = exceptionHandler.getPage();
                        break CAUSES;
                    }
                }
            }

            if (statusCode > 0) {
                rundata.getResponse().setStatus(statusCode);
                helper.setStatusCode(statusCode); // ����request attributes
            }

            if (target == null) {
                target = defaultPage;
            }
View Full Code Here

        }

        public RequestHandlerContext getRequestHandler(HttpServletRequest request, HttpServletResponse response,
                                                       Throwable exception) {
            // servletName == ""
            ErrorHandlerHelper helper = ErrorHandlerHelper.getInstance(request);

            helper.init(EMPTY_STRING, exception, exceptionCodeMapping);
            response.setStatus(helper.getStatusCode());

            String internalBaseURL = getBaseURL(request) + internalPathPrefix;

            return new InternalRequestHandlerContext(request, response, internalBaseURL, internalBaseURL + "/"
                    + ERROR_PREFIX, "", errorHandler);
View Full Code Here

TOP

Related Classes of com.alibaba.citrus.webx.util.ErrorHandlerHelper

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.