package org.genedb.db.audit; import org.gmod.schema.mapped.Feature; import java.sql.SQLException; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; import com.google.common.collect.Maps; public class MockChangeSetImpl implements ChangeSet { Map<Class<? extends Feature>, List<Integer>> changedMap = Maps.newHashMap(); Map<Class<? extends Feature>, List<Integer>> deletedMap = Maps.newHashMap(); Map<Class<? extends Feature>, List<Integer>> newMap = Maps.newHashMap(); private Collection<Integer> getFeatureIds(Map<Class<? extends Feature>, List<Integer>> map, Class<? extends Feature> featureClass) { if (map.containsKey(featureClass)) { return map.get(featureClass); } return Collections.emptySet(); } // private void setFeatureIds(Map<Class<? extends Feature>, List<Integer>> map, List<Integer> ids) { // // // if (map.containsKey(featureClass)) { // return map.get(featureClass); // } // } @Override public Collection<Integer> changedFeatureIds(Class<? extends Feature> featureClass) { return getFeatureIds(changedMap, featureClass); } @Override public Collection<Integer> deletedFeatureIds(Class<? extends Feature> featureClass) { return getFeatureIds(deletedMap, featureClass); } @Override public Collection<Integer> newFeatureIds(Class<? extends Feature> featureClass) { return getFeatureIds(newMap, featureClass); } @Override public void commit() throws SQLException { // Do nothing } public Map<Class<? extends Feature>, List<Integer>> getChangedMap() { return changedMap; } public void setChangedMap( Map<Class<? extends Feature>, List<Integer>> changedMap) { this.changedMap = changedMap; } public Map<Class<? extends Feature>, List<Integer>> getDeletedMap() { return deletedMap; } public void setDeletedMap( Map<Class<? extends Feature>, List<Integer>> deletedMap) { this.deletedMap = deletedMap; } public Map<Class<? extends Feature>, List<Integer>> getNewMap() { return newMap; } public void setNewMap(Map<Class<? extends Feature>, List<Integer>> newMap) { this.newMap = newMap; } public void clearAll(){ newMap.clear(); changedMap.clear(); deletedMap.clear(); } }