<?xml version="1.0" ?>
<component-set>
  <components>
    <component>
      <role>org.codehaus.plexus.redback.role.RoleManager</role>
      <role-hint>default</role-hint>
      <implementation>org.codehaus.plexus.redback.role.DefaultRoleManager</implementation>
      <description>RoleProfileManager:</description>
      <requirements>
        <requirement>
          <role>org.codehaus.plexus.redback.role.validator.RoleModelValidator</role>
          <role-hint>default</role-hint>
          <field-name>modelValidator</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.redback.role.processor.RoleModelProcessor</role>
          <role-hint>default</role-hint>
          <field-name>modelProcessor</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.redback.role.template.RoleTemplateProcessor</role>
          <role-hint>default</role-hint>
          <field-name>templateProcessor</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.redback.rbac.RBACManager</role>
          <role-hint>memory</role-hint>
          <field-name>rbacManager</field-name>
        </requirement>
      </requirements>
    </component>
    <component>
      <role>org.codehaus.plexus.redback.role.processor.RoleModelProcessor</role>
      <role-hint>default</role-hint>
      <implementation>org.codehaus.plexus.redback.role.processor.DefaultRoleModelProcessor</implementation>
      <description>DefaultRoleModelProcessor: inserts the components of the model that can be populated into the rbac manager</description>
      <requirements>
        <requirement>
          <role>org.codehaus.plexus.redback.rbac.RBACManager</role>
          <role-hint>memory</role-hint>
          <field-name>rbacManager</field-name>
        </requirement>
      </requirements>
    </component>
    
    <component>
      <role>org.codehaus.plexus.redback.role.template.RoleTemplateProcessor</role>
      <role-hint>default</role-hint>
      <implementation>org.codehaus.plexus.redback.role.template.DefaultRoleTemplateProcessor</implementation>
      <description>DefaultRoleTemplateProcessor: inserts the components of a template into the rbac manager</description>
      <requirements>
        <requirement>
          <role>org.codehaus.plexus.redback.rbac.RBACManager</role>
          <role-hint>memory</role-hint>
          <field-name>rbacManager</field-name>
        </requirement>
      </requirements>
    </component>
        <component>
      <role>org.codehaus.plexus.redback.system.check.EnvironmentCheck</role>
      <role-hint>required-roles</role-hint>
      <implementation>org.apache.maven.archiva.security.ArchivaStandardRolesCheck</implementation>
      <description>ArchivaStandardRolesCheck tests for the existance of expected / standard roles and permissions.</description>
      <requirements>
        <requirement>
          <role>org.codehaus.plexus.redback.rbac.RBACManager</role>
          <role-hint>memory</role-hint>
          <field-name>rbacManager</field-name>
        </requirement>
      </requirements>
    </component>
  
    <component>
      <role>org.apache.maven.archiva.security.SecurityStartup</role>
      <implementation>org.apache.maven.archiva.security.SecurityStartup</implementation>
      <description>SecurityStartup</description>
      <requirements>
        <requirement>
          <role>org.codehaus.plexus.redback.role.RoleManager</role>
          <role-hint>default</role-hint>
          <field-name>roleManager</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.redback.rbac.RBACManager</role>
          <role-hint>memory</role-hint>
          <field-name>rbacManager</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.redback.system.check.EnvironmentCheck</role>
          <field-name>checkers</field-name>
        </requirement>
        <requirement>
          <role>org.apache.maven.archiva.configuration.ArchivaConfiguration</role>
          <field-name>archivaConfiguration</field-name>
        </requirement>
      </requirements>
    </component>
    
  </components>
</component-set>
