+
+ @Override
+ public Future<RpcResult<Void>> registerOwnership(RegisterOwnershipInput input) {
+ Entity entity = new Entity(ENTITY_TYPE, input.getCarId());
+ try {
+ ownershipService.registerCandidate(entity, ownershipCandidate);
+ } catch (CandidateAlreadyRegisteredException e) {
+ return RpcResultBuilder.<Void>failed().withError(ErrorType.APPLICATION,
+ "Could not register for car " + input.getCarId(), e).buildFuture();
+ }
+
+ return RpcResultBuilder.<Void>success().buildFuture();
+ }
+
+ @Override
+ public Future<RpcResult<Void>> unregisterOwnership(UnregisterOwnershipInput input) {
+ return RpcResultBuilder.<Void>success().buildFuture();
+ }
+
+ private static class CarEntityOwnershipCandidate implements EntityOwnershipCandidate {
+ @Override
+ public void ownershipChanged(Entity entity, boolean wasOwner, boolean isOwner) {
+ LOG.info("ownershipChanged: entity: {}, wasOwner: {}, isOwner: ()", entity, wasOwner, isOwner);
+ }
+ }