From f0955d21cfab130689284fe24f2b96575a3a28fe Mon Sep 17 00:00:00 2001 From: Stephen Salinas Date: Wed, 25 Oct 2017 14:16:08 -0400 Subject: [PATCH] ui overrides --- .../singularity/config/UIConfiguration.java | 38 +++++++++++++++++-- .../hubspot/singularity/views/IndexView.java | 6 +-- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/SingularityServiceBase/src/main/java/com/hubspot/singularity/config/UIConfiguration.java b/SingularityServiceBase/src/main/java/com/hubspot/singularity/config/UIConfiguration.java index 206044b566..625bdd9b45 100644 --- a/SingularityServiceBase/src/main/java/com/hubspot/singularity/config/UIConfiguration.java +++ b/SingularityServiceBase/src/main/java/com/hubspot/singularity/config/UIConfiguration.java @@ -97,6 +97,14 @@ public static RootUrlMode parse(String value) { @NotNull private String authCookieName = ""; + @JsonProperty + private Optional apiRootOverride = Optional.absent(); + + @JsonProperty + private Optional appRootOverride = Optional.absent(); + + @JsonProperty + private Optional staticRootOverride = Optional.absent(); public boolean isHideNewDeployButton() { return hideNewDeployButton; @@ -238,17 +246,39 @@ public boolean isGenerateAuthHeader() { return generateAuthHeader; } - public UIConfiguration setGenerateAuthHeader(boolean generateAuthHeader) { + public void setGenerateAuthHeader(boolean generateAuthHeader) { this.generateAuthHeader = generateAuthHeader; - return this; } public String getAuthCookieName() { return authCookieName; } - public UIConfiguration setAuthCookieName(String authCookieName) { + public void setAuthCookieName(String authCookieName) { this.authCookieName = authCookieName; - return this; + } + + public Optional getApiRootOverride() { + return apiRootOverride; + } + + public void setApiRootOverride(Optional apiRootOverride) { + this.apiRootOverride = apiRootOverride; + } + + public Optional getAppRootOverride() { + return appRootOverride; + } + + public void setAppRootOverride(Optional appRootOverride) { + this.appRootOverride = appRootOverride; + } + + public Optional getStaticRootOverride() { + return staticRootOverride; + } + + public void setStaticRootOverride(Optional staticRootOverride) { + this.staticRootOverride = staticRootOverride; } } diff --git a/SingularityServiceBase/src/main/java/com/hubspot/singularity/views/IndexView.java b/SingularityServiceBase/src/main/java/com/hubspot/singularity/views/IndexView.java index 5ec6dc4c97..e6b25c19a5 100644 --- a/SingularityServiceBase/src/main/java/com/hubspot/singularity/views/IndexView.java +++ b/SingularityServiceBase/src/main/java/com/hubspot/singularity/views/IndexView.java @@ -73,10 +73,10 @@ public IndexView(String singularityUriBase, String appRoot, IndexViewConfigurati String rawAppRoot = String.format("%s%s", singularityUriBase, appRoot); - this.appRoot = (rawAppRoot.endsWith("/")) ? rawAppRoot.substring(0, rawAppRoot.length() - 1) : rawAppRoot; - this.staticRoot = String.format("%s/static", singularityUriBase); + this.appRoot = uiConfiguration.getAppRootOverride().or((rawAppRoot.endsWith("/")) ? rawAppRoot.substring(0, rawAppRoot.length() - 1) : rawAppRoot); + this.staticRoot = uiConfiguration.getStaticRootOverride().or(String.format("%s/static", singularityUriBase)); this.apiDocs = String.format("%s/api-docs/", singularityUriBase); - this.apiRoot = String.format("%s%s", singularityUriBase, ApiPaths.API_BASE_PATH); + this.apiRoot = uiConfiguration.getApiRootOverride().or(String.format("%s%s", singularityUriBase, ApiPaths.API_BASE_PATH)); this.title = uiConfiguration.getTitle();