From 4b2da00daf58eaa767e211ab13e0508ec8d8c085 Mon Sep 17 00:00:00 2001 From: ass92 Date: Tue, 13 Jul 2010 12:31:50 +0000 Subject: [PATCH] NIHVIVO-3 code for getUnusedURI in permanent URI tool updated. --- .../controller/jena/JenaIngestController.java | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 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 af3d6f5d6..ec8425887 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 @@ -947,23 +947,25 @@ public class JenaIngestController extends BaseEditController { } - private String getUnusedURI(String newNamespace){ - String uri = null; - SimpleOntModelSelector getModel = new SimpleOntModelSelector(); - OntModel fullModel = getModel.getABoxModel(); - Random random = new Random(); - Resource res = null; - boolean check=true; - log.info("Going into loop"); - do{ - uri = newNamespace + "individual" + random.nextInt(); - res = fullModel.getResource(uri); - check = fullModel.containsResource(res); - }while(check==true); - log.info("url assigned"); - res.removeAll((Property)null); - return uri; + private String getUnusedURI(String newNamespace){ + String uri = null; + Random random = new Random(); + boolean resourcePresent=true; + OntModel vitroJenaModel = (OntModel) getServletContext().getAttribute("baseOntModel"); + log.info("Going into loop"); + Resource res = null; + do{ + uri = newNamespace + "individual" + random.nextInt(); + res = vitroJenaModel.getResource(uri); + StmtIterator stmtItr1 = vitroJenaModel.listStatements(res,(Property)null,(RDFNode)null); + if(!stmtItr1.hasNext()){ + resourcePresent=false; } + }while(resourcePresent); + log.info("url assigned"); + res.removeAll((Property)null); + return uri; + } public void prepareSmush (VitroRequest vreq) { String smushPropURI = vreq.getParameter("smushPropURI");