From c8172a49ea974d168da3fce7293bd0e6a3620e4f Mon Sep 17 00:00:00 2001 From: bjl23 Date: Mon, 5 Apr 2010 12:37:40 +0000 Subject: [PATCH] bugfixes for NIHVIVO-177 and NIHVIVO-205 --- .../ontology/update/OntologyUpdater.java | 4 ++-- .../servlet/setup/UpdateKnowledgeBase.java | 23 +++++++++++-------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/OntologyUpdater.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/OntologyUpdater.java index f98302293..0eac83462 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/OntologyUpdater.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/OntologyUpdater.java @@ -159,8 +159,8 @@ public class OntologyUpdater { aboxModel.enterCriticalSection(Lock.WRITE); try { JenaIngestUtils jiu = new JenaIngestUtils(); - jiu.renameBNodes(anonModel, settings.getDefaultNamespace() + "n", - aboxModel); + aboxModel.add(jiu.renameBNodes(anonModel, settings.getDefaultNamespace() + "n", + aboxModel)); } finally { aboxModel.leaveCriticalSection(); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBase.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBase.java index 3427d248d..944e2387c 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBase.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBase.java @@ -132,21 +132,26 @@ public class UpdateKnowledgeBase implements ServletContextListener { OntModel applicationMetadataModel = oms.getApplicationMetadataModel(); FileInputStream fis = new FileInputStream(new File(filename)); replacementValues.read(fis, null); + Model retractions = ModelFactory.createDefaultModel(); + Model additions = ModelFactory.createDefaultModel(); StmtIterator replaceIt = replacementValues.listStatements(); while (replaceIt.hasNext()) { Statement replacement = replaceIt.nextStatement(); applicationMetadataModel.enterCriticalSection(Lock.WRITE); try { - Iterator resIt = - applicationMetadataModel.listSubjectsWithProperty( - replacement.getPredicate(), replacement.getObject()); - while (resIt.hasNext()) { - Resource subj = resIt.next(); - applicationMetadataModel.removeAll( - subj, replacement.getPredicate(), (RDFNode) null); - applicationMetadataModel.add( - subj, replacement.getPredicate(), replacement.getObject()); + StmtIterator stmtIt = + applicationMetadataModel.listStatements( + (Resource) null, replacement.getPredicate(), + (RDFNode) null); + while (stmtIt.hasNext()) { + Statement stmt = stmtIt.nextStatement(); + retractions.add(stmt); + additions.add(stmt.getSubject(), + replacement.getPredicate(), + replacement.getObject()); } + applicationMetadataModel.remove(retractions); + applicationMetadataModel.add(additions); } finally { applicationMetadataModel.leaveCriticalSection(); }