100 Commits
Author SHA1 Message Date
Markus RathgebandGitHub 406f83cbb6 HexUtils: fix empty string handling (#1907)
Fixes #1903

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2020-12-09 09:57:39 +01:00
Markus RathgebandGitHub c044061dc4 fix null constraint mismatch in model.thing for generic thing provider (#1872)
The type 'Thing' is not a valid substitute for the type parameter '@NonNull E extends Object'

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2020-11-30 10:27:40 +01:00
Markus RathgebandGitHub 0eaf58f047 fix null type mismatch in model.thing generic thing provider (#1865)
required '@NonNull URI' but this expression has type '@Nullable URI'

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2020-11-30 10:27:16 +01:00
Markus RathgebandGitHub 7885aa3526 fix null type in model.thing generic item channel link provider (#1864)
required '@NonNull Collection<?>' but this expression has type '@Nullable Set<@NonNull String>'

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2020-11-30 10:26:56 +01:00
Markus RathgebandWouter Born 853179e8f2 contains + get can be replaced by get and a null check (#1269)
contains + get will do its job as long as all collection access uses the
same synchronization locks and as long as every put ensures there will
never by a null value be inserted.

If the map implementation checks if a key is available, we can also get
the value already (IMHO there is no need for the overhead to first
lookup if the key is present and after that is checked, we call the get
function). It should be better to get the value and check if it differs
from null.

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-12-16 00:23:18 +01:00
Markus RathgebandWouter Born a19680e35d slf4j logging: remove not needed object array creation (#1268)
* slf4j logging: remove not needed object array creation
* remove explicit `toString()` calls and check if debug is enabled

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-12-16 00:22:56 +01:00
Markus RathgebandKai Kreuzer fc0c61e4b4 use correct wildcard for mandatory path parameters (#1224)
Fixes: https://github.com/openhab/openhab-core/issues/1217

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-11-17 21:44:51 +01:00
Markus RathgebandWouter Born 0abf994058 use mock instead of real service implementation (#1221)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-11-17 16:20:24 +01:00
Markus RathgebandChristoph Weitkamp 1b99305a96 Fix unexpected behavior while using runblacklist in itests (#1219)
If you would like to use the runblacklist bnd instruction in an
integration test it will not work as expected.

In my current test case it is not used at all.

This is caused because an included file overrides this instruction.

IMHO it would be better to use the "Merged Instructions" feature and use
a postfix in the included file. This way you can use the non postfixed
instruction as usual.

See: https://bnd.bndtools.org/chapters/820-instructions.html#merged-instructions

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-11-17 13:44:16 +01:00
Markus RathgebandWouter Born 7ba7ee2a86 update runtime dependencies to sync Jetty and Pax Web versions (#1218)
Use the same Pax Web and Jetty version for the runtime dependencies
(used by the demo application) as is used in the Karaf distribution.

This PR needs to be merged synchron to the updated bndrun in the openHAB
demo repository.

Related to: https://github.com/openhab/openhab-core/pull/1197#issuecomment-553029014

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-11-17 11:47:24 +01:00
Markus RathgebandKai Kreuzer 492526d74f add console command extension for serial inspection (#1172)
* add console command extension for serial inspection

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-11-10 21:41:31 +01:00
Markus RathgebandChristoph Weitkamp ef05b4d878 start with an upper case on "initial contribution" (#931)
Related to: https://github.com/openhab/openhab-core/pull/916/#discussion_r305082016

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-07-21 12:24:58 +02:00
Markus RathgebandChristoph Weitkamp 522af08531 provide Java EE modules (#920)
Also-by: Jan N. Klug <jan.n.klug@rub.de>
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-07-12 17:59:15 +02:00
Markus RathgebandChristoph Weitkamp 781165f3d8 fix nullness handling in itests (#913)
After adding the nullness annotations to the automation stuff, we need
to fix the usage to use a correct nullness handling.

Related to: https://github.com/openhab/openhab-core/pull/910

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-07-09 22:58:22 +02:00
Markus RathgebandChristoph Weitkamp c86cbea3ba remove leftovers of REST optimize (#907)
The project has been replaced by REST publisher and the sources should
be removed by https://github.com/openhab/openhab-core/pull/905
It seems something went wrong.
Let's remove it now!

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-07-02 16:45:40 +02:00
Markus RathgebandChristoph Weitkamp ad81f040de openHAB JAX-RS publisher (#905)
* add project for publisher
* add unmodified com.eclipsesource.jaxrs.publisher sources
* modify and use modified publisher
* drop tracker usage (only for custom whitelist by fragments)
* add the new code to new classes and namespace

Also-by: Kai Kreuzer <kai@openhab.org>
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-07-01 21:08:03 +02:00
Markus RathgebandWouter Born cf4a01063a bump super POM (#894)
Related to: https://github.com/openhab/infrastructure/issues/9

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-23 23:57:28 +02:00
Markus RathgebandKai Kreuzer 5fda143230 simplify contains, get, compute separation (#887)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-20 21:35:43 +02:00
Markus RathgebandKai Kreuzer 7d7f8d044d don't fail on nullable locale (currently not forbidden) (#886)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-20 21:34:18 +02:00
Markus RathgebandKai Kreuzer 2ed5110668 slightly cleaner nullness handling (don't split contains and get) (#885)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-20 21:33:36 +02:00
Markus RathgebandKai Kreuzer fe9b060391 firmware: transfer latest FW don't require a info about previous FW (#884)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-20 21:25:22 +02:00
Markus RathgebandKai Kreuzer a23cd23a37 map entries of member variables could change between lines (#883)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-20 21:24:55 +02:00
Markus RathgebandKai Kreuzer a75fbe1e42 Class::getCanonicalName may return null (#882)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-20 21:24:20 +02:00
Markus RathgebandKai Kreuzer bf9f86354b fix nullness violation in MapDB test (#881)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-20 21:23:53 +02:00
Markus RathgebandKai Kreuzer b897de2f5e get semantic type can return null, isAssignableFrom requires non-null (#880)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-20 21:23:33 +02:00
Markus RathgebandKai Kreuzer 6cdfd635f4 compine filter and map for tooling (#879)
It should not matter if the instructions are split or not.
But if it is splitted the nullness tooling don't know that the stream
after the filter contains only non null elements.
As it should not matter and to make the tooling happy...

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-20 21:23:05 +02:00
Markus RathgebandKai Kreuzer ebda4b8fc7 handle nullness in unget handler of composite module correctly (#878)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-20 21:22:22 +02:00
Markus RathgebandKai Kreuzer f1dfb553c7 we don't know if the rule has been deleted async. (#877)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-20 21:21:41 +02:00
Markus RathgebandKai Kreuzer be40b7a1e8 explicit inspect for null instead of fail because of a NPE (#876)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-20 21:20:59 +02:00
Markus RathgebandKai Kreuzer 361d42b20a if null must not be returned, null must not be returned (#875)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-20 21:20:27 +02:00
Markus RathgebandKai Kreuzer 0fc38a910b the format pattern must not be null (#874)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-20 21:19:46 +02:00
Markus RathgebandWouter Born 024cc5d40e don't drop the itests projects from reactor on skipTests (#873)
The bnd-testing-maven-plugin that is used to run the tests already
checks for the skipTests property and do not execute any tests if
defined.
We should keep the integration tests part of the reactor also if the
tests are not executed.

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-20 17:23:51 +02:00
Markus RathgebandKai Kreuzer 8e195d4058 don't use safe caller for event delegation to subscribers (#861)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-19 23:43:17 +02:00
Markus RathgebandKai Kreuzer fefbef50f5 UID: allow to encode arbitrary string (+decode) (#864)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-19 22:42:27 +02:00
Markus RathgebandWouter Born 849753befe small improvements of hexutils API and impl. (#862)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-10 17:07:04 +02:00
Markus RathgebandWouter Born 5977002c5f workaround for #597 (#863)
Fixes: #597

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-10 11:28:09 +02:00
Markus RathgebandKai Kreuzer 3b74ea1dad use separate class for named thread factory (#860)
... to make it usable for others

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-09 20:32:01 +02:00
Markus RathgebandKai Kreuzer 9018e9ae80 move event logging for better analyze options (#856)
* move event logging for better analyze options
* add another optional event handling logging

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-06-09 10:33:42 +02:00
Markus RathgebandChristoph Weitkamp e9418cb4c1 split between activation logic (#836)
If a component should be activated an instance is constructed and that
object is activated.
Let's split the construction and activation logic also if constructor
injection is used.

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-28 21:36:33 +02:00
Markus RathgebandWouter Born c547414003 set http context ID for smarthome HTTP context (#818)
The Pax Web Extender is much more happy if this property is present.
Let's make it happy...

Fixes: https://github.com/openhab/openhab-distro/issues/891

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-18 00:25:38 +02:00
Markus RathgebandWouter Born 7780d0d133 Travis CI: check POM convention (#795)
* Travis CI: check POM convention

We could use Travis CI to execute some checks in front of the normal
build.

This change adds a check if the POM files follow our POM conventions.

If something fails, it show which files violates the convention and the
command that should be executed to fix the situation.

For example if the base POM file breaks the convention:

    At least one POM file breaks the convention, please use sortpom to fix the POM file(s).
    	modified:   pom.xml
    You should run the following command in the root directory of your working copy:
        mvn com.github.ekryd.sortpom:sortpom-maven-plugin:sort -Dsort.keepBlankLines=true -Dsort.createBackupFile=false -Dsort.predefinedSortOrder=recommended_2008_06

* add sortpom plugin to verify phase
* do not use dependency reduced pom (use scope)

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-18 00:07:14 +02:00
Markus RathgebandChristoph Weitkamp 0aaad726ff persistent inbox: ensure all members have been set before usage (#826)
Fixes #823

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-16 14:20:50 +02:00
Markus RathgebandChristoph Weitkamp 457df1e853 rule engine should not depend on specific registry implementation (#819)
The current rule registry implementation provides a configuration for
the "rule reinitialization delay". That configuration is not used by the
rule registry itself but used by the rule engine implementation.
This required the rule engine implementation to contain a special code
path that checks if the injected rule registry is an instance of that
special implementation to access that configuration parameter.
As the configuration is not used by the registry itself, it does not
make sense that it is a configuration of that component.
If the rule engine (at least this special implementation) would like to
use a configurable parameter, it should be part of that specific
component implementation.

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-15 23:03:05 +02:00
Markus RathgebandChristoph Weitkamp ccd66f1491 use constructor injection to simplify lifecycle (#822)
Fixes #811

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-15 20:05:22 +02:00
Markus RathgebandChristoph Weitkamp d55d59d3b5 MQTT: disable https hostname verification (#820)
After the bump of Paho from 1.2.0 to 1.2.1 the library enables the https
hostname verification.
This breaks compatibility with current consumers.
Connections cannot be established anymore.

We disable the https hostname verification to keep the old behaviour.
We should add an API so the hostname verification can be enabled if
desired.

This also makes the version 1.2.1 the lower version limit as we need to
use the API to disable the verification internally.

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

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-15 17:57:49 +02:00
Markus RathgebandChristoph Weitkamp dc5ddba83c [model] don't require to download antlr generator on build time (#810)
The antlr generator has been downloaded by a specific download maven
plugin at build time.
Instead of calling the plugin goals it would be much simpler to add the
downloaded file to the repository (I assume it has been not possible on
the Eclipse repository before).
Another benefit would be the IDE integration as the IDE does not need to
know if the plugin needs to be executed or not...

The provided antlr generator has been taken from:
http://download.itemis.com/antlr-generator-3.2.0-patch.jar

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-14 09:04:35 +02:00
Markus RathgebandKai Kreuzer 4480e04137 persistent inbox: do not use incomplete initialized object (#813)
Fixes: https://github.com/openhab/openhab-core/issues/812

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-10 09:00:41 +02:00
Markus RathgebandChristoph Weitkamp bba6df5372 add printf for console (#793)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-09 08:29:56 +02:00
Markus RathgebandChristoph Weitkamp 1996f69e6f [automation] Fix activation of rules (#796)
Related to: https://github.com/openhab/openhab-core/issues/722
Related to: https://github.com/openhab/openhab-core/issues/783

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-08 15:18:21 +02:00
Markus RathgebandChristoph Weitkamp d19ee33be9 [audio] audio servlet: don't change map while used by interation (#801)
We should not remove entries (so keys) from the map while we are using
the key set (a view) of that map (see JavaDoc: otherwise "results of the
iteration undefined").

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-07 21:26:04 +02:00
Markus RathgebandKai Kreuzer c359347ada allow to use "Pure Annotation-Driven Bundle Development" (#803)
Bump the OSGi annotation to allow a pure annotation-driven bundle
development.

Related to: https://virtual.osgiusers.org/2018/10/pure-annotation-driven-dev

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-06 23:10:32 +02:00
Markus RathgebandKai Kreuzer 0d996e74a2 audio servlet test: harden against slow test systems (#802)
The test suite for the audio servlet contains a test that will fail on
systems under heavy load (or just imperformant systems).

An audio stream should be added for 1 (streamTimeout) second.
The stream is requested and it is tested that it can be accessed.
After that the test waits until the stream is no more available (this
will be the cause after "streamTimeout").

If the "add stream" and "get request for stream" operations already
exceed the "streamTimeout" limit, the test will fail.
This can be handled in the test case itself if we check the timespan we
need to get the stream and if we know that the stream is allowed to be
non present already, we continue with the next step without failing.

Fixes: https://github.com/openhab/openhab-core/issues/799

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-06 22:42:41 +02:00
Markus RathgebandChristoph Weitkamp 52c2456461 [automation] Disabled storage must not be null anymore (#797)
Related to: https://github.com/openhab/openhab-core/pull/787

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-06 13:32:15 +02:00
Markus RathgebandWouter Born 3c32c049b1 drop remaining tycho and p2 stuff (#791)
* remove tycho based pom
* remove mega old parent POM for external repos
* remove p2 repository (generation)

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-06 00:04:47 +02:00
Markus RathgebandWouter Born b7b5dfc9fa POM Code Convention (#790)
There is a recommended ordering for all Maven POM files.
See: https://maven.apache.org/developers/conventions/code.html

The POM files has been "fixed" by using the "sortpom-maven-plugin".
The blank lines has been kept to keep the element separation for
readability.
The plugin also fixes indentation etc.
Have a look at: https://github.com/Ekryd/sortpom/wiki

The profile has been set to "recommended_2008_06" that states:
The POM Code Convention that was chosen by Maven developers in 2008

Command that has been executed:

    mvn \
      com.github.ekryd.sortpom:sortpom-maven-plugin:sort \
      -Dsort.keepBlankLines=true \
      -Dsort.predefinedSortOrder=recommended_2008_06

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-05 17:47:41 +02:00
Markus RathgebandWouter Born 83e6962244 add human readable notation of serial protocol type (#794)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-05 17:42:06 +02:00
Markus RathgebandKai Kreuzer 01985102f3 fix classpath for magic tests (#792)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-04 19:42:32 +02:00
Markus RathgebandKai Kreuzer c4ae29917b Revert main part of DS requirements removal (#595)
This reverts the DS requirements removal of commit
981a447e99 which has been done on PR #530.

Fixes: https://github.com/openhab/openhab-core/issues/590
Related to: https://github.com/openhab/openhab-distro/pull/882

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-04 17:14:36 +02:00
Markus RathgebandChristoph Weitkamp 5e8c8bb4ec use consistent coordinates also for tools and archetypes (#781)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-04 14:15:45 +02:00
Markus RathgebandKai Kreuzer 01681454d6 remove manual set capabilities in Karaf features (#788)
As we moved away from the manifest first approach the manifests are
generated by Bnd and contain the capabilities already.
So, there is no need anymore to maintain it in the Karaf features
manually.

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-03 09:09:28 +02:00
Markus RathgebandKai Kreuzer eaaf01a5fd use mandatory storage services (#787)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-02 21:11:00 +02:00
Markus RathgebandKai Kreuzer f881ef87f1 model: prevent simultan access of singleton (#773)
The singleton instance of "Diagnostician" is used without
synchronization.
The singleton "Diasnostician" instance is using the singleton
"EValidator.Registry" instance (without synchronization).
In very rare high load situations there has been CME detected.

My first "solution" has been to synchronize the access of
Diagnostician's instance method by using

```java
synchronized (Diagnostician.INSTANCE) {
    ...
```

But after realize that EMF is using internally other singletons I tried
to find any information about EMF and thread safety.

I found this one: https://javahacks.net/2016/07/13/emf-thread-safety/

  EMF models are not thread-safe by default and writing multithreaded
  applications is not that simple.
  The more complex our application became, the more often we got
  concurrent modification exceptions and had problems with filtering and
  sorting operations.

So, I assume instead of adding synchronizations to our code that is
using EMF (IIRC this has been already done on the ESH hosted code base
long time ago) we should try to execute EMF code in a safe manner.

This implementation adds a "SafeEMF" OSGi service that should be used to
execute EMF code to ensure none code of EMF (or at least the ones that
calls has been migrated to the SafeEMF usage) is accessed by separate
threads at the same time.

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

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-01 23:19:07 +02:00
Markus RathgebandKai Kreuzer bafc39f91b automation: some cleanup (#776)
* automation: first cleanup
* automation: do not set all enabled rules to idle state

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-01 23:04:07 +02:00
Markus RathgebandKai Kreuzer d60a7c8fe0 use compendium specification R7 (#766)
This allows us to use the version 1.4 of the components and we can use
the Constructor Injection.

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-04-29 19:14:24 +02:00
Markus RathgebandKai Kreuzer d2c7db63db use upstream nrjavaserial 3.15.0 on runtime (#761)
* add nrjavaserial without liblockdev
* use only one feature for a nrjavaserial implementation

Fixes: https://github.com/openhab/openhab-core/issues/750

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-04-29 19:11:32 +02:00
Markus RathgebandKai Kreuzer 25d7f14dfc safe caller: respect classloader of the class and the interfaces (#763)
Related to: https://github.com/openhab/openhab2-addons/issues/5519

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-04-28 16:20:53 +02:00
Markus RathgebandKai Kreuzer 1ac2e8978b automation: remove specific handling for CompositeModuleHandlerFactory (#764)
The member variable "compositeFactory" that holds the
"CompositeModuleHandlerFactory" instance is set in the activation method
by calling the constructor of of "CompositeModuleHandlerFactory".
This reference is destroyed and unset in the deactivate method.

There exists DS managed multiple optional references to
"ModuleHandlerFactory".
The "add" logic does not touch the "compositeFactory" variable.
The "remove" logic checks if the given service reference is a
"CompositeModuleHandlerFactory" and unsets the "compositeFactory" member
variable.

If e.g. a module handler factory is injected that also implements the
CompositeModuleHandlerFactory the CompositeModuleHandlerFactory created
by the activate method is still be used. If that specific module handler
factory is removed again, the variable "compositeFactory" is unset and
there is NO CompositeModuleHandlerFactory present anymore.

There are two options:
* The instance created in the activate method should be used as long as
  no other one is injected.
* The instance created in the activate method should be used all the
  time.

The whole code base does not contain another specific implementation for
CompositeModuleHandlerFactory, so there is no (at least in openHAB Core)
change that a CompositeModuleHandlerFactory is injected.

So instead of adding a non deterministic usage of "some" composite
module handler factory (which will require a fix of the "set module
handler factory method" and some others), let's drop the buggy code in
the "remove module handler factory" and use the manually created
composite module handler factory all the time.

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-04-28 16:19:06 +02:00
Markus RathgebandChristoph Weitkamp ce72e1083f drop blocking async SSE implementation (#754)
There workaround for a servlet implementation lower then 3 can be removed.
After we migrated from ESH to openHAB Core we could set servlet >= 3 as a requirement.

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-04-25 20:05:22 +02:00
Markus RathgebandKai Kreuzer e92cdace3c REST SSE: disable compression also if servlet 3 support is present (#752)
We should disable the compression regardless if servlet 3 is used or
not. It does not matter which servlet version is used, the client should
receive the messages as soon as possible without compression or
buffering.
You can identify the lost SSE feature as soon as you enable the usage of
Jetty's GzipHandler.

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-04-24 17:03:48 +02:00
Markus RathgebandKai Kreuzer 32845ef36d differ between min. karaf version (OSGi) und karaf compilation tooling (#740)
Related to: https://github.com/openhab/openhab-core/pull/723#issuecomment-483595667

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-04-16 22:41:27 +02:00
Markus RathgebandWouter Born 9630a7eb1a runtime: add support for Paho MQTT (#702)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-04-09 21:25:50 +02:00
Markus RathgebandWouter Born 33cfb5dbac mapdb storage: minor cleanups (#707)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-04-09 21:23:25 +02:00
Markus RathgebandKai Kreuzer fdb23778dc improve nullness of events (#657)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-03-15 09:10:52 +01:00
Markus RathgebandKai Kreuzer 32da98c2cd do not deploy integration tests (#654)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-03-14 19:47:54 +01:00
Markus RathgebandWouter Born 2ecc21d7a2 drop slf4j-simple from test index (#652)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-03-14 10:37:31 +01:00
Markus RathgebandChristoph Weitkamp 99978009f3 bump bnd to 4.2.0 (#651)
* bump bnd to 4.2.0

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-03-14 09:38:17 +01:00
Markus RathgebandWouter Born f00b005ab9 bump Gson to 2.8.2 (#648)
As long as we depend on the internal Gson packages, we need to use the
Gson bundle provided by Eclipse Orbit instead of the official one.

Related to: https://github.com/openhab/openhab-core/pull/641

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-03-13 23:23:37 +01:00
Markus RathgebandKai Kreuzer 47194895ac specify directories so we do not rely on the current working directory (#640)
* specify directories so we do not rely on the current working directory

The current working directory has been changed between Bnd 4.1.0 and
4.2.0 and we should not rely on a specific choosen one.
We should set the appropriate directories ourself.

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-03-13 20:14:52 +01:00
Markus RathgebandKai Kreuzer 2913d75e56 remove PDE left overs from core.karaf project (#639)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-03-08 23:22:00 +01:00
Markus RathgebandWouter Born bf4eac7d78 migrate tests for storage.json (#624)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-03-05 11:53:02 +01:00
Markus RathgebandKai Kreuzer 4be3a0edd1 migrate tests for binding.xml (#619)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-03-04 09:14:58 +01:00
Markus RathgebandKai Kreuzer 58d73f9f5c add jackson 1.x to compat1x feature (#616)
Fixes: https://github.com/openhab/openhab-core/issues/614

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-03-01 15:31:17 +01:00
Markus RathgebandKai Kreuzer 2a06d15955 add runtime dependency declarations to project (#606)
For the runtime dependencies a template from the EnRoute project has
been used. To allow further customization and usages of different Maven
scopes, we migrate the template to this repo.

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-25 22:39:28 +01:00
Markus RathgebandKai Kreuzer d458d485b3 blacklist API bundle as long as jersey-all is used (#605)
As long as jersey-all is used that bundles a dozen of other artifacts,
we have to blacklist the JAX-RS API. Otherwise it will be added on every
new resolve call.

Related to: https://github.com/openhab/openhab-core/issues/576
Related to: https://github.com/openhab/openhab-core/pull/580

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-25 22:38:45 +01:00
Markus RathgebandKai Kreuzer 0456b56e1d bump to OHDR 1.0.40 (#603)
* bump p2 repo for tycho builds from Oxygen to Photon
* bump ohdr to 1.0.40

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-25 09:52:11 +01:00
Markus RathgebandKai Kreuzer ee29031708 bump jUPnP (#602)
The version 2.5.2 contains the provided JUPnPService capability
information.

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-25 09:21:16 +01:00
Markus RathgebandWouter Born 45858f2dd2 model.core: respect OSGi lifecycle (#592)
Fixes: https://github.com/openhab/openhab-core/issues/591

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-21 10:13:54 +01:00
Markus RathgebandKai Kreuzer 363a437347 workround m2e indexer hickup, build local openhab index (#584)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-18 16:29:55 +01:00
Markus RathgebandKai Kreuzer e9a3701417 migrate tests for model.thing
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-14 14:22:33 +01:00
Markus RathgebandKai Kreuzer 548c853680 remove model profile markers for model itests
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-14 14:22:33 +01:00
Markus RathgebandChristoph Weitkamp fa8a368873 handle different possible service PID types (#560)
* 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>
2019-02-13 17:09:32 +01:00
Markus RathgebandKai Kreuzer afd1770da2 ensure rules can access joda time packages (#572)
Fixes: https://github.com/openhab/openhab-core/issues/553

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-13 09:29:53 +01:00
Markus RathgebandKai Kreuzer 04bbd2e847 remove obsolete plugin configuration (#573)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-13 09:26:27 +01:00
Markus RathgebandKai Kreuzer 2535d3dd50 make optional import that's optionally used by Class.forName (dbus lib) (#562)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-11 18:19:47 +01:00
Markus RathgebandKai Kreuzer e2030d4edc add missing dependencies for integration tests (#564)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-11 18:18:33 +01:00
Markus RathgebandKai Kreuzer 396cbe67b8 remove io.rest.sitemap itests (already moved) (#563)
The io.rest.sitemap integration test has already been moved to a pure
JUnit test of the respective bundle.

Related to: https://github.com/openhab/openhab-core/pull/499

Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-11 18:17:35 +01:00
Markus Rathgeb 0c4298f6a6 migrate tests for io.rest.core
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-06 15:56:00 +01:00
Markus Rathgeb 223a371628 update Maven project settings (Eclipse IDE)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-06 15:56:00 +01:00
Markus Rathgeb 223889c6d0 migrate tests for thing.xml
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-06 15:56:00 +01: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