From 5e7b53825589e90290703f462d83d953fca02456 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Wed, 25 Jan 2012 17:42:48 +0000 Subject: [PATCH] NIHVIVO-3569 added missing model lock to avoid ConcurrentModificationException when creating/retrieving a data property (merge from 1.4 maint branch) --- .../vitro/webapp/dao/jena/DataPropertyDaoJena.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java index e8112b3e6..f0d6f4c3e 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java @@ -459,7 +459,13 @@ public class DataPropertyDaoJena extends PropertyDaoJena implements } public DataProperty getDataPropertyByURI(String dataPropertyURI) { - return datapropFromOntProperty(getOntModelSelector().getTBoxModel().getDatatypeProperty(dataPropertyURI)); + OntModel tboxModel = getOntModelSelector().getTBoxModel(); + tboxModel.enterCriticalSection(Lock.READ); + try { + return datapropFromOntProperty(tboxModel.getDatatypeProperty(dataPropertyURI)); + } finally { + tboxModel.leaveCriticalSection(); + } } public String insertDataProperty(DataProperty dtp) throws InsertException{