public CompletableFuture<Optional<DeviceNotification>> findOne(Long id, String deviceId) { NotificationSearchRequest searchRequest = new NotificationSearchRequest(); searchRequest.setId(id); searchRequest.setDeviceIds(Collections.singleton(deviceId)); CompletableFuture<Response> future = new CompletableFuture<>(); rpcClient.call(Request.newBuilder() .withBody(searchRequest) .withPartitionKey(deviceId) .build(), new ResponseConsumer(future)); return future.thenApply(r -> ((NotificationSearchResponse) r.getBody()).getNotifications().stream().findFirst()); }
public CompletableFuture<Optional<DeviceCommand>> findOne(Long id, String deviceId, boolean returnUpdated) { CommandSearchRequest searchRequest = new CommandSearchRequest(); searchRequest.setId(id); searchRequest.setDeviceIds(Collections.singleton(deviceId)); searchRequest.setReturnUpdated(returnUpdated); CompletableFuture<Response> future = new CompletableFuture<>(); rpcClient.call(Request.newBuilder() .withBody(searchRequest) .build(), new ResponseConsumer(future)); return future.thenApply(r -> r.getBody().cast(CommandSearchResponse.class).getCommands().stream().findFirst()); }
public CompletableFuture<List<DeviceTypeVO>> list(ListDeviceTypeRequest request) { CompletableFuture<Response> future = new CompletableFuture<>(); rpcClient.call(Request.newBuilder().withBody(request).build(), new ResponseConsumer(future)); return future.thenApply(r -> ((ListDeviceTypeResponse) r.getBody()).getDeviceTypes()); } }
public CompletableFuture<List<UserVO>> list(String login, String loginPattern, Integer role, Integer status, String sortField, String sortOrder, Integer take, Integer skip) { ListUserRequest request = new ListUserRequest(); request.setLogin(login); request.setLoginPattern(loginPattern); request.setRole(role); request.setStatus(status); request.setSortField(sortField); request.setSortOrder(sortOrder); request.setTake(take); request.setSkip(skip); CompletableFuture<Response> future = new CompletableFuture<>(); rpcClient.call(Request .newBuilder() .withBody(request) .build(), new ResponseConsumer(future)); return future.thenApply(r -> ((ListUserResponse) r.getBody()).getUsers()); }
@SuppressWarnings("unchecked") public CompletableFuture<List<DeviceNotification>> find(Set<String> deviceIds, Set<String> names, Date timestampSt, Date timestampEnd, String sortField, String sortOrder, Integer take, Integer skip) { NotificationSearchRequest searchRequest = new NotificationSearchRequest(); searchRequest.setDeviceIds(deviceIds); searchRequest.setNames(names); searchRequest.setTimestampStart(timestampSt); searchRequest.setTimestampEnd(timestampEnd); searchRequest.setSortField(sortField); searchRequest.setSortOrder(sortOrder); searchRequest.setTake(take); searchRequest.setSkip(skip); CompletableFuture<Response> future = new CompletableFuture<>(); rpcClient.call(Request.newBuilder() .withBody(searchRequest) .withPartitionKey(searchRequest.getDeviceId()) .build(), new ResponseConsumer(future)); // CompletableFuture<Response> => CompletableFuture<List<DeviceNotification>> return future.thenApply(v -> v.getBody().cast(NotificationSearchResponse.class).getNotifications()); }
@Transactional public CompletableFuture<Response> delete(PluginVO existingPlugin) { pluginService.delete(existingPlugin.getId()); CompletableFuture<com.devicehive.shim.api.Response> future = new CompletableFuture<>(); if (existingPlugin.getSubscriptionId() != null) { PluginUnsubscribeRequest request = new PluginUnsubscribeRequest(existingPlugin.getSubscriptionId(), existingPlugin.getTopicName()); rpcClient.call(Request.newBuilder() .withBody(request) .build(), new ResponseConsumer(future)); return future.thenApply(response -> ResponseFactory.response(NO_CONTENT)); } else { return CompletableFuture.completedFuture(ResponseFactory.response(NO_CONTENT)); } }
private List<Response> createNotificationSubscription(PluginSubscribeRequest body) { return body.getFilters().stream() .map(filter -> { filter.setEventName(NOTIFICATION_EVENT.name()); NotificationSubscribeRequest notificationSubscribeRequest = new NotificationSubscribeRequest( body.getSubscriptionId(), filter, body.getNames(), null); Request notificationRequest = Request.newBuilder() .withBody(notificationSubscribeRequest) .withSingleReply(false) .build(); notificationRequest.setReplyTo(body.getTopicName()); return notificationSubscribeRequestHandler.handle(notificationRequest); }).collect(toList()); }
private List<Response> createCommandSubscription(PluginSubscribeRequest body, boolean returnUpdated) { return body.getFilters().stream() .map(filter -> { filter.setEventName(COMMAND_EVENT.name()); CommandSubscribeRequest commandSubscribeRequest = new CommandSubscribeRequest(body.getSubscriptionId(), filter, body.getNames(), null, returnUpdated, 0); Request commandRequest = Request.newBuilder() .withBody(commandSubscribeRequest) .withSingleReply(false) .build(); commandRequest.setReplyTo(body.getTopicName()); return commandSubscribeRequestHandler.handle(commandRequest); }).collect(toList()); }
public CompletableFuture<List<DeviceVO>> list(ListDeviceRequest listDeviceRequest) { CompletableFuture<Response> future = new CompletableFuture<>(); rpcClient.call(Request .newBuilder() .withBody(listDeviceRequest) .build(), new ResponseConsumer(future)); return future.thenApply(response -> ((ListDeviceResponse) response.getBody()).getDevices()); }
public CompletableFuture<EntityCountResponse> count(CountDeviceRequest countDeviceRequest) { CompletableFuture<Response> future = new CompletableFuture<>(); rpcClient.call(Request .newBuilder() .withBody(countDeviceRequest) .build(), new ResponseConsumer(future)); return future.thenApply(response -> new EntityCountResponse((CountResponse)response.getBody())); }
public CompletableFuture<EntityCountResponse> count(CountDeviceTypeRequest countDeviceTypeRequest) { CompletableFuture<Response> future = new CompletableFuture<>(); rpcClient.call(Request .newBuilder() .withBody(countDeviceTypeRequest) .build(), new ResponseConsumer(future)); return future.thenApply(response -> new EntityCountResponse((CountResponse)response.getBody())); }
public CompletableFuture<DeviceNotification> insert(final DeviceNotification notification, final DeviceVO device) { hiveValidator.validate(notification); CompletableFuture<Response> future = new CompletableFuture<>(); rpcClient.call(Request.newBuilder() .withBody(new NotificationInsertRequest(notification)) .withPartitionKey(device.getDeviceId()) .build(), new ResponseConsumer(future)); return future.thenApply(r -> r.getBody().cast(NotificationInsertResponse.class).getDeviceNotification()); }
private Response removeNotificationSubscription(PluginUnsubscribeRequest body) { NotificationUnsubscribeRequest notificationUnsubscribeRequest = new NotificationUnsubscribeRequest(ImmutableSet.of(body.getSubscriptionId())); Request notificationRequest = Request.newBuilder() .withBody(notificationUnsubscribeRequest) .withSingleReply(false) .build(); notificationRequest.setReplyTo(body.getTopicName()); return notificationUnsubscribeRequestHandler.handle(notificationRequest); }
public CompletableFuture<EntityCountResponse> count(CountNetworkRequest countNetworkRequest) { CompletableFuture<Response> future = new CompletableFuture<>(); rpcClient.call(Request .newBuilder() .withBody(countNetworkRequest) .build(), new ResponseConsumer(future)); return future.thenApply(response -> new EntityCountResponse((CountResponse)response.getBody())); }
public CompletableFuture<EntityCountResponse> count(CountUserRequest countUserRequest) { CompletableFuture<Response> future = new CompletableFuture<>(); rpcClient.call(Request .newBuilder() .withBody(countUserRequest) .build(), new ResponseConsumer(future)); return future.thenApply(response -> new EntityCountResponse((CountResponse)response.getBody())); }
public CompletableFuture<EntityCountResponse> count(CountPluginRequest countPluginRequest) { CompletableFuture<com.devicehive.shim.api.Response> future = new CompletableFuture<>(); rpcClient.call(Request .newBuilder() .withBody(countPluginRequest) .build(), new ResponseConsumer(future)); return future.thenApply(response -> new EntityCountResponse((CountResponse) response.getBody())); }
private Response removeCommandSubscription(PluginUnsubscribeRequest body) { CommandUnsubscribeRequest commandUnsubscribeRequest = new CommandUnsubscribeRequest(ImmutableSet.of(body.getSubscriptionId())); Request commandRequest = Request.newBuilder() .withBody(commandUnsubscribeRequest) .withSingleReply(false) .build(); commandRequest.setReplyTo(body.getTopicName()); return commandUnsubscribeRequestHandler.handle(commandRequest); }
public CompletableFuture<List<NetworkVO>> list(ListNetworkRequest request) { CompletableFuture<Response> future = new CompletableFuture<>(); rpcClient.call(Request.newBuilder().withBody(request).build(), new ResponseConsumer(future)); return future.thenApply(r -> ((ListNetworkResponse) r.getBody()).getNetworks()); }
public CompletableFuture<List<PluginVO>> list(ListPluginRequest listPluginRequest){ CompletableFuture<com.devicehive.shim.api.Response> future = new CompletableFuture<>(); rpcClient.call(Request .newBuilder() .withBody(listPluginRequest) .build(), new ResponseConsumer(future)); return future.thenApply(response -> ((ListPluginResponse) response.getBody()).getPlugins()); }
public CompletableFuture<DeviceCommand> insert(DeviceCommandWrapper commandWrapper, DeviceVO device, UserVO user) { hiveValidator.validate(commandWrapper); DeviceCommand command = convertWrapperToCommand(commandWrapper, device, user); CompletableFuture<Response> future = new CompletableFuture<>(); rpcClient.call(Request.newBuilder() .withBody(new CommandInsertRequest(command)) .withPartitionKey(device.getDeviceId()) .build(), new ResponseConsumer(future)); return future.thenApply(r -> ((CommandInsertResponse) r.getBody()).getDeviceCommand()); }