You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2023/03/05 11:37:01 UTC

[streampipes] branch dev updated: Add environment variable for manually specifying file storage in backend (#1383) (#1384)

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

riemer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git


The following commit(s) were added to refs/heads/dev by this push:
     new ae234aed7 Add environment variable for manually specifying file storage in backend (#1383) (#1384)
ae234aed7 is described below

commit ae234aed7f91afedcb2b34718eb161b1f3747639
Author: Dominik Riemer <do...@gmail.com>
AuthorDate: Sun Mar 5 12:36:52 2023 +0100

    Add environment variable for manually specifying file storage in backend (#1383) (#1384)
---
 .../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() {