You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Clement Escoffier (JIRA)" <ji...@apache.org> on 2012/06/21 14:46:42 UTC

[jira] [Created] (FELIX-3567) iPOJO Configuratuin Handler should not reuse the dictionary object from the configuration admin

Clement Escoffier created FELIX-3567:
----------------------------------------

             Summary: iPOJO Configuratuin Handler should not reuse the dictionary object from the configuration admin
                 Key: FELIX-3567
                 URL: https://issues.apache.org/jira/browse/FELIX-3567
             Project: Felix
          Issue Type: Bug
          Components: iPOJO
    Affects Versions: ipojo-core-1.8.2
            Reporter: Clement Escoffier
             Fix For: ipojo-core-1.8.4


The configuration handler is reusing the dictionary object given by the Config Admin. However, in the latest version of the Felix config admin, it uses a custom implementation constraining the value's types (as described in the spec). So, iPOJO should not reuse this object but copy the content and create a new dictionary object.

Here is the stack trace when this bug occurred: 

[ERROR] org.ow2.chameleon.bluetooth.discovery.BluetoothDeviceDiscovery : Value [GIAC] has unsupported (base-) type class org.ow2.chameleon.bluetooth.discovery.BluetoothDeviceDiscovery$DiscoveryMode
java.lang.IllegalArgumentException: Value [GIAC] has unsupported (base-) type class org.ow2.chameleon.bluetooth.discovery.BluetoothDeviceDiscovery$DiscoveryMode
	at org.apache.felix.cm.impl.CaseInsensitiveDictionary.checkValue(CaseInsensitiveDictionary.java:342)
	at org.apache.felix.cm.impl.CaseInsensitiveDictionary.put(CaseInsensitiveDictionary.java:196)
	at org.apache.felix.ipojo.handlers.configuration.ConfigurationHandler.__M_start(ConfigurationHandler.java:331)
	at org.apache.felix.ipojo.handlers.configuration.ConfigurationHandler.start(ConfigurationHandler.java)
	at org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:136)
	at org.apache.felix.ipojo.InstanceManager.start(InstanceManager.java:335)
	at org.apache.felix.ipojo.ComponentFactory.createInstance(ComponentFactory.java:178)
	at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
	at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:238)
	at org.apache.felix.ipojo.IPojoFactory.updated(IPojoFactory.java:643)
	at org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1567)
	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:104)
	at java.lang.Thread.run(Thread.java:680)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (FELIX-3567) iPOJO Configuration Handler should not reuse the dictionary object from the configuration admin

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

Clement Escoffier updated FELIX-3567:
-------------------------------------

    Assignee: Clement Escoffier
     Summary: iPOJO Configuration Handler should not reuse the dictionary object from the configuration admin  (was: iPOJO Configuratuin Handler should not reuse the dictionary object from the configuration admin)
    
> iPOJO Configuration Handler should not reuse the dictionary object from the configuration admin
> -----------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3567
>                 URL: https://issues.apache.org/jira/browse/FELIX-3567
>             Project: Felix
>          Issue Type: Bug
>          Components: iPOJO
>    Affects Versions: ipojo-core-1.8.2
>            Reporter: Clement Escoffier
>            Assignee: Clement Escoffier
>             Fix For: ipojo-core-1.8.4
>
>
> The configuration handler is reusing the dictionary object given by the Config Admin. However, in the latest version of the Felix config admin, it uses a custom implementation constraining the value's types (as described in the spec). So, iPOJO should not reuse this object but copy the content and create a new dictionary object.
> Here is the stack trace when this bug occurred: 
> [ERROR] org.ow2.chameleon.bluetooth.discovery.BluetoothDeviceDiscovery : Value [GIAC] has unsupported (base-) type class org.ow2.chameleon.bluetooth.discovery.BluetoothDeviceDiscovery$DiscoveryMode
> java.lang.IllegalArgumentException: Value [GIAC] has unsupported (base-) type class org.ow2.chameleon.bluetooth.discovery.BluetoothDeviceDiscovery$DiscoveryMode
> 	at org.apache.felix.cm.impl.CaseInsensitiveDictionary.checkValue(CaseInsensitiveDictionary.java:342)
> 	at org.apache.felix.cm.impl.CaseInsensitiveDictionary.put(CaseInsensitiveDictionary.java:196)
> 	at org.apache.felix.ipojo.handlers.configuration.ConfigurationHandler.__M_start(ConfigurationHandler.java:331)
> 	at org.apache.felix.ipojo.handlers.configuration.ConfigurationHandler.start(ConfigurationHandler.java)
> 	at org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:136)
> 	at org.apache.felix.ipojo.InstanceManager.start(InstanceManager.java:335)
> 	at org.apache.felix.ipojo.ComponentFactory.createInstance(ComponentFactory.java:178)
> 	at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
> 	at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:238)
> 	at org.apache.felix.ipojo.IPojoFactory.updated(IPojoFactory.java:643)
> 	at org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1567)
> 	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:104)
> 	at java.lang.Thread.run(Thread.java:680)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (FELIX-3567) iPOJO Configuration Handler should not reuse the dictionary object from the configuration admin

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

Clement Escoffier resolved FELIX-3567.
--------------------------------------

    Resolution: Fixed

Fixed in trunk.
                
> iPOJO Configuration Handler should not reuse the dictionary object from the configuration admin
> -----------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3567
>                 URL: https://issues.apache.org/jira/browse/FELIX-3567
>             Project: Felix
>          Issue Type: Bug
>          Components: iPOJO
>    Affects Versions: ipojo-core-1.8.2
>            Reporter: Clement Escoffier
>            Assignee: Clement Escoffier
>             Fix For: ipojo-core-1.8.4
>
>
> The configuration handler is reusing the dictionary object given by the Config Admin. However, in the latest version of the Felix config admin, it uses a custom implementation constraining the value's types (as described in the spec). So, iPOJO should not reuse this object but copy the content and create a new dictionary object.
> Here is the stack trace when this bug occurred: 
> [ERROR] org.ow2.chameleon.bluetooth.discovery.BluetoothDeviceDiscovery : Value [GIAC] has unsupported (base-) type class org.ow2.chameleon.bluetooth.discovery.BluetoothDeviceDiscovery$DiscoveryMode
> java.lang.IllegalArgumentException: Value [GIAC] has unsupported (base-) type class org.ow2.chameleon.bluetooth.discovery.BluetoothDeviceDiscovery$DiscoveryMode
> 	at org.apache.felix.cm.impl.CaseInsensitiveDictionary.checkValue(CaseInsensitiveDictionary.java:342)
> 	at org.apache.felix.cm.impl.CaseInsensitiveDictionary.put(CaseInsensitiveDictionary.java:196)
> 	at org.apache.felix.ipojo.handlers.configuration.ConfigurationHandler.__M_start(ConfigurationHandler.java:331)
> 	at org.apache.felix.ipojo.handlers.configuration.ConfigurationHandler.start(ConfigurationHandler.java)
> 	at org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:136)
> 	at org.apache.felix.ipojo.InstanceManager.start(InstanceManager.java:335)
> 	at org.apache.felix.ipojo.ComponentFactory.createInstance(ComponentFactory.java:178)
> 	at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
> 	at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:238)
> 	at org.apache.felix.ipojo.IPojoFactory.updated(IPojoFactory.java:643)
> 	at org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1567)
> 	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:104)
> 	at java.lang.Thread.run(Thread.java:680)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira