Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-2723

Get duplicated plexus ComponentDescriptor when there are multiple nexus plugin installed

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.4.0
    • Fix Version/s: 1.4.0
    • Component/s: None
    • Labels:
      None

      Description

      here is the code snippet

      List<ComponentDescriptor<?>> componentMap = container.getComponentDescriptorList( UserManager.class.getName() );
      

      and when I debugged, the value of the map is:

      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'default', realm: 'ClassRealm[plexus.core, parent: null]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'allConfigured', realm: 'ClassRealm[plexus.core, parent: null]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'default', realm: 'ClassRealm[com.sonatype.components:plexus-rule:1.4, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'allConfigured', realm: 'ClassRealm[com.sonatype.components:plexus-rule:1.4, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'default', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-procurement-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'allConfigured', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-procurement-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'default', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-pgp-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'allConfigured', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-pgp-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'default', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-staging-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'allConfigured', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-staging-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'default', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-obr-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'allConfigured', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-obr-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'default', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-maven-site-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'allConfigured', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-maven-site-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'default', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-access-log-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'allConfigured', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-access-log-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'default', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-configuration-backup-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'allConfigured', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-configuration-backup-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'default', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-ldap-realm-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'allConfigured', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-ldap-realm-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'LDAP', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-ldap-realm-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'default', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-m2-settings-template-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      org.codehaus.plexus.component.repository.ComponentDescriptor [role: 'org.sonatype.security.usermanagement.UserManager', hint: 'allConfigured', realm: 'ClassRealm[com.sonatype.nexus.plugin:nexus-m2-settings-template-plugin:1.4.0-SNAPSHOT, parent: ClassRealm[plexus.core, parent: null]]']
      

      note that the default and allConfigured are duplicated for each realm, while LDAP is not duplicated because it only exists in the ldap plugin

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                cstamas Tamás Cservenák
                Reporter:
                juven Juven Xu
                Last Updated By:
                Jason Dillon
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Date of First Response:

                  Time Tracking

                  Estimated:
                  Original Estimate - 3h Original Estimate - 3h
                  3h
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 4.2h
                  4.2h