private void validate(RestHttpHelper.HttpResponse response, String name) { if (null == response || response.getStatusCode() != 200) { String body = null; try { body = response.getResponseBody(); } catch (IOException e) { } finally { StringBuilder msg = new StringBuilder("error initializing "); msg.append(name); msg.append(" (" + response.getStatusCode() + ")"); if (null != body) { msg.append("\n"); msg.append(body); } log.error(msg.toString()); throw new DuraCloudRuntimeException(msg.toString()); } } }
protected String callBridge(RestHttpHelper restHelper, String snapshotURL, String snapshotBody) { log.info("Making RESTORE call to URL {} with body {}", snapshotURL, snapshotBody); try { Map<String, String> headers = new HashMap<>(); headers.put(HttpHeaders.CONTENT_TYPE, "application/json"); RestHttpHelper.HttpResponse response = restHelper.put(snapshotURL, snapshotBody, headers); int statusCode = response.getStatusCode(); if (statusCode != 201) { throw new RuntimeException("Unexpected response code: " + statusCode); } return response.getResponseBody(); } catch (Exception e) { throw new TaskException("Exception encountered attempting to " + "initiate snapshot request. " + "Error reported: " + e.getMessage(), e); } }
protected String callBridge(RestHttpHelper restHelper, String snapshotURL, String snapshotBody) { log.info("Making RESTORE call to URL {} with body {}", snapshotURL, snapshotBody); try { Map<String, String> headers = new HashMap<>(); headers.put(HttpHeaders.CONTENT_TYPE, "application/json"); RestHttpHelper.HttpResponse response = restHelper.put(snapshotURL, snapshotBody, headers); int statusCode = response.getStatusCode(); if (statusCode != 201) { throw new RuntimeException("Unexpected response code: " + statusCode); } return response.getResponseBody(); } catch (Exception e) { throw new TaskException("Exception encountered attempting to " + "initiate snapshot request. " + "Error reported: " + e.getMessage(), e); } }
int statusCode = response.getStatusCode(); if (statusCode != 200 && statusCode != 201) { String responseStr = response.getResponseBody(); return response.getResponseBody();
String errMsg = ""; try { errMsg += response.getResponseBody(); } catch (IOException e) {
@Override public String scheduleStorageReport(Date startTime, long frequency) throws ReportException { if(null == startTime) { throw new ReportException("Start time may not be null"); } if(startTime.before(new Date())) { throw new ReportException("Start time must be in the future"); } if(frequency < 600000) { throw new ReportException("Frequency must be higher than " + "600000 milliseconds (10 minutes)"); } String url = buildScheduleStorageReportURL(startTime.getTime(), frequency); try { RestHttpHelper.HttpResponse response = getRestHelper() .post(url, null, null); checkResponse(response, HttpStatus.SC_OK); return response.getResponseBody(); } catch (Exception e) { String error = "Could not schedule storage report due to: " + e.getMessage(); throw new ReportException(error, e); } }
@Override public SpaceStatsDTOList getStorageProviderStats(Date start, Date end) throws ContentStoreException { String url = buildStorageProviderStatsURL(start, end); try { HttpResponse response = restHelper.get(url); checkResponse(response, HttpStatus.SC_OK); String body = response.getResponseBody(); JaxbJsonSerializer<SpaceStatsDTOList> serializer = new JaxbJsonSerializer<>(SpaceStatsDTOList.class); return serializer.deserialize(body); } catch (NotFoundException e) { throw new NotFoundException("storeId = " + getStoreId()); } catch (UnauthorizedException e) { throw new UnauthorizedException(getStoreId(), e); } catch (Exception e) { throw new ContentStoreException("failed to retrieve storage provider stats for " + getStoreId(), e); } }
private String doPerformTask(String taskName, String taskParameters) throws ContentStoreException { String url = buildTaskURL(taskName); try { HttpResponse response = restHelper.post(url, taskParameters, null); checkResponse(response, HttpStatus.SC_OK); return response.getResponseBody(); } catch (InvalidIdException e) { throw new UnsupportedTaskException(taskName, e); } catch (UnauthorizedException e) { throw new UnauthorizedException("Not authorized to perform task: " + taskName, e); } catch (ContentStateException e) { throw e; } catch (Exception e) { throw new ContentStoreException("Error performing task (" + taskName + "): " + e.getMessage(), e); } }
protected String callBridge(RestHttpHelper restHelper, String bridgeURL) { log.info("Making bridge call to restart snapshot. URL: {}", bridgeURL); try { RestHttpHelper.HttpResponse response = restHelper.post(bridgeURL, null, null); int statusCode = response.getStatusCode(); if (statusCode != HttpStatus.SC_ACCEPTED) { throw new RuntimeException("Unexpected response code: " + statusCode); } return response.getResponseBody(); } catch (Exception e) { throw new TaskException("Exception encountered attempting to " + "restart snapshot. " + "Error reported: " + e.getMessage(), e); } }
protected String callBridge(RestHttpHelper restHelper, String bridgeURL) { log.info("Making bridge call to get snapshot history. URL: {}", bridgeURL); try { RestHttpHelper.HttpResponse response = restHelper.get(bridgeURL); int statusCode = response.getStatusCode(); if (statusCode != 200) { throw new RuntimeException("Unexpected response code: " + statusCode); } return response.getResponseBody(); } catch (Exception e) { throw new TaskException("Exception encountered attempting to " + "get snapshot history. " + "Error reported: " + e.getMessage(), e); } }
@Override public SpaceStatsDTOList getStorageProviderStatsByDay(Date date) throws ContentStoreException { String url = buildStorageProviderStatsURL(date); try { HttpResponse response = restHelper.get(url); checkResponse(response, HttpStatus.SC_OK); String body = response.getResponseBody(); JaxbJsonSerializer<SpaceStatsDTOList> serializer = new JaxbJsonSerializer<>(SpaceStatsDTOList.class); return serializer.deserialize(body); } catch (UnauthorizedException e) { throw new UnauthorizedException(storeId, e); } catch (Exception e) { throw new ContentStoreException("failed to retrieve storage provider stats for " + storeId, e); } }
@Override public SpaceStatsDTOList getSpaceStats(String spaceId, Date start, Date end) throws ContentStoreException { String url = buildSpaceStatsURL(spaceId, start, end); try { HttpResponse response = restHelper.get(url); checkResponse(response, HttpStatus.SC_OK); String body = response.getResponseBody(); JaxbJsonSerializer<SpaceStatsDTOList> serializer = new JaxbJsonSerializer<>(SpaceStatsDTOList.class); return serializer.deserialize(body); } catch (NotFoundException e) { throw new NotFoundException("spaceId = " + spaceId); } catch (UnauthorizedException e) { throw new UnauthorizedException(spaceId, e); } catch (Exception e) { throw new ContentStoreException("failed to retrieve space stats for " + spaceId, e); } }
protected String callBridge(RestHttpHelper restHelper, String bridgeURL) { log.info("Making bridge call to get snapshot status. URL: {}", bridgeURL); try { RestHttpHelper.HttpResponse response = restHelper.get(bridgeURL); int statusCode = response.getStatusCode(); if (statusCode != 200) { throw new RuntimeException("Unexpected response code: " + statusCode); } return response.getResponseBody(); } catch (Exception e) { throw new TaskException("Exception encountered attempting to " + "get snapshot. " + "Error reported: " + e.getMessage(), e); } }
protected String callBridge(RestHttpHelper restHelper, String bridgeURL) { log.info("Making bridge call to get snapshot list. URL: {}", bridgeURL); try { RestHttpHelper.HttpResponse response = restHelper.get(bridgeURL); int statusCode = response.getStatusCode(); if (statusCode != 200) { throw new RuntimeException("Unexpected response code: " + statusCode); } return response.getResponseBody(); } catch (Exception e) { throw new TaskException("Exception encountered attempting to " + "get list of snapshots. " + "Error reported: " + e.getMessage(), e); } }
protected String callBridge(RestHttpHelper restHelper, String bridgeURL) { log.info("Making bridge call to get snapshot contents. URL: {}", bridgeURL); try { RestHttpHelper.HttpResponse response = restHelper.get(bridgeURL); int statusCode = response.getStatusCode(); if (statusCode != 200) { throw new RuntimeException("Unexpected response code: " + statusCode); } return response.getResponseBody(); } catch (Exception e) { throw new TaskException("Exception encountered attempting to " + "get snapshot contents. " + "Error reported: " + e.getMessage(), e); } }
protected String callBridge(RestHttpHelper restHelper, String bridgeURL) { log.info("Making bridge call to get restore status. URL: {}", bridgeURL); try { RestHttpHelper.HttpResponse response = restHelper.get(bridgeURL); int statusCode = response.getStatusCode(); if (statusCode != 200) { throw new RuntimeException("Unexpected response code: " + statusCode); } return response.getResponseBody(); } catch (Exception e) { throw new TaskException("Exception encountered attempting to " + "get restore. " + "Error reported: " + e.getMessage(), e); } }
private List<String> doGetSupportedTasks() throws ContentStoreException { String url = buildTaskURL(); try { HttpResponse response = restHelper.get(url); checkResponse(response, HttpStatus.SC_OK); String reponseText = response.getResponseBody(); return SerializationUtil.deserializeList(reponseText); } catch (UnauthorizedException e) { throw new UnauthorizedException("Not authorized to get supported " + "tasks", e); } catch (Exception e) { throw new ContentStoreException("Error getting supported tasks: " + e.getMessage(), e); } }
@Override public String startStorageReport() throws ReportException { String url = buildBaseStorageReportURL(); try { RestHttpHelper.HttpResponse response = getRestHelper() .post(url, null, null); checkResponse(response, HttpStatus.SC_OK); return response.getResponseBody(); } catch (Exception e) { String error = "Could not start storage report due to: " + e.getMessage(); throw new ReportException(error, e); } }
@Override public String cancelStorageReportSchedule() throws ReportException { String url = buildCancelStorageReportScheduleURL(); try { RestHttpHelper.HttpResponse response = getRestHelper().delete(url); checkResponse(response, HttpStatus.SC_OK); return response.getResponseBody(); } catch (Exception e) { String error = "Could not cancel storage report schedule due to: " + e.getMessage(); throw new ReportException(error, e); } }
@Override public String cancelStorageReport() throws ReportException { String url = buildBaseStorageReportURL(); try { RestHttpHelper.HttpResponse response = getRestHelper().delete(url); checkResponse(response, HttpStatus.SC_OK); return response.getResponseBody(); } catch (Exception e) { String error = "Could not cancel storage report due to: " + e.getMessage(); throw new ReportException(error, e); } }