eclipse-kura / kura

Eclipse Kura™ is a versatile framework to supercharge your edge devices, streamlining the process of configuring your gateway, connecting sensors, and IoT devices to seamlessly collect, process, and send data to the cloud.
https://eclipse.dev/kura/
Eclipse Public License 2.0
498 stars 305 forks source link

fix(net.configuration): Fix network properties default values #5218

Closed pierantoniomerlino closed 5 months ago

pierantoniomerlino commented 5 months ago

Note: We are using the Conventional Commits convention for our pull request titles. Please take a look at the PR title format document for the supported types and scopes.

This PR modifies the NetworkConfigurationServiceImpl to return a complete metatype with also the defaults values.

Description of the solution adopted: In the current implementation of the NetworkConfigurationService (both old and new one), the metatype returned by this SelfConfiguringComponent lacks of every default values. The default values are in the classes that define the configuration, so they are spread in the code. This PR tries to centralize the default values putting them in the new NetworkConfigurationConstants class. Moreover, the metatype is modified to return also the default values for the properties, when they are available.

Finally, a builder is implemented to create the AttributeDefinitions in the NetworkConfigurationServiceCommon class.

Any side note on the changes made: Since all the default values are present in the metatype, they are stored in the snapshot that is longer than before.