org.apache.felix.webconsole.internal.compendium.ConfigManager.listConfigurations():
 ManagedServiceFactory instances are listed twice: with pid and factoryPid
-------------------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: FELIX-583
                 URL: https://issues.apache.org/jira/browse/FELIX-583
             Project: Felix
          Issue Type: Bug
          Components: Web Console
            Reporter: Dieter Wimberger


ManagedServiceFactory instances are listed twice, with pid and factoryPid in 
org.apache.felix.webconsole.internal.compendium.ConfigManager.listConfigurations().

The factoryPid will be added by the loop over the ServiceReference instances 
obtained from the framework for the type (class) ManagedServiceFactory:
// find all ManagedServiceFactories to get the factoryPIDs
ServiceReference[] refs = 
this.getBundleContext().getServiceReferences(ManagedServiceFactory.class.getName(),
 null );
 for ( int i = 0; refs != null && i < refs.length; i++ )
 
Given that it is not removed from  the map metaDataPids, it will also be added 
as "pid" by the loop: 
if ( !metaDataPids.isEmpty() )
{
    for ( Iterator mdpi = metaDataPids.entrySet().iterator(); mdpi.hasNext(); )
....

SVN revision 662145.

A fix for this problem is to consistently remove the identifier from 
metaDataPids; this is done in some cases using:
// remove from the list of known pids
metaDataPids.remove( pid );


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to