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.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.beans.Portal;
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;
public class AllClassGroupsListingController extends BaseEditController {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) {
if(!checkLoginStatus(request,response))
@ -38,9 +43,9 @@ public class AllClassGroupsListingController extends BaseEditController {
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("Group");
results.add("display rank");
@ -48,23 +53,23 @@ public class AllClassGroupsListingController extends BaseEditController {
results.add("XX");
if (groups != null) {
Iterator groupsIt = groups.iterator();
Iterator<?> groupsIt = groups.iterator();
while (groupsIt.hasNext()) {
VClassGroup vcg = (VClassGroup) groupsIt.next();
results.add("XX");
if (vcg.getPublicName() != null) {
try {
results.add("<a href=\"./editForm?uri="+URLEncoder.encode(vcg.getURI(),"UTF-8")+"&amp;home="+portal.getPortalId()+"&amp;controller=Classgroup\">"+vcg.getPublicName()+"</a>");
} catch (Exception e) {
results.add(vcg.getPublicName());
}
} else {
results.add("");
String publicName = vcg.getPublicName();
if ( StringUtils.isEmpty(publicName) ) {
publicName = "(unnamed group)";
}
try {
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("???"); // VClassGroup doesn't yet supprt getModTime()
results.add("XX");
List classList = vcg.getVitroClassList();
List<?> classList = vcg.getVitroClassList();
if (classList != null && classList.size()>0) {
results.add("+");
results.add("XX");
@ -72,7 +77,7 @@ public class AllClassGroupsListingController extends BaseEditController {
results.add("example");
results.add("description");
results.add("@@entities");
Iterator classIt = classList.iterator();
Iterator<?> classIt = classList.iterator();
while (classIt.hasNext()) {
VClass vcw = (VClass) classIt.next();
results.add("XX");