Release - #1334
Conversation
|
Warning Review limit reached
Next review available in: 52 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe change adds NSN identifier modeling, validation, barcode processing, external search mapping, and tests. It also updates ISBN validation, package metadata, Quarkus readiness behavior, package-tree output, and storage removal traversal. ChangesNSN Identifier Support
Runtime and Library Updates
Application Maintenance
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant IdentifierUtils
participant NsnCodeUtilities
participant NSN
participant IdentifierBarcodeService
IdentifierUtils->>NsnCodeUtilities: validate NSN value
NsnCodeUtilities-->>IdentifierUtils: return validation result
IdentifierUtils->>NSN: construct NSN identifier
IdentifierUtils->>IdentifierBarcodeService: request NSN barcode
IdentifierBarcodeService-->>IdentifierUtils: generate Code128 with [7001] prefix
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Code Coverage
|
1 similar comment
Code Coverage
|
Code Coverage
|
1 similar comment
Code Coverage
|
Code Coverage
|
Code Coverage
|
4 similar comments
Code Coverage
|
Code Coverage
|
Code Coverage
|
Code Coverage
|
Code Coverage
|
Code Coverage
|
Code Coverage
|
3 similar comments
Code Coverage
|
Code Coverage
|
Code Coverage
|
Code Coverage
|
Code Coverage
|
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
software/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/service/identifiers/CodeUtilTestBase.java (1)
82-94: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick winInclude the EAN fixtures in the invalid-code stream.
Captain, Lines [82-94] omit
EAN13_CODESandEAN8_CODES, although those lists are defined in Lines [45-51]. Consequently,software/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/service/identifiers/upc/NsnUtilitiesTest.javadoes not exercise EAN/NSN overlap or the 8-digit length boundary.Add both streams and confirm whether a valid EAN-13 may also be an NSN. If it must be rejected, update
NsnCodeUtilitiesand retain the regression case.Proposed test-data fix
ISBN10_CODES.stream(), + EAN13_CODES.stream(), + EAN8_CODES.stream(), NSN_CODES.stream(),
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 0c3f38e0-613e-4785-b292-542f99243d70
📒 Files selected for processing (23)
deployment/Single Host/Station-Captain/properties.jsondeployment/Single Host/Station-Captain/src/lib/PackageManagement.pysoftware/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/object/storage/items/identifiers/Identifier.javasoftware/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/object/storage/items/identifiers/types/IdentifierType.javasoftware/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/object/storage/items/identifiers/types/NSN.javasoftware/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/identifiers/IdentifierBarcodeService.javasoftware/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/identifiers/IdentifierUtils.javasoftware/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/identifiers/upc/ISBNCodeUtilities.javasoftware/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/identifiers/upc/NsnCodeUtilities.javasoftware/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/service/identifiers/CodeUtilTestBase.javasoftware/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/service/identifiers/upc/NsnUtilitiesTest.javasoftware/core/oqm-core-base-station/src/main/resources/META-INF/resources/res/js/obj/item/ItemAddEdit.jssoftware/libs/core-api-lib-quarkus/deployment/pom.xmlsoftware/libs/core-api-lib-quarkus/deployment/src/main/java/tech/ebp/oqm/lib/core/api/quarkus/deployment/testContainers/OqmCoreApiWebServiceContainer.javasoftware/libs/core-api-lib-quarkus/integration-tests/pom.xmlsoftware/libs/core-api-lib-quarkus/pom.xmlsoftware/libs/core-api-lib-quarkus/runtime/pom.xmlsoftware/libs/core/characteristics/core-characteristics-lib-quarkus/deployment/pom.xmlsoftware/libs/core/characteristics/core-characteristics-lib-quarkus/deployment/src/main/java/tech/ebp/oqm/lib/core/characteristics/quarkus/deployment/testContainers/OqmCoreCharacteristicsWebServiceContainer.javasoftware/libs/core/characteristics/core-characteristics-lib-quarkus/integration-tests/pom.xmlsoftware/libs/core/characteristics/core-characteristics-lib-quarkus/pom.xmlsoftware/libs/core/characteristics/core-characteristics-lib-quarkus/runtime/pom.xmlsoftware/plugins/external-item-search/src/main/java/tech/ebp/oqm/plugin/extItemSearch/service/extItemSearchService/providers/upcItemDb/UpcItemDbService.java
📜 Review details
⏰ Context from checks skipped due to timeout. (4)
- GitHub Check: CI-Pipeline / Unit Tests
- GitHub Check: CI-Pipeline / Integration Tests
- GitHub Check: CI-Pipeline / Integration Tests
- GitHub Check: CI-Pipeline / Unit Tests
🧰 Additional context used
🪛 ast-grep (0.45.0)
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/identifiers/IdentifierBarcodeService.java
[warning] 153-153: TransformerFactory used without secure processing is vulnerable to XXE
Context: tf.newTransformer()
Note: [CWE-611] Improper Restriction of XML External Entity Reference.
(xml-parsing-xxe-transformer)
🪛 OpenGrep (1.26.0)
software/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/service/identifiers/CodeUtilTestBase.java
[ERROR] 47-47: Possible credit card number (PAN) detected in source code. Credit card numbers should never be hardcoded or stored in source files. Use a secrets manager or tokenization service instead.
(coderabbit.pii.credit-card-number)
[ERROR] 54-54: Possible credit card number (PAN) detected in source code. Credit card numbers should never be hardcoded or stored in source files. Use a secrets manager or tokenization service instead.
(coderabbit.pii.credit-card-number)
🔇 Additional comments (15)
software/libs/core-api-lib-quarkus/deployment/src/main/java/tech/ebp/oqm/lib/core/api/quarkus/deployment/testContainers/OqmCoreApiWebServiceContainer.java (1)
58-59: 🩺 Stability & AvailabilityVerify both log-based readiness contracts.
Both containers now trust a startup log instead of a health check. Their processors call
container.start()before publishing dev-service configuration. A startup log can occur before the service is ready to answer requests.
software/libs/core-api-lib-quarkus/deployment/src/main/java/tech/ebp/oqm/lib/core/api/quarkus/deployment/testContainers/OqmCoreApiWebServiceContainer.java#L58-L59: verify.*oqm-core-api .* started.*occurs after API readiness.software/libs/core/characteristics/core-characteristics-lib-quarkus/deployment/src/main/java/tech/ebp/oqm/lib/core/characteristics/quarkus/deployment/testContainers/OqmCoreCharacteristicsWebServiceContainer.java#L36-L37: verify.*Uvicorn running on.*occurs after the characteristics service is request-ready.If either check is weaker than the previous health check, add a Podman-compatible HTTP or TCP readiness check.
software/libs/core-api-lib-quarkus/pom.xml (1)
10-10: 🗄️ Data Integrity & IntegrationConfirm the Quarkus module snapshots are released or built in the same reactor before using them.
The snapshots use parent coordinates at:
core-api-lib-quarkus-parent/6.2.1-SNAPSHOTcore-characteristics-lib-quarkus-parent/1.1.3-SNAPSHOTIf
mainbuilds are not meant to depend on snapshots, keep these as released coordinates. If snapshots are supported, publish the matching artifacts to the configured Maven repository so production builds can resolve them.software/core/oqm-core-base-station/src/main/resources/META-INF/resources/res/js/obj/item/ItemAddEdit.js (1)
373-373: LGTM!deployment/Single Host/Station-Captain/properties.json (1)
3-3: 🗄️ Data Integrity & IntegrationVerify the published version before this release sails into
main.Line 3 sets
2.12.3-SNAPSHOT. Confirm that the release pipeline permits snapshot versions onmain. Ifmainmust publish a stable package, use2.12.3instead.deployment/Single Host/Station-Captain/src/lib/PackageManagement.py (1)
234-234: LGTM!software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/object/storage/items/identifiers/Identifier.java (1)
18-18: LGTM!Also applies to: 43-43, 53-80, 101-101
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/object/storage/items/identifiers/types/IdentifierType.java (1)
17-40: LGTM!software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/object/storage/items/identifiers/types/NSN.java (1)
14-20: LGTM!Also applies to: 27-30
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/identifiers/upc/ISBNCodeUtilities.java (1)
17-20: LGTM!Also applies to: 37-37, 51-55
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/identifiers/IdentifierUtils.java (1)
5-5: LGTM!Also applies to: 18-18, 30-30, 65-74, 103-105, 115-115, 169-174, 184-184
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/service/identifiers/IdentifierBarcodeService.java (1)
15-15: LGTM!Also applies to: 49-65, 76-76, 90-90, 102-139, 150-164, 176-176, 208-214, 224-227, 236-242, 253-261, 272-272
software/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/service/identifiers/CodeUtilTestBase.java (1)
7-7: LGTM!Also applies to: 21-63, 74-74, 110-135
software/core/oqm-core-api/src/test/java/tech/ebp/oqm/core/api/service/identifiers/upc/NsnUtilitiesTest.java (1)
1-33: LGTM!software/plugins/external-item-search/src/main/java/tech/ebp/oqm/plugin/extItemSearch/service/extItemSearchService/providers/upcItemDb/UpcItemDbService.java (2)
35-38: LGTM!Also applies to: 67-88, 112-116, 129-129, 138-138, 149-160, 169-172, 189-189
89-95: 🗄️ Data Integrity & IntegrationBatten down the UPCItemDB
isbnhandling.UPCItemDB item response fields cover
ean,upc,gtin,asin, andelid, but notisbn. If UPCItemDB no longer returns a scalarisbnfield, this branch adds a misleading key toExtItemLookupResult.identifiers. Add a real UPCItemDB response fixture with anisbnfield, or drop the case until the contract is known.
Code Coverage
|
Code Coverage
|
Bumps [org.jsoup:jsoup](https://github.com/jhy/jsoup) from 1.22.2 to 1.23.1. - [Release notes](https://github.com/jhy/jsoup/releases) - [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES.md) - [Commits](jhy/jsoup@jsoup-1.22.2...jsoup-1.23.1) --- updated-dependencies: - dependency-name: org.jsoup:jsoup dependency-version: 1.23.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [org.knowm.xchart:xchart](https://github.com/knowm/XChart) from 4.0.3 to 4.0.4. - [Commits](knowm/XChart@xchart-4.0.3...xchart-4.0.4) --- updated-dependencies: - dependency-name: org.knowm.xchart:xchart dependency-version: 4.0.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [commons-validator:commons-validator](https://github.com/apache/commons-validator) from 1.10.1 to 1.11.0. - [Changelog](https://github.com/apache/commons-validator/blob/master/RELEASE-NOTES.txt) - [Commits](apache/commons-validator@rel/commons-validator-1.10.1...rel/commons-validator-1.11.0) --- updated-dependencies: - dependency-name: commons-validator:commons-validator dependency-version: 1.11.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]>
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: d7fac0c8-c2e3-4c0a-8fd5-fa6c5d7cff3c
📒 Files selected for processing (3)
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/object/storage/items/identifiers/types/NSN.javasoftware/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/validation/annotations/identifiers/ValidNSN.javasoftware/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/validation/validators/identifiers/NSNValidator.java
📜 Review details
⏰ Context from checks skipped due to timeout. (3)
- GitHub Check: CI-Pipeline / Build
- GitHub Check: CI-Pipeline / Build
- GitHub Check: CI-Pipeline / Build
🔇 Additional comments (2)
software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/validation/annotations/identifiers/ValidNSN.java (1)
3-32: LGTM!software/core/oqm-core-api/src/main/java/tech/ebp/oqm/core/api/model/object/storage/items/identifiers/types/NSN.java (1)
12-12: LGTM!Also applies to: 23-30
Code Coverage
|
Code Coverage
|
1 similar comment
Code Coverage
|
Code Coverage
|
1 similar comment
Code Coverage
|
Code Coverage
|
…ternal-item-search/development/org.jsoup-jsoup-1.23.1
…radle/software/plugins/external-item-search/development/org.jsoup-jsoup-1.23.1 Bump org.jsoup:jsoup from 1.22.2 to 1.23.1 in /software/plugins/external-item-search
…radle/software/core/oqm-core-api/development/commons-validator-commons-validator-1.11.0 Bump commons-validator:commons-validator from 1.10.1 to 1.11.0 in /software/core/oqm-core-api
…ore-base-station/development/org.knowm.xchart-xchart-4.0.4
Code Coverage
|
…radle/software/core/oqm-core-base-station/development/org.knowm.xchart-xchart-4.0.4 Bump org.knowm.xchart:xchart from 4.0.3 to 4.0.4 in /software/core/oqm-core-base-station
Code Coverage
|
3 similar comments
Code Coverage
|
Code Coverage
|
Code Coverage
|
Code Coverage
|
Checklist:
Summary by CodeRabbit
New Features
Bug Fixes