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

Commit

Permalink
Work in progress: implementing validation report
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex Eng committed Mar 20, 2013
1 parent 3f4d2e1 commit efedc53
Showing 1 changed file with 31 additions and 7 deletions.
Expand Up @@ -26,21 +26,28 @@
import net.customware.gwt.presenter.client.EventBus;
import net.customware.gwt.presenter.client.widget.WidgetPresenter;

import org.zanata.webtrans.client.events.NotificationEvent;
import org.zanata.webtrans.client.events.NotificationEvent.Severity;
import org.zanata.webtrans.client.events.RunDocValidationEvent;
import org.zanata.webtrans.client.events.RunDocValidationResultEvent;
import org.zanata.webtrans.client.events.RunDocValidationResultHandler;
import org.zanata.webtrans.client.events.WorkspaceContextUpdateEvent;
import org.zanata.webtrans.client.events.WorkspaceContextUpdateEventHandler;
import org.zanata.webtrans.client.resources.WebTransMessages;
import org.zanata.webtrans.client.rpc.CachingDispatchAsync;
import org.zanata.webtrans.client.service.ValidationService;
import org.zanata.webtrans.client.view.ValidationOptionsDisplay;
import org.zanata.webtrans.shared.model.DocumentId;
import org.zanata.webtrans.shared.model.ValidationAction;
import org.zanata.webtrans.shared.model.ValidationInfo;
import org.zanata.webtrans.shared.rpc.DownloadAllFilesResult;
import org.zanata.webtrans.shared.rpc.RunDocValidationReportAction;
import org.zanata.webtrans.shared.rpc.RunDocValidationReportResult;

import com.google.gwt.event.logical.shared.HasValueChangeHandlers;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.inject.Inject;

/**
Expand All @@ -53,15 +60,19 @@ public class ValidationOptionsPresenter extends WidgetPresenter<ValidationOption
{
private final ValidationService validationService;
private final WebTransMessages messages;
private final CachingDispatchAsync dispatcher;
private final UserConfigHolder configHolder;
private MainView currentView;
private Set<DocumentId> errorDocs;

@Inject
public ValidationOptionsPresenter(ValidationOptionsDisplay display, EventBus eventBus, final ValidationService validationService, final WebTransMessages messages)
public ValidationOptionsPresenter(ValidationOptionsDisplay display, EventBus eventBus, CachingDispatchAsync dispatcher, final ValidationService validationService, final WebTransMessages messages, final UserConfigHolder configHolder)
{
super(display, eventBus);
this.validationService = validationService;
this.messages = messages;
this.dispatcher = dispatcher;
this.configHolder = configHolder;
}

@Override
Expand Down Expand Up @@ -139,7 +150,7 @@ public void setCurrentView(MainView view)
{
display.setRunValidationVisible(true);
display.setRunValidationTitle(messages.documentValidationTitle());
if(hasErrorReport())
if (hasErrorReport())
{
display.showReportLink(true);
}
Expand Down Expand Up @@ -173,14 +184,27 @@ public void onCompleteRunDocValidation(RunDocValidationResultEvent event)
public void onRequestValidationReport()
{
// display.showReportPopup(errorDocs);
// run RPC call, by each docs
for (final DocumentId documentId : errorDocs)
{
dispatcher.execute(new RunDocValidationReportAction(configHolder.getState().getEnabledValidationIds(), documentId.getId()), new AsyncCallback<RunDocValidationReportResult>()
{
@Override
public void onFailure(Throwable caught)
{
eventBus.fireEvent(new NotificationEvent(Severity.Error, "Error generating report for document " + documentId));
}

@Override
public void onSuccess(RunDocValidationReportResult result)
{
// display.updateReport(documentId, result.getResult());
}
});
}
}

private boolean hasErrorReport()
{
return errorDocs != null && !errorDocs.isEmpty();
}
}



0 comments on commit efedc53

Please sign in to comment.