Skip to content

Refactor/remove non obp lift#2814

Merged
simonredfern merged 3 commits into
OpenBankProject:developfrom
hongwei1:refactor/removeNonOBPLift
May 26, 2026
Merged

Refactor/remove non obp lift#2814
simonredfern merged 3 commits into
OpenBankProject:developfrom
hongwei1:refactor/removeNonOBPLift

Conversation

@hongwei1
Copy link
Copy Markdown
Contributor

No description provided.

hongwei1 added 3 commits May 22, 2026 11:42
…Polish/STET/MxOF)

Comment out all 47 source files of BahrainOBF v1.0.0, AUOpenBanking v1.0.0,
Polish v2.1.1.1, STET v1.4 and MxOF/CNBV9 so their ScannedApis objects drop out
of reflection-based registration (ClassScanUtils.getSubTypeObjects) and no longer
serve through the Lift bridge.

Fix dependent references so the build and tests stay green:
- APIUtil.allStaticResourceDocs: drop the 5 standards' resource doc aggregation
- SwaggerJSONFactory: comment imports + license branches for AU/Polish/STET
- Http4sLiftBridgePropertyTest: empty intlStandardsWithGetEndpoints
- ApiCollectionEndpointTest: remove 5 operation_id blocks, count 9 -> 4
Commenting out STET v1.4, Polish v2.1.1.1, AUOpenBanking v1.0.0, BahrainOBF v1.0.0
and MxOF (OBP_MXOF v1.0.0 + CNBV9 v1.0.0) drops 6 scanned ApiVersions from the
reflection-built registry, so ApiVersionUtilsTest's hardcoded count must follow.
@hongwei1 hongwei1 force-pushed the refactor/removeNonOBPLift branch from 7aac9d0 to aa21d89 Compare May 26, 2026 13:32
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
B Maintainability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@simonredfern simonredfern merged commit 958027f into OpenBankProject:develop May 26, 2026
6 of 7 checks passed
constantine2nd added a commit to constantine2nd/OBP-API that referenced this pull request May 26, 2026
…ired in migration doc + regression-guard test

Companion to PR OpenBankProject#2814 (commit d19af2b) which commented out 5 non-OBP
Lift API standards. The disable is structural — `ClassScanUtils.getSubTypeObjects`
finds no `ScannedApis` in those packages, so Lift's dispatch never
sees them and `Boot.scala` needs no change. The flip side is that a
partial uncomment of any retired-standard file would silently re-register
that standard at the next startup.

Two changes:

1. **`LIFT_HTTP4S_MIGRATION.md`** — replace the five "Lift" rows in the
   Open-banking standards table with "Retired" (strike-through) entries,
   add a paragraph explaining the comment-out pattern + the deletion
   candidate timeline, and forward-reference the new regression-guard
   test. Section heading drops "(large, deferred indefinitely)" — only
   the BG v1.3 / UKOpenBanking / sandbox rows remain in-scope.

2. **`RetiredApiStandardsTest`** — scenario `"ScannedApis registry must
   not contain any object from a retired-standard package"`. Walks the
   live `ScannedApis.versionMapScannedApis` map and asserts no entry's
   fully-qualified class name starts with one of:

     code.api.BahrainOBF.
     code.api.AUOpenBanking.
     code.api.STET.
     code.api.Polish.
     code.api.MxOF.

   If anyone partially uncomments a retired standard, this test fails
   with the exact class name they brought back, and forces a re-think
   before the change ships. Uses `V400ServerSetup` because the scan
   needs a real classpath view (same hierarchy as `ApiVersionUtilsTest`,
   which counts scanned versions 26 → 20).

   Currently passes — confirms the empirical "zero scanned classes in
   the retired packages" invariant after PR OpenBankProject#2814.
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.

2 participants