/** * Determines the dblib properties file to use based on the following priority: * <ol> * <li>A directory identified by the system environment variable <code>SDNC_CONFIG_DIR</code></li> * <li>The default directory <code>DEFAULT_DBLIB_PROP_DIR</code></li> * <li>A directory identified by the JRE argument <code>dblib.properties</code></li> * <li>A <code>dblib.properties</code> file located in the karaf root directory</li> * </ol> */ File determinePropertiesFile(final DBLIBResourceProvider dblibResourceProvider) { for (final PropertiesFileResolver dblibPropertiesFileResolver : dblibPropertiesFileResolvers) { final Optional<File> fileOptional = dblibPropertiesFileResolver.resolveFile(DBLIB_PROP_FILE_NAME); if (fileOptional.isPresent()) { return reportSuccess(dblibPropertiesFileResolver.getSuccessfulResolutionMessage(), fileOptional); } } reportFailure("Missing configuration properties resource(3)", new DblibConfigurationException("Missing configuration properties resource(3): " + DBLIB_PROP_FILE_NAME)); return null; } }