Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SRU2024 v9.5 #113

Open
wants to merge 21 commits into
base: develop
Choose a base branch
from
Open

SRU2024 v9.5 #113

wants to merge 21 commits into from

Conversation

zubri
Copy link
Member

@zubri zubri commented Apr 27, 2024

Summary by CodeRabbit

  • New Features

    • Enhanced message handling to support SWIFT Standard 2024 and standard envelopes.
    • Introduced message categories for better organization.
    • Added support for Business Application Header version 4.
  • Improvements

    • Enhanced message identification with updates to the message handling components.
    • Added a business service field for message type differentiation.
    • Streamlined XML serialization with improved handling of envelope types.
    • Enhanced parsing logic for different versions of the Business Application Header.
  • Dependency Updates

    • Updated libraries for enhanced performance and security.
  • Bug Fixes

    • Addressed a Null Pointer Exception in metadata handling.
    • Corrected UTC offset conversion in date and time handling.

Copy link

coderabbitai bot commented Jun 28, 2024

Walkthrough

Walkthrough

The updates introduce significant enhancements to the Prowide ISO 20022 library, aligning it with the SWIFT Standard 2024. Key improvements include better handling of business services, the introduction of new message categories, and support for standard envelopes. Critical fixes, particularly addressing null pointer exceptions, bolster application robustness. Additionally, the library's dependencies have been updated to ensure improved performance and security.

Changes

File Change Summary
CHANGELOG.md Overview of updates from version 9.4.6 to 9.5.4, including fixes, enhancements, and dependency updates.
AppHdrFactory.java, MxParseUtils.java Enhanced to respect business services in message identification and header creation.
MxWriteConfiguration.java Added support for standard envelopes for SWIFT and ISO 20022, with improved configuration handling.
MxId.java Introduced optional businessService field for message type differentiation.
AbstractMX.java Deprecated methods and constants, refined XML serialization logic for better clarity and flexibility.
AppHdrParser.java Expanded parsing logic to support multiple versions of Business Application Header.
Dependencies Updated commons-lang3 to version 3.14.0 and gson to version 2.11.0 for enhanced performance and security.

Sequence Diagram(s)

sequenceDiagram
    actor User
    participant AppHdrFactory
    participant MxParseUtils
    participant MxId
    User->>AppHdrFactory: Create Header with Business Service
    AppHdrFactory->>MxId: Initialize with Business Service
    User->>MxParseUtils: Identify Message
    MxParseUtils->>MxId: Set Business Service
Loading

Recent review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between 04b9e2a and fdf3346.

Files selected for processing (8)
  • CHANGELOG.md (1 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AppHdrFactory.java (5 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AppHdrParser.java (2 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AppHdrType.java (1 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/BusinessAppHdrV04.java (1 hunks)
  • iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/DefaultMxMetadataStrategy.java (4 hunks)
  • iso20022-core/src/test/java/com/prowidesoftware/issues/Issue1958.java (1 hunks)
  • iso20022-core/src/test/java/com/prowidesoftware/swift/model/mx/AppHdrParserTest.java (8 hunks)
Additional context used
Markdownlint
CHANGELOG.md

3-3: Expected: h2; Actual: h4
Heading levels should only increment by one level at a time

(MD001, heading-increment)


4-4: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


7-7: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


8-8: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


11-11: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


14-14: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


15-15: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


18-18: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


19-19: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


20-20: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


21-21: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


22-22: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


23-23: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


24-24: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


25-25: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


3-3: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


6-6: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


10-10: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


13-13: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


17-17: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


4-4: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


7-7: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


11-11: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


14-14: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


18-18: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


19-19: null
Bare URL used

(MD034, no-bare-urls)

Additional comments not posted (30)
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AppHdrType.java (1)

27-28: Addition of BAH_V4 is appropriate.

The addition of BAH_V4 to the AppHdrType enum is a necessary update to support the new version of business application headers. This change is well-aligned with the library's evolution to accommodate newer standards.

iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AppHdrParser.java (3)

86-90: Support for BAH version 1 parsing is well-implemented.

The addition of parsing logic for BusinessAppHdrV01 is clear and integrates well with the existing structure.


101-105: Support for BAH version 4 parsing is well-implemented.

The addition of parsing logic for BusinessAppHdrV04 enhances the method's capability to handle newer BAH versions.


107-109: Default parsing to BAH version 2 is appropriate.

Changing the default parsing behavior to BusinessAppHdrV02 aligns with its common usage in CBPR+ and improves the method's robustness.

iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/BusinessAppHdrV04.java (5)

72-74: LGTM!

The parse(String xml) method correctly delegates to the overloaded method with default parameters.


84-87: LGTM!

The parse(String xml, MxReadParams params) method includes proper null checks and uses a utility for parsing.


125-142: LGTM!

The getBIC(Party51Choice p) method handles potential null pointers effectively while retrieving BIC codes.


236-264: LGTM!

The xml(MxWriteParams params) method correctly handles JAXB marshalling and logs errors appropriately.


274-296: LGTM!

The element(JAXBContext inputContext) method effectively creates a DOM element and handles exceptions.

iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AppHdrFactory.java (4)

108-110: LGTM!

The createBusinessAppHdrV02 method correctly handles optional business service in the MxId.


155-157: LGTM!

The createBusinessAppHdrV03 method correctly handles optional business service in the MxId.


178-204: LGTM!

The createBusinessAppHdrV04 method is well-implemented, handling optional parameters and business service consistently.


274-275: LGTM!

The createAppHdr method correctly integrates the new BAH_V4 case.

iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/DefaultMxMetadataStrategy.java (8)

94-94: Improved null check for getCamt29Amount.

The addition of a null check for amount.getValue() enhances robustness by preventing potential null pointer exceptions.


102-102: Improved null check for getCamt52Amount.

The added null check for amount.getValue() ensures that only valid amounts are processed, reducing the risk of runtime exceptions.


110-110: Improved null check for getCamt53Amount.

The null check for amount.getValue() is a good addition to prevent errors when processing monetary amounts.


124-124: Improved null check for getCamt54Amount.

The null check for amount.getValue() ensures robustness by avoiding null pointer exceptions when creating Money objects.


132-132: Improved null check for getCamt56Amount.

Adding a null check for amount.getValue() is a good practice to ensure that only valid data is processed.


140-140: Improved null check for getCamt57Amount.

The null check for amount.getValue() enhances the method's robustness by preventing potential null pointer exceptions.


151-151: Improved null check for getPacs004Amount.

The null check for amount.getValue() is a valuable addition to ensure that only valid monetary amounts are processed.


184-184: Improved null check for getPacsAmount.

The null check for amount.getValue() in both the group header and credit transfer attempts enhances data integrity and prevents null pointer exceptions.

iso20022-core/src/test/java/com/prowidesoftware/swift/model/mx/AppHdrParserTest.java (9)

42-42: Added instance type assertion in assertSampleApplicationHeader.

The use of assertInstanceOf ensures that the parsed header is of the expected type, improving test robustness.


74-76: Instance type assertion for testParseApplicationHeader_sample_payload_mq.

The addition of assertInstanceOf confirms the correct subclass is instantiated, enhancing the test's reliability.


89-91: Instance type assertion for testParseApplicationHeader_sample_bah.

The assertInstanceOf assertion ensures the correct type is used, which is crucial for validating the parsing logic.


Line range hint 112-149: New test method testParseBAH1_sample.

The method tests parsing of a specific XML structure and includes assertions for instance type and expected values, expanding test coverage.


Line range hint 192-214: Renamed and modified test method testParseBAH1_sample2.

The method name change reflects the specific scenario tested, and the instance type assertion ensures the correct subclass is used.


224-278: New test method testParseBAH2_sample.

The method tests a different version of the application header, with assertions for instance type and expected values, enhancing test coverage.


280-312: New test method testParseBAH3_sample.

The method tests another version of the application header, ensuring the parser's functionality across different versions.


314-346: New test method testParseBAH4_sample.

The method adds coverage for yet another version of the application header, with appropriate assertions to verify parsing correctness.


395-395: Updated type in testNoNamespaceDefaultToBAH.

The change to BusinessAppHdrV02 reflects the expected default behavior when no namespace is present, ensuring the test aligns with the intended logic.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

Outside diff range comments (2)
build.gradle (1)

Line range hint 209-225: Ensure correct envelope type property name in configuration.

The property envelopeTyoe is likely a typo and should be envelopeType. This could lead to runtime errors if the property is accessed incorrectly.

- conf.envelopeTyoe = EnvelopeType.SWIFT;
+ conf.envelopeType = EnvelopeType.SWIFT;
iso20022-core/src/main/java/com/prowidesoftware/swift/model/mx/AbstractMX.java (1)

Line range hint 231-310: Optimize the XML serialization logic for clarity and efficiency.

The method message(MxWriteConfiguration) contains complex logic for XML serialization, including conditional checks for envelope types and prefixes. This could be refactored for better clarity and possibly improved efficiency by extracting some logic into smaller, more focused methods.

- if (envelope.name().startsWith("BME")) {
+ if (isBMEEvelope(envelope)) {

And add a new method:

private boolean isBMEEvelope(EnvelopeType envelope) {
    return envelope.name().startsWith("BME");
}

build.gradle Show resolved Hide resolved
Comment on lines +117 to +169

@Test
public void testWriteWithDefaultOptions() {
final MxPacs00800110 mx = new MxPacs00800110();
mx.setAppHdr(new BusinessAppHdrV02());
mx.setFIToFICstmrCdtTrf(new FIToFICustomerCreditTransferV10());
mx.getFIToFICstmrCdtTrf().setGrpHdr(new GroupHeader96());
mx.getFIToFICstmrCdtTrf().getGrpHdr().setMsgId("123");

final String xml = mx.message();

final String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + "<RequestPayload>\n"
+ "<head:AppHdr xmlns:head=\"urn:iso:std:iso:20022:tech:xsd:head.001.001.02\"></head:AppHdr>\n"
+ "<pacs:Document xmlns:pacs=\"urn:iso:std:iso:20022:tech:xsd:pacs.008.001.10\">\n"
+ " <pacs:FIToFICstmrCdtTrf>\n"
+ " <pacs:GrpHdr>\n"
+ " <pacs:MsgId>123</pacs:MsgId>\n"
+ " </pacs:GrpHdr>\n"
+ " </pacs:FIToFICstmrCdtTrf>\n"
+ "</pacs:Document>\n"
+ "</RequestPayload>";
assertEquals(expected, xml);
}

@Test
public void testWriteWithCustomOptions() {
final MxPacs00800110 mx = new MxPacs00800110();
mx.setAppHdr(new BusinessAppHdrV02());
mx.setFIToFICstmrCdtTrf(new FIToFICustomerCreditTransferV10());
mx.getFIToFICstmrCdtTrf().setGrpHdr(new GroupHeader96());
mx.getFIToFICstmrCdtTrf().getGrpHdr().setMsgId("123");

MxWriteConfiguration conf = new MxWriteConfiguration();
conf.includeXMLDeclaration = false;
conf.rootElement = "Message";
conf.headerPrefix = "Head";
conf.documentPrefix = "Doc";
conf.useCategoryAsDocumentPrefix = false;

final String xml = mx.message(conf);

final String expected = "<Message>\n"
+ "<Head:AppHdr xmlns:Head=\"urn:iso:std:iso:20022:tech:xsd:head.001.001.02\"></Head:AppHdr>\n"
+ "<Doc:Document xmlns:Doc=\"urn:iso:std:iso:20022:tech:xsd:pacs.008.001.10\">\n"
+ " <Doc:FIToFICstmrCdtTrf>\n"
+ " <Doc:GrpHdr>\n"
+ " <Doc:MsgId>123</Doc:MsgId>\n"
+ " </Doc:GrpHdr>\n"
+ " </Doc:FIToFICstmrCdtTrf>\n"
+ "</Doc:Document>\n"
+ "</Message>";
assertEquals(expected, xml);
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider using more robust XML testing methods.

The current tests check for substrings in the XML output, which can be error-prone and may not catch structural issues. Consider using an XML comparison tool or library to ensure the XML structure is correct, not just the presence of certain strings.

@zubri zubri changed the title SRU2024 SRU2024 v9.5 Jun 29, 2024
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Outside diff range comments (2)
CHANGELOG.md (1)

Line range hint 134-134: Fix the hyphenation issue.

Use a hyphen in "interface-based".

-  * Added a new extensible interface based model for the application headers: AppHdr
+  * Added a new extensible interface-based model for the application headers: AppHdr
Tools
Markdownlint

3-3: Expected: h2; Actual: h4
Heading levels should only increment by one level at a time

(MD001, heading-increment)


4-4: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


7-7: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


8-8: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


11-11: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


12-12: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


13-13: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


14-14: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


15-15: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


16-16: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


17-17: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


18-18: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


21-21: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


22-22: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


3-3: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


6-6: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


10-10: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


20-20: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


4-4: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


7-7: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


11-11: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


21-21: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


12-12: null
Bare URL used

(MD034, no-bare-urls)

build.gradle (1)

Line range hint 99-100: Standardize Dependency Versions

Multiple versions of the same dependency are declared. To avoid potential conflicts and ensure consistency, standardize the versions of the following dependencies:

  • org.apache.commons:commons-lang3
    • Versions found: 3.12.0, 3.14.0
  • com.google.code.gson:gson
    • Versions found: 2.9.0, 2.11.0
-  implementation 'org.apache.commons:commons-lang3:3.12.0'
-  implementation 'com.google.code.gson:gson:2.9.0'
+  implementation 'org.apache.commons:commons-lang3:3.14.0'
+  implementation 'com.google.code.gson:gson:2.11.0'

CHANGELOG.md Show resolved Hide resolved
build.gradle Outdated Show resolved Hide resolved
build.gradle Outdated Show resolved Hide resolved
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

CHANGELOG.md Outdated Show resolved Hide resolved
build.gradle Show resolved Hide resolved
build.gradle Show resolved Hide resolved
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Comment on lines +10 to +19
#### 9.5.0 - May 2024
* SWIFT Standard release update 2024 (live 16 November 2024)
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
* Added message categories for File Management (cafm), Fraud Reporting and Disposition (cafm), Network Management (canm), and Settlement Reporting (casr)
* Add support in the MxWriteConfiguration to use standard envelopes for SWIFT and ISO 20022
* Changed the default Document prefix to the message category; "camt", "pacs", etc...
* Enhanced MxId with optional and transient businessService field to act as a message type discriminator
* Dependency update: commons-lang3 -> 3.14.0
* Dependency update: gson -> 2.11.0

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the bare URL and grammatical errors.

Replace the bare URL with a proper markdown link and fix the colon usage before the list.

-  * Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
+  * Yearly revision of deprecation phase ([see here](https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/))

-  * Added message categories for File Management (cafm), Fraud Reporting and Disposition (cafm), Network Management (canm) and Settlement Reporting (casr)
+  * Added message categories for File Management (cafm), Fraud Reporting and Disposition (cafm), Network Management (canm), and Settlement Reporting (casr)
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
#### 9.5.0 - May 2024
* SWIFT Standard release update 2024 (live 16 November 2024)
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
* Added message categories for File Management (cafm), Fraud Reporting and Disposition (cafm), Network Management (canm), and Settlement Reporting (casr)
* Add support in the MxWriteConfiguration to use standard envelopes for SWIFT and ISO 20022
* Changed the default Document prefix to the message category; "camt", "pacs", etc...
* Enhanced MxId with optional and transient businessService field to act as a message type discriminator
* Dependency update: commons-lang3 -> 3.14.0
* Dependency update: gson -> 2.11.0
#### 9.5.0 - May 2024
* SWIFT Standard release update 2024 (live 16 November 2024)
* Yearly revision of deprecation phase ([see here](https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/))
* Added message categories for File Management (cafm), Fraud Reporting and Disposition (cafm), Network Management (canm), and Settlement Reporting (casr)
* Add support in the MxWriteConfiguration to use standard envelopes for SWIFT and ISO 20022
* Changed the default Document prefix to the message category; "camt", "pacs", etc...
* Enhanced MxId with optional and transient businessService field to act as a message type discriminator
* Dependency update: commons-lang3 -> 3.14.0
* Dependency update: gson -> 2.11.0
Tools
Markdownlint

11-11: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


12-12: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


13-13: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


14-14: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


15-15: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


16-16: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


17-17: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


18-18: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


10-10: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


11-11: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


12-12: null
Bare URL used

(MD034, no-bare-urls)

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 8

#### 9.5.0 - May 2024
* SWIFT Standard release update 2024 (live 16 November 2024)
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
* Added message categories for File Management (cafm), Fraud Reporting and Disposition (cafm), Network Management (canm), and Settlement Reporting (casr)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the colon usage.

Do not use a colon before a series introduced by a preposition.

-  * Added message categories for File Management (cafm), Fraud Reporting and Disposition (cafm), Network Management (canm), and Settlement Reporting (casr)
+  * Added message categories for File Management (cafm), Fraud Reporting and Disposition (cafm), Network Management (canm), and Settlement Reporting (casr)

Committable suggestion was skipped due to low confidence.

Tools
Markdownlint

16-16: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


#### 9.5.0 - May 2024
* SWIFT Standard release update 2024 (live 16 November 2024)
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the bare URL usage.

Replace the bare URL with a proper markdown link.

-  * Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
+  * Yearly revision of deprecation phase ([see here](https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/))
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
* Yearly revision of deprecation phase ([see here](https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/))
Tools
Markdownlint

15-15: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


15-15: null
Bare URL used

(MD034, no-bare-urls)

CHANGELOG.md Outdated
@@ -1,8 +1,25 @@
# Prowide ISO 20022 - CHANGELOG

#### 9.4.6 - May 2024
#### 9.5.3 - SNAPSHOT
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the heading level issue.

Ensure that the heading levels only increment by one level at a time.

-#### 9.5.3 - SNAPSHOT
+## 9.5.3 - SNAPSHOT
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
#### 9.5.3 - SNAPSHOT
## 9.5.3 - SNAPSHOT
Tools
Markdownlint

3-3: Expected: h2; Actual: h4
Heading levels should only increment by one level at a time

(MD001, heading-increment)


3-3: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)

@@ -1,8 +1,25 @@
# Prowide ISO 20022 - CHANGELOG

#### 9.4.6 - May 2024
#### 9.5.3 - SNAPSHOT
* (PW-1947) Updated MX model with latest SWIFT SRU2024 schema update, including new messages such as trck.001.001.03
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the unordered list indentation.

Ensure the unordered list items are correctly indented.

-  * (PW-1947) Updated MX model with latest SWIFT SRU2024 schema update, including new messages such as trck.001.001.03
+* (PW-1947) Updated MX model with latest SWIFT SRU2024 schema update, including new messages such as trck.001.001.03
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
* (PW-1947) Updated MX model with latest SWIFT SRU2024 schema update, including new messages such as trck.001.001.03
* (PW-1947) Updated MX model with latest SWIFT SRU2024 schema update, including new messages such as trck.001.001.03
Tools
Markdownlint

4-4: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


4-4: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)

Comment on lines +17 to +21
* Add support in the MxWriteConfiguration to use standard envelopes for SWIFT and ISO 20022
* Changed the default Document prefix to the message category; "camt", "pacs", etc...
* Enhanced MxId with optional and transient businessService field to act as a message type discriminator
* Dependency update: commons-lang3 -> 3.14.0
* Dependency update: gson -> 2.11.0
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the indentation issue.

Ensure the unordered list items are correctly indented.

-  * Add support in the MxWriteConfiguration to use standard envelopes for SWIFT and ISO 20022
-  * Changed the default Document prefix to the message category; "camt", "pacs", etc...
-  * Enhanced MxId with optional and transient businessService field to act as a message type discriminator
-  * Dependency update: commons-lang3 -> 3.14.0
-  * Dependency update: gson -> 2.11.0
+* Add support in the MxWriteConfiguration to use standard envelopes for SWIFT and ISO 20022
+* Changed the default Document prefix to the message category; "camt", "pacs", etc...
+* Enhanced MxId with optional and transient businessService field to act as a message type discriminator
+* Dependency update: commons-lang3 -> 3.14.0
+* Dependency update: gson -> 2.11.0
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
* Add support in the MxWriteConfiguration to use standard envelopes for SWIFT and ISO 20022
* Changed the default Document prefix to the message category; "camt", "pacs", etc...
* Enhanced MxId with optional and transient businessService field to act as a message type discriminator
* Dependency update: commons-lang3 -> 3.14.0
* Dependency update: gson -> 2.11.0
* Add support in the MxWriteConfiguration to use standard envelopes for SWIFT and ISO 20022
* Changed the default Document prefix to the message category; "camt", "pacs", etc...
* Enhanced MxId with optional and transient businessService field to act as a message type discriminator
* Dependency update: commons-lang3 -> 3.14.0
* Dependency update: gson -> 2.11.0
Tools
Markdownlint

17-17: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


18-18: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


19-19: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


20-20: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


21-21: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)

Comment on lines +68 to +73
private static final Logger log = Logger.getLogger(AbstractMX.class.getName());
/**
* Default root element when an MX is serialized as XML including both AppHdr and Document
*
* @since 8.0.2
* @deprecated the default root element for the custom envelope is now defined in {@link EnvelopeType#CUSTOM}
*/
@Deprecated
@ProwideDeprecated(phase2 = TargetYear.SRU2025)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider revising the deprecation phase for DEFAULT_ROOT_ELEMENT.

The DEFAULT_ROOT_ELEMENT is now deprecated with a phase2 target of SRU2025. Given that this is a widely used constant, consider extending the deprecation phase to allow more time for migration.

/**
* Parses the XML string containing the Document and optional AppHdr into a specific instance of MX message object.
* The message and header types and version is auto detected.
* The message and header types and version is auto-detected.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review deprecation strategy and ensure consistency.

Several methods such as parse(File, MxId), write(File), and write(OutputStream) are marked for deprecation by SRU2025 with a recommendation to use alternatives. Ensure that all recommended alternatives are documented clearly and consider providing examples in the deprecation annotations to aid the transition.

Comment on lines +133 to +135
@ProwideDeprecated(phase4 = TargetYear.SRU2025)
public static AbstractMX parse(final File file, MxId id) throws IOException {
DeprecationUtils.phase2(
DeprecationUtils.phase3(
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ensure clear recommendation in deprecation annotation.

The method parse(File, MxId) is marked for deprecation. Ensure that the deprecation annotation includes a clear recommendation for the alternative method to use.

- @ProwideDeprecated(phase4 = TargetYear.SRU2025)
+ @ProwideDeprecated(phase4 = TargetYear.SRU2025, alternative = "Lib.readFile(file) and any parse from String method")
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
@ProwideDeprecated(phase4 = TargetYear.SRU2025)
public static AbstractMX parse(final File file, MxId id) throws IOException {
DeprecationUtils.phase2(
DeprecationUtils.phase3(
@ProwideDeprecated(phase4 = TargetYear.SRU2025, alternative = "Lib.readFile(file) and any parse from String method")
public static AbstractMX parse(final File file, MxId id) throws IOException {
DeprecationUtils.phase3(

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

Comment on lines +10 to +113
+ "<RequestPayload>"
+ "<h:AppHdr xmlns:h=\"urn:swift:xsd:$ahV10\">"
+ " <h:From>"
+ " <h:Type>BIC</h:Type>"
+ " <h:Id>AAAANGL0XXX</h:Id>"
+ " </h:From>"
+ " <h:To>"
+ " <h:Type>BIC</h:Type>"
+ " <h:Id>BBBBUS33XXX</h:Id>"
+ " </h:To>"
+ " <h:MsgName>pacs.008.001.08</h:MsgName>"
+ " <h:MsgRef>FOOBAR1</h:MsgRef>"
+ " <h:CrDate>2022-05-05T06:07:14Z</h:CrDate>"
+ "</h:AppHdr>"
+ "<Doc:Document xmlns:Doc=\"urn:iso:std:iso:20022:tech:xsd:pacs.008.001.08\">"
+ " <Doc:FIToFICstmrCdtTrf>"
+ " <Doc:GrpHdr>"
+ " <Doc:MsgId>FOOBAR2</Doc:MsgId>"
+ " <Doc:CreDtTm>2022-05-05T06:07:14Z</Doc:CreDtTm>"
+ " <Doc:NbOfTxs>1</Doc:NbOfTxs>"
+ " <Doc:SttlmInf>"
+ " <Doc:SttlmMtd>INDA</Doc:SttlmMtd>"
+ " <Doc:SttlmAcct>"
+ " <Doc:Id>"
+ " <Doc:Othr>"
+ " <Doc:Id>04435001</Doc:Id>"
+ " </Doc:Othr>"
+ " </Doc:Id>"
+ " </Doc:SttlmAcct>"
+ " </Doc:SttlmInf>"
+ " <Doc:InstgAgt>"
+ " <Doc:FinInstnId>"
+ " <Doc:BICFI>AAAANGL0XXX</Doc:BICFI>"
+ " </Doc:FinInstnId>"
+ " </Doc:InstgAgt>"
+ " <Doc:InstdAgt>"
+ " <Doc:FinInstnId>"
+ " <Doc:BICFI>BBBBUS33XXX</Doc:BICFI>"
+ " </Doc:FinInstnId>"
+ " </Doc:InstdAgt>"
+ " </Doc:GrpHdr>"
+ " <Doc:CdtTrfTxInf>"
+ " <Doc:PmtId>"
+ " <Doc:InstrId>REF333222333</Doc:InstrId>"
+ " <Doc:EndToEndId>RRRR345345</Doc:EndToEndId>"
+ " <Doc:TxId>FFDD34534</Doc:TxId>"
+ " </Doc:PmtId>"
+ " <Doc:IntrBkSttlmAmt Ccy=\"USD\"></Doc:IntrBkSttlmAmt>"
+ " <Doc:IntrBkSttlmDt>2022-05-05</Doc:IntrBkSttlmDt>"
+ " <Doc:InstdAmt Ccy=\"USD\"></Doc:InstdAmt>"
+ " <Doc:ChrgBr>DEBT</Doc:ChrgBr>"
+ " <Doc:Dbtr>"
+ " <Doc:Nm>FOO FEED MILLS COLTD</Doc:Nm>"
+ " <Doc:PstlAdr>"
+ " <Doc:AdrLine>1 GOLDEN PENNY PLACE, WHARF ROAD,</Doc:AdrLine>"
+ " <Doc:AdrLine>APAPA LAGOS</Doc:AdrLine>"
+ " </Doc:PstlAdr>"
+ " </Doc:Dbtr>"
+ " <Doc:DbtrAcct>"
+ " <Doc:Id>"
+ " <Doc:Othr>"
+ " <Doc:Id>2028766092</Doc:Id>"
+ " </Doc:Othr>"
+ " </Doc:Id>"
+ " </Doc:DbtrAcct>"
+ " <Doc:DbtrAgt>"
+ " <Doc:FinInstnId>"
+ " <Doc:BICFI>AAAANGLA</Doc:BICFI>"
+ " </Doc:FinInstnId>"
+ " </Doc:DbtrAgt>"
+ " <Doc:CdtrAgt>"
+ " <Doc:FinInstnId>"
+ " <Doc:BICFI>BBBBRU21</Doc:BICFI>"
+ " </Doc:FinInstnId>"
+ " </Doc:CdtrAgt>"
+ " <Doc:Cdtr>"
+ " <Doc:Nm>TEST</Doc:Nm>"
+ " <Doc:PstlAdr>"
+ " <Doc:AdrLine>TEST</Doc:AdrLine>"
+ " </Doc:PstlAdr>"
+ " </Doc:Cdtr>"
+ " <Doc:CdtrAcct>"
+ " <Doc:Id>"
+ " <Doc:Othr>"
+ " <Doc:Id>TEST</Doc:Id>"
+ " </Doc:Othr>"
+ " </Doc:Id>"
+ " </Doc:CdtrAcct>"
+ " <Doc:RmtInf>"
+ " <Doc:Ustrd>AGRICULTURAL SECTOR</Doc:Ustrd>"
+ " </Doc:RmtInf>"
+ " </Doc:CdtTrfTxInf>"
+ " </Doc:FIToFICstmrCdtTrf>"
+ "</Doc:Document>"
+ "</RequestPayload>";
new MxSwiftMessage(xml);
} catch (Exception e) {
fail();
}
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Enhance test with assertions.

The test method currently checks for exceptions but lacks assertions to verify the expected behavior of MxSwiftMessage. Consider adding assertions to validate the parsing results.

// Example assertion to consider adding
// assertNotNull(parsedMessage);
// assertEquals(expectedValue, parsedMessage.getSomeProperty());

@@ -1,8 +1,29 @@
# Prowide ISO 20022 - CHANGELOG

#### 9.4.6 - May 2024
#### 9.5.4 - August 2024
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a blank line after the heading.

Ensure that headings are surrounded by blank lines for better readability.

#### 9.5.4 - August 2024

* (PW-1958) Fixed the `DefaultMxMetadataStrategy` NPE issue when the amount values are null
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
#### 9.5.4 - August 2024
#### 9.5.4 - August 2024
* (PW-1958) Fixed the `DefaultMxMetadataStrategy` NPE issue when the amount values are null
Tools
Markdownlint

3-3: Expected: h2; Actual: h4
Heading levels should only increment by one level at a time

(MD001, heading-increment)


3-3: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)

* (PW-1947) Updated MX model with latest SWIFT SRU2024 schema update, including new messages such as trck.001.001.03
* Add support for Business Application Header version head.001.001.04

#### 9.5.2 - June 2024
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a blank line after the heading.

Ensure that headings are surrounded by blank lines for better readability.

#### 9.5.2 - June 2024

* (PW-1875) Fixed the `ZuluDateTimeAdapter` to convert the datetime to UTC offset if needed
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
#### 9.5.2 - June 2024
#### 9.5.2 - June 2024
* (PW-1875) Fixed the `ZuluDateTimeAdapter` to convert the datetime to UTC offset if needed
Tools
Markdownlint

10-10: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)

* (PW-1875) Fixed the `ZuluDateTimeAdapter` to convert the datetime to UTC offset if needed


#### 9.5.1 - June 2024
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a blank line after the heading.

Ensure that headings are surrounded by blank lines for better readability.

#### 9.5.1 - June 2024

* Enhanced the AppHdrFactory to honor the business service set in the parameter MxId
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
#### 9.5.1 - June 2024
#### 9.5.1 - June 2024
* Enhanced the AppHdrFactory to honor the business service set in the parameter MxId
Tools
Markdownlint

13-13: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)

#### 9.5.4 - August 2024
* (PW-1958) Fixed the `DefaultMxMetadataStrategy` NPE issue when the amount values are null

#### 9.5.3 - August 2024
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a blank line after the heading.

Ensure that headings are surrounded by blank lines for better readability.

#### 9.5.3 - August 2024

* (PW-1947) Updated MX model with latest SWIFT SRU2024 schema update, including new messages such as trck.001.001.03
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
#### 9.5.3 - August 2024
#### 9.5.3 - August 2024
* (PW-1947) Updated MX model with latest SWIFT SRU2024 schema update, including new messages such as trck.001.001.03
Tools
Markdownlint

6-6: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)

Comment on lines +18 to +25
* SWIFT Standard release update 2024 (live 16 November 2024)
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
* Added message categories for File Management (cafm), Fraud Reporting and Disposition (cafm), Network Management (canm), and Settlement Reporting (casr)
* Add support in the MxWriteConfiguration to use standard envelopes for SWIFT and ISO 20022
* Changed the default Document prefix to the message category; "camt", "pacs", etc...
* Enhanced MxId with optional and transient businessService field to act as a message type discriminator
* Dependency update: commons-lang3 -> 3.14.0
* Dependency update: gson -> 2.11.0
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the unordered list indentation.

Ensure the unordered list items are correctly indented.

* SWIFT Standard release update 2024 (live 16 November 2024)
* Yearly revision of deprecation phase ([see here](https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/))
* Added message categories for File Management (cafm), Fraud Reporting and Disposition (cafm), Network Management (canm), and Settlement Reporting (casr)
* Add support in the MxWriteConfiguration to use standard envelopes for SWIFT and ISO 20022
* Changed the default Document prefix to the message category; "camt", "pacs", etc...
* Enhanced MxId with optional and transient businessService field to act as a message type discriminator
* Dependency update: commons-lang3 -> 3.14.0
* Dependency update: gson -> 2.11.0
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
* SWIFT Standard release update 2024 (live 16 November 2024)
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
* Added message categories for File Management (cafm), Fraud Reporting and Disposition (cafm), Network Management (canm), and Settlement Reporting (casr)
* Add support in the MxWriteConfiguration to use standard envelopes for SWIFT and ISO 20022
* Changed the default Document prefix to the message category; "camt", "pacs", etc...
* Enhanced MxId with optional and transient businessService field to act as a message type discriminator
* Dependency update: commons-lang3 -> 3.14.0
* Dependency update: gson -> 2.11.0
* SWIFT Standard release update 2024 (live 16 November 2024)
* Yearly revision of deprecation phase ([see here](https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/))
* Added message categories for File Management (cafm), Fraud Reporting and Disposition (cafm), Network Management (canm), and Settlement Reporting (casr)
* Add support in the MxWriteConfiguration to use standard envelopes for SWIFT and ISO 20022
* Changed the default Document prefix to the message category; "camt", "pacs", etc...
* Enhanced MxId with optional and transient businessService field to act as a message type discriminator
* Dependency update: commons-lang3 -> 3.14.0
* Dependency update: gson -> 2.11.0
Tools
Markdownlint

18-18: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


19-19: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


20-20: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


21-21: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


22-22: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


23-23: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


24-24: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


25-25: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


18-18: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


19-19: null
Bare URL used

(MD034, no-bare-urls)

Comment on lines +17 to +19
#### 9.5.0 - May 2024
* SWIFT Standard release update 2024 (live 16 November 2024)
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the heading and URL formatting.

Add a blank line after the heading and replace the bare URL with a markdown link.

#### 9.5.0 - May 2024

* SWIFT Standard release update 2024 (live 16 November 2024)
* Yearly revision of deprecation phase ([see here](https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/))
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
#### 9.5.0 - May 2024
* SWIFT Standard release update 2024 (live 16 November 2024)
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
#### 9.5.0 - May 2024
* SWIFT Standard release update 2024 (live 16 November 2024)
* Yearly revision of deprecation phase ([see here](https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/))
Tools
Markdownlint

18-18: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


19-19: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


17-17: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


18-18: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


19-19: null
Bare URL used

(MD034, no-bare-urls)

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.

None yet

1 participant