/* * Copyright 2016 Hortonworks. * * 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. */ package com.hortonworks.registries.storage.tool; public class StorageProviderConfiguration { private static final String MYSQL_DELIMITER = ";"; private static final String PHOENIX_DELIMITER = "\n"; private static final String POSTGRESQL_DELIMITER = ";"; private static final String PHOENIX = "phoenix"; private static final String MYSQL = "mysql"; private static final String POSTGRESQL = "postgresql"; private String driverClass; private String url; private String user = ""; private String password = ""; private String dbType; private String delimiter; private StorageProviderConfiguration(String driverClass, String url, String user, String password, String dbType, String delimiter) { this.driverClass = driverClass; this.url = url; this.user = user; this.password = password; this.dbType = dbType; this.delimiter = delimiter; } public static StorageProviderConfiguration mysql(String driverClass, String url) { return new StorageProviderConfiguration(driverClass, url, "", "", MYSQL, MYSQL_DELIMITER); } public static StorageProviderConfiguration mysql(String driverClass, String url, String user, String password) { return new StorageProviderConfiguration(driverClass, url, user, password, MYSQL, MYSQL_DELIMITER); } public static StorageProviderConfiguration phoenix(String driverClass, String url) { return new StorageProviderConfiguration(driverClass, url, "", "", PHOENIX, PHOENIX_DELIMITER); } public static StorageProviderConfiguration postgresql(String driverClass, String url, String user, String password) { return new StorageProviderConfiguration(driverClass, url, user, password, POSTGRESQL, POSTGRESQL_DELIMITER); } public String getDriverClass() { return driverClass; } public String getUrl() { return url; } public String getUser() { return user; } public String getPassword() { return password; } public String getDbType() { return dbType; } public String getDelimiter() { return delimiter; } }