Enable deprecation warnings
And fix usage of Class.newInstance(), deprecated since Java 9
Change-Id: I3bc4a4b2354cc978dc934c7b29cff7a87ab90bc9
diff --git a/build.gradle b/build.gradle
index 944a7f8..84bb03c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -83,6 +83,10 @@
mustRunAfter test
}
+tasks.withType(JavaCompile) {
+ options.deprecation = true
+}
+
tasks.withType(Test) {
reports.html.destination = file("${reporting.baseDir}/${name}")
testLogging {
diff --git a/src/main/java/com/intel/jndn/management/helpers/StatusDatasetHelper.java b/src/main/java/com/intel/jndn/management/helpers/StatusDatasetHelper.java
index 86ff954..757637a 100644
--- a/src/main/java/com/intel/jndn/management/helpers/StatusDatasetHelper.java
+++ b/src/main/java/com/intel/jndn/management/helpers/StatusDatasetHelper.java
@@ -77,10 +77,10 @@
TlvDecoder decoder = new TlvDecoder(payload.buf());
while (decoder.getOffset() < endOffset) {
try {
- T entry = type.newInstance();
+ T entry = type.getConstructor().newInstance();
entry.wireDecode(decoder);
entries.add(entry);
- } catch (IllegalAccessException | InstantiationException | EncodingException e) {
+ } catch (ReflectiveOperationException | EncodingException e) {
throw new ManagementException("Failed to read status dataset.", e);
}
}