sorting related classes on vclass edit page
This commit is contained in:
parent
f8ab3d1016
commit
4447fc3d63
1 changed files with 30 additions and 59 deletions
|
@ -143,68 +143,26 @@ public class VclassEditController extends BaseEditController {
|
||||||
|
|
||||||
// if supported, we want to show only the asserted superclasses and subclasses.
|
// if supported, we want to show only the asserted superclasses and subclasses.
|
||||||
VClassDao vcDao = ModelAccess.on(getServletContext()).getBaseWebappDaoFactory().getVClassDao();
|
VClassDao vcDao = ModelAccess.on(getServletContext()).getBaseWebappDaoFactory().getVClassDao();
|
||||||
List superURIs = vcDao.getSuperClassURIs(vcl.getURI(),false);
|
|
||||||
List superVClasses = new ArrayList();
|
List<VClass> superVClasses = getVClassesForURIList(
|
||||||
Iterator superURIit = superURIs.iterator();
|
vcDao.getSuperClassURIs(vcl.getURI(),false), vcDao);
|
||||||
while (superURIit.hasNext()) {
|
sortForPickList(superVClasses, request);
|
||||||
String superURI = (String) superURIit.next();
|
|
||||||
if (superURI != null) {
|
|
||||||
VClass superVClass = vcDao.getVClassByURI(superURI);
|
|
||||||
if (superVClass != null) {
|
|
||||||
superVClasses.add(superVClass);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
request.setAttribute("superclasses",superVClasses);
|
request.setAttribute("superclasses",superVClasses);
|
||||||
|
|
||||||
List subURIs = vcDao.getSubClassURIs(vcl.getURI());
|
List<VClass> subVClasses = getVClassesForURIList(
|
||||||
List subVClasses = new ArrayList();
|
vcDao.getSubClassURIs(vcl.getURI()), vcDao);
|
||||||
Iterator subURIit = subURIs.iterator();
|
sortForPickList(subVClasses, request);
|
||||||
while (subURIit.hasNext()) {
|
|
||||||
String subURI = (String) subURIit.next();
|
|
||||||
VClass subVClass = vcDao.getVClassByURI(subURI);
|
|
||||||
if (subVClass != null) {
|
|
||||||
subVClasses.add(subVClass);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
request.setAttribute("subclasses",subVClasses);
|
request.setAttribute("subclasses",subVClasses);
|
||||||
|
|
||||||
try {
|
List<VClass> djVClasses = getVClassesForURIList(
|
||||||
List djURIs = vcDao.getDisjointWithClassURIs(vcl.getURI());
|
vcDao.getDisjointWithClassURIs(vcl.getURI()), vcDao);
|
||||||
List djVClasses = new ArrayList();
|
sortForPickList(djVClasses, request);
|
||||||
Iterator djURIit = djURIs.iterator();
|
|
||||||
while (djURIit.hasNext()) {
|
|
||||||
String djURI = (String) djURIit.next();
|
|
||||||
try {
|
|
||||||
VClass djVClass = vcDao.getVClassByURI(djURI);
|
|
||||||
if (djVClass != null) {
|
|
||||||
djVClasses.add(djVClass);
|
|
||||||
}
|
|
||||||
} catch (Exception e) { /* probably owl:Nothing or some other such nonsense */ }
|
|
||||||
}
|
|
||||||
request.setAttribute("disjointClasses",djVClasses);
|
request.setAttribute("disjointClasses",djVClasses);
|
||||||
} catch (Exception e) {
|
|
||||||
log.error(e, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
List<VClass> eqVClasses = getVClassesForURIList(
|
||||||
List eqURIs = vcDao.getEquivalentClassURIs(vcl.getURI());
|
vcDao.getEquivalentClassURIs(vcl.getURI()), vcDao);
|
||||||
List eqVClasses = new ArrayList();
|
sortForPickList(eqVClasses, request);
|
||||||
Iterator eqURIit = eqURIs.iterator();
|
|
||||||
while (eqURIit.hasNext()) {
|
|
||||||
String eqURI = (String) eqURIit.next();
|
|
||||||
try {
|
|
||||||
VClass eqVClass = vcDao.getVClassByURI(eqURI);
|
|
||||||
if (eqVClass != null) {
|
|
||||||
eqVClasses.add(eqVClass);
|
|
||||||
}
|
|
||||||
} catch (Exception e) { }
|
|
||||||
}
|
|
||||||
request.setAttribute("equivalentClasses",eqVClasses);
|
request.setAttribute("equivalentClasses",eqVClasses);
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("Couldn't get the equivalent classes: ");
|
|
||||||
log.error(e, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
// add the options
|
// add the options
|
||||||
foo.setOptionLists(OptionMap);
|
foo.setOptionLists(OptionMap);
|
||||||
|
@ -234,4 +192,17 @@ public class VclassEditController extends BaseEditController {
|
||||||
doPost(request,response);
|
doPost(request,response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<VClass> getVClassesForURIList(List<String> vclassURIs, VClassDao vcDao) {
|
||||||
|
List<VClass> vclasses = new ArrayList<VClass>();
|
||||||
|
Iterator<String> urIt = vclassURIs.iterator();
|
||||||
|
while (urIt.hasNext()) {
|
||||||
|
String vclassURI = urIt.next();
|
||||||
|
VClass vclass = vcDao.getVClassByURI(vclassURI);
|
||||||
|
if (vclass != null) {
|
||||||
|
vclasses.add(vclass);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return vclasses;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue