ensure to use .getConstructor().newInstance() instead of newInstance() (newInstance() is deprecated in j9)
diff --git a/bval-core/src/main/java/org/apache/bval/util/reflection/Reflection.java b/bval-core/src/main/java/org/apache/bval/util/reflection/Reflection.java
index 221a277..79e88fb 100644
--- a/bval-core/src/main/java/org/apache/bval/util/reflection/Reflection.java
+++ b/bval-core/src/main/java/org/apache/bval/util/reflection/Reflection.java
@@ -333,7 +333,7 @@
*/
public static <T> T newInstance(final Class<T> cls) {
try {
- return cls.newInstance();
+ return cls.getConstructor().newInstance();
} catch (final Exception ex) {
throw new RuntimeException("Cannot instantiate : " + cls, ex);
}
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorFactory.java b/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorFactory.java
index b516a73..3bff1c5 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorFactory.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorFactory.java
@@ -554,7 +554,7 @@
if (c != null) {
return c.newInstance(this);
}
- return cls.newInstance();
+ return cls.getConstructor().newInstance();
} catch (Exception e) {
throw new ValidationException(e);
}
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/ConfigurationImpl.java b/bval-jsr/src/main/java/org/apache/bval/jsr/ConfigurationImpl.java
index 3545383..658273c 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/ConfigurationImpl.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/ConfigurationImpl.java
@@ -430,7 +430,7 @@
return knownProvider.get();
}
try {
- return providerClass.newInstance();
+ return providerClass.getConstructor().newInstance();
} catch (Exception e) {
throw Exceptions.create(ValidationException::new, "Unable to find/create %s of type %s",
ValidationProvider.class.getSimpleName(), providerClass);
@@ -471,7 +471,7 @@
} catch (Exception | NoClassDefFoundError e) {
}
try {
- return cls.newInstance();
+ return cls.getConstructor().newInstance();
} catch (final Exception e) {
throw new ValidationException(e.getMessage(), e);
}
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/DefaultConstraintValidatorFactory.java b/bval-jsr/src/main/java/org/apache/bval/jsr/DefaultConstraintValidatorFactory.java
index 9474705..7bfb7bf 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/DefaultConstraintValidatorFactory.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/DefaultConstraintValidatorFactory.java
@@ -69,7 +69,7 @@
} catch (Exception | NoClassDefFoundError e) {
}
}
- return constraintClass.newInstance();
+ return constraintClass.getConstructor().newInstance();
} catch (final Exception ex) {
throw new ValidationException("Cannot instantiate : " + constraintClass, ex);
}
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/DefaultMessageInterpolator.java b/bval-jsr/src/main/java/org/apache/bval/jsr/DefaultMessageInterpolator.java
index 6a85a2a..624a32b 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/DefaultMessageInterpolator.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/DefaultMessageInterpolator.java
@@ -86,7 +86,8 @@
MessageEvaluator ev;
try {
ev = MessageEvaluator.class
- .cast(getClass().getClassLoader().loadClass("org.apache.bval.el.ELFacade").newInstance());
+ .cast(getClass().getClassLoader().loadClass("org.apache.bval.el.ELFacade")
+ .getConstructor().newInstance());
} catch (final Throwable e) { // can be exception or error
ev = null;
}
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/resolver/DefaultTraversableResolver.java b/bval-jsr/src/main/java/org/apache/bval/jsr/resolver/DefaultTraversableResolver.java
index d8b392e..d09299a 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/resolver/DefaultTraversableResolver.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/resolver/DefaultTraversableResolver.java
@@ -89,7 +89,7 @@
Class<? extends TraversableResolver> jpaAwareResolverClass =
(Class<? extends TraversableResolver>) Reflection.toClass(JPA_AWARE_TRAVERSABLE_RESOLVER_CLASSNAME,
classLoader);
- jpaTR = jpaAwareResolverClass.newInstance();
+ jpaTR = jpaAwareResolverClass.getConstructor().newInstance();
if (LOG_FINEST) {
log.log(Level.FINEST,
String.format("Instantiated an instance of %s.", JPA_AWARE_TRAVERSABLE_RESOLVER_CLASSNAME));
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/valueextraction/ValueExtractors.java b/bval-jsr/src/main/java/org/apache/bval/jsr/valueextraction/ValueExtractors.java
index 50feb6c..3adc541 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/valueextraction/ValueExtractors.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/valueextraction/ValueExtractors.java
@@ -17,6 +17,7 @@
package org.apache.bval.jsr.valueextraction;
import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Type;
import java.lang.reflect.TypeVariable;
import java.util.Collection;
@@ -95,9 +96,11 @@
private static <T> T newInstance(Class<T> t) {
try {
- return t.newInstance();
- } catch (InstantiationException | IllegalAccessException e) {
+ return t.getConstructor().newInstance();
+ } catch (NoSuchMethodException | InstantiationException | IllegalAccessException e) {
throw new IllegalStateException(e);
+ } catch (InvocationTargetException e) {
+ throw new IllegalStateException(e.getTargetException());
}
}
diff --git a/bval-tck11/src/main/java/org/apache/bval/arquillian/EJBEnricher.java b/bval-tck11/src/main/java/org/apache/bval/arquillian/EJBEnricher.java
index 36c738d..da55ba5 100644
--- a/bval-tck11/src/main/java/org/apache/bval/arquillian/EJBEnricher.java
+++ b/bval-tck11/src/main/java/org/apache/bval/arquillian/EJBEnricher.java
@@ -32,7 +32,7 @@
for (final Field field : testCase.getClass().getDeclaredFields()) {
if (field.getAnnotation(EJB.class) != null) {
try {
- final Object instance = field.getType().newInstance();
+ final Object instance = field.getType().getConstructor().newInstance();
for (final Field f : field.getType().getDeclaredFields()) {
if (f.getAnnotation(Resource.class) != null) {
if (f.getType().equals(Validator.class)) {
diff --git a/bval-xstream/src/main/java/org/apache/bval/xml/XMLMetaBeanInfos.java b/bval-xstream/src/main/java/org/apache/bval/xml/XMLMetaBeanInfos.java
index 7bbeac6..0126fc6 100644
--- a/bval-xstream/src/main/java/org/apache/bval/xml/XMLMetaBeanInfos.java
+++ b/bval-xstream/src/main/java/org/apache/bval/xml/XMLMetaBeanInfos.java
@@ -108,7 +108,8 @@
final HashMap<String, XMLMetaValidator> map = new HashMap<String, XMLMetaValidator>(validators.size());
for (XMLMetaValidator xv : validators) {
if (xv.getJava() != null) {
- Validation validation = (Validation) Reflection.toClass(xv.getJava()).newInstance();
+ Validation validation = (Validation) Reflection.toClass(xv.getJava())
+ .getConstructor().newInstance();
xv.setValidation(validation);
map.put(xv.getId(), xv);
}