Пример #1
0
  @Override
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws IOException {
    try {
      Long branchUuid = null;
      String artifactGuid = request.getParameter(GUID_KEY);
      String branchName = request.getParameter(BRANCH_NAME_KEY);
      String branchGuid = request.getParameter(BRANCH_GUID_KEY);
      if (branchGuid != null) {
        getLogger()
            .warn(
                "Request with branch guid instead of uuid [%s]",
                request.getRequestURL().append('?').append(request.getQueryString()));
        branchUuid = extractBranchUuid(branchGuid);
      } else {
        branchUuid = Long.parseLong(request.getParameter(BRANCH_UUID_KEY));
      }

      String uri = null;
      BranchQuery query = orcs.getQueryFactory(null).branchQuery();
      if (branchName != null) {
        query.andNameEquals(branchName);
      } else if (branchUuid != null) {
        query.andUuids(branchUuid);
      }
      BranchReadable branch = query.getResults().getExactlyOne();
      Conditions.checkNotNull(branch, "branch", "Unable to determine branch");
      uri = ArtifactUtil.getUri(jdbcClient, artifactGuid, branch);
      handleArtifactUri(resourceManager, request.getQueryString(), uri, response);
    } catch (NumberFormatException ex) {
      handleError(
          response,
          HttpServletResponse.SC_BAD_REQUEST,
          String.format("Invalid Branch Id: [%s]", request.getQueryString()),
          ex);
    } catch (Exception ex) {
      handleError(
          response,
          HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
          String.format("Unable to acquire resource: [%s]", request.getQueryString()),
          ex);
    } finally {
      response.flushBuffer();
    }
  }