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

Commit

Permalink
unit test and refine code
Browse files Browse the repository at this point in the history
  • Loading branch information
Patrick Huang committed Jun 20, 2012
1 parent 37024f5 commit a8a35b5
Show file tree
Hide file tree
Showing 5 changed files with 360 additions and 8 deletions.
Expand Up @@ -35,6 +35,7 @@
import org.zanata.dao.TextFlowDAO;
import org.zanata.model.HLocale;
import org.zanata.model.HTextFlow;
import org.zanata.model.HTextFlowTarget;
import org.zanata.service.SecurityService;
import org.zanata.webtrans.server.ActionHandlerFor;
import org.zanata.webtrans.server.TranslationWorkspace;
Expand Down Expand Up @@ -96,6 +97,12 @@ public UpdateTransUnitResult execute(TransMemoryMerge action, ExecutionContext c
List<TransUnitUpdateRequest> updateRequests = Lists.newArrayList();
for (HTextFlow hTextFlow : hTextFlows)
{
HTextFlowTarget hTextFlowTarget = hTextFlow.getTargets().get(hLocale);
if (hTextFlowTarget == null || hTextFlowTarget.getState() != ContentState.New)
{
log.warn("Text flow id {} is not untranslated. Ignored.", hTextFlow.getId());
continue;
}
ArrayList<TransMemoryResultItem> tmResults = getTransMemoryHandler.searchTransMemory(hLocale, new TransMemoryQuery(hTextFlow.getContents(), SearchType.FUZZY_PLURAL), idsWithTranslations);
TransMemoryResultItem tmResult = findTMAboveThreshold(tmResults, predicate);
TransUnitUpdateRequest request = createRequest(action, hLocale, requestMap, hTextFlow, tmResult);
Expand All @@ -105,9 +112,11 @@ public UpdateTransUnitResult execute(TransMemoryMerge action, ExecutionContext c
}
}

UpdateTransUnitResult result = updateTransUnitHandler.doTranslation(hLocale.getLocaleId(), workspace, updateRequests, action.getEditorClientId(), TransUnitUpdated.UpdateType.ReplaceText);
log.debug("TM merge result {}", result);
return result;
if (updateRequests.isEmpty())
{
return new UpdateTransUnitResult();
}
return updateTransUnitHandler.doTranslation(hLocale.getLocaleId(), workspace, updateRequests, action.getEditorClientId(), TransUnitUpdated.UpdateType.TMMerge);
}

private Map<Long, TransUnitUpdateRequest> transformToMap(List<TransUnitUpdateRequest> updateRequests)
Expand Down
Expand Up @@ -64,23 +64,26 @@ else if (needReview)

private void compareTextFlowResId(TransMemoryMerge action, HTextFlow tfToBeFilled, TransMemoryDetails tmDetail)
{
if (notEqual(tfToBeFilled.getResId(), tmDetail.getResId()))
if (action.getDifferentResIdOption() != MergeOption.APPROVED
&& notEqual(tfToBeFilled.getResId(), tmDetail.getResId()))
{
setFlagsBasedOnOption(action.getDifferentResIdOption());
}
}

private void compareDocId(TransMemoryMerge action, HTextFlow tfToBeFilled, TransMemoryDetails tmDetail)
{
if (notEqual(tfToBeFilled.getDocument().getDocId(), tmDetail.getDocId()))
if (action.getDifferentDocumentOption() != MergeOption.APPROVED
&& notEqual(tfToBeFilled.getDocument().getDocId(), tmDetail.getDocId()))
{
setFlagsBasedOnOption(action.getDifferentDocumentOption());
}
}

private void compareProjectName(TransMemoryMerge action, HTextFlow tfToBeFilled, TransMemoryDetails tmDetail)
{
if (notEqual(tfToBeFilled.getDocument().getProjectIteration().getProject().getName(), tmDetail.getProjectName()))
if (action.getDifferentProjectOption() != MergeOption.APPROVED
&& notEqual(tfToBeFilled.getDocument().getProjectIteration().getProject().getName(), tmDetail.getProjectName()))
{
setFlagsBasedOnOption(action.getDifferentProjectOption());
}
Expand Down
Expand Up @@ -23,6 +23,7 @@

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.google.gwt.user.client.rpc.IsSerializable;

Expand Down Expand Up @@ -83,7 +84,7 @@ public String getTarget()
return targetContents.get(0);
}

public ArrayList<String> getTargetContents()
public List<String> getTargetContents()
{
return targetContents;
}
Expand Down
26 changes: 25 additions & 1 deletion zanata-war/src/test/java/org/zanata/model/TestFixture.java
Expand Up @@ -21,8 +21,10 @@

package org.zanata.model;

import java.util.Date;

import org.zanata.common.ContentState;
import org.zanata.model.HTextFlow;
import org.zanata.common.ContentType;
import org.zanata.webtrans.shared.model.TransUnit;

public class TestFixture
Expand All @@ -37,4 +39,26 @@ public static TransUnit makeTransUnit(int id, ContentState contentState)
return TransUnit.Builder.newTransUnitBuilder().setId(id).setResId("resId" + id).setVerNum(0)
.setLocaleId("en").addSource("source").addTargets("target").setStatus(contentState).setRowIndex(id).build();
}

public static HTextFlow makeHTextFlow(long id, HLocale hLocale, ContentState contentState, String docId)
{
HDocument hDocument = new HDocument(docId, "message.po", "/src/main/resources", ContentType.PO, hLocale);
HTextFlow hTextFlow = new HTextFlow(hDocument, "resId" + id, "hello world " + id);
hTextFlow.setId(id);
hTextFlow.setPos((int) id);

HTextFlowTarget target = new HTextFlowTarget();
target.setTextFlow(hTextFlow);
target.setVersionNum(0);
target.setState(contentState);
target.setLastChanged(new Date());

hTextFlow.getTargets().put(hLocale, target);
return hTextFlow;
}

public static HTextFlow makeApprovedHTextFlow(long id, HLocale hLocale)
{
return makeHTextFlow(id, hLocale, ContentState.Approved, "pot/message.pot");
}
}

0 comments on commit a8a35b5

Please sign in to comment.