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