TotoServiceImpl
This commit is contained in:
@@ -1,3 +1,3 @@
|
|||||||
# Votre compte rendu ici
|
# Votre compte rendu ici
|
||||||
|
|
||||||
On implémente des "Class" dans les .proto, des getter seront généré par grpc
|
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.
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package fr.istic.grpc.todo;
|
package fr.istic.grpc.todo;
|
||||||
|
|
||||||
import io.grpc.stub.*;
|
import io.grpc.stub.*;
|
||||||
|
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.concurrent.*;
|
import java.util.concurrent.*;
|
||||||
import java.util.concurrent.atomic.*;
|
import java.util.concurrent.atomic.*;
|
||||||
import io.grpc.stub.*;
|
import io.grpc.stub.*;
|
||||||
@@ -24,22 +26,24 @@ public class TodoServiceImpl extends TodoServiceGrpc.TodoServiceImplBase {
|
|||||||
|
|
||||||
public void listTasks(Todo.ListTasksRequest request, StreamObserver<Todo.ListTasksResponse> responseObserver) {
|
public void listTasks(Todo.ListTasksRequest request, StreamObserver<Todo.ListTasksResponse> responseObserver) {
|
||||||
// La réponse est une liste
|
// La réponse est une liste
|
||||||
|
//Iterator<Todo.TaskResponse> 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<Todo.TaskResponse> responseObserver) {
|
public void deleteTask(Todo.DeleteTaskRequest request, StreamObserver<Todo.TaskResponse> responseObserver) {
|
||||||
// si la tâche existe, on efface, sinon on indique que l'opération est un echec
|
// si la tâche existe, on efface, sinon on indique que l'opération est un echec
|
||||||
String id = request.getId();
|
String id = request.getId();
|
||||||
Boolean test = this.tasks.containsKey(id);
|
Boolean test = this.tasks.containsKey(id);
|
||||||
Todo.TaskResponse save = this.tasks.get(id);
|
Todo.TaskResponse save = this.tasks.remove(id);
|
||||||
this.tasks.remove(id);
|
|
||||||
test = test && !this.tasks.containsKey(id);
|
test = test && !this.tasks.containsKey(id);
|
||||||
|
|
||||||
|
|
||||||
Todo.TaskResponse tr = Todo.TaskResponse.newBuilder()
|
responseObserver.onNext(save);
|
||||||
.setId(save.getId()).setDescription(save.getDescription())
|
|
||||||
.setTitle(save.getTitle())
|
|
||||||
.setSuccess(test).build();
|
|
||||||
responseObserver.onNext(tr);
|
|
||||||
responseObserver.onCompleted();
|
responseObserver.onCompleted();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user