diff --git a/build.gradle b/build.gradle index 9e428769..ab31ac45 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ buildscript { ext { jmockitVersion = "1.49" - springBootVersion = "3.3.5" + springBootVersion = "3.4.3" } } @@ -13,6 +13,6 @@ plugins { description = 'Java Library for Accessing Cloud Foundry Environment Variables' wrapper { - gradleVersion = "8.7" + gradleVersion = "8.13" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 48c0a02c..2733ed5d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/java-cfenv-all/build.gradle b/java-cfenv-all/build.gradle index 409925d2..07a965ff 100644 --- a/java-cfenv-all/build.gradle +++ b/java-cfenv-all/build.gradle @@ -10,7 +10,7 @@ buildscript { } dependencies { // groupId changed from com.github.johnrengelman to com.gradleup.shadow - classpath 'com.gradleup.shadow:shadow-gradle-plugin:8.3.5' + classpath 'com.gradleup.shadow:shadow-gradle-plugin:8.3.6' } } diff --git a/java-cfenv/build.gradle b/java-cfenv/build.gradle index 5954b07a..b561fc52 100644 --- a/java-cfenv/build.gradle +++ b/java-cfenv/build.gradle @@ -6,7 +6,7 @@ plugins { description = 'Java CF Env Core Library' dependencies { - api 'com.cedarsoftware:json-io:4.30.0' + api 'com.cedarsoftware:json-io:4.51.0' testImplementation "org.springframework.boot:spring-boot-starter-test" testImplementation "junit:junit" diff --git a/java-cfenv/src/main/java/io/pivotal/cfenv/core/JsonIoConverter.java b/java-cfenv/src/main/java/io/pivotal/cfenv/core/JsonIoConverter.java index b8ca5b3a..77b3e680 100644 --- a/java-cfenv/src/main/java/io/pivotal/cfenv/core/JsonIoConverter.java +++ b/java-cfenv/src/main/java/io/pivotal/cfenv/core/JsonIoConverter.java @@ -16,13 +16,13 @@ package io.pivotal.cfenv.core; import java.util.ArrayList; -import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import com.cedarsoftware.io.JsonIo; import com.cedarsoftware.io.JsonObject; +import com.cedarsoftware.io.ReadOptionsBuilder; public class JsonIoConverter { @@ -35,9 +35,13 @@ public class JsonIoConverter { * @return a serialized version of the input in a Map */ public static Map jsonToJavaWithListsAndInts(String jsonInput) { - Map args = new HashMap(); - args.put(JsonIo.USE_MAPS, true); - JsonObject rawServicesMap = JsonIo.toObjects(jsonInput, JsonIo.getReadOptionsBuilder(args).build(), JsonObject.class); + // Create read options that will return JsonObjects (Maps) instead of fully resolved Java objects + ReadOptionsBuilder readOptionsBuilder = new ReadOptionsBuilder() + .returnAsJsonObjects(); + + // Parse the JSON string into a JsonObject (Map) + JsonObject rawServicesMap = JsonIo.toJava(jsonInput, readOptionsBuilder.build()).asClass(JsonObject.class); + return convertArraysAndLongs(rawServicesMap); } @@ -85,5 +89,4 @@ private static List convertArray(Object[] array) { } return resultList; } - }