![JAR search and dependency download from the Maven repository](/logo.png)
net.spals.appbuilder.app.examples.grpc.rest.web.UserGrpcServiceV2 Maven / Gradle / Ivy
package net.spals.appbuilder.app.examples.grpc.rest.web;
import com.google.inject.Inject;
import com.google.protobuf.Descriptors.FieldDescriptor;
import io.grpc.stub.StreamObserver;
import net.spals.appbuilder.annotations.service.AutoBindSingleton;
import net.spals.appbuilder.app.examples.grpc.rest.*;
import net.spals.appbuilder.mapstore.core.MapStore;
import net.spals.appbuilder.mapstore.core.model.MapStoreKey;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;
import java.util.stream.Collectors;
/**
* A sample gRPC service using proto2
* which has a complementary RESTful interface.
*
* @author tkral
*/
@AutoBindSingleton
public class UserGrpcServiceV2 extends UserServiceV2Grpc.UserServiceV2ImplBase {
private final MapStore mapStore;
@Inject
UserGrpcServiceV2(final MapStore mapStore) {
this.mapStore = mapStore;
}
@Override
public void deleteUserV2(
final DeleteUserRequestV2 request,
final StreamObserver responseObserver
) {
final MapStoreKey userRecordKey = createUserRecordKey(request.getId());
mapStore.deleteItem("users", userRecordKey);
responseObserver.onNext(
DeleteUserResponseV2.newBuilder()
.setId(request.getId())
.build()
);
responseObserver.onCompleted();
}
@Override
public void getUserV2(
final GetUserRequestV2 request,
final StreamObserver responseObserver
) {
final MapStoreKey userRecordKey = createUserRecordKey(request.getId());
final Optional
© 2015 - 2025 Weber Informatics LLC | Privacy Policy