![JAR search and dependency download from the Maven repository](/logo.png)
liquibase.database.jvm.ConnectionPatterns Maven / Gradle / Ivy
package liquibase.database.jvm;
import java.util.AbstractMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
/**
* A base class that holds connection string patterns with connection credentials that should be hidden in logs.
* Derived classes add their own connection string patterns.
*/
public abstract class ConnectionPatterns {
public static class PatternPair {
// Return a map entry (key-value pair) from the specified values
public static Map.Entry of(T first, U second) {
return new AbstractMap.SimpleEntry<>(first, second);
}
}
private final Set> PATTERN_JDBC_BLANK = new HashSet<>();
private final Set> PATTERN_JDBC_BLANK_TO_OBFUSCATE = new HashSet<>();
private final Set> PATTERN_JDBC_OBFUSCATE = new HashSet<>();
public Set> getJdbcBlankPatterns() {
return PATTERN_JDBC_BLANK;
}
public Set> getJdbcBlankToObfuscatePatterns() {
return PATTERN_JDBC_BLANK_TO_OBFUSCATE;
}
public Set> getJdbcObfuscatePatterns() {
return PATTERN_JDBC_OBFUSCATE;
}
/**
* Holds credential patterns that should be replaced by empty string.
*
* jdbc:mysql://localhost:3306/lbcat?user=username&password=password
*
*
* jdbc:mariadb://username:password@localhost:3306/lbcat
*
*/
public void addJdbcBlankPatterns(Map.Entry jdbcBlankPatterns) {
PATTERN_JDBC_BLANK.add(jdbcBlankPatterns);
}
/**
* Holds credential patterns that are located before the domain or subdomain part.
* They should be replaced by asterisks.
*
* jdbc:mariadb://username:password@localhost:3306/lbcat
*
*/
public void addJdbcBlankToObfuscatePatterns(Map.Entry patternJdbcBlankToObfuscate) {
PATTERN_JDBC_BLANK_TO_OBFUSCATE.add(patternJdbcBlankToObfuscate);
}
/**
* Holds credential patterns that are located in the URL parameters.
* They should be replaced by asterisks.
*
* jdbc:postgresql://localhost:6432/lbcat?user=username&password=password
*
*/
public void addJdbcObfuscatePatterns(Map.Entry jdbcObfuscatePatterns) {
PATTERN_JDBC_OBFUSCATE.add(jdbcObfuscatePatterns);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy