Skip to content

Commit d80d76e

Browse files
committed
META-365 - Follow-up commit to add additional exception logging to assist with debugging MDS importing errors.
1 parent 115b72f commit d80d76e

2 files changed

Lines changed: 28 additions & 6 deletions

File tree

api-common/src/main/java/org/openmrs/module/metadatasharing/api/db/hibernate/HibernateMetadataSharingDAO.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
import java.util.Collection;
1717
import java.util.List;
1818

19+
import org.apache.commons.logging.Log;
20+
import org.apache.commons.logging.LogFactory;
1921
import org.hibernate.Criteria;
2022
import org.openmrs.api.db.hibernate.DbSessionFactory;
2123
import org.hibernate.criterion.Order;
@@ -35,6 +37,8 @@ public class HibernateMetadataSharingDAO implements MetadataSharingDAO {
3537

3638
@Autowired
3739
private DbSessionFactory sessionFactory;
40+
41+
protected final Log log = LogFactory.getLog(getClass());
3842

3943
/**
4044
* @see org.openmrs.module.metadatasharing.api.db.MetadataSharingDAO#getExportedPackage(java.lang.Integer)
@@ -78,11 +82,17 @@ public List<ExportedPackage> getAllExportedPackages() {
7882
*/
7983
@Override
8084
public ImportedItem getImportItem(Class<?> type, String uuid) {
81-
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(ImportedItem.class);
82-
criteria.add(Restrictions.eq("uuid", uuid));
83-
criteria.add(Restrictions.eq("classname", type.getName()));
84-
ImportedItem result = (ImportedItem) criteria.uniqueResult();
85-
return result;
85+
try {
86+
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(ImportedItem.class);
87+
criteria.add(Restrictions.eq("uuid", uuid));
88+
criteria.add(Restrictions.eq("classname", type.getName()));
89+
ImportedItem result = (ImportedItem) criteria.uniqueResult();
90+
return result;
91+
}
92+
catch (RuntimeException e) {
93+
log.error("Error attempting to get import item: " + type.getSimpleName() + ": " + uuid, e);
94+
throw e;
95+
}
8696
}
8797

8898
/**

api-common/src/main/java/org/openmrs/module/metadatasharing/merger/ConvertUtil.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
import java.util.Collection;
1717

18+
import org.apache.commons.logging.Log;
19+
import org.apache.commons.logging.LogFactory;
1820
import org.openmrs.Concept;
1921
import org.openmrs.ConceptName;
2022
import org.openmrs.ConceptNumeric;
@@ -26,6 +28,8 @@
2628
*
2729
*/
2830
public class ConvertUtil {
31+
32+
protected static final Log log = LogFactory.getLog(ConvertUtil.class);
2933

3034
public static void convert(Collection<ImportedItem> importedItems) {
3135
for (ImportedItem importedItem : importedItems) {
@@ -59,7 +63,15 @@ public static void convert(Collection<ImportedItem> importedItems) {
5963
}
6064

6165
Context.evictFromSession(existing);
62-
Context.getConceptService().saveConcept(numeric);
66+
67+
try {
68+
Context.getConceptService().saveConcept(numeric);
69+
}
70+
catch (RuntimeException e) {
71+
log.error("Error saving Concept Numeric " + numeric + " (" + numeric.getUuid() + ")", e);
72+
throw e;
73+
}
74+
6375
importedItem.setExisting(numeric);
6476

6577
//It's slightly inefficient, but it's the easiest way to get around lazily initialization exceptions.

0 commit comments

Comments
 (0)