Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-585

org.apache.felix.webconsole.internal.compendium.ConfigManager.listConfigurations(): Configuration instances for ManagedServiceFactoy instances cause IllegalArgumentException

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • webconsole-1.2.0
    • Web Console
    • None

    Description

      Once a Configuration can be created for a ManagedServiceFactory instance, this instance will cause a IllegalArgumentException in
      org.apache.felix.webconsole.internal.compendium.ConfigManager.listConfigurations():
      java.lang.IllegalArgumentException: Object Class Definition ID not found

      The reason for this is the fact that the code does not properly look for the ObjectClassDefinition of the factory (which would apply in the case of ManagedServiceFactory instances).

      Example:
      When creating a Configuration instance for the factory "net.wimpi.telnetd.service.TelnetListenerServiceFactory", the ConfigurationAdmin will assign a unique identifier (pid) for the Configuration instance e.g. "net.wimpi.telnetd.service.TelnetListenerServiceFactory-1212198114040-7". This Configuration has the pid "net.wimpi.telnetd.service.TelnetListenerServiceFactory-1212198114040-7", but there will never be any ObjectClassDefinition for this pid available from the MetaTypeService.

      Given that the code does not check for an associated factoryPid FIRST, the exception will happen and nothing will appear in the list in the console form.

      Attachments

        1. ConfigManager.java.diff
          4 kB
          Dieter Wimberger

        Issue Links

          Activity

            People

              fmeschbe Felix Meschberger
              wimpi Dieter Wimberger
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: