protected List<CmsPrincipal> getPrincipals(boolean includeOtherOus) throws CmsException {

        String ou = getCms().getRequestContext().getCurrentUser().getOuFqn();
        Set<CmsPrincipal> principals = new HashSet<CmsPrincipal>();
        boolean realOnly = Boolean.valueOf(getParamRealonly()).booleanValue();
        if (isShowingUsers()) {
            // include special principals
            if (!realOnly) {
                if (OpenCms.getRoleManager().hasRole(getCms(), CmsRole.VFS_MANAGER)) {
                    CmsUser user = new CmsUser(
                        CmsAccessControlEntry.PRINCIPAL_OVERWRITE_ALL_ID,
                        key(Messages.GUI_LABEL_OVERWRITEALL_0),
                        "",
                        "",
                        "",
                        "",
                        0,
                        0,
                        0,
                        null);
                    user.setDescription(key(Messages.GUI_DESCRIPTION_OVERWRITEALL_0));
                    principals.add(user);
                }
                CmsUser user = new CmsUser(
                    CmsAccessControlEntry.PRINCIPAL_ALL_OTHERS_ID,
                    key(Messages.GUI_LABEL_ALLOTHERS_0),
                    "",
                    "",
                    "",
                    "",
                    0,
                    0,
                    0,
                    null);
                user.setDescription(key(Messages.GUI_DESCRIPTION_ALLOTHERS_0));
                principals.add(user);
            }
            if (includeOtherOus) {
                // add all manageable users
                principals.addAll(OpenCms.getRoleManager().getManageableUsers(getCms(), "", true));
                // add own ou users
                principals.addAll(OpenCms.getOrgUnitManager().getUsers(getCms(), ou, true));
            } else {
                // add own ou users
                principals.addAll(OpenCms.getOrgUnitManager().getUsers(getCms(), ou, false));
            }
        } else {
            // include special principals
            if (!realOnly) {
                if (OpenCms.getRoleManager().hasRole(getCms(), CmsRole.VFS_MANAGER)) {
                    principals.add(
                        new CmsGroup(
                            CmsAccessControlEntry.PRINCIPAL_OVERWRITE_ALL_ID,
                            null,
                            key(Messages.GUI_LABEL_OVERWRITEALL_0),
                            key(Messages.GUI_DESCRIPTION_OVERWRITEALL_0),
                            0));
                }
                principals.add(
                    new CmsGroup(
                        CmsAccessControlEntry.PRINCIPAL_ALL_OTHERS_ID,
                        null,
                        key(Messages.GUI_LABEL_ALLOTHERS_0),
                        key(Messages.GUI_DESCRIPTION_ALLOTHERS_0),
                        0));
            }
            if (includeOtherOus) {
                // add all manageable users
                principals.addAll(OpenCms.getRoleManager().getManageableGroups(getCms(), "", true));
                // add own ou users
                principals.addAll(OpenCms.getOrgUnitManager().getGroups(getCms(), ou, true));
            } else {
                // add own ou users
                principals.addAll(OpenCms.getOrgUnitManager().getGroups(getCms(), ou, false));
            }
        }
        List<CmsPrincipal> ret = new ArrayList<CmsPrincipal>(principals);
        if (getParamFlags() != null) {
            int flags = Integer.parseInt(getParamFlags());
            return new ArrayList<CmsPrincipal>(CmsPrincipal.filterFlag(ret, flags));
        }
        return ret;
    }
protected List < CmsPrincipal > getPrincipals ( boolean includeOtherOus ) throws CmsException { String ou = getCms ( ) . getRequestContext ( ) . getCurrentUser ( ) . getOuFqn ( ) ; Set < CmsPrincipal > principals = new HashSet < CmsPrincipal > ( ) ; boolean realOnly = Boolean . valueOf ( getParamRealonly ( ) ) . booleanValue ( ) ; if ( isShowingUsers ( ) ) { if ( ! realOnly ) { if ( OpenCms . getRoleManager ( ) . hasRole ( getCms ( ) , CmsRole . VFS_MANAGER ) ) { CmsUser user = new CmsUser ( CmsAccessControlEntry . PRINCIPAL_OVERWRITE_ALL_ID , key ( Messages . GUI_LABEL_OVERWRITEALL_0 ) , "" , "" , "" , "" , 0 , 0 , 0 , null ) ; user . setDescription ( key ( Messages . GUI_DESCRIPTION_OVERWRITEALL_0 ) ) ; principals . add ( user ) ; } CmsUser user = new CmsUser ( CmsAccessControlEntry . PRINCIPAL_ALL_OTHERS_ID , key ( Messages . GUI_LABEL_ALLOTHERS_0 ) , "" , "" , "" , "" , 0 , 0 , 0 , null ) ; user . setDescription ( key ( Messages . GUI_DESCRIPTION_ALLOTHERS_0 ) ) ; principals . add ( user ) ; } if ( includeOtherOus ) { principals . addAll ( OpenCms . getRoleManager ( ) . getManageableUsers ( getCms ( ) , "" , true ) ) ; principals . addAll ( OpenCms . getOrgUnitManager ( ) . getUsers ( getCms ( ) , ou , true ) ) ; } else { principals . addAll ( OpenCms . getOrgUnitManager ( ) . getUsers ( getCms ( ) , ou , false ) ) ; } } else { if ( ! realOnly ) { if ( OpenCms . getRoleManager ( ) . hasRole ( getCms ( ) , CmsRole . VFS_MANAGER ) ) { principals . add ( new CmsGroup ( CmsAccessControlEntry . PRINCIPAL_OVERWRITE_ALL_ID , null , key ( Messages . GUI_LABEL_OVERWRITEALL_0 ) , key ( Messages . GUI_DESCRIPTION_OVERWRITEALL_0 ) , 0 ) ) ; } principals . add ( new CmsGroup ( CmsAccessControlEntry . PRINCIPAL_ALL_OTHERS_ID , null , key ( Messages . GUI_LABEL_ALLOTHERS_0 ) , key ( Messages . GUI_DESCRIPTION_ALLOTHERS_0 ) , 0 ) ) ; } if ( includeOtherOus ) { principals . addAll ( OpenCms . getRoleManager ( ) . getManageableGroups ( getCms ( ) , "" , true ) ) ; principals . addAll ( OpenCms . getOrgUnitManager ( ) . getGroups ( getCms ( ) , ou , true ) ) ; } else { principals . addAll ( OpenCms . getOrgUnitManager ( ) . getGroups ( getCms ( ) , ou , false ) ) ; } } List < CmsPrincipal > ret = new ArrayList < CmsPrincipal > ( principals ) ; if ( getParamFlags ( ) != null ) { int flags = Integer . parseInt ( getParamFlags ( ) ) ; return new ArrayList < CmsPrincipal > ( CmsPrincipal . filterFlag ( ret , flags ) ) ; } return ret ; }
Returns the list of principals for selection.<p>

@param includeOtherOus if to include other ou's in the selection

@return a list of principals

@throws CmsException if womething goes wrong