From 0f05edf2968d07eb8a3f8acec01e43cba90824a1 Mon Sep 17 00:00:00 2001 From: ass92 Date: Thu, 27 Jan 2011 21:14:36 +0000 Subject: [PATCH] NIHVIVO-1876 csv tool optimization. --- .../controller/jena/JenaIngestController.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java index 2c955e8ed..98b6b08bc 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaIngestController.java @@ -756,14 +756,13 @@ public class JenaIngestController extends BaseEditController { else{ destination.add(utils.renameBNodesByPattern(source, namespaceEtc, vreq.getJenaOntModel(), pattern, property)); } - if(csv2rdf){ + if(csv2rdf && property!=null){ ClosableIterator closeIt = destination.listSubjects(); Property prop = ResourceFactory.createProperty(property); try { for (Iterator it = closeIt; it.hasNext();) { Resource res = (Resource) it.next(); if (res.isAnon()) { - // now we do something hacky to get the same resource in the outModel, since there's no getResourceById(); ClosableIterator closfIt = destination.listStatements(res,prop,(RDFNode)null); Statement stmt = null; try { @@ -785,6 +784,21 @@ public class JenaIngestController extends BaseEditController { csv2rdf = false; getServletContext().setAttribute("csv2rdf", csv2rdf); } + else if(csv2rdf && property == null){ + ClosableIterator closeIt = destination.listSubjects(); + try { + for (Iterator it = closeIt; it.hasNext();) { + Resource res = (Resource) it.next(); + if (res.isAnon()) { + destination.removeAll(res,(Property)null,(RDFNode)null); + } + } + } finally { + closeIt.close(); + } + csv2rdf = false; + getServletContext().setAttribute("csv2rdf", csv2rdf); + } } finally { destination.leaveCriticalSection();