Skip to content

Commit

Permalink
MODCON-48 fixed comments
Browse files Browse the repository at this point in the history
  • Loading branch information
grabsefx committed Jul 3, 2023
1 parent 38c63d0 commit bc1d986
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@

import java.util.UUID;

import org.folio.consortia.domain.dto.PublicationStatus;
import org.folio.consortia.domain.entity.base.AuditableEntity;

import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Getter;
Expand All @@ -22,7 +25,8 @@ public class PublicationStatusEntity extends AuditableEntity {
@Id
private UUID id;

private String status;
@Enumerated(EnumType.ORDINAL)
private PublicationStatus status;

private Integer totalRecords;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,14 @@
import java.time.LocalDateTime;
import java.util.UUID;

import org.folio.consortia.domain.dto.PublicationStatus;
import org.folio.consortia.domain.entity.base.AuditableEntity;
import org.springframework.data.annotation.LastModifiedDate;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
Expand All @@ -32,7 +35,10 @@ public class PublicationTenantRequestEntity extends AuditableEntity {
private PublicationStatusEntity pcState;

private String tenantId;
private String status;

@Enumerated(EnumType.ORDINAL)
private PublicationStatus status;

private String requestUrl;
private String requestPayload;
private String response;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.apache.http.HttpException;
import org.folio.consortia.domain.dto.PublicationRequest;
import org.folio.consortia.domain.dto.PublicationResponse;
import org.folio.consortia.domain.dto.PublicationStatus;
import org.folio.consortia.domain.entity.PublicationStatusEntity;
import org.folio.consortia.domain.entity.PublicationTenantRequestEntity;
import org.folio.consortia.exception.PublicationException;
Expand Down Expand Up @@ -138,9 +139,9 @@ private PublicationTenantRequestEntity updatePublicationTenantRequest(ResponseEn
if (t == null) {
ptrEntity.setResponseStatusCode(responseEntity.getStatusCode().value());
ptrEntity.setResponse(responseEntity.getBody());
ptrEntity.setStatus(PublicationResponse.StatusEnum.SUCCESS.toString());
ptrEntity.setStatus(PublicationStatus.SUCCESS);
} else {
ptrEntity.setStatus(PublicationResponse.StatusEnum.ERROR.toString());
ptrEntity.setStatus(PublicationStatus.ERROR);
if (t.getCause() instanceof HttpClientErrorException httpClientErrorException) {
ptrEntity.setResponseStatusCode(httpClientErrorException.getStatusCode().value());
ptrEntity.setResponse(httpClientErrorException.getStatusText());
Expand All @@ -163,7 +164,7 @@ private PublicationTenantRequestEntity buildPublicationRequestEntity(Publication
ptrEntity.setRequestUrl(publicationRequest.getUrl());
ptrEntity.setRequestPayload(payload);
ptrEntity.setTenantId(tenantId);
ptrEntity.setStatus(PublicationResponse.StatusEnum.IN_PROGRESS.toString());
ptrEntity.setStatus(PublicationStatus.IN_PROGRESS);
ptrEntity.setPcState(savedPublicationEntity);

// set metadata
Expand All @@ -177,7 +178,7 @@ private PublicationStatusEntity persistPublicationRecord(UUID userId, int totalR

PublicationStatusEntity publicationStatusEntity = new PublicationStatusEntity();
publicationStatusEntity.setId(UUID.randomUUID());
publicationStatusEntity.setStatus(PublicationResponse.StatusEnum.IN_PROGRESS.toString());
publicationStatusEntity.setStatus(PublicationStatus.IN_PROGRESS);
publicationStatusEntity.setTotalRecords(totalRecords);

// set metadata
Expand All @@ -196,11 +197,11 @@ private void updatePublicationsStatus(List<CompletableFuture<PublicationTenantRe
.filter(future -> !future.isCompletedExceptionally())
.map(CompletableFuture::join)
.map(PublicationTenantRequestEntity::getStatus)
.anyMatch(status -> status.equals(PublicationResponse.StatusEnum.ERROR.getValue()));
.anyMatch(status -> status.equals(PublicationStatus.ERROR.getValue()));
var isErrorStatus = isCompletedWithExceptions || hasErrorStatus;

var updateStatus = isErrorStatus ? PublicationResponse.StatusEnum.ERROR : PublicationResponse.StatusEnum.SUCCESS;
publicationStatusEntity.setStatus(updateStatus.toString());
var updateStatus = isErrorStatus ? PublicationStatus.ERROR : PublicationStatus.SUCCESS;
publicationStatusEntity.setStatus(updateStatus);

// update metadata
publicationStatusEntity.setUpdatedBy(centralTenantContext.getUserId());
Expand All @@ -225,7 +226,7 @@ private void validatePublicationRequest(UUID consortiumId, PublicationRequest pu
private PublicationResponse buildPublicationResponse(UUID publicationId) {
return new PublicationResponse()
.id(publicationId.toString())
.status(PublicationResponse.StatusEnum.IN_PROGRESS);
.status(PublicationStatus.IN_PROGRESS);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,11 @@ PublicationResponse:
description: id of publication record
type: string
status:
description: HTTP method
type: string
enum: [ "IN_PROGRESS", "ERROR", "SUCCESS" ]
$ref: "publication_schema.yaml#/PublicationStatus"

additionalProperties: false

PublicationStatus:
description: publication status
enum: [ "IN_PROGRESS", "ERROR", "SUCCESS" ]

0 comments on commit bc1d986

Please sign in to comment.