Skip to content

Commit

Permalink
CTCTOWALTZ-3337:
Browse files Browse the repository at this point in the history
 [x] Fixed the PR review comments.
 finos#7156
  • Loading branch information
devendra-ramesh-patil-db committed Oct 17, 2024
1 parent 052121e commit eede768
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 38 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,8 @@
import org.finos.waltz.model.assessment_definition.AssessmentVisibility;
import org.finos.waltz.model.assessment_rating.bulk_upload.AssessmentRatingValidationResult;
import org.finos.waltz.model.assessment_rating.bulk_upload.ValidationError;
import org.finos.waltz.model.bulk_upload.BulkUpdateMode;
import org.finos.waltz.service.application.ApplicationService;
import org.finos.waltz.service.assessment_definition.AssessmentDefinitionService;
import org.finos.waltz.service.assessment_rating.BulkAssessmentRatingItemParser;
import org.finos.waltz.service.assessment_rating.BulkAssessmentRatingService;
import org.finos.waltz.test_common.helpers.ActorHelper;
import org.finos.waltz.test_common.helpers.AppHelper;
Expand Down Expand Up @@ -72,9 +70,7 @@ public void previewAdds() {

AssessmentRatingValidationResult result1 = bulkAssessmentRatingService.bulkPreview(
mkRef(def1.entityKind(), def1.id().get()),
mkGoodTsv(kindExternalId),
BulkAssessmentRatingItemParser.InputFormat.TSV,
BulkUpdateMode.ADD_ONLY);
mkGoodTsv(kindExternalId));

assertNotNull(result1, "Expected a result");
assertNoErrors(result1);
Expand All @@ -91,9 +87,7 @@ public void previewAdds() {

AssessmentRatingValidationResult result2 = bulkAssessmentRatingService.bulkPreview(
mkRef(def2.entityKind(),def2.id().get()),
mkGoodTsv(actorName),
BulkAssessmentRatingItemParser.InputFormat.TSV,
BulkUpdateMode.ADD_ONLY);
mkGoodTsv(actorName));

assertNotNull(result2,"Expected a result");
assertNoErrors(result2);
Expand All @@ -103,16 +97,16 @@ public void previewAdds() {

@Test
public void previewAddsForCardinalityChecks() {
String appName = mkName(stem, "previewApp1");
String appExternalId = mkName(stem, "previewAppCode1");
Long schemeId = ratingSchemeHelper.createEmptyRatingScheme(mkName(stem, "SchemeApp"));
String appName = mkName(stem, "previewApp3");
String appExternalId = mkName(stem, "previewAppCode3");
Long schemeId = ratingSchemeHelper.createEmptyRatingScheme(mkName(stem, "SchemeApp1"));
ratingSchemeHelper.saveRatingItem(schemeId, "Yes", 0, "green", "Y");
ratingSchemeHelper.saveRatingItem(schemeId, "No", 0, "red", "N");
appHelper.createNewApp(
appName,
ouIds.root,
appExternalId);
AssessmentDefinition def = assessmentDefinitionService.getById(getAssessmentDefinition(EntityKind.APPLICATION, schemeId, "Assessment"));
AssessmentDefinition def = assessmentDefinitionService.getById(getAssessmentDefinition(EntityKind.APPLICATION, schemeId, "Assessment1"));

/**
* Zero-One
Expand All @@ -121,9 +115,7 @@ public void previewAddsForCardinalityChecks() {
String[] ratingCodes = {"Y", "N"};
AssessmentRatingValidationResult result = bulkAssessmentRatingService.bulkPreview(
mkRef(def.entityKind(), def.id().get()),
mkTsvWithForCardinalityCheck(externalIds, ratingCodes),
BulkAssessmentRatingItemParser.InputFormat.TSV,
BulkUpdateMode.ADD_ONLY);
mkTsvWithForCardinalityCheck(externalIds, ratingCodes));

result
.validatedItems()
Expand Down Expand Up @@ -151,9 +143,7 @@ public void previewUpdateErrors() {

AssessmentRatingValidationResult result = bulkAssessmentRatingService.bulkPreview(
mkRef(def.entityKind(), def.id().get()),
mkBadTsv(appExternalId),
BulkAssessmentRatingItemParser.InputFormat.TSV,
BulkUpdateMode.ADD_ONLY);
mkBadTsv(appExternalId));

result
.validatedItems()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,9 @@ public BulkAssessmentRatingService(AssessmentDefinitionService assessmentDefinit
}

public AssessmentRatingValidationResult bulkPreview(EntityReference assessmentReference,
String inputStr,
BulkAssessmentRatingItemParser.InputFormat format,
BulkUpdateMode mode) {
String inputStr) {

AssessmentRatingParsedResult result = new BulkAssessmentRatingItemParser().parse(inputStr, format);
AssessmentRatingParsedResult result = new BulkAssessmentRatingItemParser().parse(inputStr, BulkAssessmentRatingItemParser.InputFormat.TSV);
if (result.error() != null) {
return ImmutableAssessmentRatingValidationResult
.builder()
Expand Down Expand Up @@ -168,8 +166,6 @@ public AssessmentRatingValidationResult bulkPreview(EntityReference assessmentRe

Set<Tuple2<EntityReference, Long>> toAdd = SetUtilities.map(assessmentRatingDiffResult.otherOnly(), d -> tuple(d.entityReference(), d.ratingId()));
Set<Tuple2<EntityReference, Long>> toUpdate = SetUtilities.map(assessmentRatingDiffResult.differingIntersection(), d -> tuple(d.entityReference(), d.ratingId()));
Set<Tuple2<EntityReference, Long>> toRemove = SetUtilities.map(assessmentRatingDiffResult.waltzOnly(), d -> tuple(d.entityReference(), d.ratingId()));


List<AssessmentRatingValidatedItem> validatedItems = validatedEntries
.stream()
Expand Down Expand Up @@ -201,15 +197,12 @@ public AssessmentRatingValidationResult bulkPreview(EntityReference assessmentRe
return ImmutableAssessmentRatingValidationResult
.builder()
.validatedItems(validatedItems)
.removals(mode == BulkUpdateMode.REPLACE
? toRemove
: emptySet())
.removals(emptySet())
.build();
}

public BulkAssessmentRatingApplyResult apply(EntityReference assessmentRef,
AssessmentRatingValidationResult preview,
BulkUpdateMode mode,
String userId) {

verifyUserHasPermissions(userId);
Expand Down Expand Up @@ -317,9 +310,7 @@ public BulkAssessmentRatingApplyResult apply(EntityReference assessmentRef,
DSLContext tx = ctx.dsl();
int insertCount = summarizeResults(tx.batchInsert(toAdd).execute());
int updateCount = summarizeResults(tx.batch(toUpdate).execute());
int removalCount = mode == BulkUpdateMode.REPLACE
? summarizeResults(tx.batch(toRemove).execute())
: 0;
int removalCount = 0;
int changeLogCount = summarizeResults(tx.batchInsert(auditLogs).execute());

LOG.info(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,8 @@ public class AssessmentRatingEndpoint implements Endpoint {
public AssessmentRatingEndpoint(AssessmentRatingService assessmentRatingService,
AssessmentDefinitionService assessmentDefinitionService,
AssessmentRatingPermissionChecker assessmentRatingPermissionChecker,
UserRoleService userRoleService, BulkAssessmentRatingService bulkAssessmentRatingService) {
UserRoleService userRoleService,
BulkAssessmentRatingService bulkAssessmentRatingService) {

checkNotNull(assessmentRatingService, "assessmentRatingService cannot be null");
checkNotNull(assessmentDefinitionService, "assessmentDefinitionService cannot be null");
Expand Down Expand Up @@ -281,11 +282,8 @@ private void registerPreviewBulkAssessmentRatingChanges(String path) {
postForDatum(path, (req, resp) -> {
EntityReference assessmentDefRef = mkRef(EntityKind.ASSESSMENT_DEFINITION, getId(req));
String modeStr = req.queryParams("mode");
String formatStr = req.queryParams("format");
BulkUpdateMode mode = EnumUtilities.readEnum(modeStr, BulkUpdateMode.class, s -> BulkUpdateMode.ADD_ONLY);
BulkAssessmentRatingItemParser.InputFormat format = EnumUtilities.readEnum(formatStr, BulkAssessmentRatingItemParser.InputFormat.class, s -> BulkAssessmentRatingItemParser.InputFormat.TSV);
String body = req.body();
return bulkAssessmentRatingService.bulkPreview(assessmentDefRef, body, format, mode);
return bulkAssessmentRatingService.bulkPreview(assessmentDefRef, body);
});
}

Expand All @@ -297,8 +295,8 @@ private void registerApplyBulkAssessmentRatingChanges(String path) {
BulkUpdateMode mode = EnumUtilities.readEnum(modeStr, BulkUpdateMode.class, s -> BulkUpdateMode.ADD_ONLY);
BulkAssessmentRatingItemParser.InputFormat format = EnumUtilities.readEnum(formatStr, BulkAssessmentRatingItemParser.InputFormat.class, s -> BulkAssessmentRatingItemParser.InputFormat.TSV);
String body = req.body();
AssessmentRatingValidationResult preview = bulkAssessmentRatingService.bulkPreview(assessmentDefRef, body, format, mode);
return bulkAssessmentRatingService.apply(assessmentDefRef, preview, mode, getUsername(req));
AssessmentRatingValidationResult preview = bulkAssessmentRatingService.bulkPreview(assessmentDefRef, body);
return bulkAssessmentRatingService.apply(assessmentDefRef, preview, getUsername(req));
});
}

Expand Down

0 comments on commit eede768

Please sign in to comment.