Merge branch 'develop/3.4' of github.com:thingsboard/thingsboard into develop/3.4
This commit is contained in:
commit
c4a4d4bd52
@ -139,18 +139,24 @@ public class DefaultEntitiesVersionControlService implements EntitiesVersionCont
|
|||||||
DonAsynchron.withCallback(pendingCommit, commit -> {
|
DonAsynchron.withCallback(pendingCommit, commit -> {
|
||||||
cachePut(commit.getTxId(), new VersionCreationResult());
|
cachePut(commit.getTxId(), new VersionCreationResult());
|
||||||
try {
|
try {
|
||||||
List<ListenableFuture<Void>> gitFutures = new ArrayList<>();
|
EntitiesExportCtx<?> theCtx;
|
||||||
switch (request.getType()) {
|
switch (request.getType()) {
|
||||||
case SINGLE_ENTITY: {
|
case SINGLE_ENTITY: {
|
||||||
handleSingleEntityRequest(new SimpleEntitiesExportCtx(user, commit, (SingleEntityVersionCreateRequest) request));
|
var ctx = new SimpleEntitiesExportCtx(user, commit, (SingleEntityVersionCreateRequest) request);
|
||||||
|
handleSingleEntityRequest(ctx);
|
||||||
|
theCtx = ctx;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case COMPLEX: {
|
case COMPLEX: {
|
||||||
handleComplexRequest(new ComplexEntitiesExportCtx(user, commit, (ComplexVersionCreateRequest) request));
|
var ctx = new ComplexEntitiesExportCtx(user, commit, (ComplexVersionCreateRequest) request);
|
||||||
|
handleComplexRequest(ctx);
|
||||||
|
theCtx = ctx;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
default:
|
||||||
|
throw new RuntimeException("Unsupported request type: " + request.getType());
|
||||||
}
|
}
|
||||||
var resultFuture = Futures.transformAsync(Futures.allAsList(gitFutures), f -> gitServiceQueue.push(commit), executor);
|
var resultFuture = Futures.transformAsync(Futures.allAsList(theCtx.getFutures()), f -> gitServiceQueue.push(commit), executor);
|
||||||
DonAsynchron.withCallback(resultFuture, result -> cachePut(commit.getTxId(), result), e -> processCommitError(user, request, commit, e), executor);
|
DonAsynchron.withCallback(resultFuture, result -> cachePut(commit.getTxId(), result), e -> processCommitError(user, request, commit, e), executor);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
processCommitError(user, request, commit, e);
|
processCommitError(user, request, commit, e);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user