/** Get a single storage spec by name. */ @RequestMapping( value = "/api/ui/storage/{id}", produces = "application/json", method = RequestMethod.GET) public GetStorageResponse getStorage(@PathVariable("id") String id) { try { StorageInfo storageInfo = specService.getStorage(Arrays.asList(id)).get(0); return GetStorageResponse.newBuilder().setStorage(storageInfo.getStorageDetail()).build(); } catch (Exception e) { log.error("Exception in getStorage {}: {}", id, e); throw e; } }
@Override public void getStorage(GetStorageRequest request, StreamObserver<GetStorageResponse> responseObserver) { String storageId = request.getId(); try { List<StorageInfo> storageInfos = specService.getStorage(Collections.singletonList(storageId)); GetStorageResponse resp = GetStorageResponse.newBuilder() .setStorage(storageInfos.get(0).getStorageDetail()) .build(); responseObserver.onNext(resp); responseObserver.onCompleted(); } catch (IllegalArgumentException e) { String errMsg = "Invalid storage ID: " + storageId; log.error(errMsg, e); onError(responseObserver, INVALID_ARGUMENT, errMsg, e); } catch (Exception e) { String errMsg = "Error while retrieving storage detail with ID: " + storageId; log.error(errMsg, e); onError(responseObserver, INTERNAL, errMsg, e); } }
@java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() {
@java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() {
@java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() {