package io.lumify.analystsNotebook.aggregateClassification; import io.lumify.core.config.Configurable; import io.lumify.core.config.PostConfigurationValidator; public class AggregateClassificationConfiguration { public static final String CONFIGURATION_PREFIX = "analystsNotebookExport.aggregateClassificationClient"; private String serviceUrl; private String parameterName; private String trustStorePath; private String trustStorePassword; private boolean disableHostnameVerification; @Configurable(name = "serviceUrl", required = false) public void setServiceUrl(String serviceUrl) { this.serviceUrl = serviceUrl; } @Configurable(name = "parameterName", required = false) public void setParameterName(String parameterName) { this.parameterName = parameterName; } @Configurable(name = "trustStorePath", required = false) public void setTrustStorePath(String trustStorePath) { this.trustStorePath = trustStorePath; } @Configurable(name = "trustStorePassword", required = false) public void setTrustStorePassword(String trustStorePassword) { this.trustStorePassword = trustStorePassword; } @Configurable(name = "disableHostnameVerification", defaultValue = "false") public void setDisableHostnameVerification(String disableHostnameVerification) { this.disableHostnameVerification = Boolean.valueOf(disableHostnameVerification); } @PostConfigurationValidator(description = "both serviceUrl and parameterName must be provided in order to use the aggregate classification client") public boolean validateService() { return (serviceUrl == null && parameterName == null) || isServiceConfigured(); } @PostConfigurationValidator(description = "both trustStorePath and trustStorePassword must be provided in order to use custom trustStore") public boolean validateTrustStore() { return (trustStorePath == null && trustStorePassword == null) || isTrustStoreConfigured(); } public String getServiceUrl() { return serviceUrl; } public String getParameterName() { return parameterName; } public String getTrustStorePath() { return trustStorePath; } public String getTrustStorePassword() { return trustStorePassword; } public boolean isDisableHostnameVerification() { return disableHostnameVerification; } public boolean isServiceConfigured() { return serviceUrl != null && parameterName != null; } public boolean isTrustStoreConfigured() { return trustStorePath != null && trustStorePassword != null; } }