SRU2025 Java 8 Maintenance#185
Open
zubri wants to merge 33 commits into
Open
Conversation
…java8-maintenance
* feat: Enhanced the `MxParseUtils` to be lenient when the XML declaration has empty or invalid version attribute * (PW-2637) Block-5-5PDE-is-getting-generated-even-though-PssblDplct-value-is-false in AppHdr (#167) * getCpyDplct is not applicable to decide Duplicate [PDE] * getCpyDplct is not applicable to decide Duplicate [PDE] * Update CHANGELOG.md Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update iso20022-core/src/test/java/com/prowidesoftware/swift/model/mx/BusinessAppHdrV02Test.java Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: changelog indentation * chore: code rabbit suggestion * getCpyDplct is not applicable to decide Duplicate [PDE]. Fixed Testcase --------- Co-authored-by: Sebastian Zubrinic <sebastian@prowidesoftware.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: prowide core update * chore: release * chore: IDEA conf * chore: fix gradle for new maven central publication * chore: prowide core update * chore: release --------- Co-authored-by: zubri <sebastian@prowidesoftware.com> Co-authored-by: malai-subra <malai.subramanian@prowidesoftware.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
…java8-maintenance
* chore: prowide core update * chore: release * Enhanced camt.057 amount extraction in the DefaultMxMetadataStrategy (#176) * (GH-175) Removed extra double quote in minimum escape handler (#174) * removed extra double quote in minimum escape handler it was a bug in default escape handler resolved by zubrin in SRU2022 -9.3.7 * Add test coverage and CHANGELOG entry for MinimumEscapeHandler bugfix - Added comprehensive test suite for MinimumEscapeHandler - Tests validate quote handling in attribute and non-attribute contexts - Tests confirm the fix for duplicated quote characters (GH-174) - Updated CHANGELOG.md with entry for version 10.2.10-SNAPSHOT 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: zubri <sebastian@prowidesoftware.com> Co-authored-by: Claude <noreply@anthropic.com> * fix: spotless * (GH-168) Fix MX parsing error when AppHdr appears before Document in xsys messages (#177) * Fix MX parsing error when AppHdr appears before Document in xsys messages Fixed parsing error in MxXsys messages when AppHdr element appears before Document element in the XML envelope (correct SWIFT standard order). Root cause: NamespaceAndElementFilter was not preserving xsys namespace prefix mappings (Sw, SwInt, SwGbl) that were declared before the Document element was encountered, causing NullPointerException during parsing. Solution: Added pending prefix mappings queue to store xsys namespace mappings encountered before the target element, then flush them when entering the element to propagate. Changes: - Modified NamespaceAndElementFilter to queue and propagate pending namespace prefix mappings - Added comprehensive test case for AppHdr positioning scenarios - Updated CHANGELOG.md with fix entry Fixes #168 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Use imports instead of fully qualified names Changed java.util.List and java.util.ArrayList to use import statements instead of fully qualified names for better code readability. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com> * (GH-165) Added parseElement method to parse standalone JAXB elements from non-standard XML wrappers (#178) Added MxParseUtils.parseElement() methods to support parsing SWIFTNet infrastructure acknowledgment elements like SwIntWaitResponse from non-standard XML wrapper structures. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com> * chore: release * (PW-2895) Fix namespace prefix handling for custom envelope types in XML serialization (#179) * (PW-2895) Fix namespace prefix handling for custom envelope types in XML serialization * (PW-2895) Obfuscated test * fix: test --------- Co-authored-by: ecancrini <ecancrini@gmail.com> Co-authored-by: zubri <sebastian@prowidesoftware.com> --------- Co-authored-by: zubri <sebastian@prowidesoftware.com> Co-authored-by: Fernando de Sarriera <71713679+fernando-prowide@users.noreply.github.com> Co-authored-by: Mridul Gupta <66024896+MridulGupta75@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Ezequiel Cancrini <ECancrini@alchemy14.com> Co-authored-by: ecancrini <ecancrini@gmail.com>
Merge and adapt changes from origin/main to the Java 8 maintenance branch: - Resolve merge conflicts in generated files (setr, supl, sese, xsys modules) - Replace jakarta.xml.bind imports with javax.xml.bind (364 files) - Replace java.time types with XMLGregorianCalendar in new generated files (26 files) - Backport UETR extraction in MxSwiftMessage - Backport checksum/checksumBody with XML canonicalization in DefaultMxMetadataStrategy - Add MxNode.getLocalName() and MxNode.toCanonicalString() - New semt, supl, xsys message types and versions - Fix InputChannelListXsys00700101 incorrect class reference Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Strategy: -s ours then selective overlay. - Generated model-* modules: kept this branch's version (Java 8 compatible) - iso20022-core: overlaid from origin/main (includes PW-3133 Zulu datetime feature) - Root files .gitignore, CHANGELOG.md, overview.html, .idea/compiler.xml, .claude/settings.json: taken from main - build.gradle: kept ours (Java 8 toolchain) Follow-up required: jakarta.xml.bind imports in iso20022-core need to be backported to javax.xml.bind for Java 8 compatibility.
…for Java 8 compat Surgically apply PW-3133 (Zulu CreDt serialization toggle on BAH V01..V04) on top of the merge of origin/main, while reverting other iso20022-core changes from main that depend on pw-swift-core 10.x APIs absent from this branch's pinned 9.6.7. iso20022-core: - BusinessAppHdrV01..V04: add useZuluCreationDateTime flag, getters/setters, and effective-params switching in xml(). V01 default true (preserves prior behavior), V02..V04 default false. - MxWriteParams: add copy constructor. - MxWriteUtils: add withZuluDateTimeAdapter helper using ZuluDateTimeAdapter (XMLGregorianCalendar-based) instead of main's OffsetDateTime-based adapter. - TypeAdaptersConfiguration: add copy constructor using existing 9.6.7 adapters. - BusinessAppHdrZuluCreationDateTimeTest: kept from main, adapted to use XMLGregorianCalendar via DatatypeFactory instead of OffsetDateTime. - All other iso20022-core/src files reverted to pre-merge state. - Removed ZuluOffsetDateTimeAdapter and tests for adapters not present in 9.6.7. Root files reverted to pre-merge to keep Java 8 branch identity: .gitignore, .idea/compiler.xml, CHANGELOG.md (added 9.6.4 PW-3133 entry), overview.html, .claude/settings.json (now untracked). Verified: ./gradlew :iso20022-core:test passes (318 tests, 9 PW-3133-specific).
Brings in functional changes from main (PW-3251 lenient FileAct parsing, xsd:any wildcard content capture on parse/JSON, PW-3202 xsys prefix mapping fix, PW-3185 Calendar JSON read-compat, semt.044 draft4->draft5 regen), adapted for Java 8: - Generated code (model-semt-types) regenerated from main then converted from jakarta.xml.bind back to javax.xml.bind to match this branch's JAXB. - AbstractMX/MxSwiftMessage: adopted the wildcard-content and Calendar read-compat fixes without pulling in main's OffsetDateTime/V9/V10 Gson adapter split, which doesn't apply since this branch's model still uses XMLGregorianCalendar uniformly. - Added CalendarTypeAdapter locally (mirrors pw-swift-core 10.3.14's class) since it isn't available in this branch's pinned pw-swift-core 9.6.7; only the fromJson()-side of the Calendar 1-based-month fix is active here, toJson() still relies on AbstractSwiftMessage from 9.6.7 which doesn't emit the schemaVersion marker. - build.gradle: kept this branch's pinned Java 8-safe plugin/dependency versions (gradle-quality-plugin, spotless, prowideCoreVersion), restored the model-admi-mx/-types test dependency main added for a new test. - Re-adopted main's .claude/settings.json and .claude/hooks/ (per request). - Consolidated main's 10.3.7-10.3.10 changelog entries into a single 9.6.5 entry. Verified: ./gradlew build compiles all 72 modules on Java 8; iso20022-core test suite passes 393/393. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Re-opening PR #163 with base branch changed from java8-maintenance to main.
This PR contains the SRU2025 schema updates for the Java 8 maintenance branch.