diff --git a/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/Envs.java b/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/Envs.java index 8be54973ff..92094b2eba 100644 --- a/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/Envs.java +++ b/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/Envs.java @@ -22,6 +22,8 @@ public enum Envs { SP_HOST("SP_HOST"), SP_PORT("SP_PORT"), + SP_CORE_ASSET_BASE_DIR("SP_CORE_ASSET_BASE_DIR"), + @Deprecated(since = "0.90.0", forRemoval = true) SP_CONSUL_LOCATION("CONSUL_LOCATION", DefaultEnvValues.CONSUL_HOST_DEFAULT, diff --git a/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/DefaultEnvironment.java b/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/DefaultEnvironment.java index d58260a908..83fd1ebd10 100644 --- a/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/DefaultEnvironment.java +++ b/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/DefaultEnvironment.java @@ -174,6 +174,11 @@ public StringEnvironmentVariable getInitialAdminPassword() { return new StringEnvironmentVariable(Envs.SP_INITIAL_ADMIN_PASSWORD); } + @Override + public StringEnvironmentVariable getCoreAssetBaseDir() { + return new StringEnvironmentVariable(Envs.SP_CORE_ASSET_BASE_DIR); + } + @Override public StringEnvironmentVariable getConsulLocation() { return new StringEnvironmentVariable(Envs.SP_CONSUL_LOCATION); diff --git a/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/Environment.java b/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/Environment.java index 2bf5913038..c4a9081a43 100644 --- a/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/Environment.java +++ b/streampipes-commons/src/main/java/org/apache/streampipes/commons/environment/Environment.java @@ -100,4 +100,6 @@ public interface Environment { StringEnvironmentVariable getInitialAdminEmail(); StringEnvironmentVariable getInitialAdminPassword(); + + StringEnvironmentVariable getCoreAssetBaseDir(); } diff --git a/streampipes-config/src/main/java/org/apache/streampipes/config/backend/BackendConfig.java b/streampipes-config/src/main/java/org/apache/streampipes/config/backend/BackendConfig.java index caa2c74d8e..d38afc48f8 100644 --- a/streampipes-config/src/main/java/org/apache/streampipes/config/backend/BackendConfig.java +++ b/streampipes-config/src/main/java/org/apache/streampipes/config/backend/BackendConfig.java @@ -85,10 +85,17 @@ private String makeFileLocation() { } private String makeStreamPipesHomeLocation() { - return System.getProperty("user.home") - + File.separator - + ".streampipes" - + File.separator; + var userDefinedAssetDir = getEnvironment().getCoreAssetBaseDir(); + var assetDirAppendix = getSpAssetDirAppendix(); + if (userDefinedAssetDir.exists()) { + return userDefinedAssetDir.getValue() + assetDirAppendix; + } else { + return System.getProperty("user.home") + assetDirAppendix; + } + } + + private String getSpAssetDirAppendix() { + return File.separator + ".streampipes" + File.separator; } public String getJmsHost() {