diff --git a/pom.xml b/pom.xml index f3ab3fc572e2d7d50a31198ed295ad6439a030c6..95345d95992fb3a7081fd6277c30f8deefadd9a8 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.caosdb</groupId> <artifactId>caosdb-server</artifactId> - <version>0.5.0-GRPC0.0.7</version> + <version>0.5.0-GRPC0.0.8</version> <packaging>jar</packaging> <name>CaosDB Server</name> <scm> diff --git a/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java b/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java index 43d52ba5ef58198f444080dd5d50d81aba7cd52f..cfec86466e4893c11c7936350a5fc9f79cd2e02e 100644 --- a/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java +++ b/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java @@ -218,6 +218,19 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa final RetrieveEntity entity = new RetrieveEntity(getId(id)); container.add(entity); + } catch (final NumberFormatException e) { + // We handle this after the retrieval + } + } + + final Retrieve transaction = new Retrieve(container); + transaction.execute(); + + for (final TransactionRequest sub_request : request.getRequestsList()) { + final String id = sub_request.getRetrieveRequest().getId(); + try { + final EntityInterface entity = container.getEntityById(getId(id)); + builder.addResponses( TransactionResponse.newBuilder() .setRetrieveResponse(RetrieveResponse.newBuilder().setEntity(convert(entity)))); @@ -230,10 +243,6 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa RetrieveResponse.newBuilder().setEntity(entityDoesNotExist(id)))); } } - - final Retrieve transaction = new Retrieve(container); - transaction.execute(); - return builder.build(); }