Package org.zanata.service.impl

Source Code of org.zanata.service.impl.TranslationMergeFirstTran

package org.zanata.service.impl;

import java.util.Collections;
import java.util.List;
import java.util.Set;

import org.zanata.common.ContentState;
import org.zanata.model.HLocale;
import org.zanata.model.HTextFlow;
import org.zanata.model.HTextFlowTarget;
import org.zanata.rest.dto.resource.TextFlowTarget;
import org.zanata.service.TranslationMergeService;
import org.zanata.transformer.TargetTransformer;
import com.google.common.base.Preconditions;

/**
* @author Patrick Huang <a
*         href="mailto:pahuang@redhat.com">pahuang@redhat.com</a>
*/
public class TranslationMergeFirstTran implements TranslationMergeService {
    private final int nPlurals;
    private final HLocale hLocale;
    private final HTextFlow textFlow;

    public TranslationMergeFirstTran(int nPlurals, HLocale hLocale,
            HTextFlow textFlow) {
        this.nPlurals = nPlurals;
        this.hLocale = hLocale;
        this.textFlow = textFlow;
    }

    @Override
    public boolean merge(TextFlowTarget incomingTarget,
            HTextFlowTarget hTarget, Set<String> extensions) {
        Preconditions.checkArgument(hTarget == null,
                "This merge service only handles null HTextFlowTarget");

        boolean targetChanged = true;
        hTarget = new HTextFlowTarget(textFlow, hLocale);
        List<String> contents = Collections.nCopies(nPlurals, "");
        hTarget.setContents(contents);
        hTarget.setVersionNum(0); // incremented when content is set
        // textFlowTargetDAO.makePersistent(hTarget);
        textFlow.getTargets().put(hLocale.getId(), hTarget);
        targetChanged |=
                new TargetTransformer(extensions).transform(incomingTarget,
                        hTarget);
        if (incomingTarget.getState().isTranslated()) {
            hTarget.setState(ContentState.Translated);
        }
        return targetChanged;
    }

}
TOP

Related Classes of org.zanata.service.impl.TranslationMergeFirstTran

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.