in log4j-catalog/log4j-catalog-api/src/main/java/org/apache/logging/log4j/catalog/api/annotation/JdbcUrlCondition.java [34:56]
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
Environment env = context.getEnvironment();
Map<String, Object> map = metadata.getAnnotationAttributes(JdbcUrl.class.getName());
if (map != null && map.containsKey("value")) {
String value = map.get("value").toString();
String jdbcUrl = env.getProperty("jdbcUrl");
boolean isEmbedded = Boolean.parseBoolean(env.getProperty("isEmbedded"));
boolean result;
if (value.equals("hsqldb")) {
result = jdbcUrl == null || isEmbedded;
} else if (jdbcUrl == null || isEmbedded) {
result = false;
} else if (!jdbcUrl.startsWith("jdbc:")) {
result = false;
} else {
result = jdbcUrl.substring(5).toLowerCase().startsWith(value.toLowerCase());
}
LOGGER.debug("Returning {} for {}", result, value);
return result;
}
LOGGER.debug("No data provided");
return false;
}