diff --git a/marklogic-data-hub/src/main/java/com/marklogic/hub/HubConfig.java b/marklogic-data-hub/src/main/java/com/marklogic/hub/HubConfig.java index be7fff6abe..c8cd52b531 100644 --- a/marklogic-data-hub/src/main/java/com/marklogic/hub/HubConfig.java +++ b/marklogic-data-hub/src/main/java/com/marklogic/hub/HubConfig.java @@ -84,13 +84,37 @@ static HubConfig create(String projectDir) { void setPort(DatabaseKind kind, Integer port); - void setStagingSslContext(SSLContext stagingSslContext); + SSLContext getSslContext(DatabaseKind databaseKind); - void setStagingSslHostnameVerifier(DatabaseClientFactory.SSLHostnameVerifier stagingSslHostnameVerifier); + void setSslContext(DatabaseKind databaseKind, SSLContext sslContext); - void setFinalSslContext(SSLContext finalSslContext); + void setSslHostnameVerifier(DatabaseKind databaseKind, DatabaseClientFactory.SSLHostnameVerifier stagingSslHostnameVerifier); - void setFinalSslHostnameVerifier(DatabaseClientFactory.SSLHostnameVerifier finalSslHostnameVerifier); + DatabaseClientFactory.SSLHostnameVerifier getSslHostnameVerifier(DatabaseKind kind); + + String getAuthMethod(DatabaseKind kind); + + void setAuthMethod(DatabaseKind kind, String authMethod); + + String getScheme(DatabaseKind kind); + + void setScheme(DatabaseKind kind, String scheme); + + boolean getSimpleSsl(DatabaseKind kind); + + void setSimpleSsl(DatabaseKind kind, Boolean simpleSsl); + + String getCertFile(DatabaseKind kind); + + void setCertFile(DatabaseKind kind, String certFile); + + String getCertPassword(DatabaseKind kind); + + void setCertPass(DatabaseKind kind, String certPassword); + + String getExternalName(DatabaseKind kind); + + void setExternalName(DatabaseKind kind, String externalName); // roles and users String getHubRoleName(); diff --git a/marklogic-data-hub/src/main/java/com/marklogic/hub/impl/HubConfigImpl.java b/marklogic-data-hub/src/main/java/com/marklogic/hub/impl/HubConfigImpl.java index d43d710ab0..1dc7c86810 100644 --- a/marklogic-data-hub/src/main/java/com/marklogic/hub/impl/HubConfigImpl.java +++ b/marklogic-data-hub/src/main/java/com/marklogic/hub/impl/HubConfigImpl.java @@ -337,231 +337,325 @@ public HubConfigImpl(String projectDir) { } } - public String getStagingAuthMethod() { - return stagingAuthMethod; - } - public void setStagingAuthMethod(String stagingAuthMethod) { - this.stagingAuthMethod = stagingAuthMethod; - } - - public String getStagingScheme() { - return stagingScheme; - } - public void setStagingScheme(String stagingScheme) { - this.stagingScheme = stagingScheme; - } - - public boolean getStagingSimpleSsl() { - return stagingSimpleSsl; - } - public void setStagingSimpleSsl(boolean stagingSimpleSsl) { - this.stagingSimpleSsl = stagingSimpleSsl; - } - public SSLContext getStagingSslContext() { - return stagingSslContext; - } - @Override public void setStagingSslContext(SSLContext stagingSslContext) { - this.stagingSslContext = stagingSslContext; - } - - public DatabaseClientFactory.SSLHostnameVerifier getStagingSslHostnameVerifier() { - return stagingSslHostnameVerifier; - } - @Override public void setStagingSslHostnameVerifier(DatabaseClientFactory.SSLHostnameVerifier stagingSslHostnameVerifier) { - this.stagingSslHostnameVerifier = stagingSslHostnameVerifier; - } - - public String getStagingCertFile() { - return stagingCertFile; - } - public void setStagingCertFile(String stagingCertFile) { - this.stagingCertFile = stagingCertFile; - } - - public String getStagingCertPassword() { - return stagingCertPassword; - } - public void setStagingCertPassword(String stagingCertPassword) { - this.stagingCertPassword = stagingCertPassword; - } - - public String getStagingExternalName() { - return stagingExternalName; - } - public void setStagingExternalName(String stagingExternalName) { - this.stagingExternalName = stagingExternalName; - } - - // final - public String getFinalAuthMethod() { - return finalAuthMethod; - } - public void setFinalAuthMethod(String finalAuthMethod) { - this.finalAuthMethod = finalAuthMethod; - } - - public String getFinalScheme() { - return finalScheme; - } - public void setFinalScheme(String finalScheme) { - this.finalScheme = finalScheme; - } - - public boolean getFinalSimpleSsl() { - return finalSimpleSsl; - } - public void setFinalSimpleSsl(boolean finalSimpleSsl) { - this.finalSimpleSsl = finalSimpleSsl; - } - - public SSLContext getFinalSslContext() { - return finalSslContext; - } - @Override public void setFinalSslContext(SSLContext finalSslContext) { - this.finalSslContext = finalSslContext; - } - - public DatabaseClientFactory.SSLHostnameVerifier getFinalSslHostnameVerifier() { - return finalSslHostnameVerifier; - } - public void setFinalSslHostnameVerifier(DatabaseClientFactory.SSLHostnameVerifier finalSslHostnameVerifier) { - this.finalSslHostnameVerifier = finalSslHostnameVerifier; - } - - public String getFinalCertFile() { - return finalCertFile; - } - public void setFinalCertFile(String finalCertFile) { - this.finalCertFile = finalCertFile; - } - - public String getFinalCertPassword() { - return finalCertPassword; - } - public void setFinalCertPassword(String finalCertPassword) { - this.finalCertPassword = finalCertPassword; - } - - public String getFinalExternalName() { - return finalExternalName; - } - public void setFinalExternalName(String finalExternalName) { - this.finalExternalName = finalExternalName; - } - - // traces - public String getTraceAuthMethod() { - return traceAuthMethod; - } - public void setTraceAuthMethod(String traceAuthMethod) { - this.traceAuthMethod = traceAuthMethod; + @Override public SSLContext getSslContext(DatabaseKind kind) { + SSLContext sslContext; + switch (kind) { + case STAGING: + sslContext = this.stagingSslContext; + break; + case FINAL: + sslContext = this.finalSslContext; + break; + case JOB: + sslContext = this.jobSslContext; + break; + case TRACE: + sslContext = this.traceSslContext; + break; + default: + throw new InvalidDBOperationError(kind, "get ssl context"); + } + return sslContext; } - public String getTraceScheme() { - return traceScheme; - } - public void setTraceScheme(String traceScheme) { - this.traceScheme = traceScheme; + @Override public void setSslContext(DatabaseKind kind, SSLContext sslContext) { + switch (kind) { + case STAGING: + this.stagingSslContext = sslContext; + break; + case FINAL: + this.finalSslContext= sslContext; + break; + case JOB: + this.jobSslContext = sslContext; + break; + case TRACE: + this.traceSslContext = sslContext; + break; + default: + throw new InvalidDBOperationError(kind, "set ssl context"); + } } - public boolean getTraceSimpleSsl() { - return traceSimpleSsl; - } - public void setTraceSimpleSsl(boolean traceSimpleSsl) { - this.traceSimpleSsl = traceSimpleSsl; + @Override public DatabaseClientFactory.SSLHostnameVerifier getSslHostnameVerifier(DatabaseKind kind) { + DatabaseClientFactory.SSLHostnameVerifier sslHostnameVerifier; + switch (kind) { + case STAGING: + sslHostnameVerifier = this.stagingSslHostnameVerifier; + break; + case FINAL: + sslHostnameVerifier = this.finalSslHostnameVerifier; + break; + case JOB: + sslHostnameVerifier = this.jobSslHostnameVerifier; + break; + case TRACE: + sslHostnameVerifier = this.traceSslHostnameVerifier; + break; + default: + throw new InvalidDBOperationError(kind, "get ssl hostname verifier"); + } + return sslHostnameVerifier; } - public SSLContext getTraceSslContext() { - return traceSslContext; - } - public void setTraceSslContext(SSLContext traceSslContext) { - this.traceSslContext = traceSslContext; + @Override public void setSslHostnameVerifier(DatabaseKind kind, DatabaseClientFactory.SSLHostnameVerifier sslHostnameVerifier) { + switch (kind) { + case STAGING: + this.stagingSslHostnameVerifier = sslHostnameVerifier; + break; + case FINAL: + this.finalSslHostnameVerifier = sslHostnameVerifier; + break; + case JOB: + this.jobSslHostnameVerifier = sslHostnameVerifier; + break; + case TRACE: + this.traceSslHostnameVerifier = sslHostnameVerifier; + break; + default: + throw new InvalidDBOperationError(kind, "set ssl hostname verifier"); + } } - public DatabaseClientFactory.SSLHostnameVerifier getTraceSslHostnameVerifier() { - return traceSslHostnameVerifier; - } - public void setTraceSslHostnameVerifier(DatabaseClientFactory.SSLHostnameVerifier traceSslHostnameVerifier) { - this.traceSslHostnameVerifier = traceSslHostnameVerifier; + @Override public String getAuthMethod(DatabaseKind kind){ + String authMethod; + switch (kind) { + case STAGING: + authMethod = this.stagingAuthMethod; + break; + case FINAL: + authMethod = this.finalAuthMethod; + break; + case JOB: + authMethod = this.jobAuthMethod; + break; + case TRACE: + authMethod = this.traceAuthMethod; + break; + default: + throw new InvalidDBOperationError(kind, "get auth method"); + } + return authMethod; } - public String getTraceCertFile() { - return traceCertFile; - } - public void setTraceCertFile(String traceCertFile) { - this.traceCertFile = traceCertFile; + @Override public void setAuthMethod(DatabaseKind kind, String authMethod) { + switch (kind) { + case STAGING: + this.stagingAuthMethod = authMethod; + break; + case FINAL: + this.finalAuthMethod = authMethod; + break; + case JOB: + this.jobAuthMethod = authMethod; + break; + case TRACE: + this.traceAuthMethod = authMethod; + break; + default: + throw new InvalidDBOperationError(kind, "set auth method"); + } } - public String getTraceCertPassword() { - return traceCertPassword; - } - public void setTraceCertPassword(String traceCertPassword) { - this.traceCertPassword = traceCertPassword; + @Override public String getScheme(DatabaseKind kind){ + String scheme; + switch (kind) { + case STAGING: + scheme = this.stagingScheme; + break; + case FINAL: + scheme = this.finalScheme; + break; + case JOB: + scheme = this.jobScheme; + break; + case TRACE: + scheme = this.traceScheme; + break; + default: + throw new InvalidDBOperationError(kind, "get scheme"); + } + return scheme; } - public String getTraceExternalName() { - return traceExternalName; - } - public void setTraceExternalName(String traceExternalName) { - this.traceExternalName = traceExternalName; + @Override public void setScheme(DatabaseKind kind, String scheme) { + switch (kind) { + case STAGING: + this.stagingScheme = scheme; + break; + case FINAL: + this.finalScheme = scheme; + break; + case JOB: + this.jobScheme = scheme; + break; + case TRACE: + this.traceScheme = scheme; + break; + default: + throw new InvalidDBOperationError(kind, "set auth method"); + } } - // jobs - public String getJobAuthMethod() { - return jobAuthMethod; - } - public void setJobAuthMethod(String jobAuthMethod) { - this.jobAuthMethod = jobAuthMethod; + @Override public boolean getSimpleSsl(DatabaseKind kind){ + boolean simple; + switch (kind) { + case STAGING: + simple = this.stagingSimpleSsl; + break; + case FINAL: + simple = this.finalSimpleSsl; + break; + case JOB: + simple = this.jobSimpleSsl; + break; + case TRACE: + simple = this.traceSimpleSsl; + break; + default: + throw new InvalidDBOperationError(kind, "get simple ssl"); + } + return simple; } - public String getJobScheme() { - return jobScheme; - } - public void setJobScheme(String jobScheme) { - this.jobScheme = jobScheme; + @Override public void setSimpleSsl(DatabaseKind kind, Boolean simpleSsl) { + switch (kind) { + case STAGING: + this.stagingSimpleSsl = simpleSsl; + break; + case FINAL: + this.finalSimpleSsl = simpleSsl; + break; + case JOB: + this.jobSimpleSsl = simpleSsl; + break; + case TRACE: + this.traceSimpleSsl = simpleSsl; + break; + default: + throw new InvalidDBOperationError(kind, "set simple ssl"); + } } - public boolean getJobSimpleSsl() { - return jobSimpleSsl; - } - public void setJobSimpleSsl(boolean jobSimpleSsl) { - this.jobSimpleSsl = jobSimpleSsl; + @Override public String getCertFile(DatabaseKind kind){ + String certFile; + switch (kind) { + case STAGING: + certFile = this.stagingCertFile; + break; + case FINAL: + certFile = this.finalCertFile; + break; + case JOB: + certFile = this.jobCertFile; + break; + case TRACE: + certFile = this.traceCertFile; + break; + default: + throw new InvalidDBOperationError(kind, "get cert file"); + } + return certFile; } - public SSLContext getJobSslContext() { - return jobSslContext; - } - public void setJobSslContext(SSLContext jobSslContext) { - this.jobSslContext = jobSslContext; + @Override public void setCertFile(DatabaseKind kind, String certFile) { + switch (kind) { + case STAGING: + this.stagingCertFile = certFile; + break; + case FINAL: + this.finalCertFile = certFile; + break; + case JOB: + this.jobCertFile = certFile; + break; + case TRACE: + this.traceCertFile = certFile; + break; + default: + throw new InvalidDBOperationError(kind, "set certificate file"); + } } - public DatabaseClientFactory.SSLHostnameVerifier getJobSslHostnameVerifier() { - return jobSslHostnameVerifier; - } - public void setJobSslHostnameVerifier(DatabaseClientFactory.SSLHostnameVerifier jobSslHostnameVerifier) { - this.jobSslHostnameVerifier = jobSslHostnameVerifier; + @Override public String getCertPassword(DatabaseKind kind){ + String certPass; + switch (kind) { + case STAGING: + certPass = this.stagingCertPassword; + break; + case FINAL: + certPass = this.finalCertPassword; + break; + case JOB: + certPass = this.jobCertPassword; + break; + case TRACE: + certPass = this.traceCertPassword; + break; + default: + throw new InvalidDBOperationError(kind, "get cert password"); + } + return certPass; } - public String getJobCertFile() { - return jobCertFile; - } - public void setJobCertFile(String jobCertFile) { - this.jobCertFile = jobCertFile; + @Override public void setCertPass(DatabaseKind kind, String certPassword) { + switch (kind) { + case STAGING: + this.stagingCertPassword = certPassword; + break; + case FINAL: + this.finalCertPassword = certPassword; + break; + case JOB: + this.jobCertPassword = certPassword; + break; + case TRACE: + this.traceCertPassword = certPassword; + break; + default: + throw new InvalidDBOperationError(kind, "set certificate password"); + } } - public String getJobCertPassword() { - return jobCertPassword; - } - public void setJobCertPassword(String jobCertPassword) { - this.jobCertPassword = jobCertPassword; + @Override public String getExternalName(DatabaseKind kind){ + String name; + switch (kind) { + case STAGING: + name = this.stagingExternalName; + break; + case FINAL: + name = this.finalExternalName; + break; + case JOB: + name = this.jobExternalName; + break; + case TRACE: + name = this.traceExternalName; + break; + default: + throw new InvalidDBOperationError(kind, "get external name"); + } + return name; } - public String getJobExternalName() { - return jobExternalName; - } - public void setJobExternalName(String jobExternalName) { - this.jobExternalName = jobExternalName; + @Override public void setExternalName(DatabaseKind kind, String externalName) { + switch (kind) { + case STAGING: + this.stagingExternalName = externalName; + break; + case FINAL: + this.finalExternalName = externalName; + break; + case JOB: + this.jobExternalName = externalName; + break; + case TRACE: + this.traceExternalName = externalName; + break; + default: + throw new InvalidDBOperationError(kind, "set auth method"); + } } // roles and users