[WiP] Use WorkspaceTestRule in UITestCase #291
⚠️ This is not to be merged. It is currently only supposed to provide an overview of side effects when applying the general WorkspaceTestRule for uniform workspace cleanup after test execution to all UITestCase implementations. ⚠️
All specializations of UITestCase operate on a workspace, for which the JUnit 4 WorkspaceTestRule exist to ensure proper workspace cleanup, including deletion of all projects and restoring workspace default settings. Currently, such cleanup is up to the individual test case and not performed uniformly and consistently.
With this change, the WorkspaceTestRule is applied to all specializations of WorkspaceTestRule. As a first direct application, the manual project deletion in ResourceInitialSelectionTest, which is currently failing randomly, is removed and replaced by the general cleanup functionality.
May fix https://github.com/eclipse-platform/eclipse.platform.ui/issues/294
Framework for both Jakarta LS and Jakarta JDT LS components:
- Externalize all strings to a separate properties file
- Create a class to define APIs for loading language files, getting actual messages from their keys, formatting the messages with multiple variables etc.
One thing unknown:
We are using JSON file for code completion in Jakarta LS, messages and action details are all defined there, we need a way to handle those messages differently
Loading JSON files:
-
JakartaEESnippetRegistryLoaderloads each JSON file and adds the contents toSnippetRegistry -
SnippetRegistry.getCompletionItem(...)to createorg.eclipse.lsp4j.CompletionItemobject for code completion
New issue open to address creating the Java framework for globalization: https://github.com/eclipse/lsp4jakarta/issues/315
This issue will focus on adding the JSON piece of the framework and externalizing existing strings.
Modifying the messages and locations requires updates in liberty-tools-intellij https://github.com/OpenLiberty/liberty-tools-intellij/issues/453
Externalized messages for diagnostics and quick fixes but not snippets.