From f6f21a0598e8fac63861097493eec164c5ef2bf6 Mon Sep 17 00:00:00 2001 From: Jean Aurambault Date: Tue, 11 Jul 2023 19:49:09 -0700 Subject: [PATCH] Fixes batch import logic to not copy over the source comment into target comment. If an actual target comment is provided, it will be saved properly. Noticed that the source comment gets systematically copied into the target text unit variant when performing a ThirdPartySync but it applies to all import. This seems to be the behavior since day 1 of the TextUnitBatchImporterService yet it is a bug. --- .../mojito/okapi/AbstractImportTranslationsStep.java | 2 +- .../tm/importer/TextUnitBatchImporterService.java | 7 ++++--- .../tm/importer/TextUnitForBatchMatcherImport.java | 9 +++++++++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/webapp/src/main/java/com/box/l10n/mojito/okapi/AbstractImportTranslationsStep.java b/webapp/src/main/java/com/box/l10n/mojito/okapi/AbstractImportTranslationsStep.java index 05c07335fa..06f81bf1ec 100644 --- a/webapp/src/main/java/com/box/l10n/mojito/okapi/AbstractImportTranslationsStep.java +++ b/webapp/src/main/java/com/box/l10n/mojito/okapi/AbstractImportTranslationsStep.java @@ -445,7 +445,7 @@ TMTextUnitVariant importTextUnit( tmTextUnitId, targetLocaleId, targetString, - null, + targetComment, status, includedInLocalizedFile, createdDate, diff --git a/webapp/src/main/java/com/box/l10n/mojito/service/tm/importer/TextUnitBatchImporterService.java b/webapp/src/main/java/com/box/l10n/mojito/service/tm/importer/TextUnitBatchImporterService.java index 32423c9247..077b09878e 100644 --- a/webapp/src/main/java/com/box/l10n/mojito/service/tm/importer/TextUnitBatchImporterService.java +++ b/webapp/src/main/java/com/box/l10n/mojito/service/tm/importer/TextUnitBatchImporterService.java @@ -217,7 +217,7 @@ void importTextUnitsOfLocaleAndAsset( currentTextUnit.getTmTextUnitId(), locale.getId(), textUnitForBatchImport.getContent(), - textUnitForBatchImport.getComment(), + textUnitForBatchImport.getTargetComment(), textUnitForBatchImport.getStatus(), textUnitForBatchImport.isIncludedInLocalizedFile(), importTime, @@ -234,11 +234,11 @@ boolean isUpdateNeeded(TextUnitForBatchMatcherImport textUnitForBatchImport) { currentTextUnit.getStatus(), DigestUtils.md5Hex(currentTextUnit.getTarget()), currentTextUnit.isIncludedInLocalizedFile(), - currentTextUnit.getComment(), + currentTextUnit.getTargetComment(), textUnitForBatchImport.getStatus(), DigestUtils.md5Hex(textUnitForBatchImport.getContent()), textUnitForBatchImport.isIncludedInLocalizedFile(), - textUnitForBatchImport.getComment()); + textUnitForBatchImport.getTargetComment()); } List getTextUnitTDOsForLocaleAndAsset(Locale locale, Asset asset) { @@ -360,6 +360,7 @@ List skipInvalidAndConvertToTextUnitForBatchImpor textUnitForBatchImport.setLocale(localeService.findByBcp47Tag(t.getTargetLocale())); textUnitForBatchImport.setContent(NormalizationUtils.normalize(t.getTarget())); textUnitForBatchImport.setComment(t.getComment()); + textUnitForBatchImport.setTargetComment(t.getTargetComment()); textUnitForBatchImport.setIncludedInLocalizedFile(t.isIncludedInLocalizedFile()); textUnitForBatchImport.setStatus(t.getStatus() == null ? APPROVED : t.getStatus()); diff --git a/webapp/src/main/java/com/box/l10n/mojito/service/tm/importer/TextUnitForBatchMatcherImport.java b/webapp/src/main/java/com/box/l10n/mojito/service/tm/importer/TextUnitForBatchMatcherImport.java index f6f286ba18..a09226a3c2 100644 --- a/webapp/src/main/java/com/box/l10n/mojito/service/tm/importer/TextUnitForBatchMatcherImport.java +++ b/webapp/src/main/java/com/box/l10n/mojito/service/tm/importer/TextUnitForBatchMatcherImport.java @@ -16,6 +16,7 @@ public class TextUnitForBatchMatcherImport implements TextUnitForBatchMatcher { String content; String name; String comment; + String targetComment; Long tmTextUnitId; TextUnitDTO currentTextUnit; boolean includedInLocalizedFile; @@ -70,6 +71,14 @@ public void setComment(String comment) { this.comment = comment; } + public String getTargetComment() { + return targetComment; + } + + public void setTargetComment(String targetComment) { + this.targetComment = targetComment; + } + @Override public Long getTmTextUnitId() { return tmTextUnitId;