package com.thinkbiganalytics.datalake.authorization.client;
/*-
* #%L
* thinkbig-sentry-client
* %%
* Copyright (C) 2017 ThinkBig Analytics
* %%
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* #L%
*/
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.sql.DataSource;
/**
* Sentry Client configuration class for setting sentry connection information.
*/
public class SentryClientConfig {
private String driverName;
private String connectionString;
private Configuration config;
private String username;
private String password;
private String keyTab;
private String principal;
private FileSystem fileSystem;
private DataSource dataSrouce;
private JdbcTemplate sentryJdbcTemplate;
private String sentryGroups;
public SentryClientConfig() {
}
public SentryClientConfig(String driverName, String connectionString) {
this.driverName = driverName;
this.connectionString = connectionString;
}
public SentryClientConfig(String driverName, String connectionString, String username, String password) {
this.username = driverName;
this.connectionString = connectionString;
this.setUsername(username);
this.setPassword(password);
}
public SentryClientConfig(DataSource dataSrouce) {
this.dataSrouce = dataSrouce;
setSentryJdbcTemplate(new JdbcTemplate(this.dataSrouce));
}
public JdbcTemplate getSentryJdbcTemplate() {
return sentryJdbcTemplate;
}
public void setSentryJdbcTemplate(JdbcTemplate sentryJdbcTemplate) {
this.sentryJdbcTemplate = sentryJdbcTemplate;
}
public String getDriverName() {
return driverName;
}
public void setDriverName(String driverName) {
this.driverName = driverName;
}
public String getConnectionString() {
return connectionString;
}
public void setConnectionString(String connectionString) {
this.connectionString = connectionString;
}
public String getPrincipal() {
return principal;
}
public void setPrincipal(String principal) {
this.principal = principal;
}
public Configuration getConfig() {
return config;
}
public void setConfig(Configuration config) {
this.config = config;
}
public String getKeyTab() {
return keyTab;
}
public void setKeyTab(String keyTab) {
this.keyTab = keyTab;
}
public FileSystem getFileSystem() {
return fileSystem;
}
public void setFileSystem(FileSystem fileSystem) {
this.fileSystem = fileSystem;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public DataSource getDataSrouce() {
return dataSrouce;
}
public void setDataSrouce(DataSource dataSrouce) {
this.dataSrouce = dataSrouce;
}
public String getSentryGroups() {
return sentryGroups;
}
public void setSentryGroups(String sentryGroups) {
this.sentryGroups = sentryGroups;
}
}