Class UserRoleValidator
java.lang.Object
com.broadleafcommerce.auth.resource.service.validation.UserRoleValidator
- All Implemented Interfaces:
com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidator
public class UserRoleValidator
extends Object
implements com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidator
Validations for
UserRole
.- Author:
- Samarth Dhruva (samarthd)
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected UserPermissionService<UserPermission>
protected UserRoleService<UserRole>
protected String
prefixWithEntityValidationMessageKey
(String errorCode) void
setUserPermissionService
(UserPermissionService<UserPermission> permissionService) void
setUserRoleService
(UserRoleService<UserRole> userRoleService) Lazy injection since this validator is itself a service component.boolean
supports
(Class<?> serviceClass, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) void
validate
(Object businessInstance, org.springframework.validation.Errors errors, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) protected void
validateAccountPermissions
(UserRole userRole, org.springframework.validation.Errors errors, Set<UserPermission> rolePermissions) Validates that an account based role only has account permissions and that non-account roles do not have account permissions.void
validateForReplace
(Object businessInstance, org.springframework.validation.Errors errors, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) protected void
validateName
(org.springframework.validation.Errors errors) protected void
validateParentRoleId
(UserRole role, org.springframework.validation.Errors errors) Traverses the full ancestry of the role to confirm each ancestor still exists and there are no cycles, either in the case that the ancestors already had cycles, or in the case that this role itself causes a cycle.protected void
validateRolePermissions
(UserRole userRole, org.springframework.validation.Errors errors) protected void
validateUserAssignablePermissions
(UserRole userRole, org.springframework.validation.Errors errors, Set<UserPermission> permissions) Validates that permissions that are notuser assignable
are not assigned to the role.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidator
validateForCreate, validateForUpdate
-
Constructor Details
-
UserRoleValidator
public UserRoleValidator()
-
-
Method Details
-
setUserRoleService
Lazy injection since this validator is itself a service component. This avoids circular dependency exceptions- Parameters:
userRoleService
- the role service
-
setUserPermissionService
@Autowired @Lazy public void setUserPermissionService(UserPermissionService<UserPermission> permissionService) -
supports
public boolean supports(Class<?> serviceClass, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) - Specified by:
supports
in interfacecom.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidator
-
validate
public void validate(@NonNull Object businessInstance, @NonNull org.springframework.validation.Errors errors, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) - Specified by:
validate
in interfacecom.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidator
-
validateForReplace
public void validateForReplace(Object businessInstance, org.springframework.validation.Errors errors, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) - Specified by:
validateForReplace
in interfacecom.broadleafcommerce.data.tracking.core.mapping.validation.EntityValidator
-
validateName
protected void validateName(org.springframework.validation.Errors errors) -
validateRolePermissions
protected void validateRolePermissions(UserRole userRole, org.springframework.validation.Errors errors) -
validateUserAssignablePermissions
protected void validateUserAssignablePermissions(UserRole userRole, org.springframework.validation.Errors errors, Set<UserPermission> permissions) Validates that permissions that are notuser assignable
are not assigned to the role. -
validateAccountPermissions
protected void validateAccountPermissions(UserRole userRole, org.springframework.validation.Errors errors, Set<UserPermission> rolePermissions) Validates that an account based role only has account permissions and that non-account roles do not have account permissions.- Parameters:
userRole
-errors
-
-
validateParentRoleId
Traverses the full ancestry of the role to confirm each ancestor still exists and there are no cycles, either in the case that the ancestors already had cycles, or in the case that this role itself causes a cycle. SeevalidateRoleAncestry(UserRole, Errors)
for more information.- Parameters:
role
- the role to validateerrors
- the errors object bound to therole
on which errors can be registered
-
prefixWithEntityValidationMessageKey
-
getUserRoleService
-
getPermissionService
-