package edu.gatech.i3l.fhir.jpa.dao;
import java.util.HashMap;
import java.util.Map;
public class DefaultFhirSystemDao<T> extends BaseFhirSystemDao<T>{
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(DefaultFhirSystemDao.class);
@Override
//FIXME performance bottleneck: this should me mapped to another url path that would be called by the client using ajax
public Map<String, Long> getResourceCounts() {
Map<String, Long> retVal = new HashMap<String, Long>();
// CriteriaBuilder builder = getBaseFhirDao().getEntityManager().getCriteriaBuilder();
// List<Class<? extends BaseResourceEntity>> entities = Arrays.asList(ConditionOccurrenceComplement.class, DrugExposurePrescriptionDispensed.class,
// DrugExposurePrescriptionWritten.class, MedicationConcept.class, Observation.class, PersonComplement.class, VisitOccurrence.class);
// for (Class<? extends BaseResourceEntity> entityClass : entities) {
// CriteriaQuery<Long> criteria = builder.createQuery(Long.class);
// criteria.select(builder.count(criteria.from(entityClass)));
// Long r = myEntityManager.createQuery(criteria).getSingleResult();
// try {
// retVal.put(entityClass.newInstance().getResourceType(), r);
// } catch (InstantiationException e) {
// ourLog.error(e.getMessage());
// } catch (IllegalAccessException e) {
// ourLog.error(e.getMessage());
// }
// }
return retVal;
}
}