in redback-rbac/redback-rbac-role-manager/src/main/java/org/apache/archiva/redback/role/validator/DefaultRoleModelValidator.java [87:182]
private void validateRequiredStructure(RedbackRoleModel model) {
// validate model has name
for (ModelApplication application : model.getApplications()) {
if (application.getId() == null) {
addValidationError("model is missing application name");
}
// validate model has version
if (application.getVersion() == null) {
addValidationError(application.getId() + " is missing version");
}
// validate resource bits
for (ModelResource resource : application.getResources()) {
if (resource.getName() == null) {
addValidationError(resource.toString() + " missing name");
}
if (resource.getId() == null) {
addValidationError(resource.toString() + " missing id");
}
}
// validate the operations
for (ModelOperation operation : application.getOperations()) {
if (operation.getName() == null) {
addValidationError(operation.toString() + " missing name");
}
if (operation.getId() == null) {
addValidationError(operation.toString() + " missing id");
}
}
for (ModelRole role : application.getRoles()) {
if (role.getId() == null) {
addValidationError(role.toString() + " missing id");
}
if (role.getName() == null) {
addValidationError(role.toString() + " missing name");
}
if (role.getPermissions() != null) {
for (ModelPermission permission : role.getPermissions()) {
if (permission.getName() == null) {
addValidationError(permission.toString() + " missing name");
}
if (permission.getId() == null) {
addValidationError(permission.toString() + " missing id");
}
if (permission.getOperation() == null) {
addValidationError(permission.toString() + " missing operations");
}
if (permission.getResource() == null) {
addValidationError(permission.toString() + " missing resource");
}
}
}
}
for (ModelTemplate template : application.getTemplates()) {
if (template.getId() == null) {
addValidationError(template.toString() + " missing id");
}
if (template.getNamePrefix() == null) {
addValidationError(template.toString() + " missing name prefix");
}
if (template.getPermissions() != null) {
for (ModelPermission permission : template.getPermissions()) {
if (permission.getName() == null) {
addValidationError(permission.toString() + " missing name");
}
if (permission.getId() == null) {
addValidationError(permission.toString() + " missing id");
}
if (permission.getOperation() == null) {
addValidationError(permission.toString() + " missing operations");
}
if (permission.getResource() == null) {
addValidationError(permission.toString() + " missing resource");
}
}
}
}
}
}