NIHVIVO-1849 added check for empty result set

This commit is contained in:
bjl23 2011-01-21 16:19:54 +00:00
parent 781f3d042f
commit aeff100428

View file

@ -939,16 +939,22 @@ public class IndividualSDB extends IndividualImpl implements Individual {
propertyURI + "> ?object} \n" + propertyURI + "> ?object} \n" +
WebappDaoFactorySDB.getFilterBlock(graphVars, datasetMode) + WebappDaoFactorySDB.getFilterBlock(graphVars, datasetMode) +
"}"; "}";
ResultSet results = QueryExecutionFactory.create( QueryExecution qe = QueryExecutionFactory.create(
QueryFactory.create(valueOfProperty), dataset).execSelect(); QueryFactory.create(valueOfProperty), dataset);
try {
ResultSet results = qe.execSelect();
if (results.hasNext()) {
QuerySolution result = results.next(); QuerySolution result = results.next();
RDFNode value = result.get("object"); RDFNode value = result.get("object");
if (value != null && value.canAs(OntResource.class)) { if (value != null && value.canAs(OntResource.class)) {
return new IndividualSDB( return new IndividualSDB(
((OntResource) value.as(OntResource.class)).getURI(), ((OntResource) value.as(OntResource.class)).getURI(),
dwf, datasetMode, webappDaoFactory); dwf, datasetMode, webappDaoFactory);
} else { }
}
return null; return null;
} finally {
qe.close();
} }
} finally { } finally {
dataset.getLock().leaveCriticalSection(); dataset.getLock().leaveCriticalSection();