You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Felix Meschberger (JIRA)" <ji...@apache.org> on 2008/06/13 14:00:45 UTC

[jira] Work started: (FELIX-583) org.apache.felix.webconsole.internal.compendium.ConfigManager.listConfigurations(): ManagedServiceFactory instances are listed twice: with pid and factoryPid

     [ https://issues.apache.org/jira/browse/FELIX-583?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on FELIX-583 started by Felix Meschberger.

> 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
>            Assignee: Felix Meschberger
>         Attachments: webconsole.patch
>
>
> 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.