Skip to content

Fix ScaledBigDecimal deserialization issue and update dependencies#58

Merged
ThoSap merged 2 commits intomainfrom
fix-scaledbigdecimal-deserialization-and-update-dependencies
Mar 20, 2026
Merged

Fix ScaledBigDecimal deserialization issue and update dependencies#58
ThoSap merged 2 commits intomainfrom
fix-scaledbigdecimal-deserialization-and-update-dependencies

Conversation

@ThoSap
Copy link
Copy Markdown
Contributor

@ThoSap ThoSap commented Mar 20, 2026

The https://github.com/aboutbits/spring-boot-toolbox/releases/tag/v2.4.0 caused the following issue in one of our projects, where we deserialize a JSON array String from the DB to a two-dimensional ScaledBigDecimal list as follows:

@NullMarked
    default void setParsedData(
            PriceMatrixForPriceGenerationModel model,
            @MappingTarget PriceMatrixForPriceGeneration domain
    ) {
        var data = model.getData();
        if (data == null) {
            domain.setData(null);
            return;
        }

        try {
            var mapper = new ObjectMapper();
            var list = mapper.readValue(
                    data, new TypeReference<List<List<@Nullable ScaledBigDecimal>>>() {
                    }
            );
            domain.setData(list);
        } catch (Exception e) {
            throw new IllegalArgumentException("Invalid JSON data format", e);
        }
    }

This is caused by Jackson picking up getters/setters with get[A-Z]\w+/is[A-Z]\w+ and set[A-Z]\w+ by convention.

PriceMatrixStoreImplTest > MapPriceGenerationCombinationsById > givenPriceMatrixIdsAndPriceGenerationIds_shouldReturnMap() FAILED
    java.lang.IllegalArgumentException: Invalid JSON data format
        at com.finstral.composer.core.infrastructure.persistence.price_matrix_for_price_generation.mapper.PriceMatrixForPriceGenerationMapper.setParsedData(PriceMatrixForPriceGenerationMapper.java:58)
        at com.finstral.composer.core.infrastructure.persistence.price_matrix_for_price_generation.mapper.PriceMatrixForPriceGenerationMapperImpl.toDomain(PriceMatrixForPriceGenerationMapperImpl.java:35)
        at com.finstral.composer.core.infrastructure.persistence.price_matrix_for_price_generation.store.PriceMatrixForPriceGenerationStoreImpl.save(PriceMatrixForPriceGenerationStoreImpl.java:111)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:565)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:133)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:371)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:130)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)
        at com.finstral.composer.core.infrastructure.persistence.price_matrix_for_price_generation.store.PriceMatrixForPriceGenerationStoreImpl$$SpringCGLIB$$0.save(<generated>)
        at com.finstral.composer.admin.domain.price_matrix_for_price_generation.action.PriceMatrixForPriceGenerationCreateAction.create(PriceMatrixForPriceGenerationCreateAction.java:36)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:565)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)
        at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:172)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:133)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:371)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:130)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)
        at com.finstral.composer.admin.domain.price_matrix_for_price_generation.action.PriceMatrixForPriceGenerationCreateAction$$SpringCGLIB$$0.create(<generated>)
        at com.finstral.composer._support.testdata.persisted.creator.PriceMatrixForPriceGenerationCreate.create(PriceMatrixForPriceGenerationCreate.java:105)
        at com.finstral.composer._support.testdata.persisted.creator.PriceMatrixForPriceGenerationCreate.create(PriceMatrixForPriceGenerationCreate.java:19)
        at it.aboutbits.springboot.testing.testdata.base.ModifiableTestDataCreator.create(ModifiableTestDataCreator.java:72)
        at it.aboutbits.springboot.testing.testdata.base.TestDataCreator.returnFirst(TestDataCreator.java:31)
        at com.finstral.composer.core.infrastructure.persistence.price_matrix.store.PriceMatrixStoreImplTest$MapPriceGenerationCombinationsById.givenPriceMatrixIdsAndPriceGenerationIds_shouldReturnMap(PriceMatrixStoreImplTest.java:344)

        Caused by:
        com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "zero" (class it.aboutbits.springboot.toolbox.type.ScaledBigDecimal), not marked as ignorable (one known property: "value")
         at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 34] (through reference chain: java.util.ArrayList[0]->java.util.ArrayList[1]->it.aboutbits.springboot.toolbox.type.ScaledBigDecimal["zero"])
            at app//com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
            at app//com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:1200)
            at app//com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:2380)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1823)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1801)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:271)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:472)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1499)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:340)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeNoNullChecks(CollectionDeserializer.java:545)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:358)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:245)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:29)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeNoNullChecks(CollectionDeserializer.java:545)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:358)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:245)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:29)
            at app//com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342)
            at app//com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:5052)
            at app//com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3954)
            at app//com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3937)
            at app//com.finstral.composer.core.infrastructure.persistence.price_matrix_for_price_generation.mapper.PriceMatrixForPriceGenerationMapper.setParsedData(PriceMatrixForPriceGenerationMapper.java:52)
            ... 32 more

Other one

PriceMatrixStoreImplTest > ListManyUsedByPricesOfPriceConfigurationIds > givenPriceMatricesUsedByPricesOfPriceConfigurations_shouldReturn() FAILED
    java.lang.IllegalArgumentException: Invalid JSON data format
        at com.finstral.composer.core.infrastructure.persistence.price_matrix_for_price_generation.mapper.PriceMatrixForPriceGenerationMapper.setParsedData(PriceMatrixForPriceGenerationMapper.java:58)
        at com.finstral.composer.core.infrastructure.persistence.price_matrix_for_price_generation.mapper.PriceMatrixForPriceGenerationMapperImpl.toDomain(PriceMatrixForPriceGenerationMapperImpl.java:35)
        at com.finstral.composer.core.infrastructure.persistence.price_matrix_for_price_generation.store.PriceMatrixForPriceGenerationStoreImpl.save(PriceMatrixForPriceGenerationStoreImpl.java:111)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:565)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:133)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:371)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:130)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)
        at com.finstral.composer.core.infrastructure.persistence.price_matrix_for_price_generation.store.PriceMatrixForPriceGenerationStoreImpl$$SpringCGLIB$$0.save(<generated>)
        at com.finstral.composer.admin.domain.price_matrix_for_price_generation.action.PriceMatrixForPriceGenerationCreateAction.create(PriceMatrixForPriceGenerationCreateAction.java:36)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:565)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)
        at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:172)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:133)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:371)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:130)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)
        at com.finstral.composer.admin.domain.price_matrix_for_price_generation.action.PriceMatrixForPriceGenerationCreateAction$$SpringCGLIB$$0.create(<generated>)
        at com.finstral.composer._support.testdata.persisted.creator.PriceMatrixForPriceGenerationCreate.create(PriceMatrixForPriceGenerationCreate.java:105)
        at com.finstral.composer._support.testdata.persisted.creator.PriceMatrixForPriceGenerationCreate.create(PriceMatrixForPriceGenerationCreate.java:19)
        at it.aboutbits.springboot.testing.testdata.base.ModifiableTestDataCreator.create(ModifiableTestDataCreator.java:72)
        at it.aboutbits.springboot.testing.testdata.base.TestDataCreator.returnFirst(TestDataCreator.java:31)
        at com.finstral.composer.core.infrastructure.persistence.price_matrix.store.PriceMatrixStoreImplTest$ListManyUsedByPricesOfPriceConfigurationIds.givenPriceMatricesUsedByPricesOfPriceConfigurations_shouldReturn(PriceMatrixStoreImplTest.java:282)

        Caused by:
        com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "zero" (class it.aboutbits.springboot.toolbox.type.ScaledBigDecimal), not marked as ignorable (one known property: "value")
         at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 34] (through reference chain: java.util.ArrayList[0]->java.util.ArrayList[1]->it.aboutbits.springboot.toolbox.type.ScaledBigDecimal["zero"])
            at app//com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
            at app//com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:1200)
            at app//com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:2380)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1823)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1801)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:271)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:472)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1499)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:340)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeNoNullChecks(CollectionDeserializer.java:545)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:358)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:245)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:29)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeNoNullChecks(CollectionDeserializer.java:545)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:358)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:245)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:29)
            at app//com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342)

Other one

PriceMatrixStoreImplTest > ListManyUsedByPricesOfPriceConfigurationIds > givenPriceMatricesUsedByPricesOfPriceConfigurations_shouldReturn() FAILED
    java.lang.IllegalArgumentException: Invalid JSON data format
        at com.finstral.composer.core.infrastructure.persistence.price_matrix_for_price_generation.mapper.PriceMatrixForPriceGenerationMapper.setParsedData(PriceMatrixForPriceGenerationMapper.java:58)
        at com.finstral.composer.core.infrastructure.persistence.price_matrix_for_price_generation.mapper.PriceMatrixForPriceGenerationMapperImpl.toDomain(PriceMatrixForPriceGenerationMapperImpl.java:35)
        at com.finstral.composer.core.infrastructure.persistence.price_matrix_for_price_generation.store.PriceMatrixForPriceGenerationStoreImpl.save(PriceMatrixForPriceGenerationStoreImpl.java:111)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:565)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:133)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:371)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:130)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)
        at com.finstral.composer.core.infrastructure.persistence.price_matrix_for_price_generation.store.PriceMatrixForPriceGenerationStoreImpl$$SpringCGLIB$$0.save(<generated>)
        at com.finstral.composer.admin.domain.price_matrix_for_price_generation.action.PriceMatrixForPriceGenerationCreateAction.create(PriceMatrixForPriceGenerationCreateAction.java:36)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:565)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)
        at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:172)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:133)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:371)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:130)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)
        at com.finstral.composer.admin.domain.price_matrix_for_price_generation.action.PriceMatrixForPriceGenerationCreateAction$$SpringCGLIB$$0.create(<generated>)
        at com.finstral.composer._support.testdata.persisted.creator.PriceMatrixForPriceGenerationCreate.create(PriceMatrixForPriceGenerationCreate.java:105)
        at com.finstral.composer._support.testdata.persisted.creator.PriceMatrixForPriceGenerationCreate.create(PriceMatrixForPriceGenerationCreate.java:19)
        at it.aboutbits.springboot.testing.testdata.base.ModifiableTestDataCreator.create(ModifiableTestDataCreator.java:72)
        at it.aboutbits.springboot.testing.testdata.base.TestDataCreator.returnFirst(TestDataCreator.java:31)
        at com.finstral.composer.core.infrastructure.persistence.price_matrix.store.PriceMatrixStoreImplTest$ListManyUsedByPricesOfPriceConfigurationIds.givenPriceMatricesUsedByPricesOfPriceConfigurations_shouldReturn(PriceMatrixStoreImplTest.java:282)
        Caused by:
        com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "positiveOrZero" (class it.aboutbits.springboot.toolbox.type.ScaledBigDecimal), not marked as ignorable (one known property: "value")
         at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 44] (through reference chain: java.util.ArrayList[0]->java.util.ArrayList[1]->it.aboutbits.springboot.toolbox.type.ScaledBigDecimal["positiveOrZero"])
            at app//com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
            at app//com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:1200)
            at app//com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:2380)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1823)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1801)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:271)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:472)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1499)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:340)
            at app//com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeNoNullChecks(CollectionDeserializer.java:545)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:358)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:245)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:29)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeNoNullChecks(CollectionDeserializer.java:545)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:358)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:245)
            at app//com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:29)
            at app//com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342)
            at app//com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:5052)
            at app//com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3954)
            at app//com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3937)
            at app//com.finstral.composer.core.infrastructure.persistence.price_matrix_for_price_generation.mapper.PriceMatrixForPriceGenerationMapper.setParsedData(PriceMatrixForPriceGenerationMapper.java:52)
            ... 32 more

Copy link
Copy Markdown
Contributor

@Piiit Piiit left a comment

Choose a reason for hiding this comment

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

LGTM, please add it also to the v1 branch

@ThoSap
Copy link
Copy Markdown
Contributor Author

ThoSap commented Mar 20, 2026

Already done before you wrote in #59 ;)

@ThoSap ThoSap merged commit 48518c7 into main Mar 20, 2026
1 check passed
@ThoSap ThoSap deleted the fix-scaledbigdecimal-deserialization-and-update-dependencies branch March 20, 2026 09:42
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.

2 participants