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 v10 #190

Open
wants to merge 41 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 40 commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
2cd94b7
initial commit SRU version update
zubri Apr 22, 2024
12ff4be
SRU2024: Updated MT messages and fields with SRU2024 definition
ecalchemy Apr 23, 2024
effcdfb
yearly deprecation iteration
zubri Apr 25, 2024
95bb956
fix 33Z components and javadoc typo
zubri Apr 25, 2024
909b517
added isPercentage helper method in field 37K + javadoc typo
zubri May 6, 2024
51a91c0
Merge remote-tracking branch 'origin/develop' into SRU2024
zubri May 18, 2024
dd9e9ce
Merge branch 'develop' into SRU2024
zubri May 22, 2024
ca98542
updated dependencies
zubri May 22, 2024
e6364b8
release
zubri May 22, 2024
abe25b2
Restore deprecated method in MT210 class
zubri May 23, 2024
5574ec1
Merge branch 'develop' into SRU2024
zubri May 23, 2024
1c14bd6
updates to Java 11 and Jakarta
zubri May 23, 2024
b293b8e
fixed version for snapshot
zubri May 23, 2024
df9f017
Merge branch 'SRU2024' into SRU2024_v10
zubri May 23, 2024
0a64892
pre release
zubri May 27, 2024
f8aafb5
pre release
zubri May 27, 2024
e9584f1
Merge branch 'develop' into SRU2024
zubri Jun 29, 2024
4b1da83
Merge branch 'SRU2024' into SRU2024_v10
zubri Jun 29, 2024
ad76754
Merge branch 'main' into SRU2024
zubri Sep 18, 2024
de92a77
Merge branch 'main' into SRU2024
zubri Sep 30, 2024
bfe88e2
CU-86b1g1mye_SRU2024_Generar-un-enum-de-FieldNames-para-validar-que-e…
ptorres-prowide Sep 30, 2024
5119d4d
Merge branch 'SRU2024' into SRU2024_v10
zubri Sep 30, 2024
084577d
Merge remote-tracking branch 'origin/main' into SRU2024
zubri Sep 30, 2024
8ac48f9
CU-86b14j4e0_SRU2024_check-code-security-reports-at-GitHub-for-all-re…
ptorres-prowide Sep 30, 2024
e2aa2ea
Merge branch 'SRU2024' into SRU2024_v10
zubri Sep 30, 2024
7db754e
Fixing spotless
ptorres-prowide Oct 1, 2024
5c9fe08
Fixing spotless
ptorres-prowide Oct 1, 2024
d6053e5
Updating Jakarta ref
ptorres-prowide Oct 1, 2024
c98ac9e
Merge branch 'main' into SRU2024
zubri Oct 10, 2024
835d51f
Merge branch 'SRU2024' into SRU2024_v10
zubri Oct 10, 2024
bdea5a5
Fixed `getMUR` and `setMUR` in `SwiftMessage` to prioritize field 108…
zubri Nov 13, 2024
ddab106
Merge branch 'main' into SRU2024
zubri Nov 15, 2024
ad4f4b2
Merge branch 'main' into SRU2024
zubri Nov 15, 2024
b8ba86f
CU-86b1uerqp_Generar-un-enum-de-MTs-para-validar-sus-secuencias-y-pat…
ptorres-prowide Nov 15, 2024
101d358
release
zubri Nov 15, 2024
f433602
Merge branch 'SRU2024' into SRU2024_v10
zubri Nov 15, 2024
9dc9217
Merge branch 'main' into SRU2024_v10
zubri Nov 19, 2024
5f0424e
Merge branch 'main' into SRU2024_v10
zubri Nov 19, 2024
777460c
typo
zubri Nov 19, 2024
24e5e12
Merge branch 'SRU2024_v10' of github.com:prowide/prowide-core into SR…
zubri Nov 19, 2024
1e4a0ae
Merge branch 'main' into SRU2024_v10
zubri Nov 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,6 @@ out
pom.xml
release.sh
.idea/*
*.pb
*.pb
.java-version
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Remove redundant SonarLint entry

The .idea/sonarlint/ entry is redundant as .idea/* on line 18 already covers this path.

-.idea/sonarlint/
📝 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
.idea/sonarlint/

.idea/sonarlint/
2 changes: 1 addition & 1 deletion .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

47 changes: 25 additions & 22 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,83 +1,86 @@
# Prowide Core - CHANGELOG

#### 9.5.3 - November 2024
#### 10.2.3 - November 2024
* (PW-2040) Updated the BBAN validation data file to the IBAN REGISTRY Jul 2024 release
* (PW-2006) Fixed `getMUR` and `setMUR` in `SwiftMessage` to prioritize field 108 in block 4 over block 3 for system messages (category 0)
* Added new `MtSequenceEnum` with all the available inner sequences of specific MT schemas
* Added `isSystemMessage()` to SwiftMessage to check if the message is a category 0 message (010. 011, etc...)
* Added new `MtSequenceEnum` with all the available inner sequences of specific MT schemas
zubri marked this conversation as resolved.
Show resolved Hide resolved
Comment on lines 9 to 11
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Remove duplicate entry for MtSequenceEnum

The entry "Added new MtSequenceEnum with all the available inner sequences of specific MT schemas" appears twice in version 10.2.3. Remove the duplicate entry on line 8.

  * Added new `MtSequenceEnum` with all the available inner sequences of specific MT schemas
  * Added `isSystemMessage()` to SwiftMessage to check if the message is a category 0 message (010. 011, etc...)
- * Added new `MtSequenceEnum` with all the available inner sequences of specific MT schemas
📝 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
* Added new `MtSequenceEnum` with all the available inner sequences of specific MT schemas
* Added `isSystemMessage()` to SwiftMessage to check if the message is a category 0 message (010. 011, etc...)
* Added new `MtSequenceEnum` with all the available inner sequences of specific MT schemas
* Added new `MtSequenceEnum` with all the available inner sequences of specific MT schemas
* Added `isSystemMessage()` to SwiftMessage to check if the message is a category 0 message (010. 011, etc...)
🧰 Tools
🪛 Markdownlint

6-6: 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)


#### 9.5.2 - October 2024
#### 10.2.2 - October 2024
* Added new `FieldEnum` with all the available field names
* Code security improvements as per CodeQL recommendations

#### 9.5.1 - June 2024
#### 10.2.1 - June 2024
* (PW-1913) Added IBAN validation for Egypt local account structure
* Restore deprecated method in MT210 class
zubri marked this conversation as resolved.
Show resolved Hide resolved
zubri marked this conversation as resolved.
Show resolved Hide resolved

#### 9.5.0 - May 2024
#### 10.2.0 - May 2024
zubri marked this conversation as resolved.
Show resolved Hide resolved
* SWIFT Standard release update 2024 (live 16 November 2025)
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
zubri marked this conversation as resolved.
Show resolved Hide resolved
* Dependency update: commons-lang3 -> 3.14.0'
* Dependency update: gson -> 2.11.0'
* Dependency update: commons-lang3 -> 3.14.0
* Dependency update: gson -> 2.11.0
zubri marked this conversation as resolved.
Show resolved Hide resolved
Comment on lines +21 to +25
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Highlight major version changes

Version 10.2.0 includes significant changes with the SWIFT Standard release update 2024. Consider adding more context about:

  1. Key changes in the standard update
  2. Impact on existing implementations
  3. Required migration steps
  4. Timeline for the changes (noting the live date of November 2025)

Consider adding a summary section at the start of the version entry:

 #### 10.2.0 - May 2024
+
+This release implements the SWIFT Standard Release Update 2024, which will go live on November 16, 2025. Key changes include:
+
 * SWIFT Standard release update 2024 (live 16 November 2025)
📝 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.0 - May 2024
* SWIFT Standard release update 2024 (live 16 November 2025)
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
* Dependency update: commons-lang3 -> 3.14.0'
* Dependency update: gson -> 2.11.0'
* Dependency update: commons-lang3 -> 3.14.0
* Dependency update: gson -> 2.11.0
#### 10.2.0 - May 2024
This release implements the SWIFT Standard Release Update 2024, which will go live on November 16, 2025. Key changes include:
* SWIFT Standard release update 2024 (live 16 November 2025)
* Yearly revision of deprecation phase (see https://dev.prowidesoftware.com/SRU2024/getting-started/deprecation/)
* Dependency update: commons-lang3 -> 3.14.0
* Dependency update: gson -> 2.11.0
🧰 Tools
🪛 Markdownlint (0.35.0)

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)


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

(MD022, blanks-around-headings)


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

(MD032, blanks-around-lists)


23-23: null
Bare URL used

(MD034, no-bare-urls)


#### 9.4.16 - May 2024
#### 10.1.15 - May 2024
zubri marked this conversation as resolved.
Show resolved Hide resolved
* (PW-1862) Added NarrativeFragment class for detailed line information in StructuredNarrative fragments
* Fixed SwiftMessage getPDE(): return empty value instead of null when codeword exists and has no value
* Added isPercentage() helper method to field 37K
zubri marked this conversation as resolved.
Show resolved Hide resolved

#### 9.4.15 - March 2024
#### 10.1.14 - March 2024
zubri marked this conversation as resolved.
Show resolved Hide resolved
* (PW-1812) Updated the narrative resolver, format 2 (used in field 72 for example), to allow empty values as part of the narrative fragment
* Updated validators for BIC, country, and currency constraints to utilize keywords for i18n-compatible messages
* Deprecated unnecessary methods in the SafeXmlUtils class
zubri marked this conversation as resolved.
Show resolved Hide resolved
zubri marked this conversation as resolved.
Show resolved Hide resolved

#### 9.4.14 - December 2023
#### 10.1.13 - December 2023
zubri marked this conversation as resolved.
Show resolved Hide resolved
* (PW-1718) Changed the getComponentLabel(component) in Field59F to be dynamic based on the line identifiers (similar to existing API in Field50F)
zubri marked this conversation as resolved.
Show resolved Hide resolved

#### 9.4.13 - November 2023
#### 10.1.12 - November 2023
zubri marked this conversation as resolved.
Show resolved Hide resolved
* (PW-1697) Fixed validation/parse pattern in field 29O
* (PW-1697) MT306 changes in field 30I
* Added DistinguishedName with Builder in order to encapsulate the BIC branch name logic
zubri marked this conversation as resolved.
Show resolved Hide resolved
zubri marked this conversation as resolved.
Show resolved Hide resolved
zubri marked this conversation as resolved.
Show resolved Hide resolved

#### 9.4.12 - November 2023
#### 10.1.11 - November 2023
zubri marked this conversation as resolved.
Show resolved Hide resolved
* (PW-1697) Fixed validation pattern in fields 14[H,K,L,M,N,O] and 29J
zubri marked this conversation as resolved.
Show resolved Hide resolved

#### 9.4.11 - November 2023
#### 10.1.10 - November 2023
zubri marked this conversation as resolved.
Show resolved Hide resolved
* (PW-1695) Fixed a stack overflow in the fields fromJson implementation when a malformed JSON input contains empty field names
* (PW-1688) Added missing field labels for SRU2023 changes in the pw_swift_*.properties file
zubri marked this conversation as resolved.
Show resolved Hide resolved
zubri marked this conversation as resolved.
Show resolved Hide resolved

#### 9.4.10 - October 2023
#### 10.1.9 - October 2023
* (PW-1675) update to Field 31R to support also two date components as requested by SCORE messages
* Added 36B and 36D getters to MT543
zubri marked this conversation as resolved.
Show resolved Hide resolved
zubri marked this conversation as resolved.
Show resolved Hide resolved

#### 9.4.9 - October 2023
#### 10.1.8 - October 2023
* (PW-1659) Field 24G deprecated Name and Address for Narrative
zubri marked this conversation as resolved.
Show resolved Hide resolved
zubri marked this conversation as resolved.
Show resolved Hide resolved

#### 9.4.8 - October 2023
#### 10.1.7 - October 2023
* Added default methods for sender, receiver, and identifier extraction to the MessageExtractionStrategy
* Added JSON to the `FileFormat` enumeration
zubri marked this conversation as resolved.
Show resolved Hide resolved

#### 9.4.7 - September 2023
#### 10.1.6 - September 2023
* (PW-1478) Fixed Field 44J parse and getValue to enable proper data preservation when the field contains multiline content

#### 9.4.6 - September 2023
#### 10.1.5 - September 2023
* Added support for an optional `pw-swift-core.properties` to customize the behavior of the SafeXmlUtils class
zubri marked this conversation as resolved.
Show resolved Hide resolved

#### 9.4.5 - August 2023
#### 10.1.4 - September 2023
* (PW-1478) Field 44J parse and getValue fix

#### 9.4.4 - August 2023
#### 10.1.3 - August 2023
* (PW-1478) Field 44J format fixed to allow multiline

#### 9.4.3 - July 2023
#### 10.1.2 - August 2023
* (PW-1461) Remove deprecation of field 31R model since is it used back in SRU2023
* (PW-1405) Trim original String payload when creating an AbstractSwiftMessage

#### 9.4.2 - June 2023
#### 10.1.1 - July 2023
* (GH-163) Remove unnecessary padding in sender and receiver in AbstractMT#creeate(number, sender, receiver) method
* (PW-1323) Fixing getValue method for pattern issue in Field44J

#### 9.4.1 - June 2023
#### 10.1.0 - June 2023
* Migration to Java 11
* Migration to Jakarta EE 10
* (PW-1323) Fixing getValue method for pattern issue in Field44J
Comment on lines +83 to +86
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Add migration guidance for Java and Jakarta EE updates

Version 10.1.0 includes major migrations to Java 11 and Jakarta EE 10. Consider adding:

  1. Migration steps from previous versions
  2. Breaking changes
  3. Required dependency updates
  4. Minimum system requirements

Consider expanding the entry with migration guidance:

 #### 10.1.0 - June 2023
+
+This release includes major platform upgrades. Please review the migration guides:
+
 * Migration to Java 11
+  - Minimum JDK requirement: 11
+  - Breaking changes: [list key changes]
+  - Required updates: [list required updates]
 * Migration to Jakarta EE 10
+  - Package changes: javax.* → jakarta.*
+  - API changes: [list key changes]
+  - Dependency updates: [list required updates]

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 Markdownlint (0.35.0)

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

(MD007, ul-indent)


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

(MD007, ul-indent)


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

(MD007, ul-indent)


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

(MD022, blanks-around-headings)


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

(MD032, blanks-around-lists)

* (PW-1323) Fixing missing pattern issue in Field44J
zubri marked this conversation as resolved.
Show resolved Hide resolved
zubri marked this conversation as resolved.
Show resolved Hide resolved

#### 9.4.0 - May 2023
Expand Down
46 changes: 29 additions & 17 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ buildscript {
gradlePluginPortal()
}
dependencies {
classpath 'ru.vyarus:gradle-quality-plugin:4.7.0'
classpath 'pl.allegro.tech.build:axion-release-plugin:1.14.2'
classpath 'io.github.gradle-nexus:publish-plugin:2.0.0'
classpath 'com.diffplug.spotless:spotless-plugin-gradle:6.13.0' // above this version requires Java 11
classpath 'ru.vyarus:gradle-quality-plugin:4.9.0'
classpath 'pl.allegro.tech.build:axion-release-plugin:1.15.1'
classpath 'io.github.gradle-nexus:publish-plugin:1.3.0'
classpath 'com.diffplug.spotless:spotless-plugin-gradle:6.23.3'
}
}
apply plugin: 'pl.allegro.tech.build.axion-release'
Expand Down Expand Up @@ -40,7 +40,7 @@ tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(8))
languageVersion.set(JavaLanguageVersion.of(11))
zubri marked this conversation as resolved.
Show resolved Hide resolved
}
}
doFirst {
Expand All @@ -56,20 +56,26 @@ dependencies {
implementation 'org.apache.commons:commons-lang3:3.14.0'
implementation 'com.google.code.gson:gson:2.11.0'

compileOnly 'javax.persistence:javax.persistence-api:2.2'
compileOnly 'javax.xml.bind:jaxb-api:2.3.1'
compileOnly 'javax.validation:validation-api:2.0.1.Final'
// jakarta is only used for annotations, we do not add it as implementation dependency on purpose to avoid forcing
// users to use jakarta jars in their project when they might not even be using JPA or JAXB at all
compileOnly 'jakarta.persistence:jakarta.persistence-api:3.1.0'
compileOnly 'jakarta.xml.bind:jakarta.xml.bind-api:4.0.0'
compileOnly 'jakarta.validation:jakarta.validation-api:3.0.2'

testImplementation 'javax.validation:validation-api:2.0.1.Final'
testImplementation 'javax.persistence:javax.persistence-api:2.2'
testImplementation 'jakarta.persistence:jakarta.persistence-api:3.1.0'
testImplementation 'jakarta.validation:jakarta.validation-api:3.1.0'
Comment on lines +61 to +66
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Align jakarta.validation-api versions

There's a version mismatch in jakarta.validation-api:

  • compileOnly: 3.0.2
  • testImplementation: 3.1.0

Consider aligning these versions to prevent potential compatibility issues.

-    compileOnly 'jakarta.validation:jakarta.validation-api:3.0.2'
+    compileOnly 'jakarta.validation:jakarta.validation-api:3.1.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
compileOnly 'jakarta.persistence:jakarta.persistence-api:3.1.0'
compileOnly 'jakarta.xml.bind:jakarta.xml.bind-api:4.0.0'
compileOnly 'jakarta.validation:jakarta.validation-api:3.0.2'
testImplementation 'javax.validation:validation-api:2.0.1.Final'
testImplementation 'javax.persistence:javax.persistence-api:2.2'
testImplementation 'jakarta.persistence:jakarta.persistence-api:3.1.0'
testImplementation 'jakarta.validation:jakarta.validation-api:3.1.0'
compileOnly 'jakarta.persistence:jakarta.persistence-api:3.1.0'
compileOnly 'jakarta.xml.bind:jakarta.xml.bind-api:4.0.0'
compileOnly 'jakarta.validation:jakarta.validation-api:3.1.0'
testImplementation 'jakarta.persistence:jakarta.persistence-api:3.1.0'
testImplementation 'jakarta.validation:jakarta.validation-api:3.1.0'

testImplementation 'org.junit.jupiter:junit-jupiter:5.10.2'
testImplementation 'org.assertj:assertj-core:3.25.3'
testImplementation 'org.xmlunit:xmlunit-core:2.10.0'
testImplementation 'org.xmlunit:xmlunit-matchers:2.9.0'
testImplementation 'org.xmlunit:xmlunit-assertj:2.9.0'
}

sourceSets.main.java.srcDirs = ['src/main/java', 'src/generated/java']
sourceSets.named('main') {
java {
setSrcDirs(['src/main/java', 'src/generated/java'])
}
}

test {
useJUnitPlatform()
Expand All @@ -84,8 +90,8 @@ tasks.withType(Jar) {
'Implementation-Version': project.version,
'Implementation-Vendor': 'www.prowidesoftware.com',
'Built-OS': System.getProperty('os.name'),
'Source-Compatibility': project.sourceCompatibility,
'Target-Compatibility': project.targetCompatibility,
'Source-Compatibility': JavaVersion.VERSION_11,
'Target-Compatibility': JavaVersion.VERSION_11,
'Built-Date': new Date().format("yyyy-MM-dd"),
'Automatic-Module-Name': 'com.prowidesoftware.core'
)
Expand Down Expand Up @@ -260,7 +266,7 @@ tasks.register('bundle', Jar) {
from ("$buildDir/libs") {
include '*.asc'
}
archiveName 'bundle.jar'
archiveFileName.set('bundle.jar')
}

tasks.withType(Test) {
Expand All @@ -283,9 +289,15 @@ task('testOn17', type: Test) {

jacocoTestReport {
reports {
xml.enabled true
csv.enabled false
html.enabled false
xml {
required.set(true)
}
csv {
required.set(false)
}
html {
required.set(false)
}
zubri marked this conversation as resolved.
Show resolved Hide resolved
}

// exclude generated code
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@

import static java.lang.annotation.ElementType.*;

import jakarta.validation.Constraint;
import jakarta.validation.Payload;
Comment on lines +20 to +21
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Consider documenting Jakarta EE migration impact

This migration to Jakarta EE validation APIs represents a breaking change that may affect downstream users. Consider:

  1. Updating the class documentation to indicate the Jakarta EE requirement
  2. Adding a migration guide in the project documentation
  3. Ensuring the major version bump reflects this breaking change

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.validation.Constraint;
import javax.validation.Payload;

/**
* Bean validation for BIC numbers.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@

import com.prowidesoftware.swift.model.BIC;
import com.prowidesoftware.swift.model.BicValidationResult;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;
import org.apache.commons.lang3.StringUtils;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@

import static java.lang.annotation.ElementType.*;

import jakarta.validation.Constraint;
import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.validation.Constraint;
import javax.validation.Payload;

/**
* Bean validation for ISO Alpha-2 country codes.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
package com.prowidesoftware.swift.constraints;

import com.prowidesoftware.swift.utils.IsoUtils;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;
import org.apache.commons.lang3.StringUtils;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@

import static java.lang.annotation.ElementType.*;

import jakarta.validation.Constraint;
import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.validation.Constraint;
import javax.validation.Payload;

/**
* Bean validation for ISO currency codes.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
package com.prowidesoftware.swift.constraints;

import com.prowidesoftware.swift.utils.IsoUtils;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;
import org.apache.commons.lang3.StringUtils;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@

import static java.lang.annotation.ElementType.*;

import jakarta.validation.Constraint;
import jakarta.validation.Payload;
Comment on lines +20 to +21
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Consider documenting Jakarta EE migration impact.

Since this is part of a major version upgrade involving Jakarta EE migration:

  1. Ensure the CHANGELOG clearly documents this breaking change
  2. Consider adding migration guides for users
  3. Update minimum Java version requirements if needed
  4. Review build configuration for Jakarta EE compatibility

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.validation.Constraint;
import javax.validation.Payload;

/**
* Bean validation for IBAN numbers.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@

import com.prowidesoftware.swift.model.IBAN;
import com.prowidesoftware.swift.model.IbanValidationResult;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;
import org.apache.commons.lang3.StringUtils;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@
import com.google.gson.GsonBuilder;
import com.prowidesoftware.JsonSerializable;
import com.prowidesoftware.swift.utils.Lib;
import jakarta.persistence.*;
import jakarta.xml.bind.annotation.XmlTransient;
zubri marked this conversation as resolved.
Show resolved Hide resolved
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
import java.math.BigDecimal;
import java.text.NumberFormat;
import java.util.*;
import javax.persistence.*;
import javax.xml.bind.annotation.XmlTransient;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,16 @@
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt.DefaultMtMetadataStrategy;
import com.prowidesoftware.swift.model.mt.MTVariant;
import jakarta.persistence.Column;
import jakarta.persistence.DiscriminatorValue;
import jakarta.persistence.Entity;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Calendar;
import java.util.Objects;
import java.util.Optional;
import java.util.logging.Level;
import javax.persistence.Column;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import org.apache.commons.lang3.EnumUtils;
import org.apache.commons.lang3.StringUtils;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
*/
package com.prowidesoftware.swift.model;

import jakarta.persistence.*;
import java.util.Calendar;
import javax.persistence.*;

/**
* Comments associated to a message for application only usage (not part of the standard).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@
*/
package com.prowidesoftware.swift.model;

import static javax.persistence.FetchType.LAZY;
import static jakarta.persistence.FetchType.LAZY;

import jakarta.persistence.*;
import java.util.Calendar;
import java.util.Objects;
import javax.persistence.*;

/**
* A revision is a snapshot of message content and is used to track the history of changes in a message.
Expand Down
Loading
Loading