Changes for Add Liberty starter project link to Project/Package Explorer - #687
Closed
malavikaharikumar23 wants to merge 23 commits into
Closed
malavikaharikumar23 wants to merge 23 commits into
malavikaharikumar23 wants to merge 23 commits into
Conversation
mezarin
reviewed
Sep 8, 2026
mezarin
left a comment
Member
There was a problem hiding this comment.
I have not tested it myself. Will do that next. Here are a couple of comments.
| <newWizardShortcut id="io.openliberty.tools.eclipse.ui.wizard.LibertyStarter"/> | ||
| </perspectiveExtension> | ||
| <perspectiveExtension targetID="org.eclipse.jdt.ui.JavaBrowsingPerspective"> | ||
| <perspectiveExtension targetID="*"> |
Member
There was a problem hiding this comment.
It seems a bit dangerous to target all perspectives as there are some that do not make sense for this: Database *, Planning, XML, etc.
| walkAndTag(application); | ||
|
|
||
| // Also cover snippets | ||
| for (MUIElement snippet : application.getSnippets()) { |
Member
There was a problem hiding this comment.
Why do we need to cover snippets?
Contributor
Author
There was a problem hiding this comment.
Removed
mezarin
reviewed
Sep 8, 2026
Merge dev branch into main
…Display Fix empty dashboard text being truncated when view is stretched
…hboard Prevent other plugins from contributing to the dashabord ctx menu
mezarin
approved these changes
Sep 10, 2026
malavikaharikumar23
force-pushed
the
liberty-starter-validation
branch
from
September 10, 2026 16:28
434e958 to
232f361
Compare
Member
|
closing this PR because the code was shipped as part of PR #695 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds the Create new Liberty starter project link to the empty Project/Package Explorer (and Package Explorer) so that first-time users can easily create a starter project directly from the view
Problems solved
Eclipse restores perspectives from workbench.xmi on restart, which bypasses PerspectiveExtensionReader. The persp.newWizSC:... tag was therefore never injected into an already-running perspective.
Fix: Introduced LibertyPerspectiveProcessor — an E4 model processor registered via the org.eclipse.e4.workbench.model extension point. It runs synchronously on every startup, recursively walks the full model tree (TrimmedWindow → PartSashContainer → PerspectiveStack → Perspective), and adds the missing tag to every perspective without requiring a perspective reset.
The DS component triggered early bundle activation before the workbench existed. LibertyDevPlugin.start() called PlatformUI.getWorkbench() and threw IllegalStateException.
Fix: Added an PlatformUI.isWorkbenchRunning() guard in registerListeners() so the call is skipped entirely when the workbench is not yet available.
Perspectives are nested at an arbitrary depth in the model tree, not as direct children of the window. A shallow walk missed them.
Fix: Changed LibertyPerspectiveProcessor to recursively walk MElementContainer children at every level, ensuring all perspectives are found regardless of nesting depth.