import java.io.FileInputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
public class DatasetLoader {
private final Configuration config;
public DatasetLoader(String configFilePath) throws IOException {
// Load configuration from file
config = loadConfiguration(configFilePath);
}
private Configuration loadConfiguration(String configFilePath) throws IOException {
try (FileInputStream fis = new FileInputStream(configFilePath)) {
return new Configuration(fis);
} catch (IOException e) {
throw new IOException("Error loading configuration file: " + configFilePath, e);
}
}
public Map<String, String> loadDatasets() {
// Load dataset configurations from the configuration file
Map<String, String> datasets = new HashMap<>();
if (config.containsKey("datasets")) {
Map<String, Object> datasetConfig = config.get("datasets");
if (datasetConfig instanceof Map) {
for (Map.Entry<String, Object> entry : datasetConfig.entrySet()) {
String datasetName = entry.getKey();
String datasetPath = (String) entry.getValue();
datasets.put(datasetName, datasetPath);
}
}
}
return datasets;
}
public static void main(String[] args) {
try {
// Replace "config.properties" with your configuration file path
DatasetLoader loader = new DatasetLoader("config.properties");
Map<String, String> datasets = loader.loadDatasets();
// Print the loaded datasets (for testing)
for (Map.Entry<String, String> entry : datasets.entrySet()) {
System.out.println("Dataset: " + entry.getKey() + ", Path: " + entry.getValue());
}
} catch (IOException e) {
System.err.println("Error: " + e.getMessage());
e.printStackTrace();
}
}
}
Add your comment