diff --git a/headless-services/commons/commons-boot/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringIndexer.java b/headless-services/commons/commons-boot/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringIndexer.java index 82f39cd97..a9316a013 100644 --- a/headless-services/commons/commons-boot/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringIndexer.java +++ b/headless-services/commons/commons-boot/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringIndexer.java @@ -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 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 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(); @@ -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)); } } } diff --git a/headless-services/commons/commons-boot/src/test/java/org/springframework/ide/vscode/boot/java/utils/test/SpringIndexerTest.java b/headless-services/commons/commons-boot/src/test/java/org/springframework/ide/vscode/boot/java/utils/test/SpringIndexerTest.java index a0e11036e..a4eabebe1 100644 --- a/headless-services/commons/commons-boot/src/test/java/org/springframework/ide/vscode/boot/java/utils/test/SpringIndexerTest.java +++ b/headless-services/commons/commons-boot/src/test/java/org/springframework/ide/vscode/boot/java/utils/test/SpringIndexerTest.java @@ -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 LOG = Suppliers.memoize(() -> LoggerFactory.getLogger(SpringIndexerTest.class)); - private Map symbolProviders; private LanguageServerHarness> 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 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 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"); } } diff --git a/vscode-extensions/boot-dev-pack/README.md b/vscode-extensions/boot-dev-pack/README.md index abed53329..365c92145 100644 --- a/vscode-extensions/boot-dev-pack/README.md +++ b/vscode-extensions/boot-dev-pack/README.md @@ -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 \ No newline at end of file +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. diff --git a/vscode-extensions/boot-dev-pack/package.json b/vscode-extensions/boot-dev-pack/package.json index 266f14b9c..f22dce52a 100644 --- a/vscode-extensions/boot-dev-pack/package.json +++ b/vscode-extensions/boot-dev-pack/package.json @@ -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" ] } \ No newline at end of file