import java.util.HashMap;
import java.util.Map;
public class ConfigInitializer {
/**
* Initializes configuration components from files.
* This version uses synchronous loading.
* @param devConfigPath Path to the development configuration file.
* @return A map containing the initialized configuration components.
* Returns an empty map if an error occurs.
*/
public static Map<String, Object> initializeConfig(String devConfigPath) {
Map<String, Object> config = new HashMap<>();
try {
// Load settings from the development configuration file.
Map<String, String> settings = loadSettings(devConfigPath);
// Initialize components based on settings.
config.put("databaseUrl", settings.get("databaseUrl"));
config.put("apiKey", settings.get("apiKey"));
config.put("logLevel", settings.get("logLevel"));
//Example of another setting
config.put("port", Integer.parseInt(settings.get("port")));
} catch (Exception e) {
System.err.println("Error initializing configuration: " + e.getMessage());
return new HashMap<>(); // Return empty map on error.
}
return config;
}
private static Map<String, String> loadSettings(String filePath) throws Exception {
// Simulate loading settings from a file. Replace with actual file loading.
Map<String, String> settings = new HashMap<>();
settings.put("databaseUrl", "jdbc:devdb://localhost:5432/devdb");
settings.put("apiKey", "devApiKey");
settings.put("logLevel", "DEBUG");
settings.put("port", "8080"); //Example integer value
return settings;
}
public static void main(String[] args) {
//Example usage
Map<String, Object> config = initializeConfig("dev_config.properties"); // Replace with your file path
if (!config.isEmpty()) {
System.out.println("Configuration initialized successfully:");
System.out.println("Database URL: " + config.get("databaseUrl"));
System.out.println("API Key: " + config.get("apiKey"));
System.out.println("Log Level: " + config.get("logLevel"));
System.out.println("Port: " + config.get("port"));
} else {
System.out.println("Failed to initialize configuration.");
}
}
}
Add your comment