NIHVIVO-2089 improvements to handling of individuals not found in SDB

This commit is contained in:
bjl23 2011-02-09 17:43:13 +00:00
parent fad60f5e04
commit f09ac267a2

View file

@ -136,7 +136,10 @@ public class IndividualDaoSDB extends IndividualDaoJena {
continue; continue;
} }
if (uri != null && !uri.equals(currRes.getURI())) { if (uri != null && !uri.equals(currRes.getURI())) {
ents.add(makeIndividual(uri, label, moniker)); Individual ent = makeIndividual(uri, label, moniker);
if (ent != null) {
ents.add(ent);
}
uri = currRes.getURI(); uri = currRes.getURI();
label = null; label = null;
moniker = null; moniker = null;
@ -152,7 +155,10 @@ public class IndividualDaoSDB extends IndividualDaoJena {
moniker = monikerLit.getLexicalForm(); moniker = monikerLit.getLexicalForm();
} }
if (!rs.hasNext()) { if (!rs.hasNext()) {
ents.add(makeIndividual(uri, label, moniker)); Individual ent = makeIndividual(uri, label, moniker);
if (ent != null) {
ents.add(ent);
}
} }
} }
} finally { } finally {
@ -368,7 +374,13 @@ public class IndividualDaoSDB extends IndividualDaoJena {
return innerIt.hasNext(); return innerIt.hasNext();
} }
public Object next() { public Object next() {
return makeIndividual(innerIt.next()); String indURI = innerIt.next();
Individual ind = makeIndividual(indURI);
if (ind != null) {
return ind;
} else {
return new IndividualImpl(indURI);
}
} }
public void remove() { public void remove() {
//not used //not used
@ -388,7 +400,10 @@ public class IndividualDaoSDB extends IndividualDaoJena {
Iterator indIt = cls.listInstances(); Iterator indIt = cls.listInstances();
while (indIt.hasNext()) { while (indIt.hasNext()) {
com.hp.hpl.jena.ontology.Individual ind = (com.hp.hpl.jena.ontology.Individual) indIt.next(); com.hp.hpl.jena.ontology.Individual ind = (com.hp.hpl.jena.ontology.Individual) indIt.next();
ents.add(makeIndividual(ind.getURI())); Individual ent = makeIndividual(ind.getURI());
if (ent != null) {
ents.add(ent);
}
} }
return ents.iterator(); return ents.iterator();
} finally { } finally {
@ -437,7 +452,10 @@ public class IndividualDaoSDB extends IndividualDaoJena {
typeIt.close(); typeIt.close();
} }
if (userVisible) { if (userVisible) {
ents.add(makeIndividual(ent.getURI())); Individual ind = makeIndividual(ent.getURI());
if (ind != null) {
ents.add(ind);
}
} }
} }
} }