1. import java.io.FileInputStream;
  2. import java.io.IOException;
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. import org.apache.commons.configuration.Configuration;
  6. import org.apache.commons.configuration.ConfigurationException;
  7. public class DatasetLoader {
  8. private final Configuration config;
  9. public DatasetLoader(String configFilePath) throws IOException {
  10. // Load configuration from file
  11. config = loadConfiguration(configFilePath);
  12. }
  13. private Configuration loadConfiguration(String configFilePath) throws IOException {
  14. try (FileInputStream fis = new FileInputStream(configFilePath)) {
  15. return new Configuration(fis);
  16. } catch (IOException e) {
  17. throw new IOException("Error loading configuration file: " + configFilePath, e);
  18. }
  19. }
  20. public Map<String, String> loadDatasets() {
  21. // Load dataset configurations from the configuration file
  22. Map<String, String> datasets = new HashMap<>();
  23. if (config.containsKey("datasets")) {
  24. Map<String, Object> datasetConfig = config.get("datasets");
  25. if (datasetConfig instanceof Map) {
  26. for (Map.Entry<String, Object> entry : datasetConfig.entrySet()) {
  27. String datasetName = entry.getKey();
  28. String datasetPath = (String) entry.getValue();
  29. datasets.put(datasetName, datasetPath);
  30. }
  31. }
  32. }
  33. return datasets;
  34. }
  35. public static void main(String[] args) {
  36. try {
  37. // Replace "config.properties" with your configuration file path
  38. DatasetLoader loader = new DatasetLoader("config.properties");
  39. Map<String, String> datasets = loader.loadDatasets();
  40. // Print the loaded datasets (for testing)
  41. for (Map.Entry<String, String> entry : datasets.entrySet()) {
  42. System.out.println("Dataset: " + entry.getKey() + ", Path: " + entry.getValue());
  43. }
  44. } catch (IOException e) {
  45. System.err.println("Error: " + e.getMessage());
  46. e.printStackTrace();
  47. }
  48. }
  49. }

Add your comment