Commit Graph

717 Commits

Author SHA1 Message Date
David Gräff
ff70084383 Archetype: karaf feature file location fix (#789)
Update karaf feature file location

Signed-off-by: David Gräff <david.graeff@web.de>
2019-05-04 17:16:13 +02:00
Markus Rathgeb
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 Rathgeb
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 Rathgeb
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 Rathgeb
eaaf01a5fd use mandatory storage services (#787)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-05-02 21:11:00 +02:00
Markus Rathgeb
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 Rathgeb
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
Kai Kreuzer
5ae32f4f00 removed demo app as it moves to openhab-distro (#780)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2019-05-01 23:01:12 +02:00
Christoph Weitkamp
a18e60d7d7 Applied formatter in all files
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-05-01 22:47:07 +02:00
Christoph Weitkamp
8d5d789371 Changed ordering of annotation and quialifier
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-30 13:22:26 +02:00
Christoph Weitkamp
5888c8b5d6 Added RawButtonToggleRollershutterProfile, RawRockerStopMoveProfile and RawRockerUpDownProfile
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-30 13:22:26 +02:00
Christoph Weitkamp
b8de327e15 Added i18n feature for dynamic command descriptions (#771)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-29 19:16:47 +02:00
Christoph Weitkamp
31760bf3a7 Updated xml schema locations to openhab (#769)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-29 19:15:24 +02:00
Christoph Weitkamp
92e58ebfd1 Updated xml schema definition locations to openhab (#768)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-29 19:14:51 +02:00
Markus Rathgeb
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 Rathgeb
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
Christoph Weitkamp
76387f2b79 Changed visibility of lists to allow subclasses to acces them (#770)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-29 19:10:07 +02:00
Christoph Weitkamp
1bbf250d1f Removed deprecated methods (#721)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-28 18:52:16 +02:00
Hilbrand Bouwkamp
bb86507871 [archetype] Fix copyright in archetype example java files (#765)
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2019-04-28 16:56:10 +02:00
Markus Rathgeb
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 Rathgeb
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
Hilbrand Bouwkamp
d1e333d8e3 [archetype] .classpath should contain tabs. (#762)
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2019-04-27 22:27:40 +02:00
Hilbrand Bouwkamp
ff57db8396 Added maven archetype project to generate binding skeletons (#589)
This archetype generates bindings for the new bnd based build system.
It also updates specific bundle files that need information about the new binding.

This doesn't yet include generation of test projects.

Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
2019-04-26 13:03:28 +02:00
Christoph Weitkamp
bc91446ae1 Added i18n feature for dynamic state descriptions (#655)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-26 12:54:40 +02:00
Christoph Weitkamp
d0800c902e Added RawButtonTogglePlayerProfile, RawRockerNextPreviousProfile and RawRockerRewindFastforwardProfile (#747)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-26 12:53:16 +02:00
Markus Rathgeb
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
Christoph Weitkamp
e3cb062610 Fixed unit tests magic bundle (#756)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-25 17:49:38 +02:00
Christoph Weitkamp
387b439509 Reduced logging level in AbstractRegistry (#755)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-25 15:10:33 +02:00
Markus Rathgeb
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
Christoph Weitkamp
89da305fd3 Import SmartHomeUnits in Script Scope (#745)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-18 21:45:33 +02:00
Scott Rushworth
77992e7df6 Sort by filename instead of path (#724)
Currently, the scripts are loaded based on the lexicographical order of
the absolute paths of the scripts. This makes it difficult to control
the load order. This change bases the load order solely on the filename,
as was originally used before
https://github.com/eclipse/smarthome/pull/3855, and preserves the
ability to use scripts with the same filename.

Signed-off-by: Scott Rushworth <openhab@5iver.com>
2019-04-18 20:15:50 +02:00
Gaël L'hopital
20ee4b8fe0 Added change and update timestamp profiles (#732)
* Added change and update timestamp profiles

Signed-off-by: Gaël L'hopital <gael@lhopital.org>
2019-04-18 12:59:15 +02:00
Wouter Born
f4348cd6e8 Attach source JARs without forking to fix Jenkins warnings (#741)
This fixes the following warnings on Jenkins builds:

[WARNING] Failed to getClass for org.apache.maven.plugins.source.SourceJarMojo

See also: https://issues.jenkins-ci.org/browse/JENKINS-27372

Signed-off-by: Wouter Born <github@maindrain.net>
2019-04-17 06:55:41 +02:00
Wouter Born
fb972f385a Configure LanguageServer exit behavior (#742)
Xtext 2.17 allows for configuring the LanguageServer exit behavior so the SecurityManager workaround can be removed.

Fixes: https://github.com/eclipse/smarthome/issues/6291
Undos: https://github.com/openhab/openhab-core/pull/409

See also:
* "Configurable Server Exit Behavior" in the Xtext 2.16.0 release notes:
  https://www.eclipse.org/Xtext/releasenotes.html#/releasenotes/2018/12/04/version-2-16-0
* https://github.com/eclipse/xtext-core/issues/885

Signed-off-by: Wouter Born <github@maindrain.net>
2019-04-17 06:52:42 +02:00
Markus Rathgeb
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
Wouter Born
0c07ac99d6 Update Karaf to 4.2.4 in openHAB add-ons Parent POM (#723)
For Karaf 4.2.3 release notes, see:
  https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12344587

For Karaf 4.2.4 release notes, see:
  https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12344856&projectId=12311140

Signed-off-by: Wouter Born <github@maindrain.net>
2019-04-15 23:29:35 +02:00
Christoph Weitkamp
bddddb224b Enable Model Language Server Protocol Tests (#730)
* Activated org.openhab.core.model.lsp.tests
* Renamed bundle

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-15 18:05:58 +02:00
Christoph Weitkamp
c91d566dd2 Activate org.openhab.core.model.core.tests (#728)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-15 17:41:49 +02:00
Christoph Weitkamp
c3885c9016 Activated org.openhab.core.model.persistence.tests (#729)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-15 17:28:12 +02:00
David Gräff
8819eb6ef9 add default constructor to MetadataKey (Gson deserialization support) (#727)
Signed-off-by: David Gräff <david.graeff@web.de>
2019-04-15 15:42:46 +02:00
Christoph Weitkamp
309a1af45f Deprecated method - could be removed because of superflous code (#720)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-15 14:35:48 +02:00
Christoph Weitkamp
0aa7661764 Revert ThingImpl and BridgeImpl changes as the storage uses those implementations (#719)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-14 23:09:09 +02:00
Kai Kreuzer
48ce8357f5 remove build path entries for non-existent folders (#716)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
2019-04-14 09:55:32 +02:00
David Gräff
31c3ba3713 Add serial transport to runtime BOM (#714)
Add nrjavaserial to runtime bom

Signed-off-by: David Graeff <david.graeff@web.de>
2019-04-13 12:09:15 +02:00
Scott Rushworth
5f880e1062 Added ScriptModuleTypeProvider (#635)
Added ScriptModuleTypeProvider, which dynamically adds available script
languages to the ParameterOptions used in Paper UI when configuring a
ScriptAction or ScriptCondition.

Signed-off-by: Scott Rushworth <openhab@5iver.com>
2019-04-11 06:57:39 +02:00
Christoph Weitkamp
48a97c1ac2 Improved thing / bridge performance (#693)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-10 08:50:04 +02:00
Markus Rathgeb
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 Rathgeb
33cfb5dbac mapdb storage: minor cleanups (#707)
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-04-09 21:23:25 +02:00
Christoph Weitkamp
ff158f9735 Enable Network I/O HTTP Integration Tests (#700)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
2019-04-09 17:03:33 +02:00
Thomas Weißschuh
82b7ff6db9 Channel groups should not require static channels (#696)
* channel groups should not require static channels
* Added unit tests

Also-by: Christoph Weitkamp <github@christophweitkamp.de>
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
2019-04-08 21:44:52 +02:00