package org.jboss.tools.maven.ui.bot.test.utils;
import org.jboss.reddeer.eclipse.ui.problems.Problem;
import org.jboss.reddeer.eclipse.ui.problems.ProblemsView;
import org.jboss.reddeer.eclipse.ui.problems.ProblemsView.ProblemType;
import org.jboss.reddeer.common.condition.AbstractWaitCondition;
public class ProjectHasErrors extends AbstractWaitCondition {
String projectName;
String acceptType;
public ProjectHasErrors(String projectName, String acceptType) {
this.projectName = projectName;
this.acceptType = acceptType;
}
@Override
public boolean test() {
ProblemsView pv = new ProblemsView();
pv.open();
if (acceptType != null) {
for (Problem problem : pv.getProblems(ProblemType.ERROR)) {
if (problem.getPath().contains(projectName)
&& problem.getType().contains(acceptType)) {
continue;
} else if (problem.getPath().contains(projectName)) {
return true;
}
}
} else {
for (Problem problem : pv.getProblems(ProblemType.ERROR)) {
if (problem.getPath().contains(projectName)) {
return true;
}
}
}
return false;
}
@Override
public String description() {
return projectName + " contains errors";
}
}