Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Changelog
All notable changes to this project will be documented in this file.

## [9.13.0]
### Changed
- Update SSDK 20.1.0 and BBOM 2026.03 LTS, boat-maven-plugin unified 0.17.66

## [9.12.0]
### Added
- Implement Portfolio Risk assessments data ingestion;
Expand Down
51 changes: 26 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,32 +41,33 @@ You can find listed here the API specification containing the opinionated model

## Compatibility Matrix

| Stream [version](https://github.com/Backbase/stream-services/releases) | Banking Services | Java | Spring Boot |
|------------------------------------------------------------------------|-----------------------|------|-------------|
| 8.3.0 to latest | 2025.10 (20.0.0) | 21 | 3.5.6 |
| Stream [version](https://github.com/Backbase/stream-services/releases) | Banking Services | Java | Spring Boot |
|------------------------------------------------------------------------|--------------------------|------|-------------|
| 9.11.0 to latest | 2026.03-LTS (20.1.0) | 21 | 3.5.11 |
| 8.3.0 to latest | 2025.10 (20.0.0) | 21 | 3.5.6 |
| 8.2.0 to 8.3.0 | 2025.10-RC (20.0.0-rc.2) | 21 | 3.5.6 |
| 8.1.0 to 8.1.1 | 2025.10-RC (20.0.0-rc.2) | 21 | 3.5.6 |
| 7.8.0 to 8.1.0 | 2025.09-LTS | 21 | 3.4 |
| 7.0.0 to 7.7.0 | 2025.04.3 | 21 | 3.4 |
| 6.18.0 to 6.19.0 | 2025.03-LTS | 21 | 3.3 |
| 6.2.0 to 6.17.0 | 2024.10 | 21 | 3.3 |
| 6.0.0 to 6.1.0 | 2024.10 | 21 | 3.2 |
| 5.10.0 to 5.16.0 | 2024.09-LTS | 21 | 3.2 |
| 5.0.0 to 5.9.x | 2024.04 | 21 | 3.2 |
| 4.1.1 to 4.x.x | 2024.03-LTS | 17 | 3.1 |
| 4.0.0 to 4.1.0 | 2023.12 | 17 | 3.1 |
| 3.70.0 to 3.x.x | 2023.09-LTS | 17 | 2.7 |
| 3.50.0 to 3.69.0 | 2023.06 | 17 | 2.7 |
| 3.34.0 to 3.49.0 | 2023.02-LTS | 17 | 2.7 |
| 3.16.0 to 3.33.0 | 2022.10 | 17 | 2.7 |
| 3.8.0 to 3.15.0 | 2022.09 | 17 | 2.7 |
| 3.1.0 to 3.7.0 | 2022.09 | 11 | 2.6 |
| 2.71.0 to 3.0.0 | 2022.04 | 11 | 2.5 |
| 2.49.0 to 2.69.0 | 2021.09 (2.21.2.x) | 11 | 2.5 |
| 2.44.0 to 2.48.0 | 2021.07 (2.21.0.x) | 11 | 2.5 |
| 2.23.0 to 2.43.0 | 2.20.x | 11 | 2.3 |
| 2.15.0 to 2.22.0 | 2.19.x | 11 | 2.3 |
| 2.1.0 to 2.14.0 | 2.19.x | 8 | 2.3 |
| 8.1.0 to 8.1.1 | 2025.10-RC (20.0.0-rc.2) | 21 | 3.5.6 |
| 7.8.0 to 8.1.0 | 2025.09-LTS | 21 | 3.4 |
| 7.0.0 to 7.7.0 | 2025.04.3 | 21 | 3.4 |
| 6.18.0 to 6.19.0 | 2025.03-LTS | 21 | 3.3 |
| 6.2.0 to 6.17.0 | 2024.10 | 21 | 3.3 |
| 6.0.0 to 6.1.0 | 2024.10 | 21 | 3.2 |
| 5.10.0 to 5.16.0 | 2024.09-LTS | 21 | 3.2 |
| 5.0.0 to 5.9.x | 2024.04 | 21 | 3.2 |
| 4.1.1 to 4.x.x | 2024.03-LTS | 17 | 3.1 |
| 4.0.0 to 4.1.0 | 2023.12 | 17 | 3.1 |
| 3.70.0 to 3.x.x | 2023.09-LTS | 17 | 2.7 |
| 3.50.0 to 3.69.0 | 2023.06 | 17 | 2.7 |
| 3.34.0 to 3.49.0 | 2023.02-LTS | 17 | 2.7 |
| 3.16.0 to 3.33.0 | 2022.10 | 17 | 2.7 |
| 3.8.0 to 3.15.0 | 2022.09 | 17 | 2.7 |
| 3.1.0 to 3.7.0 | 2022.09 | 11 | 2.6 |
| 2.71.0 to 3.0.0 | 2022.04 | 11 | 2.5 |
| 2.49.0 to 2.69.0 | 2021.09 (2.21.2.x) | 11 | 2.5 |
| 2.44.0 to 2.48.0 | 2021.07 (2.21.0.x) | 11 | 2.5 |
| 2.23.0 to 2.43.0 | 2.20.x | 11 | 2.3 |
| 2.15.0 to 2.22.0 | 2.19.x | 11 | 2.3 |
| 2.1.0 to 2.14.0 | 2.19.x | 8 | 2.3 |

## Software License Terms
Please see the license terms [here](LICENSE.txt).
Expand Down
8 changes: 4 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.backbase.buildingblocks</groupId>
<artifactId>backbase-parent</artifactId>
<version>20.0.0</version>
<version>20.1.0</version>
<relativePath/>
</parent>

Expand Down Expand Up @@ -41,9 +41,9 @@

<properties>
<java.version>21</java.version>
<ssdk.version>20.0.0</ssdk.version>
<backbase-bom.version>2025.10.2</backbase-bom.version>
<boat-maven-plugin.version>0.17.62</boat-maven-plugin.version>
<ssdk.version>20.1.0</ssdk.version>
<backbase-bom.version>2026.03-LTS</backbase-bom.version>
<boat-maven-plugin.version>0.17.66</boat-maven-plugin.version>
<backbase.portfolio.version>4.7.0</backbase.portfolio.version>
<spring-boot.repackage.skip>true</spring-boot.repackage.skip>
<openapi-generator-maven-plugin.language>spring</openapi-generator-maven-plugin.language>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,4 @@ components:
paymentOrder:
type: array
items:
$ref: '../../../target/yaml/payment/payment-order-service-api-v3.17.0.yaml#/components/schemas/PaymentOrderPostRequest'
$ref: '../../../target/yaml/payment/payment-order-service-api-v3.19.1.yaml#/components/schemas/PaymentOrderPostRequest'
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ components:
transactions:
type: array
items:
$ref: '../../../target/yaml/transaction-manager/transaction-manager-service-api-v3.0.2.yaml#/components/schemas/TransactionsPostRequestBody'
$ref: '../../../target/yaml/transaction-manager/transaction-manager-service-api-v3.4.0.yaml#/components/schemas/TransactionsPostRequestBody'
additions:
type: object
additionalProperties:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,19 +125,19 @@ components:
paymentOrders:
type: array
items:
$ref: '../../../target/yaml/payment/payment-order-service-api-v3.17.0.yaml#/components/schemas/PaymentOrderPostRequest'
$ref: '../../../target/yaml/payment/payment-order-service-api-v3.19.1.yaml#/components/schemas/PaymentOrderPostRequest'

PaymentOrderIngestionResponse:
type: object
properties:
newPaymentOrder:
type: array
items:
$ref: '../../../target/yaml/payment/payment-order-service-api-v3.17.0.yaml#/components/schemas/PaymentOrderPostResponse'
$ref: '../../../target/yaml/payment/payment-order-service-api-v3.19.1.yaml#/components/schemas/PaymentOrderPostResponse'
updatedPaymentOrder:
type: array
items:
$ref: '../../../target/yaml/payment/payment-order-service-api-v3.17.0.yaml#/components/schemas/PaymentOrderPostResponse'
$ref: '../../../target/yaml/payment/payment-order-service-api-v3.19.1.yaml#/components/schemas/PaymentOrderPostResponse'
deletedPaymentOrder:
type: array
items:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,15 +111,15 @@ components:
transactions:
type: array
items:
$ref: '../../../target/yaml/transaction-manager/transaction-manager-service-api-v3.0.2.yaml#/components/schemas/TransactionsPostRequestBody'
$ref: '../../../target/yaml/transaction-manager/transaction-manager-service-api-v3.4.0.yaml#/components/schemas/TransactionsPostRequestBody'

TransactionIngestionResponse:
type: object
properties:
transactions:
type: array
items:
$ref: '../../../target/yaml/transaction-manager/transaction-manager-service-api-v3.0.2.yaml#/components/schemas/TransactionsPostResponseBody'
$ref: '../../../target/yaml/transaction-manager/transaction-manager-service-api-v3.4.0.yaml#/components/schemas/TransactionsPostResponseBody'
additions:
type: object
additionalProperties:
Expand Down
8 changes: 4 additions & 4 deletions stream-compositions/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@
</modules>

<properties>
<backbase-bom.version>2025.10.2</backbase-bom.version>
<boat-maven-plugin.version>0.17.62</boat-maven-plugin.version>
<backbase-bom.version>2026.03-LTS</backbase-bom.version>
<boat-maven-plugin.version>0.17.66</boat-maven-plugin.version>
<testcontainers.version>1.12.5</testcontainers.version>
<mock.server.version>5.15.0</mock.server.version>
<skip.integration.tests>false</skip.integration.tests>
<sonar.test.exclusions>**/test/**/*</sonar.test.exclusions>
<spring-cloud.version>2024.0.1</spring-cloud.version>
<ssdk.version>20.0.0-rc.2</ssdk.version>
<spring-cloud.version>2025.0.0</spring-cloud.version>
<ssdk.version>20.1.0</ssdk.version>
<jakarta-validation.version>3.0.2</jakarta-validation.version>
<jib.container.volumes>/tmp</jib.container.volumes>
<archuint.skip>true</archuint.skip>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,16 @@ public LegalEntityIntegrationClientConfiguration() {
}

@Bean
@Primary
public ApiClient legalEntityCompositionClient(ObjectMapper objectMapper, DateFormat dateFormat) {
return new ApiClient(getWebClient(), objectMapper, dateFormat)
.setBasePath(createBasePath());
}

@Bean
@Primary
public LegalEntityIntegrationApi legalEntityCompositionIntegrationApi(ApiClient legalEntityClient) {
return new LegalEntityIntegrationApi(legalEntityClient);
public LegalEntityIntegrationApi legalEntityCompositionIntegrationApi(ApiClient legalEntityCompositionClient) {
return new LegalEntityIntegrationApi(legalEntityCompositionClient);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public ProductCompositionClientConfiguration() {
}

@Bean
@Primary
public ApiClient productClient(ObjectMapper objectMapper, DateFormat dateFormat) {
return new ApiClient(getWebClient(), objectMapper, dateFormat)
.setBasePath(createBasePath());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ public PaymentOrderIntegrationApi paymentOrderIntegrationApi(ApiClient paymentOr
}

@Bean
@Primary
public ApiClient paymentOrderIntegrationClient(ObjectMapper objectMapper, DateFormat dateFormat) {
return new ApiClient(getWebClient(), objectMapper, dateFormat)
.setBasePath(createBasePath());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ public ProductCatalogIntegrationApi productCatalogIntegrationApi(ApiClient legal
}

@Bean
@Primary
public ApiClient productCatalogClient(ObjectMapper objectMapper, DateFormat dateFormat) {
return new ApiClient(getWebClient(), objectMapper, dateFormat)
.setBasePath(createBasePath());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public PaymentCompositionClientConfiguration() {
}

@Bean
@Primary
public ApiClient paymentOrderApiClient(ObjectMapper objectMapper, DateFormat dateFormat) {
return new ApiClient(getWebClient(), objectMapper, dateFormat)
.setBasePath(createBasePath());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ public ProductIntegrationClientConfiguration() {
}

@Bean
@Primary
public ApiClient productClient(ObjectMapper objectMapper, DateFormat dateFormat) {
return new ApiClient(getWebClient(), objectMapper, dateFormat)
.setBasePath(createBasePath());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public TransactionCompositionClientConfiguration() {
}

@Bean
@Primary
public ApiClient transactionClient(ObjectMapper objectMapper, DateFormat dateFormat) {
return new ApiClient(getWebClient(), objectMapper, dateFormat)
.setBasePath(createBasePath());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public TransactionCursorClientConfiguration() {
}

@Bean
@Primary
public ApiClient transactionCursorClient(ObjectMapper objectMapper, DateFormat dateFormat) {
return new ApiClient(getWebClient(), objectMapper, dateFormat)
.setBasePath(createBasePath());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public TransactionIntegrationClientConfiguration() {
}

@Bean
@Primary
public ApiClient transactionIntegrationClient(ObjectMapper objectMapper, DateFormat dateFormat) {
return new ApiClient(getWebClient(), objectMapper, dateFormat)
.setBasePath(createBasePath());
Expand Down
2 changes: 1 addition & 1 deletion stream-dbs-clients/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -587,7 +587,7 @@
<phase>generate-sources</phase>
<configuration>
<openapiNormalizer>REFACTOR_ALLOF_WITH_PROPERTIES_ONLY=true</openapiNormalizer>
<inputSpec>${project.build.directory}/yaml/audit/audit-service-api-v*.yaml</inputSpec>
<inputSpec>${project.build.directory}/yaml/audit-spec/audit-service-api-v*.yaml</inputSpec>
<apiPackage>com.backbase.dbs.audit.api.service.v2</apiPackage>
<modelPackage>com.backbase.dbs.audit.api.service.v2.model</modelPackage>
<configOptions>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
listOfPayments.addAll(response.getPaymentOrders());
return listOfPayments;
})
.map(getPaymentOrderResponses -> paymentOrderIngestContext.existingPaymentOrder(getPaymentOrderResponses))

Check warning on line 126 in stream-payment-order/payment-order-core/src/main/java/com/backbase/stream/paymentorder/PaymentOrderUnitOfWorkExecutor.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Replace this lambda with method reference 'paymentOrderIngestContext::existingPaymentOrder'.

See more on https://sonarcloud.io/project/issues?id=com.backbase.stream%3Astream-services&issues=AZ1P9-TGkNSDCFFZ3OJj&open=AZ1P9-TGkNSDCFFZ3OJj&pullRequest=589
.doOnSuccess(result ->
log.debug("Successfully fetched dbs scheduled payment orders"));
}
Expand All @@ -134,7 +134,7 @@
.flatMap(this::getArrangement)
.distinct()
.collectList()
.map(accountInternalIdGetResponseBody -> paymentOrderIngestContext.arrangementIds(accountInternalIdGetResponseBody));

Check warning on line 137 in stream-payment-order/payment-order-core/src/main/java/com/backbase/stream/paymentorder/PaymentOrderUnitOfWorkExecutor.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Replace this lambda with method reference 'paymentOrderIngestContext::arrangementIds'.

See more on https://sonarcloud.io/project/issues?id=com.backbase.stream%3Astream-services&issues=AZ1P9-TGkNSDCFFZ3OJk&open=AZ1P9-TGkNSDCFFZ3OJk&pullRequest=589
}

private Mono<ArrangementSearchesListResponse> getArrangement(PaymentOrderPostRequest paymentOrderPostRequest) {
Expand Down Expand Up @@ -273,7 +273,7 @@
paymentOrderPostFilterRequest.setStatuses(FILTER);

return paymentOrdersApi.postFilterPaymentOrders(null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, currentCount / PAGE_SIZE, PAGE_SIZE, null,
null, null, null, null, null, null, null, null, currentCount / PAGE_SIZE, PAGE_SIZE, null,
null, paymentOrderPostFilterRequest)
.retryWhen(fixedDelay(3, Duration.of(2000, MILLIS)).filter(
t -> t instanceof WebClientRequestException
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ void test_prepareUnitOfWork_paymentOrderPostRequestFlux() {
.addPaymentOrdersItem(getPaymentOrderResponse)
.totalElements(new BigDecimal(1));

doReturn(Mono.just(paymentOrderPostFilterResponse)).when(paymentOrdersApi).postFilterPaymentOrders(any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any());
doReturn(Mono.just(paymentOrderPostFilterResponse)).when(paymentOrdersApi).postFilterPaymentOrders(any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any());

ArrangementItem arrangementItem = new ArrangementItem()
.id("arrangementId_1")
Expand Down Expand Up @@ -174,7 +174,7 @@ void test_prepareunitofwork_blankuserid() {
.addPaymentOrdersItem(getPaymentOrderResponseWithEmptyUserId)
.totalElements(new BigDecimal(1));

lenient().doReturn(Mono.just(paymentOrderPostFilterResponse)).when(paymentOrdersApi).postFilterPaymentOrders(any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any());
lenient().doReturn(Mono.just(paymentOrderPostFilterResponse)).when(paymentOrdersApi).postFilterPaymentOrders(any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any(), any());

StepVerifier
.create(paymentOrderUnitOfWorkExecutor.prepareUnitOfWork(paymentOrderPostRequestFlux))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
import java.util.List;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.MappingConstants;
import org.mapstruct.ValueMapping;
import com.backbase.portfolio.api.service.integration.v1.model.AggregatePortfoliosPostRequest;
import com.backbase.portfolio.api.service.integration.v1.model.AggregatePortfoliosPutRequest;
import com.backbase.portfolio.api.service.integration.v1.model.AllocationType;
Expand Down Expand Up @@ -35,6 +33,8 @@
import com.backbase.stream.portfolio.model.PositionTransaction;
import com.backbase.stream.portfolio.model.SubPortfolio;
import com.backbase.stream.portfolio.model.TransactionCategory;
import org.mapstruct.MappingConstants;
import org.mapstruct.ValueMapping;

@Mapper
public interface PortfolioMapper {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ public Flux<BatchResponseItem> upsertBatchArrangements(List<ArrangementPost> arr
* @return Product
*/
public Mono<ArrangementItem> getArrangement(String internalId) {
return arrangementsApi.getArrangementById(internalId, false)
return arrangementsApi.getArrangementById(internalId, false, null)
.onErrorResume(WebClientResponseException.NotFound.class, ex -> {
log.info("Arrangement: {} not found", internalId);
return Mono.empty();
Expand Down Expand Up @@ -165,7 +165,7 @@ public Mono<String> getArrangementInternalId(String externalId) {
public Mono<String> deleteArrangementByInternalId(String arrangementInternalId) {
log.debug("Retrieving Arrangement by internal id {}", arrangementInternalId);
// get arrangement externalId by internal id.
return arrangementsApi.getArrangementById(arrangementInternalId, false)
return arrangementsApi.getArrangementById(arrangementInternalId, false, null)
.mapNotNull(ArrangementItem::getExternalArrangementId)
.onErrorResume(WebClientResponseException.class, e -> {
log.warn("Failed to retrieve arrangement by internal id {}, {}", arrangementInternalId, e.getMessage());
Expand Down
Loading
Loading