NIHVIVO-2484 Provide a link to a classgroup with no public name on the classgroups list page, so the user can navigate to the page for the group and edit it.

This commit is contained in:
ryounes 2011-04-13 20:17:18 +00:00
parent e3961cdd20
commit 12f6e832e6

View file

@ -11,6 +11,8 @@ import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import edu.cornell.mannlib.vedit.controller.BaseEditController; import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.beans.Portal; import edu.cornell.mannlib.vitro.webapp.beans.Portal;
import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.beans.VClass;
@ -20,6 +22,9 @@ import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao; import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao;
public class AllClassGroupsListingController extends BaseEditController { public class AllClassGroupsListingController extends BaseEditController {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) { public void doGet(HttpServletRequest request, HttpServletResponse response) {
if(!checkLoginStatus(request,response)) if(!checkLoginStatus(request,response))
@ -38,9 +43,9 @@ public class AllClassGroupsListingController extends BaseEditController {
VClassGroupDao dao = vreq.getFullWebappDaoFactory().getVClassGroupDao(); VClassGroupDao dao = vreq.getFullWebappDaoFactory().getVClassGroupDao();
List groups = dao.getPublicGroupsWithVClasses(); // uses an unfiltered dao so will see all classes List<?> groups = dao.getPublicGroupsWithVClasses(); // uses an unfiltered dao so will see all classes
ArrayList results = new ArrayList(); ArrayList<String> results = new ArrayList<String>();
results.add("XX"); results.add("XX");
results.add("Group"); results.add("Group");
results.add("display rank"); results.add("display rank");
@ -48,23 +53,23 @@ public class AllClassGroupsListingController extends BaseEditController {
results.add("XX"); results.add("XX");
if (groups != null) { if (groups != null) {
Iterator groupsIt = groups.iterator(); Iterator<?> groupsIt = groups.iterator();
while (groupsIt.hasNext()) { while (groupsIt.hasNext()) {
VClassGroup vcg = (VClassGroup) groupsIt.next(); VClassGroup vcg = (VClassGroup) groupsIt.next();
results.add("XX"); results.add("XX");
if (vcg.getPublicName() != null) { String publicName = vcg.getPublicName();
try { if ( StringUtils.isEmpty(publicName) ) {
results.add("<a href=\"./editForm?uri="+URLEncoder.encode(vcg.getURI(),"UTF-8")+"&amp;home="+portal.getPortalId()+"&amp;controller=Classgroup\">"+vcg.getPublicName()+"</a>"); publicName = "(unnamed group)";
} catch (Exception e) {
results.add(vcg.getPublicName());
} }
} else { try {
results.add(""); results.add("<a href=\"./editForm?uri="+URLEncoder.encode(vcg.getURI(),"UTF-8")+"&amp;home="+portal.getPortalId()+"&amp;controller=Classgroup\">"+publicName+"</a>");
} catch (Exception e) {
results.add(publicName);
} }
results.add(Integer.valueOf(vcg.getDisplayRank()).toString()); results.add(Integer.valueOf(vcg.getDisplayRank()).toString());
results.add("???"); // VClassGroup doesn't yet supprt getModTime() results.add("???"); // VClassGroup doesn't yet supprt getModTime()
results.add("XX"); results.add("XX");
List classList = vcg.getVitroClassList(); List<?> classList = vcg.getVitroClassList();
if (classList != null && classList.size()>0) { if (classList != null && classList.size()>0) {
results.add("+"); results.add("+");
results.add("XX"); results.add("XX");
@ -72,7 +77,7 @@ public class AllClassGroupsListingController extends BaseEditController {
results.add("example"); results.add("example");
results.add("description"); results.add("description");
results.add("@@entities"); results.add("@@entities");
Iterator classIt = classList.iterator(); Iterator<?> classIt = classList.iterator();
while (classIt.hasNext()) { while (classIt.hasNext()) {
VClass vcw = (VClass) classIt.next(); VClass vcw = (VClass) classIt.next();
results.add("XX"); results.add("XX");