Ignore:
Timestamp:
04/07/15 20:38:40 (9 years ago)
Author:
emanuel.dima@uni-tuebingen.de
Message:
  1. beta-33: support for slow endpoints; POST external searches; UI errors for corner cases
File:
1 edited

Legend:

Unmodified
Added
Removed
  • SRUAggregator/trunk/src/main/java/eu/clarin/sru/fcs/aggregator/app/ErrorHandler.java

    r6123 r6131  
    11package eu.clarin.sru.fcs.aggregator.app;
    22
    3 import com.fasterxml.jackson.databind.ObjectMapper;
    43import java.io.IOException;
    54import javax.servlet.RequestDispatcher;
     
    1918        private static final org.slf4j.Logger log = LoggerFactory.getLogger(Aggregator.class);
    2019
    21         private final String redirectRoute = "/index.html";
     20        public static final String PARAM_QUERY = "query";
     21        public static final String PARAM_MODE = "mode";
     22        public static final String PARAM_AGGREGATION_CONTEXT = "x-aggregation-context";
     23
     24        public static final String redirectRoute = "/index.html";
     25
    2226
    2327        @Override
     
    2731                        forward(redirectRoute, baseRequest, response);
    2832                } else if (request.getMethod().equals("POST")
    29                                 && response.getStatus() == HttpServletResponse.SC_METHOD_NOT_ALLOWED
    30                                 && request.getParameterValues("x-aggregation-context") != null) {
    31 
    32                         // this request must come from VLO
    33                         String[] queryValues = request.getParameterValues("query");
    34                         if (queryValues != null && queryValues.length > 0) {
    35                                 baseRequest.getSession().setAttribute("query", queryValues[0]);
     33                                && response.getStatus() == HttpServletResponse.SC_METHOD_NOT_ALLOWED) {
     34                        // an external search request, coming from clarin.eu or VLO
     35                        {
     36                                String[] queryValues = request.getParameterValues(PARAM_QUERY);
     37                                if (queryValues != null && queryValues.length > 0) {
     38                                        baseRequest.getSession().setAttribute(PARAM_QUERY, queryValues[0]);
     39                                }
    3640                        }
    3741
    38                         String[] contextValues = request.getParameterValues("x-aggregation-context");
    39                         if (contextValues != null && contextValues.length > 0) {
    40                                 baseRequest.getSession().setAttribute("x-aggregation-context", contextValues[0]);
     42                        {
     43                                String[] modeValues = request.getParameterValues(PARAM_MODE);
     44                                if (modeValues != null && modeValues.length > 0) {
     45                                        baseRequest.getSession().setAttribute(PARAM_MODE, modeValues[0]);
     46                                }
     47                        }
     48
     49                        {
     50                                String[] contextValues = request.getParameterValues(PARAM_AGGREGATION_CONTEXT);
     51                                if (contextValues != null && contextValues.length > 0) {
     52                                        baseRequest.getSession().setAttribute(PARAM_AGGREGATION_CONTEXT, contextValues[0]);
     53                                }
    4154                        }
    4255
Note: See TracChangeset for help on using the changeset viewer.