From 6e99b1c707b86cddd8b95ed3ffb519031ba1ce43 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Wed, 9 Dec 2015 22:08:00 +0200 Subject: [PATCH] reverting a small rearrangement of VClassGroupCache to avoid changing the unit test --- .../webapp/dao/jena/VClassGroupCache.java | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java index 9a16f8ddb..baff88223 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VClassGroupCache.java @@ -358,25 +358,24 @@ public class VClassGroupCache implements SearchIndexer.Listener { } } - protected static boolean isClassNameChange(Statement stmt, ServletContext context) { + protected static boolean isClassNameChange(Statement stmt, OntModel jenaOntModel) { // Check if the stmt is a rdfs:label change and that the // subject is an owl:Class. - if( !RDFS.label.equals( stmt.getPredicate() )) { + if( RDFS.label.equals( stmt.getPredicate() )) { + jenaOntModel.enterCriticalSection(Lock.READ); + try{ + return jenaOntModel.contains( + ResourceFactory.createStatement( + ResourceFactory.createResource(stmt.getSubject().getURI()), + RDF.type, + OWL.Class)); + }finally{ + jenaOntModel.leaveCriticalSection(); + } + }else{ return false; - } - OntModel jenaOntModel = ModelAccess.on(context).getOntModelSelector().getTBoxModel(); - jenaOntModel.enterCriticalSection(Lock.READ); - try{ - return jenaOntModel.contains( - ResourceFactory.createStatement( - ResourceFactory.createResource(stmt.getSubject().getURI()), - RDF.type, - OWL.Class)); - }finally{ - jenaOntModel.leaveCriticalSection(); } } - /* ******************** RebuildGroupCacheThread **************** */ protected class RebuildGroupCacheThread extends VitroBackgroundThread { @@ -488,8 +487,11 @@ public class VClassGroupCache implements SearchIndexer.Listener { requestCacheUpdate(); } else if(VitroVocabulary.DISPLAY_RANK.equals(stmt.getPredicate().getURI())){ requestCacheUpdate(); - } else if( isClassNameChange(stmt, context) ) { - requestCacheUpdate(); + } else if (RDFS.label.equals(stmt.getPredicate())){ + OntModel jenaOntModel = ModelAccess.on(context).getOntModelSelector().getTBoxModel(); + if( isClassNameChange(stmt, jenaOntModel) ) { + requestCacheUpdate(); + } } }