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

Add support for business application header version head.001.001.04 v10 #124

Conversation

zubri
Copy link
Member

@zubri zubri commented Aug 2, 2024

Summary by CodeRabbit

  • New Features

    • Updated library to align with the latest SWIFT SRU2024 schema, including new message types.
    • Introduced support for Business Application Header version head.001.001.04.
    • Enhanced parsing capabilities to handle additional Business Application Header versions.
  • Bug Fixes

    • Resolved backward compatibility issues with DateTime fields during JSON conversion.
    • Fixed datetime conversion to UTC offsets for accurate time representation.
  • Documentation

    • Updated changelog to reflect versioning and new features clearly.
  • Tests

    • Improved type safety in header parsing tests with specific instance checks for different header types.

Copy link

coderabbitai bot commented Aug 2, 2024

Caution

Review failed

The pull request is closed.

Walkthrough

Walkthrough

The recent updates to the Prowide ISO 20022 library in version 10.2.2 significantly enhance compatibility with the latest SWIFT messaging standards and improve overall functionality. Key improvements include the introduction of support for Business Application Header version 4, updates to the MX model, and various fixes to date and time handling. These changes facilitate smoother transitions for existing implementations while expanding the library’s capabilities.

Changes

Files and Directories Change Summary
CHANGELOG.md Revised to reflect version 10.2.2 release, detailing enhancements, fixes, and the updated release date.
iso20022-core/.../AbstractMX.java Renamed variable in the message method for clarity; functionality remains unchanged.
iso20022-core/.../AppHdrFactory.java Introduced createBusinessAppHdrV04 method; updated existing method to support new header version.
iso20022-core/.../AppHdrParser.java Enhanced parsing for BAH versions 1 and 4; prioritized version 2 in default return cases.
iso20022-core/.../AppHdrType.java Added new BAH_V4 constant to enum for the latest header type support.
iso20022-core/.../BusinessAppHdrV04.java Newly created class for ISO 20022 BAH version 4, supporting parsing and XML generation.
iso20022-core/.../MxWriteConfiguration.java Deprecated misspelled envelopeTyoe for envelopeType, with documentation updates.
iso20022-core/test/.../AppHdrParserTest.java Improved tests for type safety; renamed test methods for clarity; added tests for BAH versions 2-4.
iso20022-core/test/.../MxWriteTest.java Corrected property name from envelopeTyoe to envelopeType in related tests.
model-common-types/.../BusinessApplicationHeader8.java Introduced class for structured representation of the Business Application Header with XML binding.
model-common-types/.../BusinessApplicationHeaderV04Impl.java New implementation class for BAH version 4, containing properties and JAXB annotations.
model-common-types/.../Party51Choice.java New class for identifying parties in financial transactions, with XML compatibility and utility methods.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant AppHdrFactory
    participant BusinessAppHdrV04
    participant AppHdrParser

    User->>AppHdrFactory: createBusinessAppHdrV04(sender, receiver, reference, id)
    AppHdrFactory->>BusinessAppHdrV04: Initialize with parameters
    BusinessAppHdrV04-->>AppHdrFactory: Return new header instance
    AppHdrFactory-->>User: Return header instance

    User->>AppHdrParser: parseHeaderFromSAXSource(source, namespace)
    AppHdrParser-->>User: Return parsed header instance
Loading

This diagram outlines the interactions involved in creating a new Business Application Header and parsing it, illustrating the flow from user input to header creation and parsing functionality.


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: 11

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

#### 10.2.2 - SNAPSHOT
#### 10.2.2 - August 2024
Copy link

Choose a reason for hiding this comment

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

Fix heading level.

The heading level should be h2 instead of h4.

-#### 10.2.2 - August 2024
+## 10.2.2 - August 2024
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
#### 10.2.2 - August 2024
## 10.2.2 - August 2024
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)

CHANGELOG.md Outdated
Comment on lines 4 to 7
* (PW-1947) Updated MX model with latest SWIFT SRU2024 schema update, including new messages such as trck.001.001.03
* (PW-1933) Fix backward compatibility issue on DateTime fields when doing JSON to model conversion
* (PW-1875) Fixed the `ZuluDateTimeAdapter` to convert the datetime to UTC offset if needed
* Add support for Business Application Header version head.001.001.04
Copy link

Choose a reason for hiding this comment

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

Fix unordered list indentation and add blank lines.

The unordered list items should be indented properly and surrounded by blank lines.

-  * (PW-1947) Updated MX model with latest SWIFT SRU2024 schema update, including new messages such as trck.001.001.03
-  * (PW-1933) Fix backward compatibility issue on DateTime fields when doing JSON to model conversion
-  * (PW-1875) Fixed the `ZuluDateTimeAdapter` to convert the datetime to UTC offset if needed
-  * Add support for Business Application Header version head.001.001.04
+* (PW-1947) Updated MX model with latest SWIFT SRU2024 schema update, including new messages such as trck.001.001.03
+
+* (PW-1933) Fix backward compatibility issue on DateTime fields when doing JSON to model conversion
+
+* (PW-1875) Fixed the `ZuluDateTimeAdapter` to convert the datetime to UTC offset if needed
+
+* Add support for Business Application Header version head.001.001.04
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-1933) Fix backward compatibility issue on DateTime fields when doing JSON to model conversion
* (PW-1875) Fixed the `ZuluDateTimeAdapter` to convert the datetime to UTC offset if needed
* Add support for Business Application Header version head.001.001.04
* (PW-1947) Updated MX model with latest SWIFT SRU2024 schema update, including new messages such as trck.001.001.03
* (PW-1933) Fix backward compatibility issue on DateTime fields when doing JSON to model conversion
* (PW-1875) Fixed the `ZuluDateTimeAdapter` to convert the datetime to UTC offset if needed
* Add support for Business Application Header version head.001.001.04
Tools
LanguageTool

[grammar] ~7-~7: Did you mean “to Add”?
Context: ...he datetime to UTC offset if needed * Add support for Business Application Header...

(MISSING_TO_BEFORE_A_VERB)

Markdownlint

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

(MD007, ul-indent)


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

(MD007, ul-indent)


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

(MD007, ul-indent)


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

(MD007, ul-indent)


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

(MD032, blanks-around-lists)

@@ -0,0 +1,415 @@

Copy link

Choose a reason for hiding this comment

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

Add file-level documentation.

Consider adding a file-level comment to describe the purpose of this class and its usage.

Comment on lines +43 to +73
@XmlElement(name = "CharSet")
protected String charSet;
@XmlElement(name = "Fr", required = true)
protected Party51Choice fr;
@XmlElement(name = "To", required = true)
protected Party51Choice to;
@XmlElement(name = "BizMsgIdr", required = true)
protected String bizMsgIdr;
@XmlElement(name = "MsgDefIdr", required = true)
protected String msgDefIdr;
@XmlElement(name = "BizSvc")
protected String bizSvc;
@XmlElement(name = "MktPrctc")
protected ImplementationSpecification1 mktPrctc;
@XmlElement(name = "CreDt", required = true, type = String.class)
@XmlJavaTypeAdapter(IsoDateTimeAdapter.class)
@XmlSchemaType(name = "dateTime")
protected OffsetDateTime creDt;
@XmlElement(name = "BizPrcgDt", type = String.class)
@XmlJavaTypeAdapter(IsoDateTimeAdapter.class)
@XmlSchemaType(name = "dateTime")
protected OffsetDateTime bizPrcgDt;
@XmlElement(name = "CpyDplct")
@XmlSchemaType(name = "string")
protected CopyDuplicate1Code cpyDplct;
@XmlElement(name = "PssblDplct")
protected Boolean pssblDplct;
@XmlElement(name = "Prty")
protected String prty;
@XmlElement(name = "Sgntr")
protected SignatureEnvelope sgntr;
Copy link

Choose a reason for hiding this comment

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

Ensure all fields have appropriate documentation.

Ensure that all fields have appropriate documentation to describe their purpose and usage.

 @XmlElement(name = "CharSet")
 protected String charSet;

 @XmlElement(name = "Fr", required = true)
 protected Party51Choice fr;

 @XmlElement(name = "To", required = true)
 protected Party51Choice to;

 @XmlElement(name = "BizMsgIdr", required = true)
 protected String bizMsgIdr;

 @XmlElement(name = "MsgDefIdr", required = true)
 protected String msgDefIdr;

 @XmlElement(name = "BizSvc")
 protected String bizSvc;

 @XmlElement(name = "MktPrctc")
 protected ImplementationSpecification1 mktPrctc;

 @XmlElement(name = "CreDt", required = true, type = String.class)
 @XmlJavaTypeAdapter(IsoDateTimeAdapter.class)
 @XmlSchemaType(name = "dateTime")
 protected OffsetDateTime creDt;

 @XmlElement(name = "BizPrcgDt", type = String.class)
 @XmlJavaTypeAdapter(IsoDateTimeAdapter.class)
 @XmlSchemaType(name = "dateTime")
 protected OffsetDateTime bizPrcgDt;

 @XmlElement(name = "CpyDplct")
 @XmlSchemaType(name = "string")
 protected CopyDuplicate1Code cpyDplct;

 @XmlElement(name = "PssblDplct")
 protected Boolean pssblDplct;

 @XmlElement(name = "Prty")
 protected String prty;

 @XmlElement(name = "Sgntr")
 protected SignatureEnvelope sgntr;

Committable suggestion was skipped due to low confidence.

@@ -0,0 +1,467 @@

package com.prowidesoftware.swift.model.mx.dic;
Copy link

Choose a reason for hiding this comment

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

Add a class-level Javadoc comment.

Consider adding a class-level Javadoc comment to describe the purpose and usage of BusinessApplicationHeaderV04Impl.

Comment on lines +86 to +465
* {@link String }
*
*/
public String getPrty() {
return prty;
}

/**
* Sets the value of the prty property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public BusinessApplicationHeaderV04Impl setPrty(String value) {
this.prty = value;
return this;
}

/**
* Gets the value of the sgntr property.
*
* @return
* possible object is
* {@link SignatureEnvelope }
*
*/
public SignatureEnvelope getSgntr() {
return sgntr;
}

/**
* Sets the value of the sgntr property.
*
* @param value
* allowed object is
* {@link SignatureEnvelope }
*
*/
public BusinessApplicationHeaderV04Impl setSgntr(SignatureEnvelope value) {
this.sgntr = value;
return this;
}

/**
* Gets the value of the rltd property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the Jakarta XML Binding object.
* This is why there is not a {@code set} method for the rltd property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getRltd().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link BusinessApplicationHeader8 }
*
*
* @return
* The value of the rltd property.
*/
public List<BusinessApplicationHeader8> getRltd() {
if (rltd == null) {
rltd = new ArrayList<>();
}
return this.rltd;
}

@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
}

@Override
public boolean equals(Object that) {
return EqualsBuilder.reflectionEquals(this, that);
}

@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}

/**
* Adds a new item to the rltd list.
* @see #getRltd()
*
*/
public BusinessApplicationHeaderV04Impl addRltd(BusinessApplicationHeader8 rltd) {
getRltd().add(rltd);
return this;
}
Copy link

Choose a reason for hiding this comment

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

Add Javadoc comments for methods.

Consider adding Javadoc comments for each method to describe their purpose and usage.

Comment on lines +4 to +7
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
import com.prowidesoftware.swift.model.mx.adapters.IsoDateTimeAdapter;
Copy link

Choose a reason for hiding this comment

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

Optimize imports by removing unused ones.

The import java.util.ArrayList is not used in the class. Remove it to keep the imports clean.

- import java.util.ArrayList;
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
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
import com.prowidesoftware.swift.model.mx.adapters.IsoDateTimeAdapter;
import java.time.OffsetDateTime;
import java.util.List;
import com.prowidesoftware.swift.model.mx.adapters.IsoDateTimeAdapter;

Comment on lines +51 to +83
@XmlElement(name = "CharSet")
protected String charSet;
@XmlElement(name = "Fr", required = true)
protected Party51Choice fr;
@XmlElement(name = "To", required = true)
protected Party51Choice to;
@XmlElement(name = "BizMsgIdr", required = true)
protected String bizMsgIdr;
@XmlElement(name = "MsgDefIdr", required = true)
protected String msgDefIdr;
@XmlElement(name = "BizSvc")
protected String bizSvc;
@XmlElement(name = "MktPrctc")
protected ImplementationSpecification1 mktPrctc;
@XmlElement(name = "CreDt", required = true, type = String.class)
@XmlJavaTypeAdapter(IsoDateTimeAdapter.class)
@XmlSchemaType(name = "dateTime")
protected OffsetDateTime creDt;
@XmlElement(name = "BizPrcgDt", type = String.class)
@XmlJavaTypeAdapter(IsoDateTimeAdapter.class)
@XmlSchemaType(name = "dateTime")
protected OffsetDateTime bizPrcgDt;
@XmlElement(name = "CpyDplct")
@XmlSchemaType(name = "string")
protected CopyDuplicate1Code cpyDplct;
@XmlElement(name = "PssblDplct")
protected Boolean pssblDplct;
@XmlElement(name = "Prty")
protected String prty;
@XmlElement(name = "Sgntr")
protected SignatureEnvelope sgntr;
@XmlElement(name = "Rltd")
protected List<BusinessApplicationHeader8> rltd;
Copy link

Choose a reason for hiding this comment

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

Add null checks in setters.

Consider adding null checks in the setter methods for required properties to ensure data integrity.

- public BusinessApplicationHeaderV04Impl setFr(Party51Choice value) {
-     this.fr = value;
-     return this;
- }

+ public BusinessApplicationHeaderV04Impl setFr(Party51Choice value) {
+     if (value == null) {
+         throw new IllegalArgumentException("Fr cannot be null");
+     }
+     this.fr = value;
+     return this;
+ }

Committable suggestion was skipped due to low confidence.

protected SignatureEnvelope sgntr;
@XmlElement(name = "Rltd")
protected List<BusinessApplicationHeader8> rltd;
public static final transient Class[] _classes = new Class[] {AddressType2Code.class, AddressType3Choice.class, BranchAndFinancialInstitutionIdentification8 .class, BranchData5 .class, BusinessApplicationHeader8 .class, BusinessApplicationHeaderV04Impl.class, ClearingSystemIdentification2Choice.class, ClearingSystemMemberIdentification2 .class, Contact13 .class, CopyDuplicate1Code.class, DateAndPlaceOfBirth1 .class, FinancialIdentificationSchemeName1Choice.class, FinancialInstitutionIdentification23 .class, GenericFinancialIdentification1 .class, GenericIdentification30 .class, GenericOrganisationIdentification3 .class, GenericPersonIdentification2 .class, ImplementationSpecification1 .class, NamePrefix2Code.class, OrganisationIdentification39 .class, OrganisationIdentificationSchemeName1Choice.class, OtherContact1 .class, Party51Choice.class, Party52Choice.class, PartyIdentification272 .class, PersonIdentification18 .class, PersonIdentificationSchemeName1Choice.class, PostalAddress27 .class, PreferredContactMethod2Code.class, SignatureEnvelope.class };
Copy link

Choose a reason for hiding this comment

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

Remove unnecessary transient modifier.

The transient modifier is not necessary for the _classes field since it is already static.

- public static final transient Class[] _classes = new Class[] {AddressType2Code.class, AddressType3Choice.class, BranchAndFinancialInstitutionIdentification8 .class, BranchData5 .class, BusinessApplicationHeader8 .class, BusinessApplicationHeaderV04Impl.class, ClearingSystemIdentification2Choice.class, ClearingSystemMemberIdentification2 .class, Contact13 .class, CopyDuplicate1Code.class, DateAndPlaceOfBirth1 .class, FinancialIdentificationSchemeName1Choice.class, FinancialInstitutionIdentification23 .class, GenericFinancialIdentification1 .class, GenericIdentification30 .class, GenericOrganisationIdentification3 .class, GenericPersonIdentification2 .class, ImplementationSpecification1 .class, NamePrefix2Code.class, OrganisationIdentification39 .class, OrganisationIdentificationSchemeName1Choice.class, OtherContact1 .class, Party51Choice.class, Party52Choice.class, PartyIdentification272 .class, PersonIdentification18 .class, PersonIdentificationSchemeName1Choice.class, PostalAddress27 .class, PreferredContactMethod2Code.class, SignatureEnvelope.class };
+ public static final Class[] _classes = new Class[] {AddressType2Code.class, AddressType3Choice.class, BranchAndFinancialInstitutionIdentification8 .class, BranchData5 .class, BusinessApplicationHeader8 .class, BusinessApplicationHeaderV04Impl.class, ClearingSystemIdentification2Choice.class, ClearingSystemMemberIdentification2 .class, Contact13 .class, CopyDuplicate1Code.class, DateAndPlaceOfBirth1 .class, FinancialIdentificationSchemeName1Choice.class, FinancialInstitutionIdentification23 .class, GenericFinancialIdentification1 .class, GenericIdentification30 .class, GenericOrganisationIdentification3 .class, GenericPersonIdentification2 .class, ImplementationSpecification1 .class, NamePrefix2Code.class, OrganisationIdentification39 .class, OrganisationIdentificationSchemeName1Choice.class, OtherContact1 .class, Party51Choice.class, Party52Choice.class, PartyIdentification272 .class, PersonIdentification18 .class, PersonIdentificationSchemeName1Choice.class, PostalAddress27 .class, PreferredContactMethod2Code.class, SignatureEnvelope.class };
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
public static final transient Class[] _classes = new Class[] {AddressType2Code.class, AddressType3Choice.class, BranchAndFinancialInstitutionIdentification8 .class, BranchData5 .class, BusinessApplicationHeader8 .class, BusinessApplicationHeaderV04Impl.class, ClearingSystemIdentification2Choice.class, ClearingSystemMemberIdentification2 .class, Contact13 .class, CopyDuplicate1Code.class, DateAndPlaceOfBirth1 .class, FinancialIdentificationSchemeName1Choice.class, FinancialInstitutionIdentification23 .class, GenericFinancialIdentification1 .class, GenericIdentification30 .class, GenericOrganisationIdentification3 .class, GenericPersonIdentification2 .class, ImplementationSpecification1 .class, NamePrefix2Code.class, OrganisationIdentification39 .class, OrganisationIdentificationSchemeName1Choice.class, OtherContact1 .class, Party51Choice.class, Party52Choice.class, PartyIdentification272 .class, PersonIdentification18 .class, PersonIdentificationSchemeName1Choice.class, PostalAddress27 .class, PreferredContactMethod2Code.class, SignatureEnvelope.class };
public static final Class[] _classes = new Class[] {AddressType2Code.class, AddressType3Choice.class, BranchAndFinancialInstitutionIdentification8 .class, BranchData5 .class, BusinessApplicationHeader8 .class, BusinessApplicationHeaderV04Impl.class, ClearingSystemIdentification2Choice.class, ClearingSystemMemberIdentification2 .class, Contact13 .class, CopyDuplicate1Code.class, DateAndPlaceOfBirth1 .class, FinancialIdentificationSchemeName1Choice.class, FinancialInstitutionIdentification23 .class, GenericFinancialIdentification1 .class, GenericIdentification30 .class, GenericOrganisationIdentification3 .class, GenericPersonIdentification2 .class, ImplementationSpecification1 .class, NamePrefix2Code.class, OrganisationIdentification39 .class, OrganisationIdentificationSchemeName1Choice.class, OtherContact1 .class, Party51Choice.class, Party52Choice.class, PartyIdentification272 .class, PersonIdentification18 .class, PersonIdentificationSchemeName1Choice.class, PostalAddress27 .class, PreferredContactMethod2Code.class, SignatureEnvelope.class };

Comment on lines +301 to +302
if (envelopeType.prefix() != null) {
xml.append(envelopeType.prefix()).append(":");
Copy link

Choose a reason for hiding this comment

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

Fix indentation.

Ensure consistent indentation for the closing tag.

- xml.append("</");
- if (envelopeType.prefix() != null) {
-     xml.append(envelopeType.prefix()).append(":");
- }
- xml.append(envelopeElement).append(">");
+ xml.append("</");
+ if (envelopeType.prefix() != null) {
+     xml.append(envelopeType.prefix()).append(":");
+ }
+ xml.append(envelopeElement).append(">");

Committable suggestion was skipped due to low confidence.

@zubri zubri merged commit 77dbd01 into SRU2024_v10 Aug 2, 2024
@zubri zubri deleted the Add-support-for-Business-Application-Header-version-head.001.001.04-v10 branch August 2, 2024 23:32
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.

1 participant