Commit Graph

5 Commits

Author SHA1 Message Date
Wouter Born
648cfac66d Avoid ByteBuffer incompatibility when compiling with JDK9+ (#686)
Incompatible code can be used/generated when using JDK8 on the command line and JDK11 in Eclipse (or vice versa).

The explanation for this is given in https://github.com/apache/felix/pull/114 :

Java 9 introduces overridden methods with covariant return types for the following methods in java.nio.ByteBuffer:

* position​(int newPosition)
* limit​(int newLimit)
* flip​()
* clear​()
* mark​()
* reset​()
* rewind​()

In Java 9 they all now return ByteBuffer, whereas the methods they override return Buffer,
resulting in exceptions like this when executing on Java 8 and lower:
java.lang.NoSuchMethodError: java.nio.ByteBuffer.limit(I)Ljava/nio/ByteBuffer
This is because the generated byte code includes the static return type of the method, which is not found on Java 8 and lower because the overloaded methods with covariant return types don't exist (the issue appears even with source and target 8 or lower in compilation parameters).
The solution is to cast ByteBuffer instances to Buffer before calling the method.

Signed-off-by: Wouter Born <github@maindrain.net>
2019-03-31 14:45:29 +02:00
Wouter Born
7b36b62c49 Fix SAT errors (#634)
Signed-off-by: Wouter Born <github@maindrain.net>
2019-03-07 10:41:24 +01:00
Wouter Born
48d873a32b Use openHAB license headers (#632)
Signed-off-by: Wouter Born <github@maindrain.net>
2019-03-06 16:10:00 +01:00
Markus Rathgeb
41b4a7dd1f migreate tests for io.net
Signed-off-by: Markus Rathgeb <maggu2810@gmail.com>
2019-02-06 15:55:59 +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