Skip to content

feat(annotator): warn when Web facet is missing for Struts modules#67

Open
lukaszlenart wants to merge 1 commit intomainfrom
feat/missing-webfacet-warning
Open

feat(annotator): warn when Web facet is missing for Struts modules#67
lukaszlenart wants to merge 1 commit intomainfrom
feat/missing-webfacet-warning

Conversation

@lukaszlenart
Copy link
Copy Markdown
Member

@lukaszlenart lukaszlenart commented Apr 5, 2026

Summary

Follow-up to #66 (DTD validation). Adds early feedback when a Struts-configured module lacks a Web facet, which prevents JSP result path resolution and Diagram navigation from working.

  • WebFacetChecker – shared predicate reused by the annotator and framework initializer
  • StrutsWebFacetCheckingAnnotator – file-level warning on struts.xml files with a quick action to open module facet settings
  • StrutsFrameworkInitializer – one-time notification per affected module on project open
  • Struts2ProjectDescriptorBuilder.withoutWebFacet() – test-infrastructure support for omitting WebFacet in light tests
  • New tests: StrutsWebFacetCheckingAnnotatorTest, WebFacetCheckerTest

Test plan

  • ./gradlew test -x rat passes (full suite)
  • Manual: open a Struts project without Web facet → file-level warning visible
  • Manual: click quick action → module settings open
  • Manual: add Web facet → warning disappears on re-analysis
  • Manual: on project open, notification appears in the Notifications panel

Made with Cursor

Adds early feedback when a Struts-configured module has no WebFacet,
which prevents JSP result path resolution and Diagram navigation.

- WebFacetChecker: shared predicate reused by annotator and initializer
- StrutsWebFacetCheckingAnnotator: file-level warning on struts.xml with
  quick action to open module facet settings
- StrutsFrameworkInitializer: one-time notification per affected module
  on project open
- Struts2ProjectDescriptorBuilder.withoutWebFacet(): test support for
  omitting WebFacet in light tests

Follow-up to PR #66 (DTD validation).

Made-with: Cursor
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 5, 2026

🔌 Plugin artifact ready for testing!

Download from Actions artifacts

Artifact: struts2-261.18970.1

@lukaszlenart lukaszlenart marked this pull request as ready for review April 5, 2026 11:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant