Skip to content

fix(perc-toolkit): Xlint batch 1 — real generics + easy wins (#2030) - #2420

Merged
natechadwick merged 1 commit into
mainfrom
fix/issue-2030-perc-toolkit-xlint-batch1
Aug 8, 2026
Merged

natechadwick merged 1 commit into
mainfrom
fix/issue-2030-perc-toolkit-xlint-batch1

Conversation

@natechadwick-intsof

Copy link
Copy Markdown
Collaborator

Summary

Partial Xlint cleanup for perc-toolkit (issue #2030, parent tracker #2200). First PR-sized batch prefers real generics and mechanical easy wins over blanket suppressions.

Live main-source project -Xlint diagnostics: 87 → 26 (~61 cleared).

Main changes

  • Boxed constructors (for-removal): ImageEditorWizard, ImageResizeManagerImpl, PSOFileUploadValidation → primitive casts / Boolean.valueOf
  • serialVersionUID: ArchivedException, UniqueIdLocatorSet, TrashTask.FatalTaskException
  • @deprecated: QueuedEdition class + PublishEditionService deprecated API surface (javadoc-only → annotation)
  • Servlet generics: MutableHttpServletRequestWrapper Map/Enumeration overrides match Jakarta API
  • Collections: PSOMutableUrl, PSOParseUrlQueryString, SimplifyParameters, PSOListTools, relationship/folder/extension raw Iterator consumers
  • JAXB: ItemRestServiceImpl / ItemServiceHelper use JAXBContext.newInstance(Item.class)
  • equals/hashCode: PSOSlotContents.SlotItemComparator

Tests

  • PSOMutableUrlTest — toString / setParam
  • PSOParseUrlQueryStringTest — single + multi-value accumulation
  • PSOSlotContentsTest.testSlotItemComparatorEqualsHashCodeContract
  • UniqueIdLocatorSetTest.testDefinesSerialVersionUid

Residual

Remaining diagnostics tracked in #2419 (this-escape sites, PSORequestContext parent override cascade, PropertyData serial field).

Test plan

  • cd modules/perc-toolkit && ../../mvnw.cmd clean install — BUILD SUCCESS
  • Tests run: 223, Failures: 0, Errors: 0, Skipped: 16
  • Main-source warnings 87 → 26
  • No new production behavior beyond type-safe APIs already used with raw types

Gates

  • Erlang-style self-review: docs/ai-generated/code-reviews/issue-2030-perc-toolkit-xlint-batch1-erlang.md
  • Pre-PR Maven: standalone module clean install green
  • Operator: Grok: night-issue-prs (model grok-4.5)

Partial for #2030
Refs #2200
Residual: #2419

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

Partial cleanup under parent #2200. Live main-source project -Xlint
diagnostics 87→26 via real generics and mechanical easy wins.

- Replace for-removal boxed Long/Double/Boolean constructors
- Add serialVersionUID; annotate QueuedEdition/PublishEditionService @deprecated
- Type servlet map/enumeration overrides, JAXB Class, List/Iterator consumers
- SlotItemComparator.hashCode; unit tests for URL parse/mutable URL/comparator

Refs #2200
Partial for #2030

> Co-Authored by Grok Build using grok-4.5 with agent main.
@kilo-code-bot

kilo-code-bot Bot commented Aug 8, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (27 files)
  • docs/ai-generated/code-reviews/issue-2030-perc-toolkit-xlint-batch1-erlang.md
  • modules/perc-toolkit/src/main/java/com/percussion/pso/imageedit/web/ImageEditorWizard.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/imageedit/web/impl/ImageResizeManagerImpl.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/jexl/PSOListTools.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/legacy/PSOProxyQueryResource.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/relationshipbuilder/PSRelationshipHelperService.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/restservice/impl/ArchivedException.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/restservice/impl/ItemRestServiceImpl.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/restservice/utils/ItemServiceHelper.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/tasks/TrashTask.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/utils/MutableHttpServletRequestWrapper.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/utils/PSOMutableUrl.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/utils/PSOParseUrlQueryString.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/utils/PSOSlotContents.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/utils/PSOSlotRelations.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/utils/SimplifyParameters.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/utils/UniqueIdLocatorSet.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/validation/PSOFileUploadValidation.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/workflow/PSOSwitchCommunityWorkflowAction.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/workflow/PSOWFActionDispatcher.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/workflow/PSOWFActionService.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/workflow/PublishEditionService.java
  • modules/perc-toolkit/src/main/java/com/percussion/pso/workflow/QueuedEdition.java
  • modules/perc-toolkit/src/main/java/com/percussion/soln/listbuilder/FolderTools.java
  • modules/perc-toolkit/src/test/java/test/percussion/pso/utils/PSOMutableUrlTest.java
  • modules/perc-toolkit/src/test/java/test/percussion/pso/utils/PSOParseUrlQueryStringTest.java
  • modules/perc-toolkit/src/test/java/test/percussion/pso/utils/PSOSlotContentsTest.java
  • modules/perc-toolkit/src/test/java/test/percussion/pso/utils/UniqueIdLocatorSetTest.java

Reviewed by step-3.7-flash · Input: 237.3K · Output: 32.6K · Cached: 3M

Review guidance: REVIEW.md from base branch main

@natechadwick
natechadwick merged commit b82e99c into main Aug 8, 2026
6 checks passed
@natechadwick
natechadwick deleted the fix/issue-2030-perc-toolkit-xlint-batch1 branch August 8, 2026 17:44
vijaya-boddipudi pushed a commit that referenced this pull request Aug 11, 2026
Re-inventory after main-source zero (#2658/#2419): remaining project -Xlint
diagnostics were all test-source raw/unchecked (+ one static-method site).

Prefer real generics and typed Mockito matchers; no blanket @SuppressWarnings.

Refs #2030 #2200 #2419 #2420

> Co-Authored by Grok Build using grok-4.5 with agent main.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

model:grok-4.5 Grok 4.5 model operator:grok Changes authored by Grok operator:night-issue-prs night-issue-prs workflow

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants