Commit Graph

556 Commits (main)

Author SHA1 Message Date
Wouter Born 783c57cbb9
Use 'uid' instead of 'UID' as method parameters (#3840)
Using 'UID' is confusing as method parameter because it can be mistaken for some kind of constant while reading code.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-09 21:39:47 +02:00
Wouter Born e8e1c9fe73
Simplify code that creates List, Map and Set objects (#3836)
Simplifies the code by using List.of, List.copyOf etc. where possible which results in less code and imports.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-09 18:00:00 +02:00
Wouter Born 09b3160a55
Simplify code using Stream.toList (#3831)
Stream.toList was introduced in Java 16 and creates an unmodifiable List so it can be used to simplify code whenever the List is not expected to be modified.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-09 09:20:08 +02:00
Wouter Born eff85c6470
Upgrade JUnit to 5.10.0 (#3832)
Upgrades JUnit from 5.9.2 to 5.10.0.

For release notes, see:

https://junit.org/junit5/docs/5.10.0/release-notes/#release-notes-5.10.0

Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-07 20:34:47 +02:00
Wouter Born fb3d4e805d
Update bnd to 7.0.0 (#3828)
For release notes, see:

https://github.com/bndtools/bnd/wiki/Changes-in-7.0.0

Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-06 18:45:20 +02:00
Wouter Born 02f6c5c3e3
Upgrade CXF to 3.6.2 (#3826)
Upgrades CXF from 3.6.1 to 3.6.2.

For release notes, see:

https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310511&version=12353311

It has a fix to address OOM issues when using HTTP clients:

https://issues.apache.org/jira/browse/CXF-8885

Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-04 11:46:54 +02:00
Wouter Born fffa968263
Upgrade Xtext/Xtend to 2.32.0, LSP4J to 0.21.0 (#3817)
Upgrades Xtext and its dependencies to:

* Xtext/Xtend 2.32.0
* LSP4J 0.21.0
* GSON 2.10.1
* Guava 32.1.2
* Guice 7.0.0

For release notes, see:

https://eclipse.dev/Xtext/releasenotes.html#/releasenotes/2023/08/27/version-2-32-0

Fixes #3321

Signed-off-by: Wouter Born <github@maindrain.net>
2023-10-01 22:04:27 +02:00
Wouter Born d4a433a4ce
Upgrade to Karaf 4.4.4 (#3814)
* Sync runtime dependencies with Karaf 4.4.4, most notably:
  * Jetty 9.4.52.v20230823
  * JNA 5.13.0
  * SLF4J 2.0.6
  * Pax Logging 2.2.3
  * Pax Web 8.0.22
* Resolve itest runbundles
* Use new Pax Web features to simplify dependency management
* Add specs features because Pax Web now depends on "asm"

Signed-off-by: Wouter Born <github@maindrain.net>
2023-09-29 20:23:31 +02:00
J-N-K af4fce1e4f
Fix CommunicationManager command handling (#3714)
* Fix CommunicationManager

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-09-13 22:27:12 +02:00
Wouter Born e1d2b88398
Update directory-watcher to 0.18.0 (#3790)
Updates the directory-watcher from 0.17.1 to 0.18.0.

This version has some bug fixes/improvements, see:

https://github.com/gmethvin/directory-watcher/compare/v0.17.1...v0.18.0

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-30 22:51:25 +02:00
Wouter Born c39d15ade6
Cleanup code (#3787)
This code cleanup fixes various warnings in Eclipse.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-30 22:50:17 +02:00
Wouter Born e765af06cb
Upgrade Maven and plug-ins (#3788)
* Use Maven 3.9.4 with GitHub Actions CI
* Upgrade Maven plug-ins

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-30 13:29:34 +02:00
Wouter Born 5daf4ff076
Fix SAT and null analysis issues (#3781)
Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-27 11:15:15 +02:00
Wouter Born 9e1dbb6435
Update json-path to 2.8.0 (#3772)
Updates json-path from 2.4.0 to 2.8.0

This addresses:

* CVE-2021-27568
* CVE-2021-31684
* CVE-2023-1370

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-26 15:08:46 +02:00
Wouter Born 7743e9f9ab
Update CXF to 3.6.1 (#3770)
Updates CXF from 3.4.5 to 3.6.1

For some recent release notes, see:

* [3.5.0](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310511&version=12348382)
* [3.6.0](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310511&version=12351469)
* [3.6.1](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310511&version=12353191)

This upgrade addresses:

* CVE-2022-46363
* CVE-2022-46364

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-21 21:23:09 +02:00
Wouter Born c0b4ccfd7c
Update Jackson to 2.15.2 (#3768)
Updates Jackson from 2.14.1 to 2.15.2

For release notes, see:

https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.15

This upgrade addresses:

* CVE-2022-1471

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-21 10:22:27 +02:00
J-N-K a2401059e5
Improve AutomationIntegrationJsonTest (#3760)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-08-19 10:16:22 +02:00
J-N-K 04eb32185c
Bump UoM libraries to 2.2 (#3758)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-08-18 21:38:43 +02:00
Wouter Born aef57edd73
Use workaround to fix high CPU usage by LinkedTransferQueue (#3756)
This is a workaround for JDK-8301341 by using the Java 11 LinkedTransferQueue with the QueueingThreadPoolExecutor in the Core and jUPnP.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-14 10:37:20 +02:00
Wouter Born 17e9cf3850
ZipException workarounds (#3747)
* Use Karaf 4.4.3 compile dependency
* Disable this feature in itests

Signed-off-by: Wouter Born <github@maindrain.net>
2023-08-11 14:10:00 +02:00
Wouter Born 3b91692be1
Fix build (#3726)
Signed-off-by: Wouter Born <github@maindrain.net>
2023-07-24 09:02:01 +02:00
Kai Kreuzer 5692232e2b Apply spotless
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-07-24 01:11:37 +02:00
openhab-bot fd93f0a766 [unleash-maven-plugin] Preparation for next development cycle. 2023-07-23 17:14:35 +00:00
J-N-K 546e34252f
Fix system started DSL rules (#3725)
* Fix system started DSL rules

Signed-off-by: Jan N. Klug <github@klug.nrw>
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-07-23 10:21:37 +02:00
J-N-K b8ae55c3f5
Fix rule startlevel trigger executes during initialization (#3717)
* Fix rule startlevel trigger executes during initialization

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-21 14:18:28 +02:00
J-N-K 5a00bfdc41
Align system-channel-types for electricity (#3707)
* Align system-channel-types for electricity

These are only used by one binding at the moment and it's very inconsistent to have power, voltage and current with the "electric" prefix and energy with "electrical".

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-07-18 09:05:42 +02:00
Wouter Born 3396ff7758
Use Eclipse formatter 4.25 with Spotless (#3710)
Fixes #3515

Signed-off-by: Wouter Born <github@maindrain.net>
2023-07-18 09:03:16 +02:00
J-N-K 78e66745ab
Add support for things with generic channels (#3355)
* Add support for generic channels

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-06-25 16:22:55 +02:00
J-N-K 64fd046266
Bump spifly to 1.3.6 and asm to 9.4 to support records (#3658)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-06-23 10:46:43 +02:00
Yannick Schaus 6e83d3f8de
"Cacheability" option for critical REST resources (#3335)
* Closes #3329.

This implements a new optional `cacheable` parameter for these REST endpoints:
- `/rest/items`
- `/rest/things`
- `/rest/rules`

When this parameter is set, a flat list of all elements excluding
non-cacheable fields (e.g. "state", "transformedState", "stateDescription",
"commandDescription" for items, "statusInfo", "firmwareStatus",
"properties" for things, "status" for rules) will be retrieved along with
a `Last-Modified` HTTP response header. When unknown, the Last-Modified
header will be set to the date of the request.

Also only when this parameter is set, and a `If-Modified-Since` header is
found in the request, that header will be compared to the last known
modified date for the corresponding cacheable list. The last modified date
will be reset when any change is made on the elements of the underlying
registry. If the `If-Modified-Since` date is equal or more recent than the
last modified date, then a 304 Not Modified response with no content will
be served instead of the usual 200 OK, informing the client that its
cache is still valid at the provided date.

All other request parameters will be ignored except for "metadata" in the
`/rest/items` endpoint. When a metadata selector is set, the resulting
item list will be considered like a completely different resource, i.e.
it will have its own last modified date. Regarding metadata, the approach
to invalidating last modified dates is very conservative: when any metadata
is changed, all cacheable lists of items will have their last modified date
reset even if the change was in a metadata namespace that wasn't requested.

This also implements the abovedescribed behavior for the
`/rest/ui/components/{namespace}` endpoint, but no `cacheable` parameter
is necessary. The last modified date is tracked by namespace.

Signed-off-by: Yannick Schaus <github@schaus.net>
2023-06-15 20:16:14 +02:00
J-N-K d34b9164f7
Trigger immediately when start level already reached (#3278)
* Trigger immediately when start level already reached

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-28 10:14:03 +02:00
J-N-K 9ef076dc6a
[uom] Add `unit` metadata for NumberItem (#3481)
* Add defaultUnit metadata for NumberItem

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-09 22:42:25 +02:00
J-N-K 8e1a2cfd0a
Add an AbstractStorageBasedTypeProvider (#3407)
* Add an AbstractDynamicTypeProvider

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-07 21:51:10 +02:00
J-N-K 960cf0c179
Improve thing updates (#3576)
* Improve thing updates

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-05-07 20:46:42 +02:00
Jacob Laursen c8464870bb
[ephemeris] Add support for overriding holiday definitions (#3573)
* Add support for overriding holiday definitions

End Danish General Prayer Day

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-05-02 09:11:59 +02:00
Holger Friedrich 33233982b3
Code cleanup: Use Java 17 features (#3580)
* Code cleanup: Use Java 17 features

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
2023-04-30 18:37:48 +02:00
Kai Kreuzer ac0f512178
Consider auto-update veto from channel types (#3575)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-04-24 20:14:20 +02:00
GiviMAD 7cf090140c
[voice] Remove deprecated dialog methods (#3567)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-04-21 23:05:09 +02:00
Jacob Laursen 4349be6945
Redefine connection in addon.xsd (#3563)
* Redefine addon.xml connection
* Remove remains of author

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
2023-04-20 20:36:44 +02:00
Wouter Born 4851bfbcae
Fix recently introduced SAT issues (#3516)
* Fix recently introduced SAT issues

Signed-off-by: Wouter Born <github@maindrain.net>
2023-04-01 17:18:22 +02:00
J-N-K 4182980ec8
Add ItemStateUpdatedEvent and enable group channel-links (#3141)
* Add (Group)ItemStateUpdatedEvent

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-31 23:01:40 +02:00
Andrew Fiddian-Green 4cbc0e613e
Integration tests for org.openhab.core.io.net (#3460)
* [org.openhab.core.io.net] add itests

Co-authored-by: Wouter Born <github@maindrain.net>
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-03-25 17:44:15 +01:00
J-N-K 9289fd5a78
Bump spotless and fix formatting (#3469)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-20 23:14:59 +01:00
Andrew Fiddian-Green 73b8a3ae32
Fix channel order in REST API (#3448)
* Fix sort order of Things in UI
* Add itest for channel order

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-03-13 17:26:34 +01:00
Wouter Born 0894d25448
Upgrade JUnit to 5.9.2 and Mockito to 4.11.0 (#3450)
For release notes, see:

* https://junit.org/junit5/docs/current/release-notes/#release-notes-5.9.2
* https://github.com/mockito/mockito/releases/

Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-12 20:47:54 +01:00
Wouter Born 0c792ec89a
Upgrade XStream to 1.4.20 (#3446)
This addresses CVE-2022-40151 and CVE-2022-41966, see:

https://x-stream.github.io/changes.html#1.4.20

This version also fixes an issue with closing streams so the workaround in GenerateDefaultTranslationsMojoTest is no longer needed.

Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-12 12:22:33 +01:00
Andrew Fiddian-Green a5d65ce2ad
Add support for Jetty HTTP/2 clients (#3433)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2023-03-12 10:22:50 +01:00
J-N-K d0a0e6d399
Add support for channel-groups to update instructions (#3391)
* Add support for channel-groups to update instructions

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-03-07 21:57:39 +01:00
Gwendal Roulleau ac88faa5dc
[serial] Ability to use /dev/serial/ symlinks for usb serial device (#3290)
The rxtx serial port provider is now able to scan symlink in /dev/serial/by-id and use them as valid identifier.
Benefit : users won't have to fix the path of their USB serial device  with udev anymore, they can now use the explicit and stable symlink directly.

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
[serial] Ability to use /dev/serial/ links

Revert previous commit (rewriting to use discovery serial service to provide the symlinks to all serial provider, and not only rxtx).
Workaround for the rxtx provider which can resolve symlink before using the native code (limit path to 80 char).

Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
2023-03-04 14:43:46 +01:00
Wouter Born ec3af50f11
Upgrade to Karaf 4.4.3 (#3252)
* Sync runtime dependencies with Karaf 4.4.3, most notably:
  * Jetty 9.4.50.v20221201
  * Pax Logging 2.2.0
  * Pax Web 8.0.15
* Use OSGi R8 as compile dependency
* Rework Servlets to use Http Whiteboard annotations in favor of proprietary `org.openhab.core.io.http.servlet` classes
* Resolve itest runbundles

Also-by: Jan N. Klug <github@klug.nrw>

Signed-off-by: Wouter Born <github@maindrain.net>
2023-03-01 13:09:07 +01:00
J-N-K dff6f9b984
Refactor XML handling (#3385)
* Refactor XML handling for things
* integrate config.xml and improve naming

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-23 20:06:29 +01:00
Kai Kreuzer fafadd4b83
Add nullable annotation to avoid error marker in Eclipse (#3376)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-02-16 23:40:53 +01:00
J-N-K d7fa5534bf
Refactor ThingManagerImpl (#3330)
* Refactor ThingManagerImpl

This

- moves config description URI to type-base class
- decouples the thing manager from bundle loading
- makes sure that all thing/channel-types and config descriptions are available when the thing is initialized
- enables thing type updates

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-15 22:03:59 +01:00
Cody Cutrer 474d24c62d
Refactor GenericEventTrigger and GenericEventCondition (#3299)
* rework GenericEventTrigger and GenericEventCondition

fixes #3234

to make their interfaces and semantics match, as well as having a
well defined (and useful) way of defining topic filters

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-02-14 09:07:23 +01:00
J-N-K 7f113c51bc
Refactor WatchService (#3004)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-02-12 14:12:22 +01:00
Kai Kreuzer 304617c5b7
Remove author from addon xsd (#3362)
* Remove author from addon xsd

Signed-off-by: Kai Kreuzer <kai@openhab.org>
2023-02-11 19:50:05 +01:00
GiviMAD c30e4b8eea
[voice] Support managed dialogs (#3264)
* [voice] introduce methods for dialog persistency

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-02-08 21:12:22 +01:00
lolodomo 14bae356c2
Consider language in KarafAddonService when creating Addon (#3341)
* [REST] Consider language when retrieving installed addons

Fix openhab/openhab-webui#1666

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2023-01-28 14:18:58 +01:00
J-N-K 1c34321cb5
[thing] Improve channel handling in ThingImpl (#3241)
* Improve channel-handling in `ThingImpl`

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-20 14:55:13 +01:00
J-N-K 3d54ee54d2
Introduce metadata for all add-ons (#3050)
* Introduce addon.xml

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-15 15:31:42 +01:00
Cody Cutrer 8be306a5bc
Cleanup event filtering and improve EventFilter usage (#3295)
* don't use event.topics OSGi service property
* use TopicPrefixEventFilter

Signed-off-by: Cody Cutrer <cody@cutrer.us>
2023-01-03 16:30:12 +01:00
J-N-K 8d64ecfd8d
Update license header to 2023 (#3294)
* Update license header to 2023

Signed-off-by: Jan N. Klug <github@klug.nrw>
2023-01-03 09:45:42 +01:00
Wouter Born 07d09c5a7a
Update Jackson to 2.14.1 (#3284)
Updates Jackson from 2.12.7 to 2.14.1

For release notes, see:

https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.13
https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.14

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-30 22:46:51 +01:00
Wouter Born 80770161ac
Fix several compiler warnings (#3260)
Fixes a deprecation, unused imports and some raw type warning.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-23 16:41:46 +01:00
Wouter Born 4a49cb419c
Add missing new line to org.openhab.core.storage.json.tests/itest.bndrun (#3259)
Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-23 12:28:36 +01:00
Wouter Born 7888da1684
Fix some recently introduced SAT and NPE issues (#3251)
Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-22 15:11:49 +01:00
Wouter Born 687688db7e
Update Eclipse .classpath files (#3250)
Also adds some missing files for recently added projects.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-12-22 14:14:35 +01:00
J-N-K 41ba3ff854
Raise minimum JDK version to 17 (#2994)
* Raise source level to Java 17 (except for model classes)
* Remove Nashorn script engine
* Upgrade spotless and add jvm options  
  See https://github.com/diffplug/spotless/issues/834
* Add suppression for findBugs false positive error
* Upgrade xtext to 2.29.0
* Adjust JNA
* Resolve itests

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-19 19:52:43 +01:00
J-N-K 3fc4d23734
Fix spotless and resolve itests (#3239)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-19 11:09:31 +01:00
openhab-bot 35254b3a0a [unleash-maven-plugin] Preparation for next development cycle. 2022-12-18 23:08:22 +00:00
J-N-K 9c3e2f3f06
Upgrade bnd to 6.4.0 (#3205)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-09 20:07:51 +01:00
J-N-K e90811cfd7
DSL support for sharedCache/privateCache (#3187)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-12-05 22:08:42 +01:00
GiviMAD d7f8ec2375
[voice] New voice manager dialog methods (#3142)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-11-30 22:46:38 +01:00
Дилян Палаузов e556fdf81b
Fix a/an typos (#3181)
* Typos a/an
* Fix typo generation in generateTagClasses.groovy

Signed-off-by: Wouter Born <github@maindrain.net>
2022-11-29 20:57:48 +01:00
J-N-K 2bceba6954
Fix missing stateDescriptionProvider in Group items (#3144)
* Fix missing stateDescriptionProvider in Group items

The stateDescriptionProvider was not properly passed to the base item. Because of that units set in the state description were not properly used when setting the group state after calculating aggregation functions.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-11-06 20:50:05 +01:00
J-N-K d9bf8f7a15
[rest] add semantics query endpoint to item resource (#2985)
* [rest] add semantics query to item resource

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-10-30 15:50:36 +01:00
J-N-K 4a84b80c2c
Fix missing initial thing status event (#3072)
* Fix missing initial thing status event

A thing always has a status. This status is not properly propagated to the event bus when the thing is added. This e.g. leads to a situation where a thing's first status that is received by am event subscriber is "INITIALIZING" instead of "UNINITIALIZED". The status should always be sent so that the thing lifecycle can properly be tracked by event listeners.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-09-20 21:04:52 +02:00
Christoph Weitkamp cda7b098bd
[thing] Added default channel types for electrical energy (#3079)
* Added default channel types for electrical energy

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-09-11 14:39:36 +02:00
J-N-K ae3d7c749c
Add REST support for deleting links and removing orphaned links (#2970)
* add link remove for item to registry

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-07-19 09:24:47 +02:00
J-N-K 836ae89489
Wait for thing-type available in PersistentInbox (#2981)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-07-17 21:15:48 +02:00
Kai Kreuzer 2e7fd9d72a
Upgrade to JmDNS 3.5.8 (#3029)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-07-04 21:52:34 +02:00
Kai Kreuzer 61fd47c853
Apply spotless and resolver (#3018)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2022-06-27 13:41:28 +02:00
openhab-bot 8944bdbbe4 [unleash-maven-plugin] Preparation for next development cycle. 2022-06-26 16:37:00 +00:00
Wouter Born 5545004e09
Fix null analysis error in ThingMigrationOSGiTest (#3008)
Signed-off-by: Wouter Born <github@maindrain.net>
2022-06-20 22:10:24 +02:00
Wouter Born 916b6e9db1
Remove redundant `@NonNullByDefault` In Integration test (#3009)
Nullness default is redundant with a default specified for the enclosing type AutomationIntegrationJsonTest.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-06-20 22:09:30 +02:00
J-N-K d74277f798
Use ThingStorageEntity instead of ThingImpl/BridgeImpl for storage (#2914)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-06-18 14:31:45 +02:00
J-N-K 8f3ad5ce12
Bump bnd to 6.3.0 (#2991)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-06-02 08:36:54 +02:00
GiviMAD f5da311608
[voice] Fix try all interpreters (#2980)
* fix try all interpreters
* add test

Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2022-05-26 07:47:28 +02:00
J-N-K 7027e1e139
[test] Allow intercepting logs and make assertions for log messages (#2939)
* [test] Allow intercepting logs and make assertions for log messages

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-05-25 21:13:40 +02:00
lolodomo e5ec888330
[voice] Add voice parameter to startDialog and listenAndAnswer (#2971)
* [voice] Add voice parameter to startDialog and listenAndAnswer

Fix #2819

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-05-21 10:50:00 +02:00
J-N-K c96ce5b5a8
Fix namespace "channel" is added to item metadata (#2957)
* Fix namespace "channel" is added to item metadata

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-05-21 09:27:29 +02:00
GiviMAD 5753627c02
[voice] Allow list of HLIs in dialog function (#2906)
* [Voice] Allow hli list

Signed-off-by: Miguel Álvarez Díez <miguelwork92@gmail.com>
2022-05-11 17:42:06 +02:00
J-N-K de1f850e10
Fix EphemerisManager crashing on invalid configuration (#2949)
It has been reported in the past (and in the forum) that the EphemerisManagerImpl can't handle illegal configurations. Due to dependencies in other bundles this results in the whole automation component to be unavailable.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-05-05 21:25:30 +02:00
Wouter Born 4ab0f83e83
Upgrade to Karaf 4.3.7 (#2934)
* Syncs dependencies with Karaf 4.3.7
* Resolves itest runbundles for these new dependencies

Signed-off-by: Wouter Born <github@maindrain.net>
2022-04-28 22:00:16 +02:00
J-N-K a192a1dfc6
Add a generic script transformation (#2883)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-04-24 19:00:03 +02:00
Gaël L'hopital af6a6c6ac4
Adding missing system channels descriptions. (#2912)
* Adding missing system channels descriptions.
Removing some redundant null checks of the same package.

Signed-off-by: clinique <gael@lhopital.org>
2022-04-22 23:02:24 +02:00
Wouter Born 05fdc81b27
Improve test stability and OS compatibility (#2878)
This fixes the build being broken when building on Windows.
It also contains many fixes for timing issues which seem to impact macOS and Windows more than Linux.

* Fix .gitattributes and add *.xml_gen to fix line ending issues on Windows
* Derive fork count from CPU details in org.openhab.core tests for more stable tests on machines with fewer cores
* Adjust SafeCallerImplTest timings
* Increase ExecUtilTest timeout
* Increase SchedulerImplTest timeouts
* Increase AudioConsoleTest serveStream timeout
* Increase AudioServletTest serveStream timeout
* Increase SchedulerImplTest test timeouts
* Increase ExpireManagerTest timeout used for checking published events
* Increase PeriodicSchedulerImplTest max allowed delta
* Increase SchedulerImplTest timeouts
* Fix BundleInfoReader file stream not closed causing temp dir deletion issues on Windows
* Fix GenerateDefaultTranslationsMojoTest Windows line endings issues
* Fix GenerateDefaultTranslationsMojoTest Windows temp dir deletion problem
* Fix GenericItemProviderTest tearDown sometimes fails because of queued events
* Fix ChannelLinkNotifierOSGiTest wait for channel link events
* Fix ChannelCommandDescriptionProviderOSGiTest fails if provider not immediately registered
* Fix ChannelStateDescriptionProviderOSGiTest fails if provider not immediately registered
* Fix GenericItemChannelLinkProviderTest not waiting for async updated state to become true
* Fix GenericThingProviderTest failing due to events of previous test
* Fix InboxOSGiTest sometimes fails because of queued events
* Fix ScriptEngineOSGiTest failing because items are not yet added to registry
* Fix ThingManagerOSGiTest failing due to async handleRemoval call

Signed-off-by: Wouter Born <github@maindrain.net>
2022-04-14 23:00:33 +02:00
J-N-K afd8768340
Extend ProfileContext to allow data type changing profiles (#2852)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-04-14 22:52:52 +02:00
J-N-K 785d3e5ae5
Fix hanging build (#2910)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-04-11 18:52:04 +02:00
J-N-K 2a3e2e5567
Reduce Mockito warnings (#2893)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-04-03 22:36:55 +02:00
Wouter Born f20799b69b
Improve HostFragmentSupportTest (#2859)
* Remove duplications
* Better null handling
* Use constants
* Use default waitForAssert timeout (10s)

This may help to get the test more stable (#1089).

Signed-off-by: Wouter Born <github@maindrain.net>
2022-03-27 10:46:36 +02:00
Gaël L'hopital 847aa349d8
Adding Indoor Temperature as system channel type (#2866)
Signed-off-by: Gaël L'hopital <gael@lhopital.org>
2022-03-26 12:29:03 +01:00
J-N-K c2ba4dcd16
Fix build in localized environments (#2855)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-03-20 10:28:28 +01:00
J-N-K 45b5c6772a
Improve ThingManagerOSGiTest (#2858)
This change ensures that the storage of bridge and thing are done before the initialization is reported.

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-03-19 21:09:02 +01:00
J-N-K 2686102f20
[thing] Show config validation messages in thing status (#2829)
* Show config validation messages in thing status

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-03-17 11:49:08 +01:00
J-N-K 437b31dbe9
Fix things in REMOVING state initialize instead of getting removed (#2828)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-03-14 15:49:26 +01:00
J-N-K e64c06c22b
Upgrade build tools and allow building on macOS 12 / M1 (#2836)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-03-12 21:05:37 +01:00
Wouter Born e6ddeccd78
Add more null annotations to XML processing classes (#2775)
This adds null annotations to many XML processing classes and a few others.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-03-10 19:57:31 +01:00
Wouter Born 7422a13e22
Remove temporary OSGi framework inclusion (#2820)
The itests are run using an R7 framework so the inclusion no longer seems required.
This also allows for easily customizing Import-Package headers in itest bundles.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-03-09 21:49:58 +01:00
Wouter Born 44f9baff18
Upgrade Xtext/Xtend to 2.26.0, LSP4J to 0.12.0 (#2786)
For release notes, see:

https://www.eclipse.org/Xtext/releasenotes.html#/releasenotes/2022/02/28/version-2-26-0

This release adds initial support for Java 17.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-03-05 11:28:56 +01:00
J-N-K 192e4a2347
Add a profile for linking trigger channels to String items (#2769)
* Add a profile for linking trigger channels to String items

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-02-23 21:17:11 +01:00
Wouter Born 5e33cfc26a
Fix test failures when building with Java 17 (#2788)
* Adds some --add-opens to maven-surefire-plugin for:
  * modbus transport tests (java.net)
  * tests using Gson/XStream (java.util)
* Only run ScriptScopeOSGiTest when Nashorn is available as it has been removed since JDK 15

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-20 20:40:10 +01:00
lolodomo 79ec0396b3
[voice] Check that the provided locale is supported by KS/STT/HLI services (#2789)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-02-20 15:47:28 +01:00
Wouter Born 92917946d4
Add even more null annotations (#2752)
This PR adds even more missing null annotations which did not fit in #2742 as it grew too big.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-17 21:30:51 +01:00
Christoph Weitkamp 44da7a4e0e
Avoid URISyntaxException in tests (#2770)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-02-15 17:33:59 +01:00
Wouter Born fb6ef20cd9
Move Java only tests from org.openhab.core.tests to org.openhab.core (#2768)
These tests only require Java and not OSGi.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-15 16:34:14 +01:00
Wouter Born 3d7be0ffa7
Avoid throwing raw exception types (#2747)
* Avoid throwing raw exception types

This fixes all 36 AvoidThrowingRawExceptionTypes SAT findings.

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-14 16:14:25 +01:00
Wouter Born ad936cd83f
Add more null annotations (#2742)
* Add more null annotations
* Fix mock name

Adds null annotations to most of the tests as well as a few other classes.
Also fixes a few other SAT findings.
Fixes ~300 SAT findings in total.


Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-14 11:33:50 +01:00
Wouter Born b5bf0b0157
Always run OSGi HTTP service on random port in itests (#2759)
It is probably always a good idea to run the OSGi HTTP service on a random available port in itests.
This fixes some stacktraces when running itests and it will also prevent future issues when tests using the HTTP service are written.

These stacktraces often show when running itests in parallel:

```
org.ops4j.pax.web.pax-web-runtime [org.ops4j.pax.web.service.internal.HttpServiceStarted] ERROR : Could not start the servlet context for context path []
java.io.IOException: Failed to bind to /0.0.0.0:8080
	at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:349)
	at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:310)
	at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
	at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:234)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.server.Server.doStart(Server.java:401)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.ops4j.pax.web.service.jetty.internal.JettyServerImpl$1.start(JettyServerImpl.java:350)
	at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:255)
	at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:226)
	at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:210)
	at org.ops4j.pax.web.service.internal.HttpServiceProxy.registerServlet(HttpServiceProxy.java:69)
	at org.openhab.core.io.http.servlet.BaseOpenHABServlet.activate(BaseOpenHABServlet.java:56)
	at org.openhab.core.io.http.servlet.OpenHABServlet.activate(OpenHABServlet.java:40)
...
```

Similar to: openhab/openhab-addons#11523

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-14 08:09:55 +01:00
J-N-K c0b033b95c
Fix WatchQueueReader cancelling jobs too early (#2745)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-02-12 10:10:23 +01:00
J-N-K d6f63e7500
[thing] Fix removal of thing properties (single and bulk) (#2735)
* fix removal of thing properties (single and bulk)

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-02-07 19:32:22 +01:00
J-N-K ea6f21f74d
allow multiple listeners for same directory in WatchService (#2724)
Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-02-07 10:14:41 +01:00
Wouter Born d1a4d226b6
Upgrade XStream to 1.4.19 (#2738)
This addresses CVE-2021-43859, see:

https://x-stream.github.io/changes.html

Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-06 21:33:10 +01:00
J-N-K 61f5e7f57d
[config] Enable config validation for updates by handler (#2712)
* Enable config validation for updates by handler

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-02-01 10:10:37 +01:00
lolodomo 8f0dd94343
[voice] Update dialog processing (#2693)
Related to #2688

Updated methods startDialog
New method stopDialog
Null annotations added to the class DialogProcessor

Allow translation of sentences "said" by the dialog processor in case of error

2 console commands added to start and stop a dialog

Enhanced integration tests

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
2022-01-30 18:27:51 +01:00
J-N-K 1fff165cb0
[thing] Enable config validation for thing creation and update (#2682)
* Enable config validation for thing creation and update

Signed-off-by: Jan N. Klug <github@klug.nrw>
2022-01-20 10:20:16 +01:00
Wouter Born ab929b50aa
Upgrade to Karaf 4.3.6 (#2689)
* Syncs dependencies with Karaf 4.3.6
* Resolves itest runbundles for these new dependencies

Signed-off-by: Wouter Born <github@maindrain.net>
2022-01-16 11:55:04 +01:00
Christoph Weitkamp 0dbc2b2ef4
[rest] Do not reuse FilterCriteria instance for more than one query (#2668)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-15 17:07:25 +01:00
Christoph Weitkamp cabb3f7315
Update license headers to 2022 (#2671)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-07 13:16:42 +01:00
Christoph Weitkamp 33a553fa4d
[core] Added nullness annotations and suppress warning for 'AuthenticationException' (#2659)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2022-01-02 11:33:16 +01:00
Christoph Weitkamp 33f6651972
[mdns] Cancel removal task on manual scan (#2647)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-30 10:18:13 +01:00
Kai Kreuzer e3b07782b4
pom reference update from http to https (#2644)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-12-23 22:55:20 +01:00
Christoph Weitkamp 8074ea7dfe
Replaced Runnable by lambda expression (#2642)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-23 09:44:14 +01:00
Christoph Weitkamp 89fff918ad
Resolve itest runbundles for snapshot 3.3.0 (#2631)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-12-20 08:09:08 +01:00
Kai Kreuzer 1ebf7395d9 Apply spotless
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2021-12-20 06:59:22 +01:00
openhab-bot 5ac05c4968 [unleash-maven-plugin] Preparation for next development cycle. 2021-12-19 21:49:34 +00:00
Wouter Born b285e9be8f
Upgrade to Karaf 4.3.4 (#2603)
* Syncs dependencies with Karaf 4.3.4
* Resolves itest runbundles for these new dependencies

Signed-off-by: Wouter Born <github@maindrain.net>
2021-12-18 10:59:35 +01:00
Yannick Schaus 198e2eb405
Change the syntax for references in automation modules configuration (#2606)
Fixes #2510.

This changes the placeholder syntax used by the reference resolver notably
used in rule templates from `${reference}` to `{{reference}}`.

The former syntax is also used by other languages, notably JavaScript's
template strings, and therefore writing rule templates including JavaScript
code with template strings wouldn't behave as expected.

This also fixes a bug identified in #2510 where you couldn't have a
single closing brace before the start of the first placeholder - which
could more easily happen than having two closing braces.

Signed-off-by: Yannick Schaus <github@schaus.net>
2021-12-12 19:20:19 +01:00
Wouter Born 0028a3c792
Downgrade Aries JAX-RS Whiteboard from 2.0.1 to 2.0.0 (#2599)
It causes unneccessary bundle refreshes whenever add-ons are installed/uninstalled.
As a result the UI does not get properly notified of installation changes.

Fixes #2580
Reverts the Aries JAX-RS Whiteboard upgrade of #2532

Signed-off-by: Wouter Born <github@maindrain.net>
2021-12-10 23:34:01 +01:00
Wouter Born 69043bea74
Use Accept-Language header for locale in ConfigurableServiceResource (#2602)
Most RESTResources already use the LocaleService to get the locale based on the Accept-Language header and use the system locale only as fallback.
Because the ConfigurableServiceResource does not do this, it results in mixed up languages whenever your browser locale is not the same as the configured system locale.

See:

* https://community.openhab.org/t/language-support-question-regional-settings-language-vs-browser-language/128010
* https://github.com/openhab/openhab-webui/issues/1083

Signed-off-by: Wouter Born <github@maindrain.net>
2021-12-10 23:33:13 +01:00
Wouter Born ca063a3a2f
Update bnd to 6.1.0 (#2583)
For release notes, see:

https://github.com/bndtools/bnd/wiki/Changes-in-6.1.0

Signed-off-by: Wouter Born <github@maindrain.net>
2021-11-28 21:57:31 +01:00
Wouter Born 66c391a2c1
Upgrade JUnit and Mockito dependencies (#2574)
Upgrades:

* JUnit from 5.7.0 to 5.8.1.
* Mockito from 3.7.0 to 4.1.0.

For release notes, see:

* https://junit.org/junit5/docs/current/release-notes/index.html
* https://github.com/mockito/mockito/releases

Signed-off-by: Wouter Born <github@maindrain.net>
2021-11-23 20:27:17 +01:00
openhab-bot 598245b919
New Crowdin updates (#2566)
* New translations audio.properties (Hungarian)
* New translations DefaultSystemChannels.properties (German)
* New translations inbox.properties (Hungarian)
* New translations magic.properties (Hebrew)
* New translations magic.properties (Hungarian)
* New translations magic.properties (Italian)
* New translations marketplace.properties (Hungarian)
* New translations sitemap.properties (Hungarian)

* Fixed unit tests

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2021-11-21 13:06:09 +01:00
Wouter Born 3d722ec13b
Upgrade UoM dependencies (#2573)
Signed-off-by: Wouter Born <github@maindrain.net>
2021-11-21 10:27:20 +01:00
spacemanspiff2007 abb17c1658
[rest] Align item endpoint with items endpoint (#2533)
Add option to skip members, e.g. if the goal of the request to just get the metadata of a group item

Signed-off-by: spacemanspiff2007 <git@sgerber.de>
2021-11-02 08:25:18 +01:00
Wouter Born bf81eaa1c2
Fix/suppress PMD CompareObjectsWithEquals findings (#2548)
Newer PMD versions discover more CompareObjectsWithEquals findings.

Related to https://github.com/openhab/static-code-analysis/pull/423

Signed-off-by: Wouter Born <github@maindrain.net>
2021-10-30 19:37:34 +02:00
Wouter Born 39dad81ebb
Fix unstable ItemChannelLinkResourceOSGiTest (#2536)
New ItemChannelLinkProviders are added asynchronously to the ItemChannelLinkRegistry, which can cause this test to fail:

TEST org.openhab.core.io.rest.core.internal.link.ItemChannelLinkResourceOSGiTest#shouldReturnLinks() <<< ERROR:
Expected: a collection with size <3>
     but: collection size was <0>
java.lang.AssertionError:
Expected: a collection with size <3>
     but: collection size was <0>
	at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
	at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6)
	at org.openhab.core.io.rest.core.internal.link.ItemChannelLinkResourceOSGiTest.shouldReturnLinks(ItemChannelLinkResourceOSGiTest.java:109)

Signed-off-by: Wouter Born <github@maindrain.net>
2021-10-25 16:59:25 +02:00
Wouter Born a2ef0084d2
Upgrade JAX-RS Whiteboard and CXF (#2532)
* Upgrade JAX-RS Whiteboard and CXF

* Upgrades Aries JAX-RS Whiteboard from 2.0.0 to 2.0.1
* Upgrades CXF from 3.4.3 to 3.4.5

For CXF release notes, see:

* https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310511&version=12350023
* https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310511&version=12350279

Fixes #2512

Signed-off-by: Wouter Born <github@maindrain.net>
2021-10-25 11:55:02 +02:00
Wouter Born d2557f950c
Update bnd to 6.0.0 (#2514)
For release notes, see:

https://github.com/bndtools/bnd/wiki/Changes-in-6.0.0

Signed-off-by: Wouter Born <github@maindrain.net>
2021-10-09 18:43:56 +02:00
Wouter Born ba6386d83b
Use CoreItemFactory item type constants in tests (#2497)
This prevents typos and using the constants makes it easier to find out what other items types are accepted.
It also makes it easier to see that these values are item types and not labels or descriptions.

Signed-off-by: Wouter Born <github@maindrain.net>
2021-09-27 07:34:58 +02:00