Skip to content

fix(sitemanage): Xlint this-escape service/listener residual (#2999) - #3060

Merged
natechadwick merged 1 commit into
mainfrom
fix/issue-2999-sitemanage-this-escape-service
Aug 11, 2026
Merged

natechadwick merged 1 commit into
mainfrom
fix/issue-2999-sitemanage-this-escape-service

Conversation

@natechadwick-intsof

@natechadwick-intsof natechadwick-intsof commented Aug 11, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Partial Xlint cleanup for sitemanage residual issue #2999 (parent module issue #2032, monorepo tracker #2200). After DTO this-escape (#2980 / PR #3000), this PR clears the service / listener / register-on-construct this-escape cluster.

Main changes

  • Path item services: seed protected rootName in ctors (no overridable setRootName during construction); keep public final setRootName for post-construct use
  • Leaf finals: monitors, PSIndexHelper, servlets, PSServletRequestWrapper, PSProxyAssemblyTemplate, PSMergedRegionTree, PSWidgetPackageResolver
  • Proxy template: direct field seeds + final setters + private copyBindings
  • Justified suppress for intentional publish-to-registry on Spring beans that must stay non-final (@Transactional / CGLIB-friendly): PSPageImportQueue, PSFolderHelper, listeners, page/widget services, expander registry put

Tests

  • New PSThisEscapeServiceListenerTest (4): path root seed, proxy seeds, servlet wrapper, finality

Inventory (main-source this-escape)

Metric Before After
this-escape (main) 32 4

Residual

DTO/parser this-escape leftovers, serial-field residual, misc Xlint, test-source this-escape: #3061

Test plan

  • cd projects/sitemanage && ../../mvnw.cmd clean install — BUILD SUCCESS
  • Tests run: 1031, Failures: 0, Errors: 0, Skipped: 125
  • PSThisEscapeServiceListenerTest (4) green
  • C2: grepped monorepo for extends of newly final types — none (except intentional non-final PSSitePathItemService test subclasses)

Product documentation

  • N/A — pure compiler lint tech debt; no operator/user/API surface change

Gates / evidence (C3)

  • modules_built: projects/sitemanage
  • build_evidence: cd projects/sitemanage && ../../mvnw.cmd clean install → BUILD SUCCESS; Tests run: 1031, Failures: 0, Errors: 0, Skipped: 125
  • downstream_checked: C2 greps for extends of newly final types (monitors, IndexHelper, servlets, proxy, merged region tree, package resolver) — no hits; path services left non-final for existing test subclasses

Operator

Operator: Grok: night-issue-prs (model grok-4.5)

Parent: #2032 / #2200
Fixes #2999 (service/listener cluster); residual #3061.

Co-Authored by Grok Build using grok-4.5 with agent main.

Clear PR-sized main-source this-escape cluster after DTO batch (#2980):
path services seed protected rootName; final leaf monitors/servlets/
helpers; justified suppress for intentional Spring registry publish
on transactional/CGLIB-sensitive beans; proxy template direct field seeds.

Tests: PSThisEscapeServiceListenerTest (4). Main this-escape 32->4.
Residual: DTO/parser this-escape + serial-field + misc Xlint.

Refs #2032 #2200 #2980

> Co-Authored by Grok Build using grok-4.5 with agent main.
@natechadwick
natechadwick merged commit 4dd3f9c into main Aug 11, 2026
6 checks passed
@natechadwick
natechadwick deleted the fix/issue-2999-sitemanage-this-escape-service branch August 11, 2026 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.2 This issue found in 8.2 release model:grok-4.5 Grok 4.5 model operator:grok Changes authored by Grok operator:night-issue-prs night-issue-prs workflow tech-debt tech debt

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[8.2] sitemanage Xlint residual after this-escape DTO batch (#2032 / #2980)

2 participants