private Future<EventBusMessage> processRemoveRequest(final EventBusMessage request) { final String tenantId = request.getTenant(); if (tenantId == null) { log.debug("request does not contain mandatory property [{}]", MessageHelper.APP_PROPERTY_TENANT_ID); return Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_BAD_REQUEST)); } else { log.debug("deleting tenant [{}]", tenantId); final Future<TenantResult<JsonObject>> removeResult = Future.future(); remove(tenantId, removeResult.completer()); return removeResult.map(tr -> { return request.getResponse(tr.getStatus()) .setJsonPayload(tr.getPayload()) .setCacheDirective(tr.getCacheDirective()); }); } }
private Future<EventBusMessage> processRemoveRequest(final EventBusMessage request) { final String tenantId = request.getTenant(); if (tenantId == null) { log.debug("request does not contain mandatory property [{}]", MessageHelper.APP_PROPERTY_TENANT_ID); return Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_BAD_REQUEST)); } else { log.debug("deleting tenant [{}]", tenantId); final Future<TenantResult<JsonObject>> removeResult = Future.future(); remove(tenantId, removeResult.completer()); return removeResult.map(tr -> { return request.getResponse(tr.getStatus()) .setJsonPayload(tr.getPayload()) .setCacheDirective(tr.getCacheDirective()); }); } }
private Future<EventBusMessage> processAddRequest(final EventBusMessage request) { final String tenantId = request.getTenant(); final JsonObject payload = getRequestPayload(request.getJsonPayload()); if (tenantId == null) { log.debug("request does not contain mandatory property [{}]", MessageHelper.APP_PROPERTY_TENANT_ID); return Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_BAD_REQUEST)); } else if (isValidRequestPayload(payload)) { log.debug("creating tenant [{}]", tenantId); final Future<TenantResult<JsonObject>> addResult = Future.future(); addNotPresentFieldsWithDefaultValuesForTenant(payload); add(tenantId, payload, addResult.completer()); return addResult.map(tr -> { return request.getResponse(tr.getStatus()) .setJsonPayload(tr.getPayload()) .setCacheDirective(tr.getCacheDirective()); }); } else { log.debug("request contains malformed payload"); return Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_BAD_REQUEST)); } }
private Future<EventBusMessage> processAddRequest(final EventBusMessage request) { final String tenantId = request.getTenant(); final JsonObject payload = getRequestPayload(request.getJsonPayload()); if (tenantId == null) { log.debug("request does not contain mandatory property [{}]", MessageHelper.APP_PROPERTY_TENANT_ID); return Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_BAD_REQUEST)); } else if (isValidRequestPayload(payload)) { log.debug("creating tenant [{}]", tenantId); final Future<TenantResult<JsonObject>> addResult = Future.future(); addNotPresentFieldsWithDefaultValuesForTenant(payload); add(tenantId, payload, addResult.completer()); return addResult.map(tr -> { return request.getResponse(tr.getStatus()) .setJsonPayload(tr.getPayload()) .setCacheDirective(tr.getCacheDirective()); }); } else { log.debug("request contains malformed payload"); return Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_BAD_REQUEST)); } }
private Future<EventBusMessage> processUpdateRequest(final EventBusMessage request) { final String tenantId = request.getTenant(); final JsonObject payload = getRequestPayload(request.getJsonPayload()); if (tenantId == null) { log.debug("request does not contain mandatory property [{}]", MessageHelper.APP_PROPERTY_TENANT_ID); return Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_BAD_REQUEST)); } else if (isValidRequestPayload(payload)) { log.debug("updating tenant [{}]", tenantId); final Future<TenantResult<JsonObject>> updateResult = Future.future(); addNotPresentFieldsWithDefaultValuesForTenant(payload); update(tenantId, payload, updateResult.completer()); return updateResult.map(tr -> { return request.getResponse(tr.getStatus()) .setJsonPayload(tr.getPayload()) .setCacheDirective(tr.getCacheDirective()); }); } else { log.debug("request contains malformed payload"); return Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_BAD_REQUEST)); } }
private Future<EventBusMessage> processUpdateRequest(final EventBusMessage request) { final String tenantId = request.getTenant(); final JsonObject payload = getRequestPayload(request.getJsonPayload()); if (tenantId == null) { log.debug("request does not contain mandatory property [{}]", MessageHelper.APP_PROPERTY_TENANT_ID); return Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_BAD_REQUEST)); } else if (isValidRequestPayload(payload)) { log.debug("updating tenant [{}]", tenantId); final Future<TenantResult<JsonObject>> updateResult = Future.future(); addNotPresentFieldsWithDefaultValuesForTenant(payload); update(tenantId, payload, updateResult.completer()); return updateResult.map(tr -> { return request.getResponse(tr.getStatus()) .setJsonPayload(tr.getPayload()) .setCacheDirective(tr.getCacheDirective()); }); } else { log.debug("request contains malformed payload"); return Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_BAD_REQUEST)); } }
private Future<EventBusMessage> processGetByCaRequest(final EventBusMessage request, final String subjectDn) { try { final X500Principal dn = new X500Principal(subjectDn); log.debug("retrieving tenant [subject DN: {}]", subjectDn); final Future<TenantResult<JsonObject>> getResult = Future.future(); get(dn, getResult.completer()); return getResult.map(tr -> { final EventBusMessage response = request.getResponse(tr.getStatus()) .setJsonPayload(tr.getPayload()) .setCacheDirective(tr.getCacheDirective()); if (tr.isOk() && tr.getPayload() != null) { response.setTenant(getTypesafeValueForField(String.class, tr.getPayload(), TenantConstants.FIELD_PAYLOAD_TENANT_ID)); } return response; }); } catch (final IllegalArgumentException e) { // the given subject DN is invalid log.debug("cannot parse subject DN [{}] provided by client", subjectDn); return Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_BAD_REQUEST)); } }
private Future<EventBusMessage> processGetByCaRequest(final EventBusMessage request, final String subjectDn, final Span span) { try { final X500Principal dn = new X500Principal(subjectDn); log.debug("retrieving tenant [subject DN: {}]", subjectDn); final Future<TenantResult<JsonObject>> getResult = Future.future(); get(dn, span, getResult.completer()); return getResult.map(tr -> { final EventBusMessage response = request.getResponse(tr.getStatus()) .setJsonPayload(tr.getPayload()) .setCacheDirective(tr.getCacheDirective()); if (tr.isOk() && tr.getPayload() != null) { final String tenantId = getTypesafeValueForField(String.class, tr.getPayload(), TenantConstants.FIELD_PAYLOAD_TENANT_ID); span.setTag(MessageHelper.APP_PROPERTY_TENANT_ID, tenantId); response.setTenant(tenantId); } return response; }); } catch (final IllegalArgumentException e) { TracingHelper.logError(span, "illegal subject DN provided by client: " + subjectDn); // the given subject DN is invalid log.debug("cannot parse subject DN [{}] provided by client", subjectDn); return Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_BAD_REQUEST)); } }
private Future<EventBusMessage> processGetByIdRequest(final EventBusMessage request, final String tenantId, final Span span) { final Future<TenantResult<JsonObject>> getResult = Future.future(); get(tenantId, span, getResult.completer()); return getResult.map(tr -> { return request.getResponse(tr.getStatus()) .setJsonPayload(tr.getPayload()) .setTenant(tenantId) .setCacheDirective(tr.getCacheDirective()); }); }
private Future<EventBusMessage> processGetByIdRequest(final EventBusMessage request, final String tenantId) { final Future<TenantResult<JsonObject>> getResult = Future.future(); get(tenantId, getResult.completer()); return getResult.map(tr -> { return request.getResponse(tr.getStatus()) .setJsonPayload(tr.getPayload()) .setTenant(tenantId) .setCacheDirective(tr.getCacheDirective()); }); }