Ejemplo n.º 1
0
  public static List<WikiNode> getNodes(
      List<WikiNode> nodes, String[] hiddenNodes, PermissionChecker permissionChecker) {

    nodes = ListUtil.copy(nodes);

    Arrays.sort(hiddenNodes);

    Iterator<WikiNode> itr = nodes.iterator();

    while (itr.hasNext()) {
      WikiNode node = itr.next();

      if (!(Arrays.binarySearch(hiddenNodes, node.getName()) < 0)
          || !WikiNodePermission.contains(permissionChecker, node, ActionKeys.VIEW)) {

        itr.remove();
      }
    }

    return nodes;
  }
Ejemplo n.º 2
0
  public static WikiNode getFirstNode(PortletRequest portletRequest)
      throws PortalException, SystemException {

    ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);
    long groupId = themeDisplay.getScopeGroupId();
    PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

    List<WikiNode> nodes = WikiNodeLocalServiceUtil.getNodes(groupId);

    PortletPreferences preferences = portletRequest.getPreferences();
    String[] visibleNodeNames = StringUtil.split(preferences.getValue("visibleNodes", null));
    nodes = orderNodes(nodes, visibleNodeNames);

    String[] hiddenNodes = StringUtil.split(preferences.getValue("hiddenNodes", StringPool.BLANK));
    Arrays.sort(hiddenNodes);

    for (WikiNode node : nodes) {
      if ((Arrays.binarySearch(hiddenNodes, node.getName()) < 0)
          && (WikiNodePermission.contains(permissionChecker, node, ActionKeys.VIEW))) {
        return node;
      }
    }
    return null;
  }