Skip to content

fix(perc-system): cms.objectstore serialVersionUID inventory + test companion (#2403) - #2433

Merged
natechadwick merged 1 commit into
mainfrom
fix/issue-2403-cms-objectstore-serial-uid
Aug 8, 2026
Merged

natechadwick merged 1 commit into
mainfrom
fix/issue-2403-cms-objectstore-serial-uid

Conversation

@natechadwick-intsof

Copy link
Copy Markdown
Collaborator

Summary

#2403 (parent #2022 / grandparent #2200, slice 3e after #2366): clear -Xlint:serial missing-serialVersionUID for remaining cms.objectstore types.

Inventory result (this PR)

Reflection + -Xlint:serial compile of com.percussion.cms.objectstore shows 0 missing serialVersionUID diagnostics. All 20 true Serializable types already declare UIDs from the #2297 foundation batch:

Source of Serializable Types (examples)
Explicit / PSComponent / PSKey PSKey, PSSimpleKey, PSItemChildLocator, PSFolder, PSComponentSummary, PSSite, cloning request/options, PSAaRelationship
IPSCatalogSummary → IPSCatalogIdentifier → Serializable PSAction, PSSearch, PSDisplayFormat, PSItemDefSummary, PSItemDefinition
Exceptions PSInvalid*, PSRemoteException, PSCorruptDatabaseException
PSObjectPermissions PSFolderPermissions

Non-Serializable PSDbComponent collection subclasses correctly have no UID (same policy as design.objectstore dead-UID cleanup #994baa0).

Companion test

New PSCmsObjectStoreSerialVersionUidTest:

  • Asserts every inventory type is Serializable and declares a non-zero static final serialVersionUID
  • Java serialization round-trips for keys, folder permissions, cloning options/request, and exceptions

Out of scope (already filed or residual)

Test plan

  • cd system && ../mvnw.cmd clean install — BUILD SUCCESS
  • Tests run: 1278, Failures: 0, Errors: 0 (Skipped: 240 baseline)
  • Focused: PSCmsObjectStoreSerialVersionUidTest — 4 tests, 0 failures
  • No new production warnings introduced by this change (test-only)

Gates evidence

  • Erlang-style self-review: inventory-only production delta (none); test covers true Serializable set; portable paths N/A
  • Per-module standalone clean install: pass (cd system)
  • No monorepo-wide reformat

Residuals (filed with this PR)

Operator

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

Fixes #2403
Refs #2022 #2200 #2297 #2366

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

…ompanion (#2403)

Inventory after #2297 foundation batch: all 20 true Serializable types under
com.percussion.cms.objectstore (incl. client/server exceptions) already declare
serialVersionUID; zero remaining -Xlint:serial missing-UID diagnostics in the
package. Non-Serializable PSDbComponent collection subclasses correctly have no
UID (same policy as design.objectstore dead-UID cleanup).

Add PSCmsObjectStoreSerialVersionUidTest: field presence for all 20 types plus
Java serialization round-trips for keys, permissions, cloning request/options,
and exceptions constructible without a live server.

Parent: #2022 / #2200. Sibling residuals #2404 (this-escape), #2405 (serial-field).

Fixes #2403
Refs #2022 #2200 #2297

> Co-Authored by Grok Build using grok-4.5 with agent main.
@natechadwick-intsof

Copy link
Copy Markdown
Collaborator Author

Residuals filed with this PR:

Issue Parent Priority Notes
#2434 #2022 p8 PSCmsException missing serialVersionUID (adjacent package)
#2435 #2423 p1 Break folderHelper Spring cycle
#2436 #2423 p1 Spring startup regression test
#2437 #2423 p1 Docker qa-up health/login smoke

Sibling objectstore work remains open: #2404 this-escape, #2405 serial-field.

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 (1 file)
  • system/src/test/java/com/percussion/cms/objectstore/PSCmsObjectStoreSerialVersionUidTest.java

Reviewed by step-3.7-flash · Input: 46.8K · Output: 3.9K · Cached: 188.5K

Review guidance: REVIEW.md from base branch main

@natechadwick
natechadwick merged commit a107432 into main Aug 8, 2026
6 checks passed
@natechadwick
natechadwick deleted the fix/issue-2403-cms-objectstore-serial-uid branch August 8, 2026 19:02
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.

issue 2022 slice 3e: cms.objectstore serialVersionUID after #2366

2 participants