From 06599f6af41df35bf7d31638113d5d0b84f6f80a Mon Sep 17 00:00:00 2001 From: Anjana S Porawagama Date: Tue, 28 Nov 2023 17:25:38 +0530 Subject: [PATCH 1/3] Update component fetch logic --- .../ballerina/packages/BallerinaPackageService.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/extensions/ballerina/packages/BallerinaPackageService.java b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/extensions/ballerina/packages/BallerinaPackageService.java index 3a00f737896a..7d87fa691e1d 100644 --- a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/extensions/ballerina/packages/BallerinaPackageService.java +++ b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/extensions/ballerina/packages/BallerinaPackageService.java @@ -98,15 +98,21 @@ public CompletableFuture components(PackageComponents try { Arrays.stream(documentIdentifiers).iterator().forEachRemaining(documentIdentifier -> { PathUtil.getPathFromURI(documentIdentifier.getUri()).ifPresent(path -> { - Optional project = this.workspaceManager.project(path); - project.ifPresent(value -> jsonPackages.add(getPackageComponents(value))); + Project project = null; + try { + project = this.workspaceManager.loadProject(path); + jsonPackages.add(getPackageComponents(project)); + } catch (Throwable e) { + String msg = "Operation 'ballerinaPackage/components' load project failed!"; + this.clientLogger.logError(PackageContext.PACKAGE_COMPONENTS, msg, e, null, (Position) null); + } }); }); - response.setProjectPackages(jsonPackages); } catch (Throwable e) { String msg = "Operation 'ballerinaPackage/components' failed!"; this.clientLogger.logError(PackageContext.PACKAGE_COMPONENTS, msg, e, null, (Position) null); } + response.setProjectPackages(jsonPackages); return response; }); } From b8b456ec1cf9acf2737fd1c64ec4d474097ac457 Mon Sep 17 00:00:00 2001 From: Anjana S Porawagama Date: Wed, 29 Nov 2023 11:00:42 +0530 Subject: [PATCH 2/3] Update checkstyle --- .../extensions/ballerina/packages/BallerinaPackageService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/extensions/ballerina/packages/BallerinaPackageService.java b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/extensions/ballerina/packages/BallerinaPackageService.java index 7d87fa691e1d..aaa2a4211f50 100644 --- a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/extensions/ballerina/packages/BallerinaPackageService.java +++ b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/extensions/ballerina/packages/BallerinaPackageService.java @@ -104,7 +104,7 @@ public CompletableFuture components(PackageComponents jsonPackages.add(getPackageComponents(project)); } catch (Throwable e) { String msg = "Operation 'ballerinaPackage/components' load project failed!"; - this.clientLogger.logError(PackageContext.PACKAGE_COMPONENTS, msg, e, null, (Position) null); + this.clientLogger.logError(PackageContext.PACKAGE_COMPONENTS, msg, e, null); } }); }); From fce3914602cc4e6ab6891c49aeb16827cd96c528 Mon Sep 17 00:00:00 2001 From: Anjana S Porawagama Date: Wed, 29 Nov 2023 13:24:19 +0530 Subject: [PATCH 3/3] Update tests --- .../org/ballerinalang/langserver/packages/ComponentsTest.java | 4 ++-- .../packages/components/project-exception_expected.json | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 language-server/modules/langserver-core/src/test/resources/packages/components/project-exception_expected.json diff --git a/language-server/modules/langserver-core/src/test/java/org/ballerinalang/langserver/packages/ComponentsTest.java b/language-server/modules/langserver-core/src/test/java/org/ballerinalang/langserver/packages/ComponentsTest.java index bde559486cd7..eeaf2c24a8f8 100644 --- a/language-server/modules/langserver-core/src/test/java/org/ballerinalang/langserver/packages/ComponentsTest.java +++ b/language-server/modules/langserver-core/src/test/java/org/ballerinalang/langserver/packages/ComponentsTest.java @@ -61,7 +61,6 @@ public void packageComponentsTestCase(String[] projects, String expected) throws List filePaths = new ArrayList<>(); for (String project : projects) { Path path = configsPath.resolve(project).resolve("main.bal").toAbsolutePath(); - TestUtil.openDocument(serviceEndpoint, path); filePaths.add(path.toString()); } @@ -133,7 +132,8 @@ public Object[][] getDataProvider() { {new String[]{"project", "project-functions", "project-services", "single-file"}, "multiple-packages_expected.json"}, {new String[]{"single-file"}, "single-file-package_expected.json"}, - {new String[]{"project-other"}, "project-other_expected.json"} + {new String[]{"project-other"}, "project-other_expected.json"}, + {new String[]{"non-exist"}, "project-exception_expected.json"} }; } } diff --git a/language-server/modules/langserver-core/src/test/resources/packages/components/project-exception_expected.json b/language-server/modules/langserver-core/src/test/resources/packages/components/project-exception_expected.json new file mode 100644 index 000000000000..4677642a3ac7 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/packages/components/project-exception_expected.json @@ -0,0 +1,3 @@ +{ + "result": [] +}