* handle different possible service PID types
The property value "service.pid" can use different types:
* String
* String[]
* Collection of String
Only "String" has been supported.
https://github.com/openhab/openhab-core/pull/557 adds support for
String[]
https://github.com/openhab/openhab-core/pull/559 removes the support for
String[] again and adds support for the Collection type List only.
This commit ensures that String arrays and every collection type is
supported, regardless which (valid) type is used by the OSGi framework
implementation.
Fixes: https://github.com/eclipse/smarthome/issues/6710
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
This addresses https://github.com/eclipse/smarthome/issues/5099 by adding a command description with command options along with the state description.
Command options will give a hint to UIs about the specific commands a channel provides. Command options could be rendered as a drop down and also represent the current state or rendered as push buttons to simply send a command to the ThingHandler.
The infrstructure basically copies the StateDescription infrastructure with CommandDescriptionProviders and an `DynamicCommandDescriptionProvider` interface for bindings to hook in and provide dynamic command options.
Signed-off-by: Henning Treu <henning.treu@googlemail.com>
The ready marker logic is created to hide the real usage. The ready
marker uses an "identifier" that is not specific or limited to bundles.
Currently the bundle symbolic name is used as bundle identifier.
That "convention" needs to be known at several different places.
There should be one method that created an identifier for a bundle and
"no one" needs to care about the implementation details.
Another point is that the bundle symbolic name that has been used is
optional. It may be null e.g. for bundles that has been installed by the
synthetic bundle installer mechanism etc.
The runtime assigns a bundle ID to an installed bundle that remains the
same for the bundle (see JavaDoc). The bundle ID is present all the
time.
The implementation of the "get identifier for bundle" has been choosen
to use the BSN -- if available -- (as before) but fallback to a custom
one using also the bundle ID (to be unique).
So we can provide always a non null identifier for a bundle.
It should be easily to change the identifier creation now if there is
every any need for.
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
If a bundle misses a BSN the bundle cannot be installed.
We should provide a method to uninstall the bundle that has been created
by the synthetic installer itself.
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
For better differentiation between different USB devices `UsbSerialDiscoveryService` is extended to add `usb_vendor_id` and `usb_product_id` properties to every thing which represents USB device.
Also-by: YordanDZhelev <zhelev.yordan@gmail.com>
Signed-off-by: Kai Kreuzer <kai@openhab.org>
* tests: run pure JUnit tests (bugfix), add MapDB tests (migrated to JUnit)
* remove project specific JDT settings
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
The `MapDbStorageService` calls the constructor with a `null`
classloader if there has been no one supplied.
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
* updated license headers
* added NOTICE files
* moved about.html to NOTICE files
* changed main project license
* updated build.properties
* added files to check to prevent error about missing about.html
* removed license info on p2 feature
Signed-off-by: Kai Kreuzer <kai@openhab.org>
* Added semantic labels to tags Floors, Rooms and objects
* Added a Cellar as a Floor
* Added support for more languages which where already available as translation
* Integrated the webpack build inside Maven
* Only allow minor updates in the package.json to make sure new version will not easily break the build, if semver fails again
* Remove dist folder because it should be generated through the build
* Switched from 'hidden-xs-up' to 'd-none' as proposed in bootstrap migration guide
* Switched from 'scope' to 'slot-scope' as suggested by vue 2.5 migration
* Added some additional parents in the vue schema because they were needed
* Removed osgi import from manifest
* Switched to a computed setup and the build in fieldMultiselect
* Switched to a 'computed' setup
* Remove the package fieldMultiselect and switch to the build-in
* Applied changes from review.
* Formatted JS files
* Re-introduced (customized) fieldMultiselect and minor fixes
* Re-introduce custom multiselect because this is the one that offers the icons
* Add the floor name to the label of room-based object selector
* Make sure that generating tags can be switched off
* Switched from floor-count to choosing custom floors
* Add no-save and corrected some js warnings
Signed-off-by: Martin van Wingerden <martin@martinvw.nl>
* temporarily remove ui.start bundle from distro again
* correctly unregister services again
* also unset the handlerRef field
Signed-off-by: Kai Kreuzer <kai@openhab.org>
* Introduced new ui.start bundle, which brings custom lifecycle status HTTP pages as well as an 404 error page.
Signed-off-by: Kai Kreuzer <kai@openhab.org>