Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
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
Attachments
Issue Links
- depends upon
-
FELIX-584 org.apache.felix.webconsole.internal.compendium.AjaxConfigManagerAction.applyConfiguration(): "create" action is not handled properly
- Closed
- is depended upon by
-
FELIX-586 org.apache.felix.webconsole.internal.compendium.BaseConfigManager.getAttributeDefinitionMap(): implementation does not properly handle Configuration instances of a ManagedServiceFactory
- Closed
-
FELIX-587 org.apache.felix.webconsole.internal.compendium.AjaxConfigManagerAction.configForm(): Configuration instance for a ManagedServiceFactory will cause Exception
- Closed