From 4ac6be3fede335d0a395bad7da8ce084f451ec8b Mon Sep 17 00:00:00 2001 From: 01es Date: Wed, 8 Jul 2026 12:11:55 +1000 Subject: [PATCH 1/3] #2777 Updated Jackson to 2.22.0. --- platform-pojo-bl/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform-pojo-bl/pom.xml b/platform-pojo-bl/pom.xml index 094c7b2957..7f20e1beb8 100644 --- a/platform-pojo-bl/pom.xml +++ b/platform-pojo-bl/pom.xml @@ -16,8 +16,8 @@ - 2.21.1 - 2.21 + 2.22.0 + 2.22 33.5.0-jre 5.4.1 2.7.3 From 6917a83e6ceb188eabd3068686e49e214fe2aab3 Mon Sep 17 00:00:00 2001 From: 01es Date: Wed, 8 Jul 2026 12:42:34 +1000 Subject: [PATCH 2/3] #2777 Opportunistic updated to Guava and POI. --- platform-pojo-bl/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platform-pojo-bl/pom.xml b/platform-pojo-bl/pom.xml index 7f20e1beb8..acf5e9ca5f 100644 --- a/platform-pojo-bl/pom.xml +++ b/platform-pojo-bl/pom.xml @@ -18,8 +18,8 @@ 2.22.0 2.22 - 33.5.0-jre - 5.4.1 + 33.6.0-jre + 5.5.1 2.7.3 7.0.0 9.9.1 @@ -268,7 +268,7 @@ commons-io commons-io - 2.20.0 + 2.21.0 org.commonmark From db8c0975046771b239b05971f319b0e17ae7bf14 Mon Sep 17 00:00:00 2001 From: 01es Date: Wed, 8 Jul 2026 13:14:19 +1000 Subject: [PATCH 3/3] #2777 Addressed Guava-related deprecations. --- .../java/ua/com/fielden/companion/BenchmarkIocModule.java | 4 ++-- .../main/java/ua/com/fielden/eql/BenchmarkIocModule.java | 4 ++-- .../platform/test/ioc/PlatformTestServerIocModule.java | 4 ++-- .../criteria/generator/impl/TypeDiffSerialiser.java | 2 +- .../platform/serialisation/api/impl/TgJackson.java | 8 ++++---- .../serialisation/jackson/TgSimpleDeserialisers.java | 4 ++-- .../serialisation/jackson/TgSimpleSerialisers.java | 4 ++-- .../java/ua/com/fielden/platform/utils/EntityUtils.java | 8 ++++---- .../com/fielden/platform/web/ioc/WebResourceLoader.java | 2 +- .../platform/web/resources/webui/FileResource.java | 2 +- .../platform/web/resources/webui/GraphiQLResource.java | 2 +- .../web/resources/webui/MasterTestsComponentResource.java | 4 ++-- .../web/resources/webui/ServiceWorkerResource.java | 2 +- .../web/test/server/TgTestApplicationServerIocModule.java | 4 ++-- .../platform/svg/combining/IronIconsetUtility.java | 5 ++--- .../fielden/platform/web/centre/CentreDiffSerialiser.java | 4 ++-- .../platform/web/menu/iconset/SvgButtonsIconset.java | 5 ++--- 17 files changed, 33 insertions(+), 35 deletions(-) diff --git a/platform-benchmark/src/main/java/ua/com/fielden/companion/BenchmarkIocModule.java b/platform-benchmark/src/main/java/ua/com/fielden/companion/BenchmarkIocModule.java index 23fac98897..de2ea58db9 100644 --- a/platform-benchmark/src/main/java/ua/com/fielden/companion/BenchmarkIocModule.java +++ b/platform-benchmark/src/main/java/ua/com/fielden/companion/BenchmarkIocModule.java @@ -19,9 +19,9 @@ import ua.com.fielden.platform.serialisation.api.impl.IdOnlyProxiedEntityTypeCacheForTests; import ua.com.fielden.platform.web.annotations.AppUri; +import java.time.Duration; import java.util.List; import java.util.Properties; -import java.util.concurrent.TimeUnit; import static java.lang.String.format; @@ -59,7 +59,7 @@ protected void configure() { @Provides @Singleton @SessionCache Cache provideSessionCache() { - return CacheBuilder.newBuilder().expireAfterWrite(2, TimeUnit.MINUTES).build(); + return CacheBuilder.newBuilder().expireAfterWrite(Duration.ofMinutes(2)).build(); } } diff --git a/platform-benchmark/src/main/java/ua/com/fielden/eql/BenchmarkIocModule.java b/platform-benchmark/src/main/java/ua/com/fielden/eql/BenchmarkIocModule.java index a6b5d01c13..e7825c097e 100644 --- a/platform-benchmark/src/main/java/ua/com/fielden/eql/BenchmarkIocModule.java +++ b/platform-benchmark/src/main/java/ua/com/fielden/eql/BenchmarkIocModule.java @@ -19,9 +19,9 @@ import ua.com.fielden.platform.serialisation.api.impl.IdOnlyProxiedEntityTypeCacheForTests; import ua.com.fielden.platform.web.annotations.AppUri; +import java.time.Duration; import java.util.List; import java.util.Properties; -import java.util.concurrent.TimeUnit; import static java.lang.String.format; @@ -59,7 +59,7 @@ protected void configure() { @Provides @Singleton @SessionCache Cache provideSessionCache() { - return CacheBuilder.newBuilder().expireAfterWrite(2, TimeUnit.MINUTES).build(); + return CacheBuilder.newBuilder().expireAfterWrite(Duration.ofMinutes(2)).build(); } } diff --git a/platform-dao/src/test/java/ua/com/fielden/platform/test/ioc/PlatformTestServerIocModule.java b/platform-dao/src/test/java/ua/com/fielden/platform/test/ioc/PlatformTestServerIocModule.java index f51f658075..1cb61e0d23 100644 --- a/platform-dao/src/test/java/ua/com/fielden/platform/test/ioc/PlatformTestServerIocModule.java +++ b/platform-dao/src/test/java/ua/com/fielden/platform/test/ioc/PlatformTestServerIocModule.java @@ -38,9 +38,9 @@ import ua.com.fielden.platform.utils.IUniversalConstants; import ua.com.fielden.platform.web.annotations.AppUri; +import java.time.Duration; import java.util.List; import java.util.Properties; -import java.util.concurrent.TimeUnit; import static java.lang.String.format; @@ -230,7 +230,7 @@ protected void bindDomainCompanionObjects(final List diff) { try { - return writeValueAsBytes(diff); // default encoding is Charsets.UTF_8 + return writeValueAsBytes(diff); // default encoding is StandardCharsets.UTF_8 } catch (final JsonProcessingException ex) { throw new SerialisationException("Error during type diff serialisation.", ex); } diff --git a/platform-pojo-bl/src/main/java/ua/com/fielden/platform/serialisation/api/impl/TgJackson.java b/platform-pojo-bl/src/main/java/ua/com/fielden/platform/serialisation/api/impl/TgJackson.java index 616413ee75..1cf13350c8 100644 --- a/platform-pojo-bl/src/main/java/ua/com/fielden/platform/serialisation/api/impl/TgJackson.java +++ b/platform-pojo-bl/src/main/java/ua/com/fielden/platform/serialisation/api/impl/TgJackson.java @@ -5,7 +5,6 @@ import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.ser.DefaultSerializerProvider; import com.fasterxml.jackson.databind.type.TypeFactory; -import com.google.common.base.Charsets; import jakarta.inject.Inject; import org.apache.commons.io.IOUtils; import org.apache.logging.log4j.Logger; @@ -34,6 +33,7 @@ import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Modifier; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -225,10 +225,10 @@ public byte[] serialise(final Object obj) { } try { - // logger.debug("Serialised pretty JSON = |" + new String(writerWithDefaultPrettyPrinter().writeValueAsBytes(obj), Charsets.UTF_8) + "|."); + // logger.debug("Serialised pretty JSON = |" + new String(writerWithDefaultPrettyPrinter().writeValueAsBytes(obj), StandardCharsets.UTF_8) + "|."); EntitySerialiser.getContext().reset(); - final byte[] bytes = writeValueAsBytes(obj); // default encoding is Charsets.UTF_8 - logger.debug("Serialised JSON = |" + new String(bytes, Charsets.UTF_8) + "|."); + final byte[] bytes = writeValueAsBytes(obj); // default encoding is StandardCharsets.UTF_8 + logger.debug("Serialised JSON = |" + new String(bytes, StandardCharsets.UTF_8) + "|."); return bytes; } catch (final JsonProcessingException e) { diff --git a/platform-pojo-bl/src/main/java/ua/com/fielden/platform/serialisation/jackson/TgSimpleDeserialisers.java b/platform-pojo-bl/src/main/java/ua/com/fielden/platform/serialisation/jackson/TgSimpleDeserialisers.java index 0a4dad2571..383b1c62ff 100644 --- a/platform-pojo-bl/src/main/java/ua/com/fielden/platform/serialisation/jackson/TgSimpleDeserialisers.java +++ b/platform-pojo-bl/src/main/java/ua/com/fielden/platform/serialisation/jackson/TgSimpleDeserialisers.java @@ -4,8 +4,8 @@ import static org.apache.logging.log4j.LogManager.getLogger; import static ua.com.fielden.platform.reflection.PropertyTypeDeterminator.stripIfNeeded; +import java.time.Duration; import java.util.concurrent.ExecutionException; -import java.util.concurrent.TimeUnit; import org.apache.logging.log4j.Logger; @@ -27,7 +27,7 @@ public class TgSimpleDeserialisers extends SimpleDeserializers { private static final Logger LOGGER = getLogger(TgSimpleDeserialisers.class); private final transient TgJacksonModule module; - private final transient Cache,JsonDeserializer> genClassDeserialisers = CacheBuilder.newBuilder().expireAfterAccess(10, TimeUnit.SECONDS).initialCapacity(1000).build(); + private final transient Cache,JsonDeserializer> genClassDeserialisers = CacheBuilder.newBuilder().expireAfterAccess(Duration.ofSeconds(10)).initialCapacity(1000).build(); public TgSimpleDeserialisers(final TgJacksonModule module) { this.module = module; diff --git a/platform-pojo-bl/src/main/java/ua/com/fielden/platform/serialisation/jackson/TgSimpleSerialisers.java b/platform-pojo-bl/src/main/java/ua/com/fielden/platform/serialisation/jackson/TgSimpleSerialisers.java index d2d3c31791..bc8a12cc94 100644 --- a/platform-pojo-bl/src/main/java/ua/com/fielden/platform/serialisation/jackson/TgSimpleSerialisers.java +++ b/platform-pojo-bl/src/main/java/ua/com/fielden/platform/serialisation/jackson/TgSimpleSerialisers.java @@ -4,8 +4,8 @@ import static org.apache.logging.log4j.LogManager.getLogger; import static ua.com.fielden.platform.reflection.PropertyTypeDeterminator.stripIfNeeded; +import java.time.Duration; import java.util.concurrent.ExecutionException; -import java.util.concurrent.TimeUnit; import org.apache.logging.log4j.Logger; @@ -26,7 +26,7 @@ public class TgSimpleSerialisers extends SimpleSerializers { private static final Logger LOGGER = getLogger(TgSimpleSerialisers.class); private final transient TgJacksonModule module; - public final transient Cache, JsonSerializer> genClassSerialisers = CacheBuilder.newBuilder().expireAfterAccess(10, TimeUnit.SECONDS).initialCapacity(1000).build(); + public final transient Cache, JsonSerializer> genClassSerialisers = CacheBuilder.newBuilder().expireAfterAccess(Duration.ofSeconds(10)).initialCapacity(1000).build(); public TgSimpleSerialisers(final TgJacksonModule module) { this.module = module; diff --git a/platform-pojo-bl/src/main/java/ua/com/fielden/platform/utils/EntityUtils.java b/platform-pojo-bl/src/main/java/ua/com/fielden/platform/utils/EntityUtils.java index b8b6c0a1db..9a05fb751a 100644 --- a/platform-pojo-bl/src/main/java/ua/com/fielden/platform/utils/EntityUtils.java +++ b/platform-pojo-bl/src/main/java/ua/com/fielden/platform/utils/EntityUtils.java @@ -37,9 +37,9 @@ import java.math.MathContext; import java.math.RoundingMode; import java.text.NumberFormat; +import java.time.Duration; import java.util.*; import java.util.Optional; -import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -67,9 +67,9 @@ public class EntityUtils { private static final Logger logger = getLogger(); - private static final Cache, Boolean> persistentTypes = CacheBuilder.newBuilder().expireAfterAccess(10, TimeUnit.SECONDS).initialCapacity(512).build(); - private static final Cache, Boolean> syntheticTypes = CacheBuilder.newBuilder().expireAfterAccess(10, TimeUnit.SECONDS).initialCapacity(512).build(); - private static final Cache, Boolean> entityCriteriaTypes = CacheBuilder.newBuilder().expireAfterAccess(10, TimeUnit.SECONDS).initialCapacity(512).build(); + private static final Cache, Boolean> persistentTypes = CacheBuilder.newBuilder().expireAfterAccess(Duration.ofSeconds(10)).initialCapacity(512).build(); + private static final Cache, Boolean> syntheticTypes = CacheBuilder.newBuilder().expireAfterAccess(Duration.ofSeconds(10)).initialCapacity(512).build(); + private static final Cache, Boolean> entityCriteriaTypes = CacheBuilder.newBuilder().expireAfterAccess(Duration.ofSeconds(10)).initialCapacity(512).build(); public static final String ERR_PERSISTENT_NATURE_OF_ENTITY_TYPE = "Could not determine persistent nature of entity type [%s]."; diff --git a/platform-web-resources/src/main/java/ua/com/fielden/platform/web/ioc/WebResourceLoader.java b/platform-web-resources/src/main/java/ua/com/fielden/platform/web/ioc/WebResourceLoader.java index fbb8bb2554..9e73c4d987 100644 --- a/platform-web-resources/src/main/java/ua/com/fielden/platform/web/ioc/WebResourceLoader.java +++ b/platform-web-resources/src/main/java/ua/com/fielden/platform/web/ioc/WebResourceLoader.java @@ -28,8 +28,8 @@ import java.io.InputStream; import java.util.*; -import static com.google.common.base.Charsets.UTF_8; import static java.lang.String.format; +import static java.nio.charset.StandardCharsets.UTF_8; import static java.util.Collections.sort; import static java.util.Optional.empty; import static java.util.Optional.ofNullable; diff --git a/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/FileResource.java b/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/FileResource.java index 350ef0282f..c5d9a72831 100644 --- a/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/FileResource.java +++ b/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/FileResource.java @@ -19,7 +19,7 @@ import java.util.Set; import java.util.function.Supplier; -import static com.google.common.base.Charsets.UTF_8; +import static java.nio.charset.StandardCharsets.UTF_8; import static java.util.Optional.empty; import static java.util.Optional.of; import static org.restlet.data.MediaType.*; diff --git a/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/GraphiQLResource.java b/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/GraphiQLResource.java index 76e1283ca4..df96fd8dd5 100644 --- a/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/GraphiQLResource.java +++ b/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/GraphiQLResource.java @@ -1,6 +1,6 @@ package ua.com.fielden.platform.web.resources.webui; -import static com.google.common.base.Charsets.UTF_8; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.restlet.data.MediaType.TEXT_HTML; import static ua.com.fielden.platform.web.resources.RestServerUtil.encodedRepresentation; diff --git a/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/MasterTestsComponentResource.java b/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/MasterTestsComponentResource.java index f70997d57f..7bbde18de5 100644 --- a/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/MasterTestsComponentResource.java +++ b/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/MasterTestsComponentResource.java @@ -12,7 +12,7 @@ import org.restlet.representation.Representation; import org.restlet.resource.Get; -import com.google.common.base.Charsets; +import java.nio.charset.StandardCharsets; import ua.com.fielden.platform.entity.AbstractEntity; import ua.com.fielden.platform.utils.IDates; @@ -51,6 +51,6 @@ public MasterTestsComponentResource( @Get @Override public Representation get() { - return new EncodeRepresentation(Encoding.GZIP, new InputRepresentation(new ByteArrayInputStream(master.render().toString().getBytes(Charsets.UTF_8)), MediaType.TEXT_HTML)); + return new EncodeRepresentation(Encoding.GZIP, new InputRepresentation(new ByteArrayInputStream(master.render().toString().getBytes(StandardCharsets.UTF_8)), MediaType.TEXT_HTML)); } } \ No newline at end of file diff --git a/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/ServiceWorkerResource.java b/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/ServiceWorkerResource.java index f2fc4c1ab1..ac23f748c8 100644 --- a/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/ServiceWorkerResource.java +++ b/platform-web-resources/src/main/java/ua/com/fielden/platform/web/resources/webui/ServiceWorkerResource.java @@ -1,6 +1,6 @@ package ua.com.fielden.platform.web.resources.webui; -import static com.google.common.base.Charsets.UTF_8; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.restlet.data.MediaType.TEXT_JAVASCRIPT; import static ua.com.fielden.platform.web.resources.RestServerUtil.encodedRepresentation; diff --git a/platform-web-resources/src/main/java/ua/com/fielden/platform/web/test/server/TgTestApplicationServerIocModule.java b/platform-web-resources/src/main/java/ua/com/fielden/platform/web/test/server/TgTestApplicationServerIocModule.java index f50bddb016..1aa0dc9e98 100644 --- a/platform-web-resources/src/main/java/ua/com/fielden/platform/web/test/server/TgTestApplicationServerIocModule.java +++ b/platform-web-resources/src/main/java/ua/com/fielden/platform/web/test/server/TgTestApplicationServerIocModule.java @@ -22,9 +22,9 @@ import ua.com.fielden.platform.web.annotations.AppUri; import ua.com.fielden.platform.web.interfaces.IUserPreferencesProvider; +import java.time.Duration; import java.util.List; import java.util.Properties; -import java.util.concurrent.TimeUnit; import static java.lang.String.format; @@ -70,7 +70,7 @@ protected void configure() { @Singleton @SessionCache Cache provideSessionCache(final @UntrustedDeviceSessionDuration int untrustedDeviceSessionDurationMins) { return CacheBuilder.newBuilder() - .expireAfterWrite(untrustedDeviceSessionDurationMins / 2, TimeUnit.MINUTES) + .expireAfterWrite(Duration.ofMinutes(untrustedDeviceSessionDurationMins / 2)) .build(); } diff --git a/platform-web-ui/src/main/java/ua/com/fielden/platform/svg/combining/IronIconsetUtility.java b/platform-web-ui/src/main/java/ua/com/fielden/platform/svg/combining/IronIconsetUtility.java index f5cd6f9b17..2840ddb0bb 100644 --- a/platform-web-ui/src/main/java/ua/com/fielden/platform/svg/combining/IronIconsetUtility.java +++ b/platform-web-ui/src/main/java/ua/com/fielden/platform/svg/combining/IronIconsetUtility.java @@ -9,6 +9,7 @@ import java.io.IOException; import java.io.OutputStream; import java.nio.file.DirectoryIteratorException; +import java.nio.charset.StandardCharsets; import java.nio.file.DirectoryStream; import java.nio.file.Files; import java.nio.file.Path; @@ -18,8 +19,6 @@ import java.util.List; import java.util.Set; -import com.google.common.base.Charsets; - public class IronIconsetUtility { public static final String FILE_BEGIN_TEMPLATE = "import '/resources/polymer/@polymer/iron-icon/iron-icon.js';%n" + "import '/resources/polymer/@polymer/iron-iconset-svg/iron-iconset-svg.js';%n" + @@ -39,7 +38,7 @@ public IronIconsetUtility(final String iconsetId, final int svgWidth, final Stri public void createSvgIconset(final String outputFile) throws IOException { try (OutputStream outputStream = new FileOutputStream(outputFile)) { - outputStream.write(joinFilesContent().getBytes(Charsets.UTF_8)); + outputStream.write(joinFilesContent().getBytes(StandardCharsets.UTF_8)); } } diff --git a/platform-web-ui/src/main/java/ua/com/fielden/platform/web/centre/CentreDiffSerialiser.java b/platform-web-ui/src/main/java/ua/com/fielden/platform/web/centre/CentreDiffSerialiser.java index 9ac4af743c..80fa8c2b79 100644 --- a/platform-web-ui/src/main/java/ua/com/fielden/platform/web/centre/CentreDiffSerialiser.java +++ b/platform-web-ui/src/main/java/ua/com/fielden/platform/web/centre/CentreDiffSerialiser.java @@ -35,8 +35,8 @@ private CentreDiffSerialiser() { */ public byte[] serialise(final Map diff) { try { - // logger.error("Serialised pretty JSON = |" + new String(writerWithDefaultPrettyPrinter().writeValueAsBytes(diff), Charsets.UTF_8) + "|."); - final byte[] bytes = writeValueAsBytes(diff); // default encoding is Charsets.UTF_8 + // logger.error("Serialised pretty JSON = |" + new String(writerWithDefaultPrettyPrinter().writeValueAsBytes(diff), StandardCharsets.UTF_8) + "|."); + final byte[] bytes = writeValueAsBytes(diff); // default encoding is StandardCharsets.UTF_8 return bytes; } catch (final JsonProcessingException ex) { throw new SerialisationException("Error during centre diff serialisation.", ex); diff --git a/platform-web-ui/src/main/java/ua/com/fielden/platform/web/menu/iconset/SvgButtonsIconset.java b/platform-web-ui/src/main/java/ua/com/fielden/platform/web/menu/iconset/SvgButtonsIconset.java index 175ca07a00..063fa223c7 100644 --- a/platform-web-ui/src/main/java/ua/com/fielden/platform/web/menu/iconset/SvgButtonsIconset.java +++ b/platform-web-ui/src/main/java/ua/com/fielden/platform/web/menu/iconset/SvgButtonsIconset.java @@ -5,8 +5,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; - -import com.google.common.base.Charsets; +import java.nio.charset.StandardCharsets; import ua.com.fielden.platform.svg.combining.IronIconsetUtility; @@ -19,7 +18,7 @@ public static void main(final String[] args) throws IOException { ""; for (int index = 1; index <= 9; index++) { try (OutputStream outputStream = new FileOutputStream(format("src/main/resources/images/collapse-expand/number%s.svg", index))) { - outputStream.write(numberSvgTemplate.replace('@', (index + "").charAt(0)).getBytes(Charsets.UTF_8)); + outputStream.write(numberSvgTemplate.replace('@', (index + "").charAt(0)).getBytes(StandardCharsets.UTF_8)); } }