resolves NIHVIVO-171 re: syntactically invalid restrictions

This commit is contained in:
bjl23 2010-04-05 15:59:31 +00:00
parent 9af96fd76d
commit 35452e8b36
3 changed files with 62 additions and 0 deletions

View file

@ -116,6 +116,7 @@ public class OperationController extends BaseEditController {
boolean status = performEdit(epo, newObj, action);
if (status == FAILURE) {
retry(request,response);
return;
}
/* put request parameters and attributes into epo where the listeners can see */
@ -165,6 +166,7 @@ public class OperationController extends BaseEditController {
try {
retry(request, response);
return;
} catch (IOException ioe) {
log.error(this.getClass().getName() + " IOError on redirect: ", ioe);
}

View file

@ -189,6 +189,23 @@ public class VClassDaoJena extends JenaBaseDao implements VClassDao {
try {
OntClass cls = getOntClass(ontModel,URI);
if (cls != null) {
//Remove restriction class.
Iterator<Resource> restIt = ontModel.listSubjectsWithProperty(OWL.allValuesFrom, cls);
while(restIt.hasNext()) {
Resource restRes = restIt.next();
if (restRes.canAs(OntResource.class)) {
OntResource restOntRes = (OntResource) restRes.as(OntResource.class);
smartRemove(restOntRes, ontModel);
}
}
restIt = ontModel.listSubjectsWithProperty(OWL.someValuesFrom, cls);
while(restIt.hasNext()) {
Resource restRes = restIt.next();
if (restRes.canAs(OntResource.class)) {
OntResource restOntRes = (OntResource) restRes.as(OntResource.class);
smartRemove(restOntRes, ontModel);
}
}
removeRulesMentioningResource(cls, ontModel);
smartRemove(cls, ontModel);
}