/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.plugin.testing.ide.view; import org.eclipse.che.api.testing.shared.TestResult; import org.eclipse.che.ide.api.parts.PartStackType; import org.eclipse.che.ide.api.parts.WorkspaceAgent; import org.eclipse.che.ide.api.parts.base.BasePresenter; import org.eclipse.che.plugin.testing.ide.TestLocalizationConstant; import org.eclipse.che.plugin.testing.ide.TestResources; import org.vectomatic.dom.svg.ui.SVGResource; import com.google.gwt.user.client.ui.AcceptsOneWidget; import com.google.gwt.user.client.ui.IsWidget; import com.google.inject.Inject; import com.google.inject.Singleton; /** * Presenter for the displaying the test results on the workspace. * * @author Mirage Abeysekara */ @Singleton public class TestResultPresenter extends BasePresenter implements TestResultView.ActionDelegate { private final WorkspaceAgent workspaceAgent; private final TestLocalizationConstant localizationConstant; private final TestResources resources; private final TestResultView view; @Inject public TestResultPresenter(WorkspaceAgent workspaceAgent, TestLocalizationConstant localizationConstant, TestResources resources, TestResultView view) { this.workspaceAgent = workspaceAgent; this.localizationConstant = localizationConstant; this.resources = resources; this.view = view; view.setDelegate(this); } @Override public String getTitle() { return localizationConstant.titleTestResultPresenter(); } @Override public IsWidget getView() { return view; } @Override public String getTitleToolTip() { return localizationConstant.titleTestResultPresenterToolTip(); } @Override public SVGResource getTitleImage() { return resources.testIcon(); } @Override public void go(AcceptsOneWidget container) { container.setWidget(view); } /** * Activate Test results part and showing the test results. * * @param response * result of the test runner */ public void handleResponse(TestResult response) { workspaceAgent.openPart(this, PartStackType.INFORMATION); workspaceAgent.setActivePart(this); view.showResults(response); } }