Merge branch 'master' of github.com:spring-projects/sts4

This commit is contained in:
Kris De Volder
2018-02-16 11:04:46 -08:00
4 changed files with 25 additions and 25 deletions

View File

@@ -90,19 +90,19 @@ public class SpringIndexer {
@Override
public void created(IJavaProject project) {
log.info("project created event: {}", project.getElementName());
log.debug("project created event: {}", project.getElementName());
refresh();
}
@Override
public void changed(IJavaProject project) {
log.info("project changed event: {}", project.getElementName());
log.debug("project changed event: {}", project.getElementName());
refresh();
}
@Override
public void deleted(IJavaProject project) {
log.info("project deleted event: {}", project.getElementName());
log.debug("project deleted event: {}", project.getElementName());
refresh();
}
@@ -140,7 +140,7 @@ public class SpringIndexer {
updateWorker.start();
getWorkspaceService().onDidChangeWorkspaceFolders(evt -> {
log.info("workspace roots have changed event arrived - added: " + evt.getEvent().getAdded() + " - removed: " + evt.getEvent().getRemoved());
log.debug("workspace roots have changed event arrived - added: " + evt.getEvent().getAdded() + " - removed: " + evt.getEvent().getRemoved());
refresh();
});
@@ -208,7 +208,7 @@ public class SpringIndexer {
symbolsByDoc.clear();
Collection<WorkspaceFolder> roots = server.getWorkspaceRoots();
log.info("refresh spring indexer for roots: {}", roots.toString());
log.debug("refresh spring indexer for roots: {}", roots.toString());
initialize(roots);
}
}
@@ -552,7 +552,7 @@ public class SpringIndexer {
private final CompletableFuture<Void> future;
public InitializeItem(WorkspaceFolder[] workspaceRoots) {
log.info("initialze spring indexer task created for roots: " + Arrays.toString(workspaceRoots));
log.debug("initialze spring indexer task created for roots: " + Arrays.toString(workspaceRoots));
this.workspaceRoots = workspaceRoots;
this.future = new CompletableFuture<Void>();
@@ -566,18 +566,18 @@ public class SpringIndexer {
@Override
public void run() {
if (!future.isCancelled()) {
log.info("initialze spring indexer task started for roots: " + Arrays.toString(workspaceRoots));
log.debug("initialze spring indexer task started for roots: " + Arrays.toString(workspaceRoots));
for (WorkspaceFolder root : workspaceRoots) {
SpringIndexer.this.scanFiles(root);
}
log.info("initialze spring indexer task completed for roots: " + Arrays.toString(workspaceRoots));
log.debug("initialze spring indexer task completed for roots: " + Arrays.toString(workspaceRoots));
future.complete(null);
}
else {
log.info("initialze spring indexer task canceled for roots: " + Arrays.toString(workspaceRoots));
log.debug("initialze spring indexer task canceled for roots: " + Arrays.toString(workspaceRoots));
}
}
}

View File

@@ -28,8 +28,6 @@ import org.apache.commons.io.FileUtils;
import org.eclipse.lsp4j.SymbolInformation;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.ide.vscode.boot.java.Annotations;
import org.springframework.ide.vscode.boot.java.BootJavaLanguageServerComponents;
import org.springframework.ide.vscode.boot.java.handlers.SymbolProvider;
@@ -41,16 +39,11 @@ import org.springframework.ide.vscode.languageserver.testharness.LanguageServerH
import org.springframework.ide.vscode.project.harness.BootJavaLanguageServerHarness;
import org.springframework.ide.vscode.project.harness.ProjectsHarness;
import com.google.common.base.Supplier;
import com.google.common.base.Suppliers;
/**
* @author Martin Lippert
*/
public class SpringIndexerTest {
private static Supplier<Logger> LOG = Suppliers.memoize(() -> LoggerFactory.getLogger(SpringIndexerTest.class));
private Map<String, SymbolProvider> symbolProviders;
private LanguageServerHarness<ComposableLanguageServer<BootJavaLanguageServerComponents>> harness;
@@ -340,7 +333,6 @@ public class SpringIndexerTest {
@Test
public void testRefreshOnProjectChange() throws Exception {
LOG.get().info("testRefreshOnProjectChange STARTED");
harness.intialize(new File(ProjectsHarness.class.getResource("/test-projects/test-annotation-indexing-parent/test-annotation-indexing/").toURI()));
File directory = new File(ProjectsHarness.class.getResource("/test-projects/test-annotation-indexing-parent/test-annotation-indexing/").toURI());
@@ -348,19 +340,23 @@ public class SpringIndexerTest {
List<? extends SymbolInformation> allSymbols = indexer().getAllSymbols("");
assertEquals(6, allSymbols.size());
File pomFile = directory.toPath().resolve(MavenCore.POM_XML).toFile();
// Delete some symbols
String deletedDocURI = directory.toPath().resolve("src/main/java/org/test/SimpleMappingClass.java").toUri().toString();
CompletableFuture<Void> deleteFuture = indexer().deleteDocument(deletedDocURI);
deleteFuture.get(5, TimeUnit.SECONDS);
// check for updated index in all symbols
allSymbols = indexer().getAllSymbols("");
assertEquals(4, allSymbols.size());
File pomFile = directory.toPath().resolve(MavenCore.POM_XML).toFile();
assertFalse(indexer().isInitializing());
harness.changeFile(pomFile.toURI().toString());
// Refresh in progress
LOG.get().info("testRefreshOnProjectChange - FILE CHANGED HANLED");
assertTrue(indexer().isInitializing());
LOG.get().info("testRefreshOnProjectChange - INDEX INIT in PROGRESS");
// Everything is expected to be re-indexed hence "fake" deleted document should be indexed now
allSymbols = indexer().getAllSymbols("");
assertFalse(indexer().isInitializing());
assertEquals(6, allSymbols.size());
LOG.get().info("testRefreshOnProjectChange - FINISHED");
}
}

View File

@@ -12,4 +12,7 @@ The [Spring Boot Application Properties Support](https://marketplace.visualstudi
The [Cloud Foundry Manifest YML Support](https://marketplace.visualstudio.com/items?itemName=Pivotal.vscode-manifest-yaml) extension provides support for editing Cloud Foundry deployment manifest `.yml` files for Spring Boot application deployment
## Concourse CI Pipeline
The [Concourse CI Pipeline Editor](https://marketplace.visualstudio.com/items?itemName=Pivotal.vscode-concourse) provides support for setting up Concourse build pipeline for the Spring Boot application
The [Concourse CI Pipeline Editor](https://marketplace.visualstudio.com/items?itemName=Pivotal.vscode-concourse) provides support for setting up Concourse build pipeline for the Spring Boot application
## Spring Initializr Java
The [Spring Initializr Java Support](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-spring-initializr) extension provides support for generating quickstart Spring Boot Java projects with Spring Initiailizr API.

View File

@@ -37,6 +37,7 @@
"Pivotal.vscode-boot-java",
"Pivotal.vscode-boot-properties",
"Pivotal.vscode-concourse",
"Pivotal.vscode-manifest-yaml"
"Pivotal.vscode-manifest-yaml",
"vscjava.vscode-spring-initializr"
]
}