@RequestMapping(value = "/api/printDomain", method = RequestMethod.GET) public void printDomain(@RequestParam(value = "s") String sessionId, HttpServletRequest request, HttpServletResponse response) throws IOException, InvocationTargetException, NoSuchMethodException, IllegalAccessException, TemplateException { if (!connect(sessionId, response)) return; try { response.setContentType("text/html"); response.setCharacterEncoding(StandardCharsets.UTF_8.name()); response.setLocale(userSessionSource.getLocale()); String domainDescription = domainDescriptionService.getDomainDescription(); response.getWriter().write(domainDescription); } catch (Throwable e) { sendError(request, response, e); } finally { authentication.end(); } }
@RequestMapping(value = "/api/deployViews", method = RequestMethod.POST) public void deployViews(@RequestParam(value = "s") String sessionId, @RequestBody String requestContent, HttpServletRequest request, HttpServletResponse response) throws IOException, InvocationTargetException, NoSuchMethodException, IllegalAccessException { if (!connect(sessionId, response)) return; try { ViewRepository viewRepository = metadata.getViewRepository(); ((AbstractViewRepository) viewRepository).deployViews(new StringReader(requestContent)); } catch (Throwable e) { sendError(request, response, e); } finally { authentication.end(); } }
writeResponse(response, converted, converter.getMimeType()); } catch (Throwable e) { sendError(request, response, e); } finally { authentication.end();
@RequestMapping(value = "/api/service", method = RequestMethod.POST) public void serviceByPost(@RequestParam(value = "s") String sessionId, @RequestHeader(value = "Content-Type") MimeType contentType, @RequestBody String requestContent, HttpServletRequest request, HttpServletResponse response) throws IOException, JSONException { if (!connect(sessionId, response)) return; try { Converter converter = conversionFactory.getConverter(contentType); ServiceRequest serviceRequest = converter.parseServiceRequest(requestContent); if (!restServicePermissions.isPermitted(serviceRequest.getServiceName(), serviceRequest.getMethodName())) { response.sendError(HttpServletResponse.SC_FORBIDDEN); return; } Object result = serviceRequest.invokeMethod(); String converted = converter.processServiceMethodResult(result, serviceRequest.getMethodReturnType()); writeResponse(response, converted, converter.getMimeType()); } catch (RestServiceException e) { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage()); log.error("Error processing request: " + request.getRequestURI() + "?" + request.getQueryString(), e); } catch (Throwable e) { sendError(request, response, e); } finally { authentication.end(); } }
writeResponse(response, result, converter.getMimeType()); } catch (Throwable e) { sendError(request, response, e); } finally { authentication.end();
sendError(request, response, e); } finally { authentication.end();
response.sendError(HttpServletResponse.SC_FORBIDDEN, "The operation with entity " + e.getEntity() + " is denied"); } catch (Throwable e) { sendError(request, response, e); } finally { authentication.end();
response.sendError(HttpServletResponse.SC_FORBIDDEN, "The operation with entity " + e.getEntity() + " is denied"); } catch (Throwable e) { sendError(request, response, e); } finally { authentication.end();