This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch 
1383-introduce-environment-variable-to-provide-path-to-file-storage-of-backend
in repository https://gitbox.apache.org/repos/asf/streampipes.git


The following commit(s) were added to 
refs/heads/1383-introduce-environment-variable-to-provide-path-to-file-storage-of-backend
 by this push:
     new 93f361448 Add environment variable for manually specifying file 
storage in backend (#1383)
93f361448 is described below

commit 93f361448b8cbacd7077a6fc7d524b812a2eb7fe
Author: Dominik Riemer <[email protected]>
AuthorDate: Sat Mar 4 21:18:24 2023 +0100

    Add environment variable for manually specifying file storage in backend 
(#1383)
---
 .../org/apache/streampipes/commons/constants/Envs.java    |  2 ++
 .../commons/environment/DefaultEnvironment.java           |  5 +++++
 .../streampipes/commons/environment/Environment.java      |  2 ++
 .../apache/streampipes/config/backend/BackendConfig.java  | 15 +++++++++++----
 4 files changed, 20 insertions(+), 4 deletions(-)

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 8be54973f..92094b2eb 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 d58260a90..83fd1ebd1 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 class DefaultEnvironment implements Environment {
     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 2bf591303..c4a9081a4 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 caa2c74d8..d38afc48f 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 @@ public enum BackendConfig {
   }
 
   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() {

Reply via email to