From 0a3971ef6d2098aa38c13505ff8155d22d584a25 Mon Sep 17 00:00:00 2001 From: Sean Flanigan Date: Mon, 11 Nov 2013 17:22:44 +1000 Subject: [PATCH 1/2] Check source hash (if provided) when translations are uploaded --- pom.xml | 2 +- .../service/impl/TranslationServiceImpl.java | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2d221b5109..4cf9a221d7 100644 --- a/pom.xml +++ b/pom.xml @@ -31,7 +31,7 @@ 1.2.1 0.22 - 3.1.2-SNAPSHOT + 3.2-SNAPSHOT 3.1.0 3.0.1 diff --git a/zanata-war/src/main/java/org/zanata/service/impl/TranslationServiceImpl.java b/zanata-war/src/main/java/org/zanata/service/impl/TranslationServiceImpl.java index b2cead7ef5..a7e8e4dc5f 100644 --- a/zanata-war/src/main/java/org/zanata/service/impl/TranslationServiceImpl.java +++ b/zanata-war/src/main/java/org/zanata/service/impl/TranslationServiceImpl.java @@ -20,6 +20,7 @@ */ package org.zanata.service.impl; +import java.text.MessageFormat; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; @@ -628,6 +629,7 @@ protected Boolean work() throws Exception { for (TextFlowTarget incomingTarget : batch) { String resId = incomingTarget.getResId(); + String sourceHash = incomingTarget.getSourceHash(); HTextFlow textFlow = textFlowDAO.getById(document, resId); if (textFlow == null) { @@ -640,6 +642,19 @@ protected Boolean work() throws Exception { log.warn( "skipping TextFlowTarget with unknown resId: {}", resId); + } else if (sourceHash != null && !sourceHash.equals(textFlow.getContentHash())) { + String warning = MessageFormat.format( + "TextFlowTarget {0} may be obsolete; " + + "associated source hash: {1}; " + + "expected hash is {2} for source: {3}", + resId, + sourceHash, + textFlow.getContentHash(), + textFlow.getContents()); + warnings.add(warning); + log.warn( + "skipping TextFlowTarget {} with unknown sourceHash: {}", + resId, sourceHash); } else { String validationMessage = validateTranslations( From b460acf287de18eef4cf025514a8af50784cee63 Mon Sep 17 00:00:00 2001 From: Sean Flanigan Date: Wed, 13 Nov 2013 09:39:03 +1000 Subject: [PATCH 2/2] Downgrade api to work around REST compatibility problem --- pom.xml | 2 +- .../service/impl/TranslationServiceImpl.java | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/pom.xml b/pom.xml index 4cf9a221d7..2d221b5109 100644 --- a/pom.xml +++ b/pom.xml @@ -31,7 +31,7 @@ 1.2.1 0.22 - 3.2-SNAPSHOT + 3.1.2-SNAPSHOT 3.1.0 3.0.1 diff --git a/zanata-war/src/main/java/org/zanata/service/impl/TranslationServiceImpl.java b/zanata-war/src/main/java/org/zanata/service/impl/TranslationServiceImpl.java index a7e8e4dc5f..c7f095f729 100644 --- a/zanata-war/src/main/java/org/zanata/service/impl/TranslationServiceImpl.java +++ b/zanata-war/src/main/java/org/zanata/service/impl/TranslationServiceImpl.java @@ -629,7 +629,7 @@ protected Boolean work() throws Exception { for (TextFlowTarget incomingTarget : batch) { String resId = incomingTarget.getResId(); - String sourceHash = incomingTarget.getSourceHash(); +// String sourceHash = incomingTarget.getSourceHash(); HTextFlow textFlow = textFlowDAO.getById(document, resId); if (textFlow == null) { @@ -642,19 +642,19 @@ protected Boolean work() throws Exception { log.warn( "skipping TextFlowTarget with unknown resId: {}", resId); - } else if (sourceHash != null && !sourceHash.equals(textFlow.getContentHash())) { - String warning = MessageFormat.format( - "TextFlowTarget {0} may be obsolete; " - + "associated source hash: {1}; " - + "expected hash is {2} for source: {3}", - resId, - sourceHash, - textFlow.getContentHash(), - textFlow.getContents()); - warnings.add(warning); - log.warn( - "skipping TextFlowTarget {} with unknown sourceHash: {}", - resId, sourceHash); +// } else if (sourceHash != null && !sourceHash.equals(textFlow.getContentHash())) { +// String warning = MessageFormat.format( +// "TextFlowTarget {0} may be obsolete; " +// + "associated source hash: {1}; " +// + "expected hash is {2} for source: {3}", +// resId, +// sourceHash, +// textFlow.getContentHash(), +// textFlow.getContents()); +// warnings.add(warning); +// log.warn( +// "skipping TextFlowTarget {} with unknown sourceHash: {}", +// resId, sourceHash); } else { String validationMessage = validateTranslations(