Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
rhbz1012502 - reject text flow if contains fuzzy flag (gettext pot)
Browse files Browse the repository at this point in the history
  • Loading branch information
Patrick Huang committed Nov 29, 2013
1 parent 1eda383 commit d68a467
Showing 1 changed file with 21 additions and 8 deletions.
Expand Up @@ -39,6 +39,7 @@
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.web.FileUploadException;
import org.zanata.ApplicationConfiguration;
import org.zanata.common.ContentState;
import org.zanata.common.LocaleId;
Expand Down Expand Up @@ -371,11 +372,13 @@ private boolean tryGetOrCreateTargetHeader(HDocument doc, HLocale locale,
}

private boolean transferFromTextFlowExtensions(
ExtensionSet<TextFlowExtension> from, HTextFlow to,
TextFlow from, HTextFlow to,
Set<String> enabledExtensions) {
boolean changed = false;
ExtensionSet<TextFlowExtension> extensions = from.getExtensions(true);
if (enabledExtensions.contains(PotEntryHeader.ID)) {
PotEntryHeader entryHeader = from.findByType(PotEntryHeader.class);
PotEntryHeader entryHeader =
extensions.findByType(PotEntryHeader.class);
if (entryHeader != null) {
HPotEntryData hEntryHeader = to.getPotEntryData();

Expand All @@ -386,11 +389,12 @@ private boolean transferFromTextFlowExtensions(
log.debug("set potentryheader");
}
changed |=
transferFromPotEntryHeader(entryHeader, hEntryHeader);
transferFromPotEntryHeader(entryHeader, hEntryHeader,
from);
}
}
if (enabledExtensions.contains(SimpleComment.ID)) {
SimpleComment comment = from.findByType(SimpleComment.class);
SimpleComment comment = extensions.findByType(SimpleComment.class);
if (comment != null) {
HSimpleComment hComment = to.getComment();

Expand All @@ -414,10 +418,11 @@ private boolean transferFromTextFlowExtensions(
* @see #transferToPotEntryHeader(HPotEntryData, PotEntryHeader)
* @param from
* @param to
* @param textFlow
* @return
*/
private boolean transferFromPotEntryHeader(PotEntryHeader from,
HPotEntryData to) {
HPotEntryData to, TextFlow textFlow) {
boolean changed = false;

if (!equals(from.getContext(), to.getContext())) {
Expand All @@ -426,7 +431,15 @@ private boolean transferFromPotEntryHeader(PotEntryHeader from,
}

List<String> flagList = from.getFlags();
String flags = StringUtil.concat(from.getFlags(), ',');
// rhbz1012502 - should not store fuzzy tag in source document
if (flagList.contains("fuzzy")) {
throw new FileUploadException(String.format(
"Please remove fuzzy flags from document. "
+ "First fuzzy flag was found on "
+ "text flow %s with content %s", textFlow.getId(),
textFlow.getContents()));
}
String flags = StringUtil.concat(flagList, ',');
if (flagList.isEmpty()) {
flags = null;
}
Expand Down Expand Up @@ -603,7 +616,7 @@ private boolean transferFromTextFlow(TextFlow from, HTextFlow to,

// TODO from.getLang()

transferFromTextFlowExtensions(from.getExtensions(true), to,
transferFromTextFlowExtensions(from, to,
enabledExtensions);

return changed;
Expand Down Expand Up @@ -1156,7 +1169,7 @@ public void transferToTextFlowExtensions(HTextFlow from,
}

/**
* @see #transferFromPotEntryHeader(PotEntryHeader, HPotEntryData)
* @see #transferFromPotEntryHeader(org.zanata.rest.dto.extensions.gettext.PotEntryHeader, org.zanata.model.po.HPotEntryData, org.zanata.rest.dto.resource.TextFlow)
* @param from
* @param to
*/
Expand Down

0 comments on commit d68a467

Please sign in to comment.