diff --git a/eclipse-distribution/org.springframework.boot.ide.product.e47/org.springframework.boot.ide.product b/eclipse-distribution/org.springframework.boot.ide.product.e47/org.springframework.boot.ide.product
index dd641ce3f..a487d9e34 100644
--- a/eclipse-distribution/org.springframework.boot.ide.product.e47/org.springframework.boot.ide.product
+++ b/eclipse-distribution/org.springframework.boot.ide.product.e47/org.springframework.boot.ide.product
@@ -82,8 +82,7 @@ openFile
-
-
+
diff --git a/eclipse-distribution/org.springframework.boot.ide.product.e48/org.springframework.boot.ide.product b/eclipse-distribution/org.springframework.boot.ide.product.e48/org.springframework.boot.ide.product
index dd641ce3f..a487d9e34 100644
--- a/eclipse-distribution/org.springframework.boot.ide.product.e48/org.springframework.boot.ide.product
+++ b/eclipse-distribution/org.springframework.boot.ide.product.e48/org.springframework.boot.ide.product
@@ -82,8 +82,7 @@ openFile
-
-
+
diff --git a/eclipse-distribution/org.springframework.boot.ide.repository.e47/category.xml b/eclipse-distribution/org.springframework.boot.ide.repository.e47/category.xml
index a49977db3..6cc4f5f16 100644
--- a/eclipse-distribution/org.springframework.boot.ide.repository.e47/category.xml
+++ b/eclipse-distribution/org.springframework.boot.ide.repository.e47/category.xml
@@ -74,12 +74,7 @@
-
-
-
-
+ id="org.springframework.tooling.boot.ls.feature" version="0.0.0">
diff --git a/eclipse-distribution/org.springframework.boot.ide.repository.e48/category.xml b/eclipse-distribution/org.springframework.boot.ide.repository.e48/category.xml
index a49977db3..6cc4f5f16 100644
--- a/eclipse-distribution/org.springframework.boot.ide.repository.e48/category.xml
+++ b/eclipse-distribution/org.springframework.boot.ide.repository.e48/category.xml
@@ -74,12 +74,7 @@
-
-
-
-
+ id="org.springframework.tooling.boot.ls.feature" version="0.0.0">
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls.feature/build.properties b/eclipse-language-servers/org.springframework.tooling.boot.java.ls.feature/build.properties
deleted file mode 100644
index 64f93a9f0..000000000
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls.feature/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/build.properties b/eclipse-language-servers/org.springframework.tooling.boot.java.ls/build.properties
deleted file mode 100644
index 3b7db0f69..000000000
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- servers/
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/plugin.xml b/eclipse-language-servers/org.springframework.tooling.boot.java.ls/plugin.xml
deleted file mode 100644
index c4e184d7c..000000000
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/plugin.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls.feature/.project b/eclipse-language-servers/org.springframework.tooling.boot.ls.feature/.project
similarity index 100%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls.feature/.project
rename to eclipse-language-servers/org.springframework.tooling.boot.ls.feature/.project
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls.feature/build.properties b/eclipse-language-servers/org.springframework.tooling.boot.ls.feature/build.properties
new file mode 100644
index 000000000..4e40d30ef
--- /dev/null
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls.feature/build.properties
@@ -0,0 +1,2 @@
+bin.includes=feature.xml,\
+ p2.inf
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls.feature/feature.xml b/eclipse-language-servers/org.springframework.tooling.boot.ls.feature/feature.xml
similarity index 72%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls.feature/feature.xml
rename to eclipse-language-servers/org.springframework.tooling.boot.ls.feature/feature.xml
index e344c175a..60f1ec524 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls.feature/feature.xml
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls.feature/feature.xml
@@ -1,7 +1,7 @@
@@ -12,7 +12,7 @@
../pom.xml
- org.springframework.tooling.boot.java.ls.feature
+ org.springframework.tooling.boot.ls.feature
eclipse-feature
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/.classpath b/eclipse-language-servers/org.springframework.tooling.boot.ls/.classpath
similarity index 100%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/.classpath
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/.classpath
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/.project b/eclipse-language-servers/org.springframework.tooling.boot.ls/.project
similarity index 91%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/.project
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/.project
index 17dc13dae..c2d628371 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/.project
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/.project
@@ -1,6 +1,6 @@
- org.springframework.tooling.boot.java.ls
+ org.springframework.tooling.boot.ls
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/.settings/org.eclipse.jdt.core.prefs b/eclipse-language-servers/org.springframework.tooling.boot.ls/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/.settings/org.eclipse.jdt.core.prefs
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/.settings/org.eclipse.jdt.core.prefs
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/META-INF/MANIFEST.MF b/eclipse-language-servers/org.springframework.tooling.boot.ls/META-INF/MANIFEST.MF
similarity index 75%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/META-INF/MANIFEST.MF
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/META-INF/MANIFEST.MF
index 8f5c4b72c..fd966763d 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/META-INF/MANIFEST.MF
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/META-INF/MANIFEST.MF
@@ -1,8 +1,8 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
-Bundle-Name: Spring Boot Java Language Server
+Bundle-Name: Spring Boot Language Server
Bundle-Vendor: Pivotal, Inc.
-Bundle-SymbolicName: org.springframework.tooling.boot.java.ls;singleton:=true
+Bundle-SymbolicName: org.springframework.tooling.boot.ls;singleton:=true
Bundle-Version: 0.1.4.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.jdt.launching;bundle-version="3.9.0",
@@ -10,6 +10,8 @@ Require-Bundle: org.eclipse.jdt.launching;bundle-version="3.9.0",
org.eclipse.ui.genericeditor;bundle-version="1.0.0",
org.eclipse.jface.text;bundle-version="3.11.100",
org.eclipse.jdt.ui;bundle-version="3.13.0",
+ org.eclipse.tm4e.core;bundle-version="0.1.0",
+ org.eclipse.tm4e.ui;bundle-version="0.1.0",
org.eclipse.lsp4e;bundle-version="0.5.0",
org.eclipse.lsp4j;bundle-version="0.4.0",
org.eclipse.lsp4j.jsonrpc;bundle-version="0.4.0",
@@ -22,5 +24,5 @@ Require-Bundle: org.eclipse.jdt.launching;bundle-version="3.9.0",
Import-Package: com.google.gson;version="2.7.0",
org.eclipse.jface.preference,
org.osgi.framework
-Bundle-Activator: org.springframework.tooling.boot.java.ls.BootJavaLanguageServerPlugin
+Bundle-Activator: org.springframework.tooling.boot.ls.BootLanguageServerPlugin
Bundle-ActivationPolicy: lazy
diff --git a/eclipse-language-servers/org.springframework.tooling.properties.ls/build.properties b/eclipse-language-servers/org.springframework.tooling.boot.ls/build.properties
similarity index 100%
rename from eclipse-language-servers/org.springframework.tooling.properties.ls/build.properties
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/build.properties
diff --git a/eclipse-language-servers/org.springframework.tooling.properties.ls/plugin.xml b/eclipse-language-servers/org.springframework.tooling.boot.ls/plugin.xml
similarity index 56%
rename from eclipse-language-servers/org.springframework.tooling.properties.ls/plugin.xml
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/plugin.xml
index 17e3f3e9f..ddfa01d79 100644
--- a/eclipse-language-servers/org.springframework.tooling.properties.ls/plugin.xml
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/plugin.xml
@@ -2,6 +2,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -73,23 +143,6 @@
scopeName="source.yaml">
-
-
-
-
-
-
-
-
-
+
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/pom.xml b/eclipse-language-servers/org.springframework.tooling.boot.ls/pom.xml
similarity index 89%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/pom.xml
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/pom.xml
index 43078faee..62e9183dc 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/pom.xml
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/pom.xml
@@ -11,14 +11,14 @@
../pom.xml
- org.springframework.tooling.boot.java.ls
+ org.springframework.tooling.boot.ls
0.1.4-SNAPSHOT
eclipse-plugin
org.springframework.ide.vscode
- boot-java-language-server
+ spring-boot-language-server
0.1.4-SNAPSHOT
@@ -40,7 +40,7 @@
org.springframework.ide.vscode
- boot-java-language-server
+ spring-boot-language-server
true
${project.build.directory}/../servers
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/BootJavaLanguageServerPlugin.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/BootLanguageServerPlugin.java
similarity index 88%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/BootJavaLanguageServerPlugin.java
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/BootLanguageServerPlugin.java
index 3425e8079..c46afd755 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/BootJavaLanguageServerPlugin.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/BootLanguageServerPlugin.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Pivotal, Inc.
+ * Copyright (c) 2017, 2018 Pivotal, Inc.
* 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
@@ -8,7 +8,7 @@
* Contributors:
* Pivotal, Inc. - initial API and implementation
*******************************************************************************/
-package org.springframework.tooling.boot.java.ls;
+package org.springframework.tooling.boot.ls;
import java.io.IOException;
import java.util.ArrayList;
@@ -26,16 +26,16 @@ import org.osgi.framework.BundleContext;
* @author Alex Boyko
*
*/
-public class BootJavaLanguageServerPlugin extends AbstractUIPlugin {
+public class BootLanguageServerPlugin extends AbstractUIPlugin {
public static final String ID = "org.springframework.tooling.boot.java.ls";
private static final Object LSP4E_COMMAND_SYMBOL_IN_WORKSPACE = "org.eclipse.lsp4e.symbolinworkspace";
// The shared instance
- private static BootJavaLanguageServerPlugin plugin;
+ private static BootLanguageServerPlugin plugin;
- public BootJavaLanguageServerPlugin() {
+ public BootLanguageServerPlugin() {
// Empty
}
@@ -53,7 +53,7 @@ public class BootJavaLanguageServerPlugin extends AbstractUIPlugin {
plugin = null;
}
- public static BootJavaLanguageServerPlugin getDefault() {
+ public static BootLanguageServerPlugin getDefault() {
return plugin;
}
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/BootJavaPreferencesPage.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/BootLanguageServerPreferencesPage.java
similarity index 76%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/BootJavaPreferencesPage.java
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/BootLanguageServerPreferencesPage.java
index 0cf63db32..bea662ed7 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/BootJavaPreferencesPage.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/BootLanguageServerPreferencesPage.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Pivotal, Inc.
+ * Copyright (c) 2017, 2018 Pivotal, Inc.
* 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
@@ -8,7 +8,7 @@
* Contributors:
* Pivotal, Inc. - initial API and implementation
*******************************************************************************/
-package org.springframework.tooling.boot.java.ls;
+package org.springframework.tooling.boot.ls;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
@@ -21,15 +21,15 @@ import org.eclipse.ui.IWorkbenchPreferencePage;
* @author Alex Boyko
*
*/
-public class BootJavaPreferencesPage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+public class BootLanguageServerPreferencesPage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
- public BootJavaPreferencesPage() {
+ public BootLanguageServerPreferencesPage() {
}
@Override
public void init(IWorkbench workbench) {
setDescription("Settings for Boot-Java language server extension");
- setPreferenceStore(BootJavaLanguageServerPlugin.getDefault().getPreferenceStore());
+ setPreferenceStore(BootLanguageServerPlugin.getDefault().getPreferenceStore());
}
@Override
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/Constants.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/Constants.java
similarity index 87%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/Constants.java
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/Constants.java
index 29fd33b90..37d086527 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/Constants.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/Constants.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Pivotal, Inc.
+ * Copyright (c) 2017, 2018 Pivotal, Inc.
* 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
@@ -8,14 +8,14 @@
* Contributors:
* Pivotal, Inc. - initial API and implementation
*******************************************************************************/
-package org.springframework.tooling.boot.java.ls;
+package org.springframework.tooling.boot.ls;
/**
* @author Martin Lippert
*/
public class Constants {
- public static final String PLUGIN_ID = "org.springframework.tooling.boot.java.ls";
+ public static final String PLUGIN_ID = "org.springframework.tooling.boot.ls";
public static final String LANGUAGE_SERVER_VERSION = "0.1.4-SNAPSHOT.jar";
public static final String PREF_BOOT_HINTS = "boot-java.boot-hints.on";
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/DelegatingStreamConnectionProvider.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/DelegatingStreamConnectionProvider.java
similarity index 88%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/DelegatingStreamConnectionProvider.java
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/DelegatingStreamConnectionProvider.java
index 077b17a1d..b4821084f 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/DelegatingStreamConnectionProvider.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/DelegatingStreamConnectionProvider.java
@@ -8,7 +8,7 @@
* Contributors:
* Pivotal, Inc. - initial API and implementation
*******************************************************************************/
-package org.springframework.tooling.boot.java.ls;
+package org.springframework.tooling.boot.ls;
import java.io.IOException;
import java.io.InputStream;
@@ -56,10 +56,10 @@ public class DelegatingStreamConnectionProvider implements StreamConnectionProvi
public DelegatingStreamConnectionProvider() {
String port = System.getProperty("boot-java-ls-port");
if (port != null) {
- this.provider = new SpringBootJavaLanguageServerViaSocket(Integer.parseInt(port));
+ this.provider = new SpringBootLanguageServerViaSocket(Integer.parseInt(port));
}
else {
- this.provider = new SpringBootJavaLanguageServer();
+ this.provider = new SpringBootLanguageServer();
}
}
@@ -95,7 +95,7 @@ public class DelegatingStreamConnectionProvider implements StreamConnectionProvi
ResourcesPlugin.getWorkspace().removeResourceChangeListener(fResourceListener);
fResourceListener = null;
}
- BootJavaLanguageServerPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(configListener);
+ BootLanguageServerPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(configListener);
}
@Override
@@ -108,7 +108,7 @@ public class DelegatingStreamConnectionProvider implements StreamConnectionProvi
sendConfiguration();
// Add config listener
- BootJavaLanguageServerPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(configListener);
+ BootLanguageServerPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(configListener);
// Add resource listener
ResourcesPlugin.getWorkspace().addResourceChangeListener(fResourceListener = new ResourceListener(languageServer, Arrays.asList(
@@ -124,7 +124,7 @@ public class DelegatingStreamConnectionProvider implements StreamConnectionProvi
Map settings = new HashMap<>();
Map bootJavaObj = new HashMap<>();
Map bootHint = new HashMap<>();
- bootHint.put("on", BootJavaLanguageServerPlugin.getDefault().getPreferenceStore().getBoolean(Constants.PREF_BOOT_HINTS));
+ bootHint.put("on", BootLanguageServerPlugin.getDefault().getPreferenceStore().getBoolean(Constants.PREF_BOOT_HINTS));
bootJavaObj.put("boot-hints", bootHint);
settings.put("boot-java", bootJavaObj);
this.languageServer.getWorkspaceService().didChangeConfiguration(new DidChangeConfigurationParams(settings));
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/MissingJdkWarning.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/MissingJdkWarning.java
similarity index 97%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/MissingJdkWarning.java
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/MissingJdkWarning.java
index 945d97921..c0b45dcb8 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/MissingJdkWarning.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/MissingJdkWarning.java
@@ -8,7 +8,7 @@
* Contributors:
* Pivotal, Inc. - initial API and implementation
*******************************************************************************/
-package org.springframework.tooling.boot.java.ls;
+package org.springframework.tooling.boot.ls;
import java.io.File;
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/PrefsInitializer.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/PrefsInitializer.java
similarity index 80%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/PrefsInitializer.java
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/PrefsInitializer.java
index 50115f785..0c4f485fe 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/PrefsInitializer.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/PrefsInitializer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Pivotal, Inc.
+ * Copyright (c) 2017, 2018 Pivotal, Inc.
* 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
@@ -8,7 +8,7 @@
* Contributors:
* Pivotal, Inc. - initial API and implementation
*******************************************************************************/
-package org.springframework.tooling.boot.java.ls;
+package org.springframework.tooling.boot.ls;
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
@@ -25,7 +25,7 @@ public class PrefsInitializer extends AbstractPreferenceInitializer {
@Override
public void initializeDefaultPreferences() {
- BootJavaLanguageServerPlugin.getDefault().getPreferenceStore().setDefault(Constants.PREF_BOOT_HINTS, true);
+ BootLanguageServerPlugin.getDefault().getPreferenceStore().setDefault(Constants.PREF_BOOT_HINTS, true);
}
}
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/ResourceListener.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/ResourceListener.java
similarity index 97%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/ResourceListener.java
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/ResourceListener.java
index 15649055c..b577284e2 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/ResourceListener.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/ResourceListener.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Pivotal, Inc.
+ * Copyright (c) 2017, 2018 Pivotal, Inc.
* 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
@@ -8,7 +8,7 @@
* Contributors:
* Pivotal, Inc. - initial API and implementation
*******************************************************************************/
-package org.springframework.tooling.boot.java.ls;
+package org.springframework.tooling.boot.ls;
import java.net.URI;
import java.nio.file.PathMatcher;
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/SpringBootJavaLanguageServer.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/SpringBootLanguageServer.java
similarity index 86%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/SpringBootJavaLanguageServer.java
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/SpringBootLanguageServer.java
index 6c1ae5c3b..b2dd7f0d9 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/SpringBootJavaLanguageServer.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/SpringBootLanguageServer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Pivotal, Inc.
+ * Copyright (c) 2017, 2018 Pivotal, Inc.
* 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
@@ -8,9 +8,9 @@
* Contributors:
* Pivotal, Inc. - initial API and implementation
*******************************************************************************/
-package org.springframework.tooling.boot.java.ls;
+package org.springframework.tooling.boot.ls;
-import static org.springframework.tooling.ls.eclipse.commons.console.preferences.LanguageServerConsolePreferenceConstants.BOOT_JAVA_SERVER;
+import static org.springframework.tooling.ls.eclipse.commons.console.preferences.LanguageServerConsolePreferenceConstants.SPRING_BOOT_SERVER;
import java.io.File;
import java.io.InputStream;
@@ -30,10 +30,10 @@ import org.springframework.tooling.ls.eclipse.commons.STS4LanguageServerProcessS
/**
* @author Martin Lippert
*/
-public class SpringBootJavaLanguageServer extends STS4LanguageServerProcessStreamConnector {
+public class SpringBootLanguageServer extends STS4LanguageServerProcessStreamConnector {
- public SpringBootJavaLanguageServer() {
- super(BOOT_JAVA_SERVER);
+ public SpringBootLanguageServer() {
+ super(SPRING_BOOT_SERVER);
List commands = new ArrayList<>();
JRE jre = getJRE();
commands.add(jre.getJavaExecutable());
@@ -68,7 +68,7 @@ public class SpringBootJavaLanguageServer extends STS4LanguageServerProcessStrea
}
protected String getLanguageServerJARLocation() {
- String languageServer = "boot-java-language-server-" + Constants.LANGUAGE_SERVER_VERSION;
+ String languageServer = "spring-boot-language-server-" + Constants.LANGUAGE_SERVER_VERSION;
Bundle bundle = Platform.getBundle(Constants.PLUGIN_ID);
String bundleVersion = bundle.getVersion().toString();
@@ -89,7 +89,7 @@ public class SpringBootJavaLanguageServer extends STS4LanguageServerProcessStrea
File userHome = new File(System.getProperty("user.home"));
File locallyBuiltJar = new File(
userHome,
- "git/sts4/headless-services/boot-java-language-server/target/boot-java-language-server-"+Constants.LANGUAGE_SERVER_VERSION
+ "git/sts4/headless-services/spring-boot-language-server/target/spring-boot-language-server-"+Constants.LANGUAGE_SERVER_VERSION
);
if (locallyBuiltJar.exists()) {
return locallyBuiltJar.getAbsolutePath();
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/SpringBootJavaLanguageServerViaSocket.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/SpringBootLanguageServerViaSocket.java
similarity index 88%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/SpringBootJavaLanguageServerViaSocket.java
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/SpringBootLanguageServerViaSocket.java
index be0b69cef..fce9e66d7 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/SpringBootJavaLanguageServerViaSocket.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/SpringBootLanguageServerViaSocket.java
@@ -8,7 +8,7 @@
* Contributors:
* Pivotal, Inc. - initial API and implementation
*******************************************************************************/
-package org.springframework.tooling.boot.java.ls;
+package org.springframework.tooling.boot.ls;
import java.io.IOException;
import java.io.InputStream;
@@ -17,14 +17,14 @@ import java.net.Socket;
import org.eclipse.lsp4e.server.StreamConnectionProvider;
-public class SpringBootJavaLanguageServerViaSocket implements StreamConnectionProvider {
+public class SpringBootLanguageServerViaSocket implements StreamConnectionProvider {
private OutputStream outputStream;
private InputStream inputStream;
private Socket socket;
private int port;
- public SpringBootJavaLanguageServerViaSocket(int port) {
+ public SpringBootLanguageServerViaSocket(int port) {
this.port = port;
}
diff --git a/eclipse-language-servers/org.springframework.tooling.properties.ls/src/org/springframework/tooling/properties/ls/SpringPropertiesPresentationReconciler.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/SpringPropertiesPresentationReconciler.java
similarity index 96%
rename from eclipse-language-servers/org.springframework.tooling.properties.ls/src/org/springframework/tooling/properties/ls/SpringPropertiesPresentationReconciler.java
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/SpringPropertiesPresentationReconciler.java
index db53c505f..4cbe61603 100644
--- a/eclipse-language-servers/org.springframework.tooling.properties.ls/src/org/springframework/tooling/properties/ls/SpringPropertiesPresentationReconciler.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/SpringPropertiesPresentationReconciler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2016 Pivotal, Inc.
+ * Copyright (c) 2016, 2018 Pivotal, Inc.
* 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
@@ -8,7 +8,7 @@
* Contributors:
* Pivotal, Inc. - initial API and implementation
*******************************************************************************/
-package org.springframework.tooling.properties.ls;
+package org.springframework.tooling.boot.ls;
import org.eclipse.jdt.internal.ui.JavaPlugin;
import org.eclipse.jdt.internal.ui.propertiesfileeditor.IPropertiesFilePartitions;
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/jdt/SpringBootJavaCompletionProposalComputer.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/jdt/SpringBootJavaCompletionProposalComputer.java
similarity index 98%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/jdt/SpringBootJavaCompletionProposalComputer.java
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/jdt/SpringBootJavaCompletionProposalComputer.java
index adac58e61..f6755b230 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/jdt/SpringBootJavaCompletionProposalComputer.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/jdt/SpringBootJavaCompletionProposalComputer.java
@@ -8,7 +8,7 @@
* Contributors:
* Pivotal, Inc. - initial API and implementation
*******************************************************************************/
-package org.springframework.tooling.boot.java.ls.jdt;
+package org.springframework.tooling.boot.ls.jdt;
import java.util.Arrays;
import java.util.Collections;
diff --git a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/jdt/SpringBootJavaHoverProvider.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/jdt/SpringBootJavaHoverProvider.java
similarity index 94%
rename from eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/jdt/SpringBootJavaHoverProvider.java
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/jdt/SpringBootJavaHoverProvider.java
index 8c0ac05b6..4da525cd6 100644
--- a/eclipse-language-servers/org.springframework.tooling.boot.java.ls/src/org/springframework/tooling/boot/java/ls/jdt/SpringBootJavaHoverProvider.java
+++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/jdt/SpringBootJavaHoverProvider.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Pivotal, Inc.
+ * Copyright (c) 2017, 2018 Pivotal, Inc.
* 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
@@ -8,7 +8,7 @@
* Contributors:
* Pivotal, Inc. - initial API and implementation
*******************************************************************************/
-package org.springframework.tooling.boot.java.ls.jdt;
+package org.springframework.tooling.boot.ls.jdt;
import org.eclipse.jdt.ui.text.java.hover.IJavaEditorTextHover;
import org.eclipse.jface.text.IInformationControlCreator;
diff --git a/eclipse-language-servers/org.springframework.tooling.properties.ls/syntaxes/YAML.tmLanguage b/eclipse-language-servers/org.springframework.tooling.boot.ls/syntaxes/YAML.tmLanguage
similarity index 100%
rename from eclipse-language-servers/org.springframework.tooling.properties.ls/syntaxes/YAML.tmLanguage
rename to eclipse-language-servers/org.springframework.tooling.boot.ls/syntaxes/YAML.tmLanguage
diff --git a/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/console/preferences/LanguageServerConsolePreferenceConstants.java b/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/console/preferences/LanguageServerConsolePreferenceConstants.java
index 117228539..4b411e9bc 100644
--- a/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/console/preferences/LanguageServerConsolePreferenceConstants.java
+++ b/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/console/preferences/LanguageServerConsolePreferenceConstants.java
@@ -15,20 +15,17 @@ public class LanguageServerConsolePreferenceConstants {
public static final boolean ENABLE_BY_DEFAULT = true;
public static final String PREF_BOOT_JAVA_CONSOLE_ENABLED = "boot-java.console.enabled";
- public static final String PREF_BOOT_PROPS_CONSOLE_ENABLED = "boot-properties.console.enabled";
public static final String PREF_CONCOURSE_CONSOLE_ENABLED = "concourse.console.enabled";
public static final String PREF_CLOUDFOUNDRY_CONSOLE_ENABLED = "cloudfoundry.console.enabled";
public static final String PREF_BOSH_CONSOLE_ENABLED = "bosh.console.enabled";
- public static final ServerInfo BOOT_JAVA_SERVER = new ServerInfo(PREF_BOOT_JAVA_CONSOLE_ENABLED, "Boot Java");
- public static final ServerInfo BOOT_PROPS_SERVER = new ServerInfo(PREF_BOOT_PROPS_CONSOLE_ENABLED, "Boot Properties");
+ public static final ServerInfo SPRING_BOOT_SERVER = new ServerInfo(PREF_BOOT_JAVA_CONSOLE_ENABLED, "Spring Boot");
public static final ServerInfo CLOUDFOUNDRY_SERVER = new ServerInfo(PREF_CLOUDFOUNDRY_CONSOLE_ENABLED, "Cloudfoundry");
public static final ServerInfo CONCOURSE_SERVER = new ServerInfo(PREF_CONCOURSE_CONSOLE_ENABLED, "Concourse");
public static final ServerInfo BOSH_SERVER = new ServerInfo(PREF_BOSH_CONSOLE_ENABLED, "Bosh");
public static final ServerInfo[] ALL_SERVERS = {
- BOOT_JAVA_SERVER,
- BOOT_PROPS_SERVER,
+ SPRING_BOOT_SERVER,
CLOUDFOUNDRY_SERVER,
CONCOURSE_SERVER,
BOSH_SERVER
diff --git a/eclipse-language-servers/org.springframework.tooling.ls.integration.repository/category.xml b/eclipse-language-servers/org.springframework.tooling.ls.integration.repository/category.xml
index d52148fa4..8bf9ca993 100644
--- a/eclipse-language-servers/org.springframework.tooling.ls.integration.repository/category.xml
+++ b/eclipse-language-servers/org.springframework.tooling.ls.integration.repository/category.xml
@@ -2,11 +2,7 @@
-
-
-
-
-
+
diff --git a/eclipse-language-servers/org.springframework.tooling.properties.ls.feature/.project b/eclipse-language-servers/org.springframework.tooling.properties.ls.feature/.project
deleted file mode 100644
index 07664547c..000000000
--- a/eclipse-language-servers/org.springframework.tooling.properties.ls.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- org.springframework.tooling.properties.ls.feature
-
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
-
- org.eclipse.m2e.core.maven2Nature
-
-
diff --git a/eclipse-language-servers/org.springframework.tooling.properties.ls.feature/build.properties b/eclipse-language-servers/org.springframework.tooling.properties.ls.feature/build.properties
deleted file mode 100644
index 64f93a9f0..000000000
--- a/eclipse-language-servers/org.springframework.tooling.properties.ls.feature/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/eclipse-language-servers/org.springframework.tooling.properties.ls.feature/feature.xml b/eclipse-language-servers/org.springframework.tooling.properties.ls.feature/feature.xml
deleted file mode 100644
index 568524d00..000000000
--- a/eclipse-language-servers/org.springframework.tooling.properties.ls.feature/feature.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/eclipse-language-servers/org.springframework.tooling.properties.ls.feature/pom.xml b/eclipse-language-servers/org.springframework.tooling.properties.ls.feature/pom.xml
deleted file mode 100644
index 792def247..000000000
--- a/eclipse-language-servers/org.springframework.tooling.properties.ls.feature/pom.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
- 4.0.0
-
- org.springframework.boot.ide
- org.springframework.boot.ide.servers
- 4.0.0-SNAPSHOT
- ../pom.xml
-
-
- org.springframework.tooling.properties.ls.feature
- eclipse-feature
-
-
diff --git a/eclipse-language-servers/org.springframework.tooling.properties.ls/.classpath b/eclipse-language-servers/org.springframework.tooling.properties.ls/.classpath
deleted file mode 100644
index eca7bdba8..000000000
--- a/eclipse-language-servers/org.springframework.tooling.properties.ls/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/eclipse-language-servers/org.springframework.tooling.properties.ls/.project b/eclipse-language-servers/org.springframework.tooling.properties.ls/.project
deleted file mode 100644
index f455d5529..000000000
--- a/eclipse-language-servers/org.springframework.tooling.properties.ls/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- org.springframework.tooling.properties.ls
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
-
- org.eclipse.pde.PluginNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/eclipse-language-servers/org.springframework.tooling.properties.ls/.settings/org.eclipse.jdt.core.prefs b/eclipse-language-servers/org.springframework.tooling.properties.ls/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 0c68a61dc..000000000
--- a/eclipse-language-servers/org.springframework.tooling.properties.ls/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.8
diff --git a/eclipse-language-servers/org.springframework.tooling.properties.ls/META-INF/MANIFEST.MF b/eclipse-language-servers/org.springframework.tooling.properties.ls/META-INF/MANIFEST.MF
deleted file mode 100644
index 38859cb81..000000000
--- a/eclipse-language-servers/org.springframework.tooling.properties.ls/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Spring Boot Properties Language Server
-Bundle-Vendor: Pivotal, Inc.
-Bundle-SymbolicName: org.springframework.tooling.properties.ls;singleton:=true
-Bundle-Version: 0.1.4.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Require-Bundle: org.eclipse.jdt.launching;bundle-version="3.9.0",
- org.eclipse.core.runtime;bundle-version="3.12.0",
- org.eclipse.ui.genericeditor;bundle-version="1.0.0",
- org.eclipse.jface.text;bundle-version="3.11.100",
- org.eclipse.jdt.ui;bundle-version="3.13.0",
- org.eclipse.tm4e.core;bundle-version="0.1.0",
- org.eclipse.tm4e.ui;bundle-version="0.1.0",
- org.eclipse.lsp4e;bundle-version="0.5.0",
- org.eclipse.lsp4j;bundle-version="0.4.0",
- org.eclipse.ui.workbench,
- org.eclipse.jface,
- org.springframework.tooling.ls.eclipse.commons;bundle-version="4.0.0"
-Import-Package: com.google.gson;version="2.7.0",
- org.eclipse.jface.preference,
- org.osgi.framework
diff --git a/eclipse-language-servers/org.springframework.tooling.properties.ls/pom.xml b/eclipse-language-servers/org.springframework.tooling.properties.ls/pom.xml
deleted file mode 100644
index 842d37f3a..000000000
--- a/eclipse-language-servers/org.springframework.tooling.properties.ls/pom.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
- 4.0.0
-
-
- org.springframework.boot.ide
- org.springframework.boot.ide.servers
- 4.0.0-SNAPSHOT
- ../pom.xml
-
-
- org.springframework.tooling.properties.ls
- 0.1.4-SNAPSHOT
- eclipse-plugin
-
-
-
- org.springframework.ide.vscode
- boot-properties-language-server
- 0.1.4-SNAPSHOT
-
-
- org.springframework.ide.eclipse
- org.json
-
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
- 2.10
-
-
- copy
- prepare-package
-
- copy
-
-
-
-
- org.springframework.ide.vscode
- boot-properties-language-server
- true
- ${project.build.directory}/../servers
-
-
- true
- true
-
-
-
-
-
-
-
-
diff --git a/eclipse-language-servers/org.springframework.tooling.properties.ls/src/org/springframework/tooling/properties/ls/Constants.java b/eclipse-language-servers/org.springframework.tooling.properties.ls/src/org/springframework/tooling/properties/ls/Constants.java
deleted file mode 100644
index 4501abaaa..000000000
--- a/eclipse-language-servers/org.springframework.tooling.properties.ls/src/org/springframework/tooling/properties/ls/Constants.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2016, 2017 Pivotal, Inc.
- * 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:
- * Pivotal, Inc. - initial API and implementation
- *******************************************************************************/
-package org.springframework.tooling.properties.ls;
-
-/**
- * @author Martin Lippert
- */
-public class Constants {
-
- public static final String PLUGIN_ID = "org.springframework.tooling.properties.ls";
- public static final String LANGUAGE_SERVER_VERSION = "0.1.4-SNAPSHOT";
-
-}
diff --git a/eclipse-language-servers/org.springframework.tooling.properties.ls/src/org/springframework/tooling/properties/ls/SpringBootPropertiesLanguageServer.java b/eclipse-language-servers/org.springframework.tooling.properties.ls/src/org/springframework/tooling/properties/ls/SpringBootPropertiesLanguageServer.java
deleted file mode 100644
index a4c47766e..000000000
--- a/eclipse-language-servers/org.springframework.tooling.properties.ls/src/org/springframework/tooling/properties/ls/SpringBootPropertiesLanguageServer.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2016, 2017 Pivotal, Inc.
- * 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:
- * Pivotal, Inc. - initial API and implementation
- *******************************************************************************/
-package org.springframework.tooling.properties.ls;
-
-import java.io.File;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.nio.file.StandardCopyOption;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.osgi.framework.Bundle;
-import org.springframework.tooling.ls.eclipse.commons.JRE;
-import org.springframework.tooling.ls.eclipse.commons.STS4LanguageServerProcessStreamConnector;
-
-import static org.springframework.tooling.ls.eclipse.commons.console.preferences.LanguageServerConsolePreferenceConstants.*;
-
-/**
- * @author Martin Lippert
- */
-public class SpringBootPropertiesLanguageServer extends STS4LanguageServerProcessStreamConnector {
-
- public SpringBootPropertiesLanguageServer() {
- super(BOOT_PROPS_SERVER);
- List commands = new ArrayList<>();
- commands.add(JRE.currentJRE().getJavaExecutable());
-
-// commands.add("-Xdebug");
-// commands.add("-agentlib:jdwp=transport=dt_socket,address=8899,server=y,suspend=n");
-
- commands.add("-Dlsp.lazy.completions.disable=true");
- commands.add("-Dlsp.completions.indentation.enable=true");
-
- commands.add("-jar");
- commands.add(getLanguageServerJARLocation());
-
- String workingDir = getWorkingDirLocation();
-
- setCommands(commands);
- setWorkingDirectory(workingDir);
- }
-
- protected String getLanguageServerJARLocation() {
- String languageServer = "boot-properties-language-server-" + Constants.LANGUAGE_SERVER_VERSION + ".jar";
-
- Bundle bundle = Platform.getBundle(Constants.PLUGIN_ID);
- File dataFile = bundle.getDataFile(languageServer);
- Exception error = null;
- try {
- copyLanguageServerJAR(languageServer);
- }
- catch (Exception e) {
- error = e;
- }
- if (!dataFile.exists()) {
- File userHome = new File(System.getProperty("user.home"));
- File locallyBuiltJar = new File(
- userHome,
- "git/sts4/headless-services/boot-properties-language-server/target/boot-properties-language-server-"+Constants.LANGUAGE_SERVER_VERSION + ".jar"
- );
- if (locallyBuiltJar.exists()) {
- return locallyBuiltJar.getAbsolutePath();
- }
- if (error!=null) {
- error.printStackTrace();
- }
- }
-
- return dataFile.getAbsolutePath();
- }
-
- protected void copyLanguageServerJAR(String languageServerJarName) throws Exception {
- Bundle bundle = Platform.getBundle(Constants.PLUGIN_ID);
- InputStream stream = FileLocator.openStream( bundle, new Path("servers/" + languageServerJarName), false );
-
- File dataFile = bundle.getDataFile(languageServerJarName);
- Files.copy(stream, dataFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
- }
-
-}
diff --git a/eclipse-language-servers/pom.xml b/eclipse-language-servers/pom.xml
index 353cbe148..c1dfeb008 100644
--- a/eclipse-language-servers/pom.xml
+++ b/eclipse-language-servers/pom.xml
@@ -36,12 +36,9 @@
org.springframework.tooling.cloudfoundry.manifest.ls.integration
org.springframework.tooling.cloudfoundry.manifest.ls.integration.feature
- org.springframework.tooling.properties.ls
- org.springframework.tooling.properties.ls.feature
-
org.springframework.tooling.ls.eclipse.gotosymbol
- org.springframework.tooling.boot.java.ls
- org.springframework.tooling.boot.java.ls.feature
+ org.springframework.tooling.boot.ls
+ org.springframework.tooling.boot.ls.feature
org.springframework.tooling.bosh.ls
org.springframework.tooling.bosh.ls.feature
diff --git a/headless-services/commons/commons-boot/src/main/java/org/springframework/ide/vscode/boot/java/Annotations.java b/headless-services/commons/commons-boot/src/main/java/org/springframework/ide/vscode/boot/java/Annotations.java
index 145feba88..a2d03f07a 100644
--- a/headless-services/commons/commons-boot/src/main/java/org/springframework/ide/vscode/boot/java/Annotations.java
+++ b/headless-services/commons/commons-boot/src/main/java/org/springframework/ide/vscode/boot/java/Annotations.java
@@ -18,7 +18,11 @@ package org.springframework.ide.vscode.boot.java;
public class Annotations {
public static final String BEAN = "org.springframework.context.annotation.Bean";
public static final String PROFILE = "org.springframework.context.annotation.Profile";
+ public static final String CONDITIONAL = "org.springframework.context.annotation.Conditional";
+
public static final String COMPONENT = "org.springframework.stereotype.Component";
+ public static final String REPOSITORY = "org.springframework.stereotype.Repository";
+
public static final String AUTOWIRED = "org.springframework.beans.factory.annotation.Autowired";
public static final String SPRING_REQUEST_MAPPING = "org.springframework.web.bind.annotation.RequestMapping";
@@ -28,7 +32,6 @@ public class Annotations {
public static final String SPRING_DELETE_MAPPING = "org.springframework.web.bind.annotation.DeleteMapping";
public static final String SPRING_PATCH_MAPPING = "org.springframework.web.bind.annotation.PatchMapping";
- public static final String CONDITIONAL = "org.springframework.context.annotation.Conditional";
public static final String CONDITIONAL_ON_BEAN = "org.springframework.boot.autoconfigure.condition.ConditionalOnBean";
public static final String CONDITIONAL_ON_MISSING_BEAN = "org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean";
public static final String CONDITIONAL_ON_PROPERTY = "org.springframework.boot.autoconfigure.condition.ConditionalOnProperty";
diff --git a/headless-services/commons/commons-boot/src/main/java/org/springframework/ide/vscode/boot/java/BootJavaLanguageServerComponents.java b/headless-services/commons/commons-boot/src/main/java/org/springframework/ide/vscode/boot/java/BootJavaLanguageServerComponents.java
index 99c950aa6..a4253d57c 100644
--- a/headless-services/commons/commons-boot/src/main/java/org/springframework/ide/vscode/boot/java/BootJavaLanguageServerComponents.java
+++ b/headless-services/commons/commons-boot/src/main/java/org/springframework/ide/vscode/boot/java/BootJavaLanguageServerComponents.java
@@ -10,25 +10,19 @@
*******************************************************************************/
package org.springframework.ide.vscode.boot.java;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import java.util.Optional;
import java.util.Set;
-import java.util.UUID;
-import java.util.concurrent.CompletableFuture;
import org.eclipse.lsp4j.CompletionItemKind;
import org.eclipse.lsp4j.InitializeParams;
-import org.eclipse.lsp4j.InitializeResult;
-import org.eclipse.lsp4j.Registration;
-import org.eclipse.lsp4j.RegistrationParams;
import org.springframework.ide.vscode.boot.BootLanguageServerParams;
import org.springframework.ide.vscode.boot.java.annotations.AnnotationHierarchyAwareLookup;
import org.springframework.ide.vscode.boot.java.autowired.AutowiredHoverProvider;
import org.springframework.ide.vscode.boot.java.beans.BeansSymbolProvider;
import org.springframework.ide.vscode.boot.java.beans.ComponentSymbolProvider;
import org.springframework.ide.vscode.boot.java.conditionals.ConditionalsLiveHoverProvider;
+import org.springframework.ide.vscode.boot.java.data.DataRepositorySymbolProvider;
import org.springframework.ide.vscode.boot.java.handlers.BootJavaCodeLensEngine;
import org.springframework.ide.vscode.boot.java.handlers.BootJavaCompletionEngine;
import org.springframework.ide.vscode.boot.java.handlers.BootJavaDocumentSymbolHandler;
@@ -61,12 +55,10 @@ import org.springframework.ide.vscode.commons.languageserver.completion.IComplet
import org.springframework.ide.vscode.commons.languageserver.composable.LanguageServerComponents;
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
import org.springframework.ide.vscode.commons.languageserver.java.ProjectObserver;
-import org.springframework.ide.vscode.commons.languageserver.reconcile.IReconcileEngine;
import org.springframework.ide.vscode.commons.languageserver.util.HoverHandler;
import org.springframework.ide.vscode.commons.languageserver.util.LSFactory;
import org.springframework.ide.vscode.commons.languageserver.util.ReferencesHandler;
import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer;
-import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServerWrapper;
import org.springframework.ide.vscode.commons.languageserver.util.SimpleTextDocumentService;
import org.springframework.ide.vscode.commons.languageserver.util.SimpleWorkspaceService;
import org.springframework.ide.vscode.commons.util.text.LanguageId;
@@ -287,6 +279,8 @@ public class BootJavaLanguageServerComponents implements LanguageServerComponent
providers.put(Annotations.BEAN, new BeansSymbolProvider());
providers.put(Annotations.COMPONENT, new ComponentSymbolProvider());
+
+ providers.put(Annotations.REPOSITORY, new DataRepositorySymbolProvider());
return new SpringIndexer(server, params, providers);
}
diff --git a/headless-services/commons/commons-boot/src/main/java/org/springframework/ide/vscode/boot/java/data/DataRepositorySymbolProvider.java b/headless-services/commons/commons-boot/src/main/java/org/springframework/ide/vscode/boot/java/data/DataRepositorySymbolProvider.java
new file mode 100644
index 000000000..40ed758bd
--- /dev/null
+++ b/headless-services/commons/commons-boot/src/main/java/org/springframework/ide/vscode/boot/java/data/DataRepositorySymbolProvider.java
@@ -0,0 +1,142 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Pivotal, Inc.
+ * 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:
+ * Pivotal, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.springframework.ide.vscode.boot.java.data;
+
+import java.util.Collection;
+
+import org.eclipse.jdt.core.dom.Annotation;
+import org.eclipse.jdt.core.dom.ITypeBinding;
+import org.eclipse.jdt.core.dom.TypeDeclaration;
+import org.eclipse.lsp4j.Location;
+import org.eclipse.lsp4j.SymbolInformation;
+import org.eclipse.lsp4j.SymbolKind;
+import org.springframework.ide.vscode.boot.java.handlers.SymbolProvider;
+import org.springframework.ide.vscode.boot.java.utils.ASTUtils;
+import org.springframework.ide.vscode.commons.languageserver.util.DocumentRegion;
+import org.springframework.ide.vscode.commons.util.BadLocationException;
+import org.springframework.ide.vscode.commons.util.Log;
+import org.springframework.ide.vscode.commons.util.text.TextDocument;
+
+import com.google.common.collect.ImmutableList;
+
+import reactor.util.function.Tuple4;
+import reactor.util.function.Tuples;
+
+/**
+ * @author Martin Lippert
+ */
+public class DataRepositorySymbolProvider implements SymbolProvider {
+
+ private static final String REPOSITORY_TYPE = "org.springframework.data.repository.Repository";
+
+
+ @Override
+ public Collection getSymbols(Annotation node, ITypeBinding annotationType, Collection metaAnnotations, TextDocument doc) {
+ return null;
+ }
+
+ @Override
+ public Collection getSymbols(TypeDeclaration typeDeclaration, TextDocument doc) {
+ // this checks spring data repository beans that are defined as extensions of the repository interface
+ Tuple4 repositoryBean = getRepositoryBean(typeDeclaration, doc);
+ if (repositoryBean != null) {
+ try {
+ SymbolInformation symbol = new SymbolInformation(
+ beanLabel(true, repositoryBean.getT1(), repositoryBean.getT2(), repositoryBean.getT3()),
+ SymbolKind.Interface,
+ new Location(doc.getUri(), doc.toRange(repositoryBean.getT4())));
+ return ImmutableList.of(symbol);
+ } catch (BadLocationException e) {
+ Log.log(e);
+ }
+ }
+ return ImmutableList.of();
+ }
+
+ protected String beanLabel(boolean isFunctionBean, String beanName, String beanType, String markerString) {
+ StringBuilder symbolLabel = new StringBuilder();
+ symbolLabel.append("@+");
+ symbolLabel.append(' ');
+ symbolLabel.append('\'');
+ symbolLabel.append(beanName);
+ symbolLabel.append('\'');
+
+ markerString = markerString != null && markerString.length() > 0 ? " (" + markerString + ") " : " ";
+ symbolLabel.append(markerString);
+
+ symbolLabel.append(beanType);
+ return symbolLabel.toString();
+ }
+
+ private static Tuple4 getRepositoryBean(TypeDeclaration typeDeclaration, TextDocument doc) {
+ ITypeBinding resolvedType = typeDeclaration.resolveBinding();
+
+ if (resolvedType != null) {
+ return getRepositoryBean(typeDeclaration, doc, resolvedType);
+ }
+ else {
+ return null;
+ }
+ }
+
+ private static Tuple4 getRepositoryBean(TypeDeclaration typeDeclaration, TextDocument doc,
+ ITypeBinding resolvedType) {
+
+ ITypeBinding[] interfaces = resolvedType.getInterfaces();
+ for (ITypeBinding resolvedInterface : interfaces) {
+ String simplifiedType = null;
+ if (resolvedInterface.isParameterizedType()) {
+ simplifiedType = resolvedInterface.getBinaryName();
+ }
+ else {
+ simplifiedType = resolvedType.getQualifiedName();
+ }
+
+ if (REPOSITORY_TYPE.equals(simplifiedType)) {
+ String beanName = getBeanName(typeDeclaration);
+ String beanType = resolvedInterface.getName();
+
+ String domainType = null;
+ if (resolvedInterface.isParameterizedType()) {
+ ITypeBinding[] typeParameters = resolvedInterface.getTypeArguments();
+ if (typeParameters != null && typeParameters.length > 0) {
+ domainType = typeParameters[0].getName();
+ }
+ }
+ DocumentRegion region = ASTUtils.nodeRegion(doc, typeDeclaration.getName());
+
+ return Tuples.of(beanName, beanType, domainType, region);
+ }
+ else {
+ Tuple4 result = getRepositoryBean(typeDeclaration, doc, resolvedInterface);
+ if (result != null) {
+ return result;
+ }
+ }
+ }
+
+ ITypeBinding superclass = resolvedType.getSuperclass();
+ if (superclass != null) {
+ return getRepositoryBean(typeDeclaration, doc, superclass);
+ }
+ else {
+ return null;
+ }
+ }
+
+ private static String getBeanName(TypeDeclaration typeDeclaration) {
+ String beanName = typeDeclaration.getName().toString();
+ if (beanName.length() > 0 && Character.isUpperCase(beanName.charAt(0))) {
+ beanName = Character.toLowerCase(beanName.charAt(0)) + beanName.substring(1);
+ }
+ return beanName;
+ }
+}
diff --git a/headless-services/commons/commons-boot/src/test/java/org/springframework/ide/vscode/boot/java/data/test/DataRepositorySymbolProviderTest.java b/headless-services/commons/commons-boot/src/test/java/org/springframework/ide/vscode/boot/java/data/test/DataRepositorySymbolProviderTest.java
new file mode 100644
index 000000000..c08097124
--- /dev/null
+++ b/headless-services/commons/commons-boot/src/test/java/org/springframework/ide/vscode/boot/java/data/test/DataRepositorySymbolProviderTest.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Pivotal, Inc.
+ * 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:
+ * Pivotal, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.springframework.ide.vscode.boot.java.data.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.lsp4j.SymbolInformation;
+import org.junit.Before;
+import org.junit.Test;
+import org.springframework.ide.vscode.project.harness.BootJavaLanguageServerHarness;
+import org.springframework.ide.vscode.project.harness.ProjectsHarness;
+
+/**
+ * @author Martin Lippert
+ */
+public class DataRepositorySymbolProviderTest {
+
+ private BootJavaLanguageServerHarness harness;
+
+ @Before
+ public void setup() throws Exception {
+ harness = BootJavaLanguageServerHarness.builder().build();
+ }
+
+ @Test
+ public void testSimpleReppositorySymbol() throws Exception {
+ harness.intialize(new File(ProjectsHarness.class.getResource("/test-projects/test-spring-data-symbols/").toURI()));
+ File directory = new File(ProjectsHarness.class.getResource("/test-projects/test-spring-data-symbols/").toURI());
+
+ String docUri = directory.toPath().resolve("src/main/java/org/test/CustomerRepository.java").toUri().toString();
+ List extends SymbolInformation> symbols = getSymbols(docUri);
+ assertEquals(1, symbols.size());
+ assertTrue(containsSymbol(symbols, "@+ 'customerRepository' (Customer) Repository", docUri, 6, 17, 6, 35));
+ }
+
+ private boolean containsSymbol(List extends SymbolInformation> symbols, String name, String uri, int startLine, int startCHaracter, int endLine, int endCharacter) {
+ for (Iterator extends SymbolInformation> iterator = symbols.iterator(); iterator.hasNext();) {
+ SymbolInformation symbol = iterator.next();
+
+ if (symbol.getName().equals(name)
+ && symbol.getLocation().getUri().equals(uri)
+ && symbol.getLocation().getRange().getStart().getLine() == startLine
+ && symbol.getLocation().getRange().getStart().getCharacter() == startCHaracter
+ && symbol.getLocation().getRange().getEnd().getLine() == endLine
+ && symbol.getLocation().getRange().getEnd().getCharacter() == endCharacter) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ private List extends SymbolInformation> getSymbols(String docUri) {
+ return harness.getServerWrapper().getComponents().getSpringIndexer().getSymbols(docUri);
+ }
+}
diff --git a/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/mvnw b/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/mvnw
new file mode 100755
index 000000000..a1ba1bf55
--- /dev/null
+++ b/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/mvnw
@@ -0,0 +1,233 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven2 Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# M2_HOME - location of maven2's installed home dir
+# MAVEN_OPTS - parameters passed to the Java VM when running Maven
+# e.g. to debug Maven itself, use
+# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ] ; then
+
+ if [ -f /etc/mavenrc ] ; then
+ . /etc/mavenrc
+ fi
+
+ if [ -f "$HOME/.mavenrc" ] ; then
+ . "$HOME/.mavenrc"
+ fi
+
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+ CYGWIN*) cygwin=true ;;
+ MINGW*) mingw=true;;
+ Darwin*) darwin=true
+ #
+ # Look for the Apple JDKs first to preserve the existing behaviour, and then look
+ # for the new JDKs provided by Oracle.
+ #
+ if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then
+ #
+ # Apple JDKs
+ #
+ export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
+ fi
+
+ if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then
+ #
+ # Apple JDKs
+ #
+ export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
+ fi
+
+ if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then
+ #
+ # Oracle JDKs
+ #
+ export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
+ fi
+
+ if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then
+ #
+ # Apple JDKs
+ #
+ export JAVA_HOME=`/usr/libexec/java_home`
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+ if [ -r /etc/gentoo-release ] ; then
+ JAVA_HOME=`java-config --jre-home`
+ fi
+fi
+
+if [ -z "$M2_HOME" ] ; then
+ ## resolve links - $0 may be a link to maven's home
+ PRG="$0"
+
+ # need this for relative symlinks
+ while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG="`dirname "$PRG"`/$link"
+ fi
+ done
+
+ saveddir=`pwd`
+
+ M2_HOME=`dirname "$PRG"`/..
+
+ # make it fully qualified
+ M2_HOME=`cd "$M2_HOME" && pwd`
+
+ cd "$saveddir"
+ # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --unix "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME="`(cd "$M2_HOME"; pwd)`"
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+ # TODO classpath?
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ javaExecutable="`which javac`"
+ if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
+ # readlink(1) is not available as standard on Solaris 10.
+ readLink=`which readlink`
+ if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
+ if $darwin ; then
+ javaHome="`dirname \"$javaExecutable\"`"
+ javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
+ else
+ javaExecutable="`readlink -f \"$javaExecutable\"`"
+ fi
+ javaHome="`dirname \"$javaExecutable\"`"
+ javaHome=`expr "$javaHome" : '\(.*\)/bin'`
+ JAVA_HOME="$javaHome"
+ export JAVA_HOME
+ fi
+ fi
+fi
+
+if [ -z "$JAVACMD" ] ; then
+ if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD="`which java`"
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+ echo "Error: JAVA_HOME is not defined correctly." >&2
+ echo " We cannot execute $JAVACMD" >&2
+ exit 1
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+ echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --path --windows "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+fi
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+ local basedir=$(pwd)
+ local wdir=$(pwd)
+ while [ "$wdir" != '/' ] ; do
+ if [ -d "$wdir"/.mvn ] ; then
+ basedir=$wdir
+ break
+ fi
+ wdir=$(cd "$wdir/.."; pwd)
+ done
+ echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+ if [ -f "$1" ]; then
+ echo "$(tr -s '\n' ' ' < "$1")"
+ fi
+}
+
+export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)}
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# Provide a "standardized" way to retrieve the CLI args that will
+# work with both Windows and non-Windows executions.
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
+export MAVEN_CMD_LINE_ARGS
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+ ${WRAPPER_LAUNCHER} "$@"
diff --git a/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/mvnw.cmd b/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/mvnw.cmd
new file mode 100644
index 000000000..2b934e89d
--- /dev/null
+++ b/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/mvnw.cmd
@@ -0,0 +1,145 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Maven2 Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM M2_HOME - location of maven2's installed home dir
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
+if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto init
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+@REM ==== END VALIDATION ====
+
+:init
+
+set MAVEN_CMD_LINE_ARGS=%*
+
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+
+set WRAPPER_JAR="".\.mvn\wrapper\maven-wrapper.jar""
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
+if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%" == "on" pause
+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+
+exit /B %ERROR_CODE%
\ No newline at end of file
diff --git a/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/pom.xml b/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/pom.xml
new file mode 100644
index 000000000..a5bb01b14
--- /dev/null
+++ b/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/pom.xml
@@ -0,0 +1,49 @@
+
+
+ 4.0.0
+
+ com.example
+ test-spring-data-symbols
+ 0.0.1-SNAPSHOT
+ jar
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 1.5.10.RELEASE
+
+
+
+
+ UTF-8
+ UTF-8
+ 1.8
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/src/main/java/org/test/Application.java b/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/src/main/java/org/test/Application.java
new file mode 100644
index 000000000..409755db6
--- /dev/null
+++ b/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/src/main/java/org/test/Application.java
@@ -0,0 +1,55 @@
+package org.test;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
+
+@SpringBootApplication
+public class Application {
+
+ private static final Logger log = LoggerFactory.getLogger(Application.class);
+
+ public static void main(String[] args) {
+ SpringApplication.run(Application.class);
+ }
+
+ @Bean
+ public CommandLineRunner demo(CustomerRepository repository) {
+ return (args) -> {
+ // save a couple of customers
+ repository.save(new Customer("Jack", "Bauer"));
+ repository.save(new Customer("Chloe", "O'Brian"));
+ repository.save(new Customer("Kim", "Bauer"));
+ repository.save(new Customer("David", "Palmer"));
+ repository.save(new Customer("Michelle", "Dessler"));
+
+ // fetch all customers
+ log.info("Customers found with findAll():");
+ log.info("-------------------------------");
+ for (Customer customer : repository.findAll()) {
+ log.info(customer.toString());
+ }
+ log.info("");
+
+ // fetch an individual customer by ID
+ Customer customer = repository.findOne(1L);
+ log.info("Customer found with findOne(1L):");
+ log.info("--------------------------------");
+ log.info(customer.toString());
+ log.info("");
+
+ // fetch customers by last name
+ log.info("Customer found with findByLastName('Bauer'):");
+ log.info("--------------------------------------------");
+ for (Customer bauer : repository.findByLastName("Bauer")) {
+ log.info(bauer.toString());
+ }
+ log.info("");
+ };
+ }
+
+}
diff --git a/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/src/main/java/org/test/Customer.java b/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/src/main/java/org/test/Customer.java
new file mode 100644
index 000000000..4f093c01f
--- /dev/null
+++ b/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/src/main/java/org/test/Customer.java
@@ -0,0 +1,46 @@
+// tag::sample[]
+package org.test;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+
+@Entity
+public class Customer {
+
+ @Id
+ @GeneratedValue(strategy=GenerationType.AUTO)
+ private Long id;
+ private String firstName;
+ private String lastName;
+
+ protected Customer() {}
+
+ public Customer(String firstName, String lastName) {
+ this.firstName = firstName;
+ this.lastName = lastName;
+ }
+
+ @Override
+ public String toString() {
+ return String.format(
+ "Customer[id=%d, firstName='%s', lastName='%s']",
+ id, firstName, lastName);
+ }
+
+// end::sample[]
+
+ public Long getId() {
+ return id;
+ }
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+}
+
diff --git a/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/src/main/java/org/test/CustomerRepository.java b/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/src/main/java/org/test/CustomerRepository.java
new file mode 100644
index 000000000..029104f19
--- /dev/null
+++ b/headless-services/commons/commons-boot/src/test/resources/test-projects/test-spring-data-symbols/src/main/java/org/test/CustomerRepository.java
@@ -0,0 +1,10 @@
+package org.test;
+
+import java.util.List;
+
+import org.springframework.data.repository.CrudRepository;
+
+public interface CustomerRepository extends CrudRepository {
+
+ List findByLastName(String lastName);
+}