Skip to content
Snippets Groups Projects
Commit 728e9bfe authored by OZGCloud's avatar OZGCloud
Browse files

OZG-94 add findVorgang endpoint

parent 136f11a3
No related branches found
No related tags found
No related merge requests found
...@@ -10,8 +10,12 @@ service VorgangService { ...@@ -10,8 +10,12 @@ service VorgangService {
rpc CreateVorgang(CreateVorgangRequest) returns (CreateVorgangReply) { rpc CreateVorgang(CreateVorgangRequest) returns (CreateVorgangReply) {
} }
rpc FindVorgang(FindVorgangRequest) returns (FindVorgangReply) {
}
} }
/* Create Vorgang */
message CreateVorgangRequest { message CreateVorgangRequest {
Eingang eingang = 1; Eingang eingang = 1;
} }
...@@ -59,3 +63,22 @@ message Field { ...@@ -59,3 +63,22 @@ message Field {
message CreateVorgangReply { message CreateVorgangReply {
string message = 1; string message = 1;
} }
/* FindVorgang */
message FindVorgangRequest {
int32 offset = 1;
int32 limit = 2;
}
message FindVorgangReply {
int32 total = 1;
repeated VorgangHeader vorgang = 2;
}
message VorgangHeader {
string id = 1;
string status = 2;
string name = 3;
string createdAt = 4;
}
\ No newline at end of file
...@@ -13,12 +13,16 @@ ...@@ -13,12 +13,16 @@
<artifactId>pluto-server</artifactId> <artifactId>pluto-server</artifactId>
<version>0.0.1-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<name>Pluto Server</name> <name>Pluto Server</name>
<description>Server Implementierung des VorgangManagers (Pluto)</description> <description>Server Implementierung des VorgangManagers (Pluto)
</description>
<properties> <properties>
<java.version>15</java.version> <java.version>15</java.version>
<grpc.spring-boot-starter.version>2.10.1.RELEASE</grpc.spring-boot-starter.version> <grpc.spring-boot-starter.version>2.10.1.RELEASE
</grpc.spring-boot-starter.version>
<lorem.version>2.1</lorem.version>
<faker.version>1.0.2</faker.version>
</properties> </properties>
<dependencies> <dependencies>
...@@ -40,6 +44,18 @@ ...@@ -40,6 +44,18 @@
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<!-- Tools -->
<dependency>
<groupId>com.thedeanda</groupId>
<artifactId>lorem</artifactId>
<version>${lorem.version}</version>
</dependency>
<dependency>
<groupId>com.github.javafaker</groupId>
<artifactId>javafaker</artifactId>
<version>${faker.version}</version>
</dependency>
<!-- Dev --> <!-- Dev -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
......
package de.itvsh.ozg.pluto.vorgang; package de.itvsh.ozg.pluto.vorgang;
import java.util.Locale;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import com.github.javafaker.Faker;
import com.thedeanda.lorem.Lorem;
import com.thedeanda.lorem.LoremIpsum;
import io.grpc.stub.StreamObserver; import io.grpc.stub.StreamObserver;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import net.devh.boot.grpc.server.service.GrpcService; import net.devh.boot.grpc.server.service.GrpcService;
...@@ -8,6 +16,11 @@ import net.devh.boot.grpc.server.service.GrpcService; ...@@ -8,6 +16,11 @@ import net.devh.boot.grpc.server.service.GrpcService;
@Log4j2 @Log4j2
class GrpcVorgangService extends VorgangServiceGrpc.VorgangServiceImplBase { class GrpcVorgangService extends VorgangServiceGrpc.VorgangServiceImplBase {
private static final Lorem LOREM = LoremIpsum.getInstance();
private static final Faker FAKER = new Faker(Locale.GERMANY);
private static final int TOTAL_VORGAENGE = 1000;
@Override @Override
public void createVorgang(de.itvsh.ozg.pluto.vorgang.CreateVorgangRequest request, StreamObserver<CreateVorgangReply> responseObserver) { public void createVorgang(de.itvsh.ozg.pluto.vorgang.CreateVorgangRequest request, StreamObserver<CreateVorgangReply> responseObserver) {
...@@ -17,4 +30,34 @@ class GrpcVorgangService extends VorgangServiceGrpc.VorgangServiceImplBase { ...@@ -17,4 +30,34 @@ class GrpcVorgangService extends VorgangServiceGrpc.VorgangServiceImplBase {
responseObserver.onNext(reply); responseObserver.onNext(reply);
responseObserver.onCompleted(); responseObserver.onCompleted();
} }
@Override
public void findVorgang(FindVorgangRequest request,
io.grpc.stub.StreamObserver<de.itvsh.ozg.pluto.vorgang.FindVorgangReply> responseObserver) {
LOG.info("looking for {} vorgaenge", request.getLimit());
responseObserver.onNext(buildFindVorgangReply(request));
responseObserver.onCompleted();
}
private FindVorgangReply buildFindVorgangReply(FindVorgangRequest request) {
var builder = FindVorgangReply.newBuilder();
builder.setTotal(TOTAL_VORGAENGE);
int numberOfVorgaenge = request.getLimit();
for (int n = 0; n < numberOfVorgaenge; n++) {
builder.addVorgang(buildVorgangHeader());
}
return builder.build();
}
private VorgangHeader buildVorgangHeader() {
return VorgangHeader.newBuilder()//
.setId(UUID.randomUUID().toString())//
.setStatus("NEU")//
.setName(LOREM.getWords(2, 7))
.setCreatedAt(FAKER.date().past(14, TimeUnit.DAYS).toString())//
.build();
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment