package nodebox.localhistory; import java.io.File; import java.util.HashMap; public class LocalHistoryManager { private File localHistoryDirectory; private HashMap<String, Repository> repositories = new HashMap<String, Repository>(); public LocalHistoryManager(File localHistoryDirectory) { this.localHistoryDirectory = localHistoryDirectory; boolean success = localHistoryDirectory.mkdirs(); if (!success) throw new RuntimeException("Error while creating local history directory " + localHistoryDirectory); if (!localHistoryDirectory.isDirectory()) throw new AssertionError("Local history directory " + localHistoryDirectory + " does not exist."); loadRepositories(); } public File getLocalHistoryDirectory() { return localHistoryDirectory; } public Repository createRepository(File projectDirectory) { Repository r = Repository.create(this, projectDirectory); repositories.put(r.getProjectName(), r); return r; } private void loadRepositories() { for (File projectDirectory : localHistoryDirectory.listFiles()) { if (!projectDirectory.isDirectory()) continue; String projectName = projectDirectory.getName(); Repository r = new Repository(this, projectName); repositories.put(projectName, r); } } }