Package org.zanata.webtrans.client.rpc

Source Code of org.zanata.webtrans.client.rpc.DummyGetDocsListCommand

/**
*
*/
package org.zanata.webtrans.client.rpc;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;

import org.zanata.common.ContentState;
import org.zanata.common.LocaleId;
import org.zanata.common.TransUnitCount;
import org.zanata.common.TransUnitWords;
import org.zanata.rest.dto.stats.ContainerTranslationStatistics;
import org.zanata.rest.dto.stats.TranslationStatistics;
import org.zanata.webtrans.shared.model.AuditInfo;
import org.zanata.webtrans.shared.model.DocumentId;
import org.zanata.webtrans.shared.model.DocumentInfo;
import org.zanata.webtrans.shared.model.ProjectIterationId;
import org.zanata.webtrans.shared.rpc.GetDocumentList;
import org.zanata.webtrans.shared.rpc.GetDocumentListResult;

import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.rpc.AsyncCallback;

final class DummyGetDocsListCommand implements Command {
    private final GetDocumentList action;
    private final AsyncCallback<GetDocumentListResult> callback;

    DummyGetDocsListCommand(GetDocumentList gtuAction,
            AsyncCallback<GetDocumentListResult> callback) {
        this.action = gtuAction;
        this.callback = callback;
    }

    @Override
    public void execute() {
        Log.info("ENTER DummyGetDocsListCommand.execute()");
        ProjectIterationId projectIterationId =
                action.getWorkspaceId().getProjectIterationId();
        GetDocumentListResult result =
                new GetDocumentListResult(projectIterationId,
                        generateTransUnitSampleData());
        callback.onSuccess(result);
        Log.info("EXIT DummyGetDocsListCommand.execute()");
    }

    private ArrayList<DocumentInfo> generateTransUnitSampleData() {
        HashMap<String, String> extensions = new HashMap<String, String>();
        extensions.put(".po", "");

        ArrayList<DocumentInfo> names = new ArrayList<DocumentInfo>();
        names.add(new DocumentInfo(new DocumentId(new Long(0), ""), "name0",
                "", LocaleId.EN_US, newStats(0), new AuditInfo(new Date(),
                        "Translator"), extensions, new AuditInfo(new Date(),
                        "last translator")));
        names.add(new DocumentInfo(new DocumentId(new Long(1), ""),
                "path1name1", "path/1", LocaleId.EN_US, newStats(1),
                new AuditInfo(new Date(), "Translator"), extensions,
                new AuditInfo(new Date(), "last translator")));
        names.add(new DocumentInfo(new DocumentId(new Long(2), ""),
                "path1name2", "path/1", LocaleId.EN_US, newStats(2),
                new AuditInfo(new Date(), "Translator"), extensions,
                new AuditInfo(new Date(), "last translator")));
        names.add(new DocumentInfo(new DocumentId(new Long(3), ""),
                "path2name1", "path/2", LocaleId.EN_US, newStats(3),
                new AuditInfo(new Date(), "Translator"), extensions,
                new AuditInfo(new Date(), "last translator")));
        names.add(new DocumentInfo(new DocumentId(new Long(4), ""),
                "path2name2", "path/2", LocaleId.EN_US, newStats(4),
                new AuditInfo(new Date(), "Translator"), extensions,
                new AuditInfo(new Date(), "last translator")));
        names.add(new DocumentInfo(new DocumentId(new Long(5), ""), "name2",
                "", LocaleId.EN_US, newStats(5), new AuditInfo(new Date(),
                        "Translator"), extensions, new AuditInfo(new Date(),
                        "last translator")));
        names.add(new DocumentInfo(new DocumentId(new Long(6), ""), "name1",
                "", LocaleId.EN_US, newStats(6), new AuditInfo(new Date(),
                        "Translator"), extensions, new AuditInfo(new Date(),
                        "last translator")));
        names.add(new DocumentInfo(
                new DocumentId(new Long(7), ""),
                "long name, a name which is really quite long, too wide to be displayed without scrolling (in most cases)",
                "", LocaleId.EN_US, newStats(7), new AuditInfo(new Date(),
                        "Translator"), extensions, new AuditInfo(new Date(),
                        "last translator")));
        names.add(new DocumentInfo(
                new DocumentId(new Long(8), ""),
                "another long name, a name which is really quite long, too wide to be displayed without scrolling (in most cases)",
                "long path, a path which is, again, really quite long, and also too wide to be displayed without scrolling (in most cases)",
                LocaleId.EN_US, newStats(8), new AuditInfo(new Date(),
                        "Translator"), extensions, new AuditInfo(new Date(),
                        "last translator")));
        for (int n = 0; n < 100; n++) {
            // two digit numbers, to make sorting happier
            names.add(new DocumentInfo(new DocumentId(new Long(n), ""), "multi"
                    + n, "", LocaleId.EN_US, newStats(n), new AuditInfo(
                    new Date(), "Translator"), extensions, new AuditInfo(
                    new Date(), "last translator")));
        }
        return names;
    }

    private ContainerTranslationStatistics newStats(int docID) {
        TransUnitCount count = new TransUnitCount();
        count.set(ContentState.Approved, 34 * docID);
        count.set(ContentState.NeedReview, 23 * docID);
        count.set(ContentState.New, 43 * docID);

        TransUnitWords words = new TransUnitWords();
        words.set(ContentState.Approved, 70 * docID);
        words.set(ContentState.NeedReview, 40 * docID);
        words.set(ContentState.New, 90 * docID);

        TranslationStatistics msgStats =
                new TranslationStatistics(count, LocaleId.EN_US.toString());
        TranslationStatistics wordStats =
                new TranslationStatistics(words, LocaleId.EN_US.toString());

        ContainerTranslationStatistics result =
                new ContainerTranslationStatistics();
        result.addStats(msgStats);
        result.addStats(wordStats);
        return result;
    }

}
TOP

Related Classes of org.zanata.webtrans.client.rpc.DummyGetDocsListCommand

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.