[DQL] Improving DQL execution services#124
Conversation
There was a problem hiding this comment.
Pull request overview
Improves the DQL Services toolwindow UX by introducing a root “Dynatrace” group, tenant-level sub-grouping, and better navigation/opening behavior for consoles and executions.
Changes:
- Adds a root Services group with toolbar actions (open console, open settings, manage tenants) and nests tenant groups beneath it.
- Refactors query console opening into
DQLQueryConsoleVirtualFilehelpers and updates menu/actions/docs accordingly. - Adds “double-click to navigate” behavior for executions (open source file or open a query console with context).
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| src/main/resources/messages/DQLBundle.properties | Adds localized strings for the new root services group/actions and console naming. |
| src/main/resources/META-INF/plugin.xml | Registers a startup activity and adjusts action placement related to Services. |
| src/main/java/pl/thedeem/intellij/dql/settings/tenants/TenantSettingsDialog.java | Extracts tenant add/edit dialog into a dedicated class with async token loading. |
| src/main/java/pl/thedeem/intellij/dql/settings/tenants/DynatraceTenantsConfigurable.java | Switches to the new dialog, adds a helper to open settings focused on a tenant. |
| src/main/java/pl/thedeem/intellij/dql/settings/DQLSettingsConfigurable.java | Adds a convenience showSettings(Project) helper. |
| src/main/java/pl/thedeem/intellij/dql/services/ui/TenantServiceGroup.java | Adds “Configure tenant” action and nests tenant groups under the new root group. |
| src/main/java/pl/thedeem/intellij/dql/services/ui/ServicesAutoRegistrationStartupActivity.java | New: auto-registers the root services group on project startup. |
| src/main/java/pl/thedeem/intellij/dql/services/ui/ConnectedTenantsServiceGroup.java | New: root “Dynatrace” group and toolbar actions. |
| src/main/java/pl/thedeem/intellij/dql/fileProviders/DQLQueryConsoleVirtualFile.java | Centralizes console open logic, adds naming counter, and custom equality/hash behavior. |
| src/main/java/pl/thedeem/intellij/dql/exec/DQLExecutionService.java | Nests executions under root/tenant groups and adds navigatable double-click behavior. |
| src/main/java/pl/thedeem/intellij/dql/editor/DQLMissingTenantNotificationProvider.java | Uses the new settings helper method. |
| src/main/java/pl/thedeem/intellij/dql/actions/OpenDQLQueryConsoleAction.java | Delegates console opening to DQLQueryConsoleVirtualFile helpers. |
| src/main/java/pl/thedeem/intellij/dql/actions/ManageTenantsAction.java | Delegates to DynatraceTenantsConfigurable.showSettings(). |
| src/main/java/pl/thedeem/intellij/dql/DQLIcon.java | Adds an icon for “Manage Tenants”. |
| src/main/java/pl/thedeem/intellij/common/services/ManagedServiceGroup.java | Refactors ManagedServiceGroup to extend ManagedService. |
| docs/wiki/DQL.md | Updates docs to reflect the new Services UI entrypoint. |
| CHANGELOG.md | Updates changelog entries for the new Services grouping and navigation behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/main/java/pl/thedeem/intellij/dql/fileProviders/DQLQueryConsoleVirtualFile.java
Show resolved
Hide resolved
src/main/java/pl/thedeem/intellij/dql/settings/tenants/TenantSettingsDialog.java
Outdated
Show resolved
Hide resolved
src/main/java/pl/thedeem/intellij/dql/settings/tenants/TenantSettingsDialog.java
Outdated
Show resolved
Hide resolved
src/main/java/pl/thedeem/intellij/dql/settings/tenants/DynatraceTenantsConfigurable.java
Outdated
Show resolved
Hide resolved
Introducing a root level for all services spawned from this plugin. It allows the user to open main settings. Tenant-level groups show options related to tenants. Double-clicking the service opens the related file or query console.
75ce598 to
3d49bc6
Compare
Qodana for JVMIt seems all right 👌 No new problems were found according to the checks applied 💡 Qodana analysis was run in the pull request mode: only the changed files were checked View the detailed Qodana reportTo be able to view the detailed Qodana report, you can either:
To get - name: 'Qodana Scan'
uses: JetBrains/qodana-action@v2025.3.1
with:
upload-result: trueContact Qodana teamContact us at qodana-support@jetbrains.com
|
Introducing a root level for all services spawned from this plugin. It allows the user to open main settings. The root-level service is automatically created when IJ starts.
Tenant-level groups show options related to tenants.
Double-clicking the service opens the related file or query console.