private void validateRequiredStructure()

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");
                        }
                    }
                }
            }
        }
    }