diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropEditController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropEditController.java index a86532174..b1e622498 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropEditController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/DatapropEditController.java @@ -6,7 +6,6 @@ import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import javax.servlet.RequestDispatcher; @@ -143,43 +142,20 @@ public class DatapropEditController extends BaseEditController { DataPropertyDao assertionsDpDao = vreq.getUnfilteredAssertionsWebappDaoFactory().getDataPropertyDao(); - List superURIs = assertionsDpDao.getSuperPropertyURIs(dp.getURI(),false); - List superProperties = new ArrayList(); - Iterator superURIit = superURIs.iterator(); - while (superURIit.hasNext()) { - String superURI = (String) superURIit.next(); - if (superURI != null) { - DataProperty superProperty = assertionsDpDao.getDataPropertyByURI(superURI); - if (superProperty != null) { - superProperties.add(superProperty); - } - } - } - request.setAttribute("superproperties",superProperties); + List superProps = getDataPropertiesForURIList( + assertionsDpDao.getSuperPropertyURIs(dp.getURI(), false), assertionsDpDao); + sortForPickList(superProps, vreq); + request.setAttribute("superproperties", superProps); - List subURIs = assertionsDpDao.getSubPropertyURIs(dp.getURI()); - List subProperties = new ArrayList(); - Iterator subURIit = subURIs.iterator(); - while (subURIit.hasNext()) { - String subURI = (String) subURIit.next(); - DataProperty subProperty = dpDao.getDataPropertyByURI(subURI); - if (subProperty != null) { - subProperties.add(subProperty); - } - } - request.setAttribute("subproperties",subProperties); + List subProps = getDataPropertiesForURIList( + assertionsDpDao.getSubPropertyURIs(dp.getURI()), assertionsDpDao); + sortForPickList(subProps, vreq); + request.setAttribute("subproperties", subProps); - List eqURIs = assertionsDpDao.getEquivalentPropertyURIs(dp.getURI()); - List eqProperties = new ArrayList(); - Iterator eqURIit = eqURIs.iterator(); - while (eqURIit.hasNext()) { - String eqURI = (String) eqURIit.next(); - DataProperty eqProperty = dpDao.getDataPropertyByURI(eqURI); - if (eqProperty != null) { - eqProperties.add(eqProperty); - } - } - request.setAttribute("equivalentProperties", eqProperties); + List eqProps = getDataPropertiesForURIList( + assertionsDpDao.getEquivalentPropertyURIs(dp.getURI()), assertionsDpDao); + sortForPickList(eqProps, vreq); + request.setAttribute("equivalentProperties", eqProps); ApplicationBean appBean = vreq.getAppBean(); @@ -202,5 +178,17 @@ public class DatapropEditController extends BaseEditController { public void doGet (HttpServletRequest request, HttpServletResponse response) { doPost(request,response); } + + private List getDataPropertiesForURIList(List propertyURIs, + DataPropertyDao dpDao) { + List properties = new ArrayList(); + for (String propertyURI : propertyURIs) { + DataProperty property = dpDao.getDataPropertyByURI(propertyURI); + if (property != null) { + properties.add(property); + } + } + return properties; + } } \ No newline at end of file diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyEditController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyEditController.java index 4e4ca840e..8b03779dc 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyEditController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/PropertyEditController.java @@ -194,43 +194,20 @@ public class PropertyEditController extends BaseEditController { // superproperties and subproperties ObjectPropertyDao opDao = vreq.getUnfilteredAssertionsWebappDaoFactory().getObjectPropertyDao(); - List superURIs = opDao.getSuperPropertyURIs(p.getURI(),false); - List superProperties = new ArrayList(); - Iterator superURIit = superURIs.iterator(); - while (superURIit.hasNext()) { - String superURI = (String) superURIit.next(); - if (superURI != null) { - ObjectProperty superProperty = opDao.getObjectPropertyByURI(superURI); - if (superProperty != null) { - superProperties.add(superProperty); - } - } - } - request.setAttribute("superproperties",superProperties); + List superProps = getObjectPropertiesForURIList( + opDao.getSuperPropertyURIs(p.getURI(), false), opDao); + sortForPickList(superProps, vreq); + request.setAttribute("superproperties", superProps); - List subURIs = opDao.getSubPropertyURIs(p.getURI()); - List subProperties = new ArrayList(); - Iterator subURIit = subURIs.iterator(); - while (subURIit.hasNext()) { - String subURI = (String) subURIit.next(); - ObjectProperty subProperty = opDao.getObjectPropertyByURI(subURI); - if (subProperty != null) { - subProperties.add(subProperty); - } - } - request.setAttribute("subproperties",subProperties); + List subProps = getObjectPropertiesForURIList( + opDao.getSubPropertyURIs(p.getURI()), opDao); + sortForPickList(subProps, vreq); + request.setAttribute("subproperties", subProps); - List eqURIs = opDao.getEquivalentPropertyURIs(p.getURI()); - List eqProperties = new ArrayList(); - Iterator eqURIit = eqURIs.iterator(); - while (eqURIit.hasNext()) { - String eqURI = (String) eqURIit.next(); - ObjectProperty eqProperty = opDao.getObjectPropertyByURI(eqURI); - if (eqProperty != null) { - eqProperties.add(eqProperty); - } - } - request.setAttribute("equivalentProperties", eqProperties); + List eqProps = getObjectPropertiesForURIList( + opDao.getEquivalentPropertyURIs(p.getURI()), opDao); + sortForPickList(eqProps, vreq); + request.setAttribute("equivalentProperties", eqProps); RequestDispatcher rd = request.getRequestDispatcher(Controllers.BASIC_JSP); request.setAttribute("epoKey",epo.getKey()); @@ -252,5 +229,17 @@ public class PropertyEditController extends BaseEditController { public void doGet (HttpServletRequest request, HttpServletResponse response) { doPost(request,response); } + + private List getObjectPropertiesForURIList(List propertyURIs, + ObjectPropertyDao opDao) { + List properties = new ArrayList(); + for (String propertyURI : propertyURIs) { + ObjectProperty property = opDao.getObjectPropertyByURI(propertyURI); + if (property != null) { + properties.add(property); + } + } + return properties; + } }