Search in sources :

Example 1 with Include

use of org.jaffa.security.securityrolesdomain.Include in project jaffa-framework by jaffa-projects.

the class UserMaintenanceTx method performUserRoleValidations.

private void performUserRoleValidations(String[] userRole, User domain) throws ApplicationExceptions {
    ApplicationExceptions appExps = null;
    boolean foundExcludedRole = false;
    Roles root = PolicyCache.getRoles();
    if (root != null) {
        List roleObjects = root.getRole();
        if (roleObjects != null) {
            for (Iterator it = roleObjects.iterator(); it.hasNext(); ) {
                Role role = (Role) it.next();
                if (Arrays.binarySearch(userRole, role.getName()) >= 0) {
                    List includes = role.getInclude();
                    if (includes != null) {
                        for (Iterator it2 = includes.iterator(); it2.hasNext(); ) {
                            Include includedObject = (Include) it2.next();
                            String includeName = includedObject.getName();
                            if (Arrays.binarySearch(userRole, includeName) < 0) {
                                if (appExps == null)
                                    appExps = new ApplicationExceptions();
                                appExps.add(new UserMaintenanceException(UserMaintenanceException.PROP_INCLUDED_ROLE_MISSING, role.getName(), includeName));
                            }
                        }
                    }
                    List excludes = role.getExclude();
                    if (excludes != null && !foundExcludedRole) {
                        for (Iterator it2 = excludes.iterator(); it2.hasNext(); ) {
                            Exclude excludedObject = (Exclude) it2.next();
                            String excludeName = excludedObject.getName();
                            if (Arrays.binarySearch(userRole, excludeName) >= 0) {
                                if (appExps == null)
                                    appExps = new ApplicationExceptions();
                                appExps.add(new UserMaintenanceException(UserMaintenanceException.PROP_EXCLUDED_ROLE_PRESENT, role.getName(), excludeName));
                                foundExcludedRole = true;
                            }
                        }
                    }
                }
            }
        }
    }
    if (appExps != null && appExps.size() > 0)
        throw appExps;
}
Also used : Role(org.jaffa.security.securityrolesdomain.Role) UserRole(org.jaffa.applications.jaffa.modules.admin.domain.UserRole) ApplicationExceptions(org.jaffa.exceptions.ApplicationExceptions) Exclude(org.jaffa.security.securityrolesdomain.Exclude) Include(org.jaffa.security.securityrolesdomain.Include) Roles(org.jaffa.security.securityrolesdomain.Roles) UserMaintenanceException(org.jaffa.applications.jaffa.modules.admin.components.usermaintenance.tx.exceptions.UserMaintenanceException)

Example 2 with Include

use of org.jaffa.security.securityrolesdomain.Include in project jaffa-framework by jaffa-projects.

the class UserMaintenanceForm method processIncludes.

private boolean processIncludes(HttpServletRequest request, Collection userRole) {
    boolean noNewElement = true;
    Roles root = PolicyCache.getRoles();
    if (root != null) {
        List roleObjects = root.getRole();
        if (roleObjects != null) {
            for (Iterator it = roleObjects.iterator(); it.hasNext(); ) {
                Role role = (Role) it.next();
                if (userRole.contains(role.getName())) {
                    List includes = role.getInclude();
                    if (includes != null) {
                        for (Iterator it2 = includes.iterator(); it2.hasNext(); ) {
                            Include includedObject = (Include) it2.next();
                            String includeName = includedObject.getName();
                            if (!userRole.contains(includeName)) {
                                userRole.add(includeName);
                                updateRolesModel(includeName);
                                raiseError(request, "roles", new ActionMessage("error.Jaffa.Admin.UserMaintenance.AddRolesSelection", "" + role.getName(), "" + includeName));
                                noNewElement = false;
                            }
                        }
                    }
                }
            }
        }
    }
    return noNewElement;
}
Also used : Role(org.jaffa.security.securityrolesdomain.Role) ActionMessage(org.apache.struts.action.ActionMessage) Include(org.jaffa.security.securityrolesdomain.Include) Roles(org.jaffa.security.securityrolesdomain.Roles)

Aggregations

Include (org.jaffa.security.securityrolesdomain.Include)2 Role (org.jaffa.security.securityrolesdomain.Role)2 Roles (org.jaffa.security.securityrolesdomain.Roles)2 ActionMessage (org.apache.struts.action.ActionMessage)1 UserMaintenanceException (org.jaffa.applications.jaffa.modules.admin.components.usermaintenance.tx.exceptions.UserMaintenanceException)1 UserRole (org.jaffa.applications.jaffa.modules.admin.domain.UserRole)1 ApplicationExceptions (org.jaffa.exceptions.ApplicationExceptions)1 Exclude (org.jaffa.security.securityrolesdomain.Exclude)1