Revision: 2208 http://archive-access.svn.sourceforge.net/archive-access/?rev=2208&view=rev Author: alexoz Date: 2008-02-27 03:28:06 -0800 (Wed, 27 Feb 2008) Log Message: ----------- * AdminController.java Include list of subnodes in page. Modified Paths: -------------- trunk/archive-access/projects/access-control/oracle/src/main/java/org/archive/accesscontrol/webui/AdminController.java Modified: trunk/archive-access/projects/access-control/oracle/src/main/java/org/archive/accesscontrol/webui/AdminController.java =================================================================== --- trunk/archive-access/projects/access-control/oracle/src/main/java/org/archive/accesscontrol/webui/AdminController.java 2008-02-27 11:27:17 UTC (rev 2207) +++ trunk/archive-access/projects/access-control/oracle/src/main/java/org/archive/accesscontrol/webui/AdminController.java 2008-02-27 11:28:06 UTC (rev 2208) @@ -8,9 +8,11 @@ import java.util.Collections; import java.util.Date; import java.util.HashMap; +import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.TimeZone; import javax.servlet.http.HttpServletRequest; @@ -20,6 +22,7 @@ import org.archive.accesscontrol.model.HibernateRuleDao; import org.archive.accesscontrol.model.Rule; import org.archive.accesscontrol.model.RuleSet; +import org.archive.surt.NewSurtTokenizer; import org.archive.surt.SURTTokenizer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.servlet.ModelAndView; @@ -51,9 +54,11 @@ protected ModelAndView ruleList(String surt, Long editingRuleId, HttpServletRequest request, HttpServletResponse response) throws Exception { + int surtSegments = new NewSurtTokenizer(surt).toList().size(); Map<String, Object> model = new HashMap<String, Object>(); RuleSet rules = ruleDao.getRuleTree(surt); ArrayList<DisplayRule> ruleList = new ArrayList<DisplayRule>(); + ArrayList<String> childSurts = new ArrayList<String>(); for (Rule rule: rules) { int comparison = rule.getSurt().compareTo(surt); @@ -62,13 +67,24 @@ displayRule.setEditing(rule.getId().equals(editingRuleId)); ruleList.add(displayRule); } else { - // lowerRules.add(rule); + try { + String segment = new NewSurtTokenizer(rule.getSurt()) + .toList().get(surtSegments); + if (!childSurts.contains(segment)) { + childSurts.add(segment); + } + } catch (IndexOutOfBoundsException e) { + } } } Collections.sort(ruleList); + ArrayList<String> childSurtsList = new ArrayList<String>(childSurts); + Collections.sort(childSurtsList); + model.put("rules", ruleList); model.put("surt", surt); + model.put("childSurts", childSurtsList); model.put("encodedSurt", URLEncoder.encode(surt, "utf-8")); model.put("breadcrumbs", SurtNode.nodesFromSurt(surt)); model.put("editingRuleId", request.getParameter("edit")); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |