Skip to content

Commit

Permalink
refinements
Browse files Browse the repository at this point in the history
  • Loading branch information
LuciaM1 committed Oct 31, 2023
1 parent 2725465 commit 5eb0b21
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
import it.gov.pagopa.atmlayer.service.model.client.ProcessClient;
import it.gov.pagopa.atmlayer.service.model.dto.BpmnAssociationDto;
import it.gov.pagopa.atmlayer.service.model.dto.BpmnCreationDto;
import it.gov.pagopa.atmlayer.service.model.dto.DeployResponseDto;
import it.gov.pagopa.atmlayer.service.model.entity.BpmnBankConfig;
import it.gov.pagopa.atmlayer.service.model.entity.BpmnVersion;
import it.gov.pagopa.atmlayer.service.model.entity.BpmnVersionPK;
import it.gov.pagopa.atmlayer.service.model.enumeration.AppErrorCodeEnum;
import it.gov.pagopa.atmlayer.service.model.enumeration.FunctionTypeEnum;
import it.gov.pagopa.atmlayer.service.model.enumeration.StatusEnum;
import it.gov.pagopa.atmlayer.service.model.exception.AtmLayerException;
import it.gov.pagopa.atmlayer.service.model.service.BpmnVersionService;
import it.gov.pagopa.atmlayer.service.model.utils.BpmnDtoMapper;
Expand Down Expand Up @@ -107,17 +107,26 @@ public Uni<BpmnVersion> createBPMN(@RequestBody(required = true) @Valid BpmnCrea
@POST
@Path("/deploy/{uuid}/version/{version}")
@Produces(MediaType.APPLICATION_JSON)
public Uni<DeployResponseDto> deployBPMN(@PathParam("uuid") UUID uuid,
@PathParam("version") Long version) {
bpmnVersionService.checkBpmnFileExistence(uuid, version)
public Uni<BpmnVersion> deployBPMN(@PathParam("uuid") UUID uuid,
@PathParam("version") Long version) {
return bpmnVersionService.checkBpmnFileExistence(uuid, version)
.onItem()
.transformToUni(x -> {
if (!x) {
String errorMessage = "The referenced BPMN file can not be deployed";
throw new AtmLayerException(errorMessage, Response.Status.BAD_REQUEST, AppErrorCodeEnum.BPMN_FILE_CANNOT_BE_DEPLOYED);
}
return bpmnVersionService.setDeployInProgress(uuid, version);
return bpmnVersionService.setBpmnVersionStatus(uuid, version, StatusEnum.WAITING_DEPLOY);
})
.onItem()
.transformToUni(bpmnWaiting -> {
try {
processClient.deploy("url");
return bpmnVersionService.setBpmnVersionStatus(uuid, version, StatusEnum.DEPLOYED);
} catch (Exception e) {
bpmnVersionService.setBpmnVersionStatus(uuid, version, StatusEnum.DEPLOY_ERROR);
throw new RuntimeException("deploy failed");
}
});
return processClient.deploy("url");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import it.gov.pagopa.atmlayer.service.model.entity.BpmnVersion;
import it.gov.pagopa.atmlayer.service.model.entity.BpmnVersionPK;
import it.gov.pagopa.atmlayer.service.model.enumeration.FunctionTypeEnum;
import it.gov.pagopa.atmlayer.service.model.enumeration.StatusEnum;

import java.io.File;
import java.io.IOException;
Expand All @@ -15,10 +16,8 @@
import java.util.UUID;

public interface BpmnVersionService {

String decodeBase64(String s) throws IOException;


Uni<List<BpmnVersion>> findByPKSet(Set<BpmnVersionPK> bpmnVersionPKSet);

String calculateSHA256(File file) throws NoSuchAlgorithmException, IOException;
Expand All @@ -31,8 +30,7 @@ public interface BpmnVersionService {

Uni<List<BpmnBankConfig>> putAssociations(String acquirerId, FunctionTypeEnum functionTypeEnum, List<BpmnBankConfig> bpmnBankConfigs);

Uni<BpmnVersion> setDeployInProgress(UUID uuid, Long version);
Uni<BpmnVersion> setBpmnVersionStatus(UUID id, Long modelVersion, StatusEnum status);

public Uni<Boolean> checkBpmnFileExistence(UUID id, Long modelVersion);

}
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ private static Uni<List<BpmnBankConfig>> addFunctionTypeToAssociations(List<Bpmn

@Override
@WithTransaction
public Uni<BpmnVersion> setDeployInProgress(UUID id, Long modelVersion) {
public Uni<BpmnVersion> setBpmnVersionStatus(UUID id, Long modelVersion, StatusEnum status) {
BpmnVersionPK key = new BpmnVersionPK(id, modelVersion);
return this.findByPk(key)
.onItem()
Expand All @@ -112,7 +112,7 @@ public Uni<BpmnVersion> setDeployInProgress(UUID id, Long modelVersion) {
throw new AtmLayerException(errorMessage, Response.Status.BAD_REQUEST, AppErrorCodeEnum.BPMN_FILE_DOES_NOT_EXIST);
}
BpmnVersion bpmnToDeploy = optionalBpmn.get();
bpmnToDeploy.setStatus(StatusEnum.WAITING_DEPLOY);
bpmnToDeploy.setStatus(status);
return this.bpmnVersionRepository.persist(bpmnToDeploy);
}
);
Expand Down

0 comments on commit 5eb0b21

Please sign in to comment.