From 5866c247d1adfb971f82ee86cea274b45493cfff Mon Sep 17 00:00:00 2001 From: trochas Date: Fri, 4 Apr 2025 13:35:19 +0200 Subject: [PATCH] TotoServiceImpl --- README.md | 2 +- .../fr/istic/grpc/todo/TodoServiceImpl.java | 22 +++++++++++-------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index df31d36..756968d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # Votre compte rendu ici -On implémente des "Class" dans les .proto, des getter seront généré par grpc \ No newline at end of file +On implémente des "Class" dans les .proto, des getter seront généré par grpc pour être utiliser dans par le service, le serveur et le client. diff --git a/src/main/java/fr/istic/grpc/todo/TodoServiceImpl.java b/src/main/java/fr/istic/grpc/todo/TodoServiceImpl.java index f2a630c..990afca 100644 --- a/src/main/java/fr/istic/grpc/todo/TodoServiceImpl.java +++ b/src/main/java/fr/istic/grpc/todo/TodoServiceImpl.java @@ -1,6 +1,8 @@ package fr.istic.grpc.todo; import io.grpc.stub.*; + +import java.util.Iterator; import java.util.concurrent.*; import java.util.concurrent.atomic.*; import io.grpc.stub.*; @@ -24,23 +26,25 @@ public class TodoServiceImpl extends TodoServiceGrpc.TodoServiceImplBase { public void listTasks(Todo.ListTasksRequest request, StreamObserver responseObserver) { // La réponse est une liste + //Iterator iter = tasks.values().iterator(); + Todo.ListTasksResponse.Builder builder = Todo.ListTasksResponse.newBuilder(); + for(Todo.TaskResponse task : tasks.values()){ + builder.addTasks(task); + } + Todo.ListTasksResponse list = builder.build(); + responseObserver.onNext(list); } public void deleteTask(Todo.DeleteTaskRequest request, StreamObserver responseObserver) { // si la tâche existe, on efface, sinon on indique que l'opération est un echec String id = request.getId(); Boolean test = this.tasks.containsKey(id); - Todo.TaskResponse save = this.tasks.get(id); - this.tasks.remove(id); + Todo.TaskResponse save = this.tasks.remove(id); test = test && !this.tasks.containsKey(id); - - Todo.TaskResponse tr = Todo.TaskResponse.newBuilder() - .setId(save.getId()).setDescription(save.getDescription()) - .setTitle(save.getTitle()) - .setSuccess(test).build(); - responseObserver.onNext(tr); - responseObserver.onCompleted(); + + responseObserver.onNext(save); + responseObserver.onCompleted(); } }