package com.linkedin.thirdeye.common; import io.dropwizard.Configuration; import java.util.ArrayList; import java.util.List; public abstract class ThirdEyeConfiguration extends Configuration { /** * Root directory for all other configuration */ private String rootDir = ""; /** * pinot/mysql etc. Impl specific file will be in * <configRootDir>/dataSources e.g * <configRootDir>/dataSources/pinot.yml */ private String client = "pinot"; /** * file, mysql etc * <configRootDir>/configStores/ * <configRootDir>/configStores/file.yml */ private String configStoreType = "FILE"; private String implMode = "hibernate"; private List<String> whitelistCollections = new ArrayList<>(); private List<String> blacklistCollections = new ArrayList<>(); private String smtpHost = ""; private int smtpPort = 0; private String phantomJsPath = ""; private boolean cors = false; public String getRootDir() { return rootDir; } public void setRootDir(String rootDir) { this.rootDir = rootDir; } public boolean isCors() { return cors; } public void setCors(boolean cors) { this.cors = cors; } public String getClient() { return client; } public void setClient(String client) { this.client = client; } public String getConfigStoreType() { return configStoreType; } public void setConfigStoreType(String configStoreType) { this.configStoreType = configStoreType; } public String getImplMode() { return implMode; } public void setImplMode(String implMode) { this.implMode = implMode; } public List<String> getWhitelistCollections() { return whitelistCollections; } public void setWhitelistCollections(List<String> whitelistCollections) { this.whitelistCollections = whitelistCollections; } public List<String> getBlacklistCollections() { return blacklistCollections; } public void setBlacklistCollections(List<String> blacklistCollections) { this.blacklistCollections = blacklistCollections; } public String getFunctionConfigPath() { return getRootDir() + "/detector-config/anomaly-functions/functions.properties"; } //alertFilter.properties format: {alert filter type} = {path to alert filter implementation} public String getAlertFilterConfigPath() { return getRootDir() + "/detector-config/anomaly-functions/alertFilter.properties"; } //alertFilterAutotune.properties format: {auto tune type} = {path to auto tune implementation} public String getFilterAutotuneConfigPath() { return getRootDir() + "/detector-config/anomaly-functions/alertFilterAutotune.properties"; } public String getSmtpHost() { return smtpHost; } public void setSmtpHost(String smtpHost) { this.smtpHost = smtpHost; } public int getSmtpPort() { return smtpPort; } public void setSmtpPort(int smtpPort) { this.smtpPort = smtpPort; } public String getPhantomJsPath() { return phantomJsPath; } public void setPhantomJsPath(String phantomJsPath) { this.phantomJsPath = phantomJsPath; } }