Exemple #1
0
  @Override
  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
      throws IOException, ServletException {
    if (!(request instanceof HttpServletRequest)) {
      throw new ServletException(
          this.getClass().getSimpleName() + " can only handle HTTP requests.");
    }
    HttpServletRequest httpRequest = (HttpServletRequest) request;

    BladerunnerUri bladerunnerUri = servletUtils.createBladeRunnerUri(servletContext, httpRequest);
    boolean brjsPluginCanHandleRequest =
        servletUtils.getContentPluginForRequest(bladerunnerUri) != null;

    if (brjsPluginCanHandleRequest && !BladerunnerUri.isBrjsUriRequest(httpRequest)) {
      request
          .getRequestDispatcher("/brjs" + httpRequest.getRequestURI())
          .forward(httpRequest, response);
    } else {
      chain.doFilter(httpRequest, response);
    }
  }
Exemple #2
0
  @Override
  public void init(ServletConfig config) throws ServletException {
    super.init(config);
    servletContext = config.getServletContext();

    try {
      File brjsDir = new File(servletContext.getRealPath("/"));
      ThreadSafeStaticBRJSAccessor.initializeModel(brjsDir, brjsDir);
    } catch (InvalidSdkDirectoryException e) {
      throw new ServletException(e);
    }

    try {
      brjs = ThreadSafeStaticBRJSAccessor.aquireModel();
      app = BRJSServletUtils.localeAppForContext(brjs, servletContext);
    } finally {
      ThreadSafeStaticBRJSAccessor.releaseModel();
    }
  }