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

MAINT: clean-up

parent 6581dc8a
No related branches found
No related tags found
3 merge requests!44Release 0.6,!43Merge f-GRPC-main to dev,!35F grpc f mixed write transactions
Pipeline #14140 passed
...@@ -39,6 +39,7 @@ import org.caosdb.api.entity.v1alpha1.UpdateRequest; ...@@ -39,6 +39,7 @@ import org.caosdb.api.entity.v1alpha1.UpdateRequest;
import org.caosdb.api.entity.v1alpha1.UpdateResponse; import org.caosdb.api.entity.v1alpha1.UpdateResponse;
import org.caosdb.api.entity.v1alpha1.Version; import org.caosdb.api.entity.v1alpha1.Version;
import org.caosdb.datetime.DateTimeInterface; import org.caosdb.datetime.DateTimeInterface;
import org.caosdb.server.CaosDBException;
import org.caosdb.server.datatype.AbstractCollectionDatatype; import org.caosdb.server.datatype.AbstractCollectionDatatype;
import org.caosdb.server.datatype.AbstractDatatype; import org.caosdb.server.datatype.AbstractDatatype;
import org.caosdb.server.datatype.BooleanDatatype; import org.caosdb.server.datatype.BooleanDatatype;
...@@ -476,6 +477,12 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa ...@@ -476,6 +477,12 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa
FileDownload file_download = null; FileDownload file_download = null;
for (final TransactionRequest sub_request : request.getRequestsList()) { for (final TransactionRequest sub_request : request.getRequestsList()) {
if (sub_request.getWrappedRequestsCase() != WrappedRequestsCase.RETRIEVE_REQUEST) {
throw new CaosDBException(
"Cannot process a "
+ sub_request.getWrappedRequestsCase().name()
+ " in a read-only request.");
}
final boolean fileDownload = sub_request.getRetrieveRequest().getRegisterFileDownload(); final boolean fileDownload = sub_request.getRetrieveRequest().getRegisterFileDownload();
if (sub_request.getRetrieveRequest().hasQuery() if (sub_request.getRetrieveRequest().hasQuery()
&& !sub_request.getRetrieveRequest().getQuery().getQuery().isBlank()) { && !sub_request.getRetrieveRequest().getQuery().getQuery().isBlank()) {
...@@ -564,18 +571,17 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa ...@@ -564,18 +571,17 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa
public MultiTransactionResponse transaction(final MultiTransactionRequest request) public MultiTransactionResponse transaction(final MultiTransactionRequest request)
throws Exception { throws Exception {
// we currently can only process one request type per multi transaction request.
WrappedRequestsCase requestCase = WrappedRequestsCase.WRAPPEDREQUESTS_NOT_SET;
if (request.getRequestsCount() > 0) { if (request.getRequestsCount() > 0) {
requestCase = request.getRequests(0).getWrappedRequestsCase(); final WrappedRequestsCase requestCase = request.getRequests(0).getWrappedRequestsCase();
} switch (requestCase) {
case RETRIEVE_REQUEST:
switch (requestCase) { return retrieve(request);
case RETRIEVE_REQUEST: default:
return retrieve(request); return write(request);
default: }
return write(request); } else {
// empty request, empty response.
return MultiTransactionResponse.newBuilder().build();
} }
} }
...@@ -649,7 +655,10 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa ...@@ -649,7 +655,10 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa
} }
break; break;
default: default:
throw new UnsupportedOperationException("Not implemented"); throw new CaosDBException(
"Cannot process a "
+ request.getWrappedRequestsCase().name()
+ " in a write request.");
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment