You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Dieter Wimberger (JIRA)" <ji...@apache.org> on 2008/06/01 06:44:44 UTC

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

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.


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

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12604813#action_12604813 ] 

Felix Meschberger commented on FELIX-583:
-----------------------------------------

Pedro, thanks for the patch.

After looking into this some deeper, I must say my code is completely crazy ;-)

  * It looks for ManagedServiceFactory services
  * It looks for existing configuration
  * It looks for Metatype Descriptors

But it does _not_ look for ManagedService services ....

So, I must say, this is wrong and I am currently taking a completely different approach. As described for FELIX-584 [1], I will provide two lists: One with the ManagedServiceFactory services looking for configuration and one with ManagedService services (and existing configuration) looking for configuration.

[1] https://issues.apache.org/jira/browse/FELIX-584?focusedCommentId=12604810#action_12604810

> 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
>         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.


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

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ 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.


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

Posted by "Dieter Wimberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12601447#action_12601447 ] 

Dieter Wimberger commented on FELIX-583:
----------------------------------------

The patch attached to FELIX-585 includes a fix for this bug.

> 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.


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

Posted by "Pedro Pedruzzi (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-583?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pedro Pedruzzi updated FELIX-583:
---------------------------------

    Attachment: webconsole.patch

Patch attached with some minor fixes in the Configuration render.
It fixes this issue.

> 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
>         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.


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

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12604829#action_12604829 ] 

Felix Meschberger commented on FELIX-583:
-----------------------------------------

Implemented new configuration gui in Rev. 667498 and deployed SNAPSHOT build 1.0.1-20080613.123406-2. See FELIX-584 for details.



> 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.


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

Posted by "Pedro Pedruzzi (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12604820#action_12604820 ] 

Pedro Pedruzzi commented on FELIX-583:
--------------------------------------

I noticed that we were missing the ManagedService services. I actually wrote some code to include those, but did not share because I knew that was not the right approach.

Your proposal sounds very good to me. I will wait for this!

> 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.


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

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-583?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger reassigned FELIX-583:
---------------------------------------

    Assignee: 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.


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

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-583?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger closed FELIX-583.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: webconsole-1.0.2

This issue can be considered solved by the implementation of a different approach in displaying the configuration factories and configurations. Therefore it can be closed.

> 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
>             Fix For: webconsole-1.0.2
>
>         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.