From 64b4f01da851c021226984d71fc7c6c211f66d61 Mon Sep 17 00:00:00 2001 From: iroqueta Date: Thu, 22 May 2025 19:21:19 -0300 Subject: [PATCH] Allow set Storage Name and Classname using env vars Issue 204656 --- .../src/main/java/com/genexus/util/GXServices.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/java/src/main/java/com/genexus/util/GXServices.java b/java/src/main/java/com/genexus/util/GXServices.java index 73c82e156..6aac20336 100644 --- a/java/src/main/java/com/genexus/util/GXServices.java +++ b/java/src/main/java/com/genexus/util/GXServices.java @@ -20,6 +20,8 @@ public class GXServices { public static final String DATA_ACCESS_SERVICE = "DataAccess"; private static final String SERVICES_FILE = "CloudServices.config"; private static final String SERVICES_DEV_FILE = "CloudServices.dev.config"; + private static final String STORAGE_DEFAULT_NAME = "STORAGE_DEFAULT_NAME"; + private static final String STORAGE_DEFAULT_CLASSNAME = "STORAGE_DEFAULT_CLASSNAME"; private static GXServices instance; private Hashtable services = new Hashtable(); @@ -124,6 +126,11 @@ private void processService(XMLReader reader) { result = reader.readType(1, "ClassName"); String className = new String(reader.getValue()); + if (type.equals(STORAGE_SERVICE)) { + name = getEnvValue(STORAGE_DEFAULT_NAME, name); + className = getEnvValue(STORAGE_DEFAULT_CLASSNAME, className); + } + boolean allowMultiple = false; reader.read(); if (reader.getName() == "AllowMultiple") @@ -172,4 +179,11 @@ public GXService get(String name) { return services.get(name); } + private String getEnvValue(String envVar, String defaultValue) { + String value = System.getenv(envVar); + if (value == null){ + value = defaultValue; + } + return value; + } } \ No newline at end of file