diff --git a/server/wfprev-api/src/main/java/ca/bc/gov/nrs/wfprev/data/assemblers/ProjectFiscalResourceAssembler.java b/server/wfprev-api/src/main/java/ca/bc/gov/nrs/wfprev/data/assemblers/ProjectFiscalResourceAssembler.java index 2148b42d5..7d5c3299f 100644 --- a/server/wfprev-api/src/main/java/ca/bc/gov/nrs/wfprev/data/assemblers/ProjectFiscalResourceAssembler.java +++ b/server/wfprev-api/src/main/java/ca/bc/gov/nrs/wfprev/data/assemblers/ProjectFiscalResourceAssembler.java @@ -116,9 +116,9 @@ public ProjectFiscalEntity toEntity(ProjectFiscalModel model, ProjectEntity proj entity.setFiscalYear(model.getFiscalYear() != null ? BigDecimal.valueOf(model.getFiscalYear()) : null); - if (model.getAncillaryFundingSourceGuid() != null) { + if (model.getAncillaryFundingSourceGuid() != null && !model.getAncillaryFundingSourceGuid().trim().isEmpty()) { entity.setAncillaryFundingSourceGuid(UUID.fromString(model.getAncillaryFundingSourceGuid())); - } + }else entity.setAncillaryFundingSourceGuid(null); entity.setProjectPlanStatusCode(model.getProjectPlanStatusCode()); entity.setPlanFiscalStatusCode(model.getPlanFiscalStatusCode()); entity.setEndorsementCode(model.getEndorsementCode()); @@ -182,10 +182,14 @@ public ProjectFiscalEntity updateEntity(ProjectFiscalModel projectFiscalModel, P projectFiscalModel.getFiscalYear() != null ? BigDecimal.valueOf(projectFiscalModel.getFiscalYear()) : existingEntity.getFiscalYear()); - existingEntity.setAncillaryFundingSourceGuid(nonNullOrDefault( - projectFiscalModel.getAncillaryFundingSourceGuid() != null ? UUID.fromString(projectFiscalModel.getAncillaryFundingSourceGuid()) : null, - existingEntity.getAncillaryFundingSourceGuid() - )); + existingEntity.setAncillaryFundingSourceGuid( + nonNullOrDefault( + isValidUuid(projectFiscalModel.getAncillaryFundingSourceGuid()) + ? UUID.fromString(projectFiscalModel.getAncillaryFundingSourceGuid()) + : null, + existingEntity.getAncillaryFundingSourceGuid() + ) + ); existingEntity.setProjectPlanStatusCode( nonNullOrDefault(projectFiscalModel.getProjectPlanStatusCode(), existingEntity.getProjectPlanStatusCode())); existingEntity.setPlanFiscalStatusCode( @@ -281,4 +285,8 @@ public ProjectFiscalEntity updateEntity(ProjectFiscalModel projectFiscalModel, P private T nonNullOrDefault(T newValue, T existingValue) { return newValue != null ? newValue : existingValue; } + + private boolean isValidUuid(String uuid) { + return uuid != null && !uuid.trim().isEmpty(); + } }