Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-3567

iPOJO Configuration Handler should not reuse the dictionary object from the configuration admin

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • ipojo-core-1.8.2
    • ipojo-core-1.8.4
    • iPOJO
    • None

    Description

      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)

      Attachments

        Activity

          People

            clement.escoffier Clement Escoffier
            clement.escoffier Clement Escoffier
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: