1. import java.util.HashMap;
  2. import java.util.Map;
  3. public class ConfigInitializer {
  4. /**
  5. * Initializes configuration components from files.
  6. * This version uses synchronous loading.
  7. * @param devConfigPath Path to the development configuration file.
  8. * @return A map containing the initialized configuration components.
  9. * Returns an empty map if an error occurs.
  10. */
  11. public static Map<String, Object> initializeConfig(String devConfigPath) {
  12. Map<String, Object> config = new HashMap<>();
  13. try {
  14. // Load settings from the development configuration file.
  15. Map<String, String> settings = loadSettings(devConfigPath);
  16. // Initialize components based on settings.
  17. config.put("databaseUrl", settings.get("databaseUrl"));
  18. config.put("apiKey", settings.get("apiKey"));
  19. config.put("logLevel", settings.get("logLevel"));
  20. //Example of another setting
  21. config.put("port", Integer.parseInt(settings.get("port")));
  22. } catch (Exception e) {
  23. System.err.println("Error initializing configuration: " + e.getMessage());
  24. return new HashMap<>(); // Return empty map on error.
  25. }
  26. return config;
  27. }
  28. private static Map<String, String> loadSettings(String filePath) throws Exception {
  29. // Simulate loading settings from a file. Replace with actual file loading.
  30. Map<String, String> settings = new HashMap<>();
  31. settings.put("databaseUrl", "jdbc:devdb://localhost:5432/devdb");
  32. settings.put("apiKey", "devApiKey");
  33. settings.put("logLevel", "DEBUG");
  34. settings.put("port", "8080"); //Example integer value
  35. return settings;
  36. }
  37. public static void main(String[] args) {
  38. //Example usage
  39. Map<String, Object> config = initializeConfig("dev_config.properties"); // Replace with your file path
  40. if (!config.isEmpty()) {
  41. System.out.println("Configuration initialized successfully:");
  42. System.out.println("Database URL: " + config.get("databaseUrl"));
  43. System.out.println("API Key: " + config.get("apiKey"));
  44. System.out.println("Log Level: " + config.get("logLevel"));
  45. System.out.println("Port: " + config.get("port"));
  46. } else {
  47. System.out.println("Failed to initialize configuration.");
  48. }
  49. }
  50. }

Add your comment