package edu.ncsu.dlf.database; import java.io.IOException; import java.util.Collections; import java.util.List; import edu.ncsu.dlf.model.Repo; import edu.ncsu.dlf.model.Review; import org.eclipse.egit.github.core.User; public class DatabaseFactory { private DatabaseFactory() { } public static DBAbstraction getDatabase() { try { return new MongoDB(); } catch (IOException e) { e.printStackTrace(); } return new DummyDatabase(); } private static class DummyDatabase implements DBAbstraction { @Override public List<Review> getReviewsWhereUserIsRequester(User user) { return Collections.emptyList(); } @Override public List<Review> getReviewsWhereUserIsReviewer(User user) { return Collections.emptyList(); } @Override public void addReviewToDatastore(Review newReview) { //ignores it } @Override public void removeReviewFromDatastore(String reviewer, Repo repo) { //ignores it } @Override public Review findReview(String reviewerLogin, Repo repo) { return new Review(); //do nothing } } }