Commit Graph

158 Commits

Author SHA1 Message Date
Henning Treu
3c8e3efa93 Extend ChannelType by command options (#540)
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>
2019-02-12 13:41:01 +00:00
Markus Rathgeb
fd95b86b36 centralize the bundle identifier construction
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>
2019-02-06 15:56:00 +01:00
Markus Rathgeb
92b71f1712 provide a better uninstall method for synthetic bundles
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>
2019-02-06 15:56:00 +01:00
Markus Rathgeb
c9a090dbcf add some tests and prepare infrastructure (#531)
This commit move the files to the correct directories and prepare the
whole infrastructure. After that hopefully small changes needs to be
done only to get tests running.

Some tests has been already enabled, too.

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-05 09:32:49 +01:00
Markus Rathgeb
19c9a415f0 test: org.openhab.core.thing: relax runrequires (#518)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-03 18:42:25 +01:00
Markus Rathgeb
b3e3b92456 add itest: org.openhab.core.thing.test (#512)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-01 16:09:49 +01:00
Kai Kreuzer
3b6dfbeddb Keep persisted disabled status when thing is removed (#493)
Also-By: Florian Stolte <fstolte@itemis.de>
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2019-01-30 11:37:51 +01:00
Markus Rathgeb
76dd62623f make a first step to split between pure JUnit and integration tests (#488)
* make a first step to split between pure JUnit and integration tests

Related to: https://github.com/openhab/openhab-core/issues/482

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-01-30 08:57:06 +01:00