package pl.touk.sputnik.connector;
import lombok.Getter;
import pl.touk.sputnik.configuration.CliOption;
import pl.touk.sputnik.configuration.Configuration;
import pl.touk.sputnik.configuration.GeneralOption;
import static org.apache.commons.lang3.Validate.notBlank;
@Getter
public class ConnectorDetails {
private String host;
private Integer port;
private String path;
private String username;
private String password;
private String useHttps;
private boolean isHttps;
private boolean verifySsl;
public ConnectorDetails(Configuration configuration) {
buildFromConfiguration(configuration);
validate();
}
private void buildFromConfiguration(Configuration configuration) {
host = configuration.getProperty(GeneralOption.HOST);
port = Integer.valueOf(configuration.getProperty(GeneralOption.PORT));
path = configuration.getProperty(GeneralOption.PATH);
username = getUsername(configuration);
password = getPassword(configuration);
useHttps = configuration.getProperty(GeneralOption.USE_HTTPS);
isHttps = Boolean.parseBoolean(useHttps);
verifySsl = Boolean.parseBoolean(configuration.getProperty(GeneralOption.VERIFY_SSL));
}
private String getUsername(Configuration configuration) {
return configuration.getProperty(CliOption.USERNAME) != null ? configuration.getProperty(
CliOption.USERNAME) : configuration.getProperty(GeneralOption.USERNAME);
}
private String getPassword(Configuration configuration) {
return configuration.getProperty(CliOption.PASSWORD) != null ? configuration.getProperty(
CliOption.PASSWORD) : configuration.getProperty(GeneralOption.PASSWORD);
}
private void validate() {
notBlank(host, "You must provide non blank connector host");
notBlank(username, "You must provide non blank connector username");
notBlank(password, "You must provide non blank connector password");
}
}