All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jsoftware.impl.AbstractDbManagerCredentialsCallback Maven / Gradle / Ivy

package org.jsoftware.impl;

import org.jsoftware.config.ConfigurationEntry;

import java.sql.SQLException;

public abstract class AbstractDbManagerCredentialsCallback implements DbManagerCredentialsCallback {
	private final static int MAX_TRIES = 3;
	
	public String getPassword(SQLException sqlException, int tryNo, ConfigurationEntry configurationEntry) throws SQLException {
		if (tryNo >= MAX_TRIES) {
			SQLException ex = new SQLException("Cannot connect to " + configurationEntry.getJdbcUri() + " user:" + configurationEntry.getUser());
			ex.initCause(sqlException);
			throw ex;
		}
		if (! configurationEntry.isInteractivePasswordAllowed()) {
			throw new SQLException("Cannot read password iteratively!");
		}
		return getPassword(sqlException, configurationEntry);
	}

    protected abstract String getPassword(SQLException lastSqlException, ConfigurationEntry configurationEntry);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy