/*******************************************************************************
* This file is part of OpenNMS(R).
*
* Copyright (C) 2009-2011 The OpenNMS Group, Inc.
* OpenNMS(R) is Copyright (C) 1999-2011 The OpenNMS Group, Inc.
*
* OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
*
* OpenNMS(R) is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
* by the Free Software Foundation, either version 3 of the License,
* or (at your option) any later version.
*
* OpenNMS(R) is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with OpenNMS(R). If not, see:
* http://www.gnu.org/licenses/
*
* For more information contact:
* OpenNMS(R) Licensing <license@opennms.org>
* http://www.opennms.org/
* http://www.opennms.com/
*******************************************************************************/
package org.opennms.core.schema;
import liquibase.resource.ResourceAccessor;
import org.apache.commons.lang.builder.ToStringBuilder;
/**
* <p>Migration class.</p>
*
* @author ranger
* @version $Id: $
*/
public class Migration {
private String m_jdbcUrl;
private String m_jdbcDriver = "org.postgresql.Driver";
private String m_databaseHost;
private String m_databaseName;
private String m_schemaName;
private String m_databaseUser;
private String m_databasePassword;
private String m_adminUser;
private String m_adminPassword;
private String m_changeLog;
private ResourceAccessor m_accessor;
/**
* Get the JDBC connection URL. Defaults to jdbc:postgresql://host/database.
*
* @return the JDBC URL
*/
public String getJdbcUrl() {
if (m_jdbcUrl == null) {
return String.format("jdbc:postgresql://%s/%s", getDatabaseHost(), getDatabaseName());
}
return m_jdbcUrl;
}
/**
* <p>setJdbcUrl</p>
*
* @param jdbcUrl a {@link java.lang.String} object.
*/
public void setJdbcUrl(String jdbcUrl) {
m_jdbcUrl = jdbcUrl;
}
/**
* Get the JDBC driver class name. Defaults to "org.postgresql.Driver"
*
* @return the class name
*/
public String getJdbcDriver() {
return m_jdbcDriver;
}
/**
* <p>setJdbcDriver</p>
*
* @param jdbcDriver a {@link java.lang.String} object.
*/
public void setJdbcDriver(String jdbcDriver) {
m_jdbcDriver = jdbcDriver;
}
/**
* <p>getDatabaseHost</p>
*
* @return a {@link java.lang.String} object.
*/
public String getDatabaseHost() {
return m_databaseHost;
}
/**
* <p>setDatabaseHost</p>
*
* @param databaseHost a {@link java.lang.String} object.
*/
public void setDatabaseHost(String databaseHost) {
m_databaseHost = databaseHost;
}
/**
* <p>getDatabaseName</p>
*
* @return a {@link java.lang.String} object.
*/
public String getDatabaseName() {
return m_databaseName;
}
/**
* <p>setDatabaseName</p>
*
* @param databaseName a {@link java.lang.String} object.
*/
public void setDatabaseName(String databaseName) {
m_databaseName = databaseName;
}
public String getSchemaName() {
return m_schemaName;
}
public void setSchemaName(final String schemaName) {
m_schemaName = schemaName;
}
/**
* <p>getDatabaseUser</p>
*
* @return a {@link java.lang.String} object.
*/
public String getDatabaseUser() {
return m_databaseUser;
}
/**
* <p>setDatabaseUser</p>
*
* @param databaseUser a {@link java.lang.String} object.
*/
public void setDatabaseUser(String databaseUser) {
m_databaseUser = databaseUser;
}
/**
* <p>getDatabasePassword</p>
*
* @return a {@link java.lang.String} object.
*/
public String getDatabasePassword() {
return m_databasePassword;
}
/**
* <p>setDatabasePassword</p>
*
* @param databasePassword a {@link java.lang.String} object.
*/
public void setDatabasePassword(String databasePassword) {
m_databasePassword = databasePassword;
}
/**
* <p>getAdminUser</p>
*
* @return a {@link java.lang.String} object.
*/
public String getAdminUser() {
return m_adminUser;
}
/**
* <p>setAdminUser</p>
*
* @param adminUser a {@link java.lang.String} object.
*/
public void setAdminUser(String adminUser) {
m_adminUser = adminUser;
}
/**
* <p>getAdminPassword</p>
*
* @return a {@link java.lang.String} object.
*/
public String getAdminPassword() {
return m_adminPassword;
}
/**
* <p>setAdminPassword</p>
*
* @param adminPassword a {@link java.lang.String} object.
*/
public void setAdminPassword(String adminPassword) {
m_adminPassword = adminPassword;
}
/**
* <p>getChangeLog</p>
*
* @return a {@link java.lang.String} object.
*/
public String getChangeLog() {
return m_changeLog;
}
/**
* <p>setChangeLog</p>
*
* @param changeLog a {@link java.lang.String} object.
*/
public void setChangeLog(String changeLog) {
m_changeLog = changeLog;
}
public ResourceAccessor getAccessor() {
return m_accessor;
}
public void setAccessor(final ResourceAccessor accessor) {
m_accessor = accessor;
}
/**
* <p>toString</p>
*
* @return a {@link java.lang.String} object.
*/
public String toString() {
return new ToStringBuilder(this)
.append("database", m_databaseName)
.append("schema", m_schemaName)
.append("host", m_databaseHost)
.append("driver", m_jdbcDriver)
.append("url", m_jdbcUrl)
.append("admin-user", m_adminUser)
.append("user", m_databasePassword)
.append("changelog", m_changeLog)
.append("accessor", m_accessor)
.toString();
}
}