package org.xpect.ui.services;
import java.util.Set;
import org.eclipse.xtext.ui.validation.MarkerTypeProvider;
import org.eclipse.xtext.validation.CheckType;
import org.eclipse.xtext.validation.Issue;
import org.xpect.registry.DefaultBinding;
import com.google.common.collect.ImmutableSet;
import com.google.inject.Inject;
public class XtMarkerTypeProvider extends MarkerTypeProvider {
public static String MARKER_ID_SUCCESS = "org.xpect.ui.live_test_execution_success";
public static String MARKER_ID_FAIL = "org.xpect.ui.live_test_execution_failed";
public static String MARKER_ID_ERROR = "org.xpect.ui.live_test_execution_error";
public static String MARKER_ID_IGNORED = "org.xpect.ui.live_test_execution_ignored";
public static Set<String> MARKER_ALL = ImmutableSet.<String> builder().add(MARKER_ID_ERROR).add(MARKER_ID_FAIL).add(MARKER_ID_IGNORED).add(MARKER_ID_SUCCESS).build();
@Inject
@DefaultBinding
private MarkerTypeProvider delegate;
@Override
public CheckType getCheckType(String markerType) {
if (MARKER_ALL.contains(markerType))
return CheckType.FAST;
return delegate.getCheckType(markerType);
}
@Override
public String getMarkerType(Issue issue) {
String code = issue.getCode();
if (LiveTestIssueFactory.ISSUE_CODE_TEST_SUCCESS.equals(code)) {
return MARKER_ID_SUCCESS;
}
if (LiveTestIssueFactory.ISSUE_CODE_TEST_IGNORE.equals(code)) {
return MARKER_ID_IGNORED;
}
if (LiveTestIssueFactory.ISSUE_CODE_TEST_FAIL.equals(code)) {
return MARKER_ID_FAIL;
}
if (LiveTestIssueFactory.ISSUE_CODE_TEST_ERROR.equals(code)) {
return MARKER_ID_ERROR;
}
return delegate.getMarkerType(issue);
}
}