package com.matrobot.gha.insights.filter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import com.matrobot.gha.archive.repo.RepositoryRecord;
public class RepositoryArchiveList {
private List<HashMap<String, RepositoryRecord>> datasets =
new ArrayList<HashMap<String,RepositoryRecord>>();
public void addFromFile(String filePath) throws IOException{
HashMap<String, RepositoryRecord> dataset = RepositoryRecord.loadData(filePath);
datasets.add(dataset);
}
public HashMap<String, RepositoryRecord> getDataset(int index) {
return datasets.get(index);
}
/**
* Find repository by name in the given dataset
* @param datasetIndex
* @param repositoryName
* @return found object or new one if there is not repository record for given dataset.
*/
public RepositoryRecord findRepository(int datasetIndex, String repositoryName) {
RepositoryRecord repository = datasets.get(datasetIndex).get(repositoryName);
if(repository == null){
repository = new RepositoryRecord(repositoryName);
}
return repository;
}
public int size() {
return datasets.size();
}
}