sorting related classes on vclass edit page

This commit is contained in:
brianjlowe 2013-10-16 09:46:58 -04:00
parent f8ab3d1016
commit 4447fc3d63

View file

@ -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;
}
} }