DatabaseConfig.java
- /*
- * GovWay - A customizable API Gateway
- * https://govway.org
- *
- * Copyright (c) 2005-2025 Link.it srl (https://link.it).
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3, as published by
- * the Free Software Foundation.
- *
- * This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
- package org.openspcoop2.utils.logger.config;
- import java.sql.Connection;
- import javax.sql.DataSource;
- import org.openspcoop2.utils.TipiDatabase;
- import org.openspcoop2.utils.UtilsException;
- /**
- * DatabaseConfig
- *
- * @author Poli Andrea (apoli@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public class DatabaseConfig {
- private TipiDatabase databaseType;
- private boolean logSql;
-
- private DataSource ds;
-
- private Connection connection;
- private Boolean isAutocommit;
-
- private DatabaseConfigDatasource configDatasource;
-
- private DatabaseConfigConnection configConnection;
-
- public TipiDatabase getDatabaseType() {
- return this.databaseType;
- }
- public void setDatabaseType(TipiDatabase databaseType) {
- this.databaseType = databaseType;
- }
-
- public boolean isLogSql() {
- return this.logSql;
- }
- public void setLogSql(boolean logSql) {
- this.logSql = logSql;
- }
-
- public DataSource getDs() {
- return this.ds;
- }
- public void setDs(DataSource ds) {
- this.ds = ds;
- }
- public Connection getConnection() {
- return this.connection;
- }
- public void setConnection(Connection connection) {
- this.connection = connection;
- }
- public Boolean getIsAutocommit() {
- return this.isAutocommit;
- }
- public void setIsAutocommit(Boolean isAutocommit) {
- this.isAutocommit = isAutocommit;
- }
- public DatabaseConfigDatasource getConfigDatasource() {
- return this.configDatasource;
- }
- public void setConfigDatasource(DatabaseConfigDatasource configDatasource) {
- this.configDatasource = configDatasource;
- }
- public DatabaseConfigConnection getConfigConnection() {
- return this.configConnection;
- }
- public void setConfigConnection(DatabaseConfigConnection configConnection) {
- this.configConnection = configConnection;
- }
-
- public static void validate(DatabaseConfig config) throws UtilsException{
- if(config==null){
- throw new UtilsException("Database configuration undefined (with enabled mode)");
- }
- if(config.getDatabaseType()==null){
- throw new UtilsException("Database configuration undefined (databaseType undefined)");
- }
- if(TipiDatabase.DEFAULT.equals(config.getDatabaseType())){
- throw new UtilsException("Database configuration undefined (databaseType DEFAULT unsupported)");
- }
- int dbConfigMode = 0;
- if(config.getDs()!=null){
- dbConfigMode++;
- }
- if(config.getConnection()!=null){
- dbConfigMode++;
- }
- if(config.getConfigConnection()!=null){
- dbConfigMode++;
- }
- if(config.getConfigDatasource()!=null){
- dbConfigMode++;
- }
- if(dbConfigMode==0){
- throw new UtilsException("Datbase configuration uncorrect: source db configuration undefined");
- }
- if(dbConfigMode>1){
- throw new UtilsException("Datbase configuration uncorrect: found multiple source db configuration");
- }
- if(config.getConnection()!=null){
- if(config.getIsAutocommit()==null){
- throw new UtilsException("Database configuration undefined (autocommit mode undefined, required with connection)");
- }
- }
- }
- }