Skip to content
Snippets Groups Projects
Verified Commit 52881f3a authored by Timm Fitschen's avatar Timm Fitschen
Browse files

WIP: error handling for single entity retrieve

parent 3e927b86
No related branches found
No related tags found
2 merge requests!44Release 0.6,!43Merge f-GRPC-main to dev
caosdb-proto @ 3f867687
Subproject commit 12f072263c05208464b80c0124bde0396b100d86
Subproject commit 3f867687cc71e42e964051b35f856abf6b1c8f09
......@@ -25,7 +25,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.caosdb</groupId>
<artifactId>caosdb-server</artifactId>
<version>0.5.0-GRPC0.0.5</version>
<version>0.5.0-GRPC0.0.6</version>
<packaging>jar</packaging>
<name>CaosDB Server</name>
<scm>
......
......@@ -2,6 +2,8 @@ package org.caosdb.server.grpc;
import io.grpc.stub.StreamObserver;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.UUID;
import org.apache.shiro.SecurityUtils;
import org.caosdb.api.entity.v1alpha1.ByIdRequest;
......@@ -14,6 +16,7 @@ import org.caosdb.api.entity.v1alpha1.RetrieveResponse;
import org.caosdb.api.entity.v1alpha1.Version;
import org.caosdb.server.entity.EntityInterface;
import org.caosdb.server.entity.MagicTypes;
import org.caosdb.server.entity.Message;
import org.caosdb.server.entity.RetrieveEntity;
import org.caosdb.server.entity.container.ParentContainer;
import org.caosdb.server.entity.container.PropertyContainer;
......@@ -64,7 +67,33 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa
if (from.hasParents()) {
builder.addAllParents(convert(from.getParents()));
}
if (from.hasMessage(Message.MessageType.Error.toString())) {
builder.addAllErrors(convert(from.getMessages(Message.MessageType.Error.toString())));
}
if (from.hasMessage(Message.MessageType.Warning.toString())) {
builder.addAllErrors(convert(from.getMessages(Message.MessageType.Warning.toString())));
}
if (from.hasMessage(Message.MessageType.Info.toString())) {
builder.addAllErrors(convert(from.getMessages(Message.MessageType.Info.toString())));
}
return builder.build();
}
private Iterable<? extends org.caosdb.api.entity.v1alpha1.Message> convert(
final List<Message> messages) {
final List<org.caosdb.api.entity.v1alpha1.Message> result = new LinkedList<>();
for (final Message m : messages) {
result.add(convert(m));
}
return result;
}
private org.caosdb.api.entity.v1alpha1.Message convert(final Message m) {
final org.caosdb.api.entity.v1alpha1.Message.Builder builder =
org.caosdb.api.entity.v1alpha1.Message.newBuilder();
builder.setCode(m.getCode());
builder.setDescription(m.getDescription());
return builder.build();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment