diff --git a/agents/ls-java/src/main/resources/installers/1.0.1/org.eclipse.che.ls.java.script.sh b/agents/ls-java/src/main/resources/installers/1.0.1/org.eclipse.che.ls.java.script.sh index 38dd89e099c..6834548674c 100644 --- a/agents/ls-java/src/main/resources/installers/1.0.1/org.eclipse.che.ls.java.script.sh +++ b/agents/ls-java/src/main/resources/installers/1.0.1/org.eclipse.che.ls.java.script.sh @@ -137,4 +137,4 @@ curl -sL ${DOWNLOAD_AGENT_BINARIES_URI} | tar xzf - -C ${LS_DIR} echo writing start script to ${LS_LAUNCHER} touch ${LS_LAUNCHER} chmod +x ${LS_LAUNCHER} -echo "java -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -noverify -Xmx1G -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=4410 -jar ${LS_DIR}/plugins/org.eclipse.equinox.launcher_1.5.0.v20180512-1130.jar -configuration ./config_linux -data ${LS_DIR}/data" > ${LS_LAUNCHER} +echo "java -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -noverify -Xmx1G -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=4410 -jar ${LS_DIR}/plugins/org.eclipse.equinox.launcher_1.5.100.v20180607-1243.jar -configuration ./config_linux -data ${LS_DIR}/data" > ${LS_LAUNCHER} diff --git a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jdt-ui/pom.xml b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jdt-ui/pom.xml index 1657063020b..d17a1daaf65 100644 --- a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jdt-ui/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jdt-ui/pom.xml @@ -21,7 +21,14 @@ org.eclipse.jdt.ui jar Che Plugin :: Java :: Eclipse JDT UI + + ${project.build.directory}/generated-sources/dto/ + + + com.google.code.gson + gson + com.google.guava guava @@ -180,6 +187,68 @@ + + org.eclipse.che.core + che-core-api-dto-maven-plugin + + + generate-server-dto + process-sources + + generate + + + + org.eclipse.che.ide.ext.java.shared + + ${dto-generator-out-directory} + org.eclipse.che.plugin.java.server.dto.DtoServerImpls + server + + + + + + ${project.groupId} + ${project.artifactId} + ${project.version} + + + + + org.codehaus.mojo + build-helper-maven-plugin + + + add-resource + process-sources + + add-resource + + + + + ${dto-generator-out-directory}/META-INF + META-INF + + + + + + add-source + process-sources + + add-source + + + + ${dto-generator-out-directory} + + + + + + diff --git a/plugins/plugin-java/che-plugin-java-ext-lang-server/pom.xml b/plugins/plugin-java/che-plugin-java-ext-lang-server/pom.xml index 987ec6f771c..6893335fb38 100644 --- a/plugins/plugin-java/che-plugin-java-ext-lang-server/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-lang-server/pom.xml @@ -214,6 +214,6 @@ - + diff --git a/plugins/plugin-java/che-plugin-java-ext-lang-shared/pom.xml b/plugins/plugin-java/che-plugin-java-ext-lang-shared/pom.xml index ea1c1dcaa65..ec3246365d3 100644 --- a/plugins/plugin-java/che-plugin-java-ext-lang-shared/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-lang-shared/pom.xml @@ -21,26 +21,13 @@ che-plugin-java-ext-lang-shared Che Plugin :: Java :: Extension Java Shared - ${project.build.directory}/generated-sources/dto/ false - - com.google.code.gson - gson - - - com.google.inject - guice - - + org.eclipse.che.core che-core-api-dto - - org.eclipse.che.core - che-core-commons-gwt - com.google.gwt gwt-user @@ -68,18 +55,6 @@ - - add-source - process-sources - - add-source - - - - ${dto-generator-out-directory} - - - @@ -94,49 +69,6 @@ - - org.eclipse.che.core - che-core-api-dto-maven-plugin - - - generate-client-dto - process-sources - - generate - - - - org.eclipse.che.ide.ext.java.shared - - ${dto-generator-out-directory} - org.eclipse.che.ide.ext.java.client.dto.DtoClientImpls - client - - - - generate-server-dto - process-sources - - generate - - - - org.eclipse.che.ide.ext.java.shared - - ${dto-generator-out-directory} - org.eclipse.che.plugin.java.server.dto.DtoServerImpls - server - - - - - - ${project.groupId} - ${project.artifactId} - ${project.version} - - - - + diff --git a/plugins/plugin-java/che-plugin-java-server/src/main/java/org/eclipse/che/plugin/java/languageserver/JavaLanguageServerExtensionService.java b/plugins/plugin-java/che-plugin-java-server/src/main/java/org/eclipse/che/plugin/java/languageserver/JavaLanguageServerExtensionService.java index 5705ba03627..2000e163fc7 100644 --- a/plugins/plugin-java/che-plugin-java-server/src/main/java/org/eclipse/che/plugin/java/languageserver/JavaLanguageServerExtensionService.java +++ b/plugins/plugin-java/che-plugin-java-server/src/main/java/org/eclipse/che/plugin/java/languageserver/JavaLanguageServerExtensionService.java @@ -420,12 +420,23 @@ public List getResolvedClasspath(String projectUri) { * @param entries classpath entries */ public void updateClasspath(String projectUri, List entries) { + List fixedEntries = + entries.stream().map(this::fixEntry).collect(Collectors.toList()); UpdateClasspathParameters params = new UpdateClasspathParameters(); params.setProjectUri(projectUri); - params.setEntries(entries); + params.setEntries(fixedEntries); executeCommand(UPDATE_PROJECT_CLASSPATH, singletonList(params)); } + private ClasspathEntry fixEntry(ClasspathEntry e) { + ClasspathEntry fixed = + new ClasspathEntry().withPath(prefixURI(e.getPath())).withEntryKind(e.getEntryKind()); + if (e.getChildren() != null) { + fixed.setChildren(e.getChildren().stream().map(this::fixEntry).collect(Collectors.toList())); + } + return fixed; + } + /** * Gets source folders of plain java project. * @@ -437,7 +448,8 @@ public List getSourceFolders(String projectPath) { String projectUri = LanguageServiceUtils.prefixURI(projectPath); Type type = new TypeToken>() {}.getType(); - return doGetList(GET_SOURCE_FOLDERS, projectUri, type); + List result = doGetList(GET_SOURCE_FOLDERS, projectUri, type); + return result.stream().map(LanguageServiceUtils::removePrefixUri).collect(Collectors.toList()); } private void checkLanguageServerInitialized() { @@ -674,7 +686,15 @@ private List getLibraryChildren(ExternalLibrariesParameters params) { private List getClasspathTree(String projectPath) { String projectUri = prefixURI(projectPath); Type type = new TypeToken>() {}.getType(); - return doGetList(GET_CLASS_PATH_TREE_COMMAND, projectUri, type); + List result = doGetList(GET_CLASS_PATH_TREE_COMMAND, projectUri, type); + return result + .stream() + .map( + cpe -> { + cpe.setPath(LanguageServiceUtils.removePrefixUri(cpe.getPath())); + return cpe; + }) + .collect(Collectors.toList()); } private JarEntry getLibraryEntry(String resourceUri) { diff --git a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/plainjava/ConfigureClasspathBaseTest.java b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/plainjava/ConfigureClasspathBaseTest.java index c3988615af8..330b041110a 100644 --- a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/plainjava/ConfigureClasspathBaseTest.java +++ b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/plainjava/ConfigureClasspathBaseTest.java @@ -21,6 +21,7 @@ import org.eclipse.che.selenium.core.project.ProjectTemplates; import org.eclipse.che.selenium.core.workspace.TestWorkspace; import org.eclipse.che.selenium.pageobject.ConfigureClasspath; +import org.eclipse.che.selenium.pageobject.Consoles; import org.eclipse.che.selenium.pageobject.Ide; import org.eclipse.che.selenium.pageobject.Menu; import org.eclipse.che.selenium.pageobject.ProjectExplorer; @@ -37,6 +38,7 @@ public class ConfigureClasspathBaseTest { @Inject private ConfigureClasspath configureClasspath; @Inject private Menu menu; @Inject private TestProjectServiceClient testProjectServiceClient; + @Inject private Consoles consoles; @BeforeClass public void prepare() throws Exception { @@ -47,6 +49,7 @@ public void prepare() throws Exception { PROJECT_NAME, ProjectTemplates.MAVEN_JAVA_MULTIMODULE); ide.open(ws); + consoles.waitJDTLSProjectResolveFinishedMessage(PROJECT_NAME); } @Test