deletTask
This commit is contained in:
@@ -1 +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
|
||||||
@@ -11,9 +11,9 @@ public class EchoClient {
|
|||||||
public static void main(String[] args) throws Exception {
|
public static void main(String[] args) throws Exception {
|
||||||
|
|
||||||
ManagedChannel channel = ManagedChannelBuilder
|
ManagedChannel channel = ManagedChannelBuilder
|
||||||
.forAddress("localhost", 8080) //serveur localhost, port 8080
|
.forAddress("localhost", 8080) //serveur localhost, port 8080
|
||||||
.usePlaintext() // on demande a ne pas utiliser tls
|
.usePlaintext() // on demande a ne pas utiliser tls
|
||||||
.build(); // pattern builder
|
.build(); // pattern builder
|
||||||
|
|
||||||
//On utilise un stub bloquant pour faire la requête (on bloque jusqu'à réponse)
|
//On utilise un stub bloquant pour faire la requête (on bloque jusqu'à réponse)
|
||||||
EchoServiceGrpc.EchoServiceBlockingStub stub = EchoServiceGrpc.newBlockingStub(channel);
|
EchoServiceGrpc.EchoServiceBlockingStub stub = EchoServiceGrpc.newBlockingStub(channel);
|
||||||
@@ -25,7 +25,6 @@ public class EchoClient {
|
|||||||
|
|
||||||
// On affiche le résultat
|
// On affiche le résultat
|
||||||
System.out.println("Reçu : " + response.getMessage());
|
System.out.println("Reçu : " + response.getMessage());
|
||||||
channel.shutdown();
|
channel.shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,29 @@
|
|||||||
package fr.istic.grpc.todo;
|
package fr.istic.grpc.todo;
|
||||||
|
|
||||||
|
import fr.istic.grpc.echo.Echo;
|
||||||
|
import fr.istic.grpc.echo.EchoServiceGrpc;
|
||||||
import fr.istic.grpc.todo.Todo.*;
|
import fr.istic.grpc.todo.Todo.*;
|
||||||
import fr.istic.grpc.todo.TodoServiceGrpc.*;
|
import fr.istic.grpc.todo.TodoServiceGrpc.*;
|
||||||
import io.grpc.*;
|
import io.grpc.*;
|
||||||
|
|
||||||
public class TodoClient {
|
public class TodoClient {
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
|
||||||
|
ManagedChannel channel = ManagedChannelBuilder
|
||||||
|
.forAddress("localhost", 8080) //serveur localhost, port 8080
|
||||||
|
.usePlaintext() // on demande a ne pas utiliser tls
|
||||||
|
.build(); // pattern builder
|
||||||
|
|
||||||
|
//On utilise un stub bloquant pour faire la requête (on bloque jusqu'à réponse)
|
||||||
|
TodoServiceGrpc.TodoServiceBlockingStub stub = TodoServiceGrpc.newBlockingStub(channel);
|
||||||
|
//On construit la requête :
|
||||||
|
Echo.MessageSent request = Echo.MessageSent.newBuilder().setMessage("ilililili").build();
|
||||||
|
|
||||||
|
// On appelle le serveur :
|
||||||
|
//Echo.MessageReceive response = stub.echo(request);
|
||||||
|
|
||||||
|
// On affiche le résultat
|
||||||
|
//System.out.println("Reçu : " + response.getMessage());
|
||||||
|
channel.shutdown();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package fr.istic.grpc.todo;
|
package fr.istic.grpc.todo;
|
||||||
|
|
||||||
|
import io.grpc.stub.*;
|
||||||
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.*;
|
||||||
@@ -14,23 +15,32 @@ public class TodoServiceImpl extends TodoServiceGrpc.TodoServiceImplBase {
|
|||||||
return taskId.incrementAndGet();
|
return taskId.incrementAndGet();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void createTask(Todo.CreateTaskRequest request, StreamObserver<Todo.TaskResponse> responseObserver) {
|
public void createTask(Todo.CreateTaskRequest request, StreamObserver<Todo.TaskResponse> responseObserver) {
|
||||||
// Créer une tâche en générant un identifiant
|
Todo.TaskResponse tr = Todo.TaskResponse.newBuilder().setId(Integer.toString(generateUniqueTaskId()))
|
||||||
|
.setDescription(request.getDescription()).build();
|
||||||
|
responseObserver.onNext(tr);
|
||||||
|
responseObserver.onCompleted();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
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
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
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
|
||||||
this.tasks.remove(request.id);
|
String id = request.getId();
|
||||||
|
Boolean test = this.tasks.containsKey(id);
|
||||||
|
Todo.TaskResponse save = this.tasks.get(id);
|
||||||
|
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();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ option java_package = "fr.istic.grpc.todo";
|
|||||||
|
|
||||||
// Le service TodoService définit les opérations disponibles pour gérer les tâches.
|
// Le service TodoService définit les opérations disponibles pour gérer les tâches.
|
||||||
service TodoService {
|
service TodoService {
|
||||||
rpc Todo(CreateTaskRequest) return (TaskResponse)
|
rpc Create(CreateTaskRequest) returns (TaskResponse){}
|
||||||
rpc Todo(ListTasksRequest) return (ListTasksResponse)
|
rpc View(ListTasksRequest) returns (ListTasksResponse){}
|
||||||
rpc Todo(DeleteTask) return (TaskResponse)
|
rpc Delete(DeleteTaskRequest) returns (TaskResponse){}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Message de requête pour créer une nouvelle tâche.
|
// Message de requête pour créer une nouvelle tâche.
|
||||||
|
|||||||
Reference in New Issue
Block a user