001 package org.cumulus4j.store.model;
002
003 import java.util.ArrayList;
004 import java.util.Collection;
005 import java.util.HashMap;
006 import java.util.List;
007 import java.util.Map;
008
009 import javax.jdo.PersistenceManager;
010 import javax.jdo.Query;
011
012 public class DatastoreVersionDAO extends AbstractDAO {
013
014 public DatastoreVersionDAO() { }
015
016 public DatastoreVersionDAO(PersistenceManager pm) {
017 super(pm);
018 }
019
020 public Map<String, DatastoreVersion> getCommandID2DatastoreVersionMap(int keyStoreRefID) {
021 List<DatastoreVersion> datastoreVersions = getDatastoreVersions(keyStoreRefID);
022 Map<String, DatastoreVersion> result = new HashMap<String, DatastoreVersion>(datastoreVersions.size());
023 for (DatastoreVersion datastoreVersion : datastoreVersions) {
024 result.put(datastoreVersion.getCommandID(), datastoreVersion);
025 }
026 return result;
027 }
028
029 public List<DatastoreVersion> getDatastoreVersions(int keyStoreRefID) {
030 Query query = pm.newQuery(DatastoreVersion.class);
031 @SuppressWarnings("unchecked")
032 Collection<DatastoreVersion> c = (Collection<DatastoreVersion>) query.execute();
033 try {
034 return new ArrayList<DatastoreVersion>(c);
035 } finally {
036 query.closeAll();
037 }
038 }
039 }