diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d846ad8..a02d4bae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,9 @@ # Changelog + +## 2.2.3 [2026-02-12] +### Fixed +- Fixed INTEGER parsing to use Long instead of int to support large values + ## 2.2.2 [2026-02-05] ### Fixed - Volumetry don't count responses with collectionInstrumentId diff --git a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java index 0be2644e..158df321 100644 --- a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java +++ b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java @@ -619,7 +619,7 @@ private Object getValueWithType(String variableName, String value, VariablesMap try { switch (variableType) { case INTEGER -> { - return Integer.parseInt(value); + return Long.parseLong(value); } case BOOLEAN -> { return Boolean.parseBoolean(value); diff --git a/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java b/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java index 45a30d7e..30519634 100644 --- a/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java +++ b/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java @@ -263,7 +263,7 @@ private static boolean isParseError(String value, VariableType type, DataState s break; case INTEGER: try{ - Integer.parseInt(value); + Long.parseLong(value); }catch (NumberFormatException e){ return true; }