use of org.eclipse.che.ide.ext.java.shared.dto.Problem in project che by eclipse.
the class PomReconcilerTest method testReconcilePomWhenMavenProjectIsNotFound.
@Test
public void testReconcilePomWhenMavenProjectIsNotFound() throws Exception {
MavenServerService serverService = new MavenServerService(null, projectRegistry, pm, projectManager, null, null);
FolderEntry testProject = createTestProject(PROJECT_NAME, "");
VirtualFileEntry pom = testProject.getChild("pom.xml");
List<Problem> problems = serverService.reconcilePom(String.format("/%s/pom.xml", PROJECT_NAME));
assertThat(problems).isEmpty();
assertThat(pom).isNotNull();
}
use of org.eclipse.che.ide.ext.java.shared.dto.Problem in project che by eclipse.
the class PomReconcilerTest method testReconcilePomWhenPomContainsCorrectDependency.
@Test
public void testReconcilePomWhenPomContainsCorrectDependency() throws Exception {
String dependency = " <dependency>\n" + " <groupId>junit</groupId>\n" + " <artifactId>junit</artifactId>\n" + " <version>3.8.1</version>\n" + " <scope>test</scope>\n" + " </dependency>\n";
MavenServerService serverService = new MavenServerService(null, projectRegistry, pm, projectManager, null, null);
FolderEntry testProject = createTestProject(PROJECT_NAME, getPomContentWithDependency(dependency));
VirtualFileEntry pom = testProject.getChild("pom.xml");
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
mavenWorkspace.update(Collections.singletonList(project));
mavenWorkspace.waitForUpdate();
List<Problem> problems = serverService.reconcilePom(String.format("/%s/pom.xml", PROJECT_NAME));
assertThat(problems).isEmpty();
assertThat(pom).isNotNull();
}
use of org.eclipse.che.ide.ext.java.shared.dto.Problem in project che by eclipse.
the class PomReconcilerTest method testProblemPosition.
@Test
public void testProblemPosition() throws Exception {
MavenServerService serverService = new MavenServerService(null, projectRegistry, pm, projectManager, null, null);
FolderEntry testProject = createTestProject("A", "");
VirtualFileEntry child = testProject.getChild("pom.xml");
String newContent = getPomContent("<ss");
child.getVirtualFile().updateContent(newContent);
List<Problem> problems = serverService.reconcilePom("/A/pom.xml");
assertThat(problems).isNotEmpty();
Problem problem = problems.get(0);
assertThat(problem.getSourceStart()).isEqualTo(newContent.indexOf("<ss") + 3);
assertThat(problem.getSourceEnd()).isEqualTo(newContent.indexOf("<ss") + 4);
}
use of org.eclipse.che.ide.ext.java.shared.dto.Problem in project che by eclipse.
the class PomReconcilerTest method testReconcilePomWhenPomContainsDependecyWithIncorrectGroupId.
@Test
public void testReconcilePomWhenPomContainsDependecyWithIncorrectGroupId() throws Exception {
String brokenDependency = " <dependency>\n" + " <groupId>junittttt</groupId>\n" + " <artifactId>junit</artifactId>\n" + " <version>3.8.1</version>\n" + " <scope>test</scope>\n" + " </dependency>\n";
MavenServerService serverService = new MavenServerService(null, projectRegistry, pm, projectManager, null, null);
FolderEntry testProject = createTestProject(PROJECT_NAME, getPomContentWithDependency(brokenDependency));
VirtualFileEntry pom = testProject.getChild("pom.xml");
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
mavenWorkspace.update(Collections.singletonList(project));
mavenWorkspace.waitForUpdate();
List<Problem> problems = serverService.reconcilePom(String.format("/%s/pom.xml", PROJECT_NAME));
assertThat(problems).hasSize(1);
assertThat(problems.get(0).isError()).isTrue();
assertThat(pom).isNotNull();
}
use of org.eclipse.che.ide.ext.java.shared.dto.Problem in project che by eclipse.
the class JavaReconcilerStrategy method doReconcile.
private void doReconcile(final List<Problem> problems) {
if (this.annotationModel == null) {
return;
}
ProblemRequester problemRequester;
if (this.annotationModel instanceof ProblemRequester) {
problemRequester = (ProblemRequester) this.annotationModel;
problemRequester.beginReporting();
} else {
if (editorWithErrors != null) {
editorWithErrors.setErrorState(EditorWithErrors.EditorState.NONE);
}
return;
}
try {
boolean error = false;
boolean warning = false;
for (Problem problem : problems) {
if (!error) {
error = problem.isError();
}
if (!warning) {
warning = problem.isWarning();
}
problemRequester.acceptProblem(problem);
}
if (editorWithErrors != null) {
if (error) {
editorWithErrors.setErrorState(EditorWithErrors.EditorState.ERROR);
} else if (warning) {
editorWithErrors.setErrorState(EditorWithErrors.EditorState.WARNING);
} else {
editorWithErrors.setErrorState(EditorWithErrors.EditorState.NONE);
}
}
} catch (final Exception e) {
Log.error(getClass(), e);
} finally {
problemRequester.endReporting();
}
}
Aggregations