This is an automated email from the ASF dual-hosted git repository.
jungm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bval.git
The following commit(s) were added to refs/heads/master by this push:
new 4366077 BVAL-223 - Fix NPE in BValExtension
4366077 is described below
commit 43660774b3ddef5c57623820c0b7f2a9d15e23c8
Author: Markus Jung <[email protected]>
AuthorDate: Wed Mar 19 08:36:09 2025 +0100
BVAL-223 - Fix NPE in BValExtension
---
.../src/main/java/org/apache/bval/cdi/BValExtension.java | 2 +-
.../bval/jsr/cdi/CdiConstraintOnlyOnParentClassTest.java | 14 +++++++++++---
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/bval-jsr/src/main/java/org/apache/bval/cdi/BValExtension.java
b/bval-jsr/src/main/java/org/apache/bval/cdi/BValExtension.java
index 20467eb..f5723b0 100644
--- a/bval-jsr/src/main/java/org/apache/bval/cdi/BValExtension.java
+++ b/bval-jsr/src/main/java/org/apache/bval/cdi/BValExtension.java
@@ -149,7 +149,7 @@ public class BValExtension implements Extension {
}
// Nothing found, collect superclass/interface and repeat
(See BVAL-222)
- if (now.getSuperclass() != Object.class) {
+ if (now.getSuperclass() != Object.class &&
now.getSuperclass() != null) {
toProcess.add(now.getSuperclass());
}
diff --git
a/bval-jsr/src/test/java/org/apache/bval/jsr/cdi/CdiConstraintOnlyOnParentClassTest.java
b/bval-jsr/src/test/java/org/apache/bval/jsr/cdi/CdiConstraintOnlyOnParentClassTest.java
index 1713a6e..dc1c8e2 100644
---
a/bval-jsr/src/test/java/org/apache/bval/jsr/cdi/CdiConstraintOnlyOnParentClassTest.java
+++
b/bval-jsr/src/test/java/org/apache/bval/jsr/cdi/CdiConstraintOnlyOnParentClassTest.java
@@ -33,13 +33,15 @@ import org.junit.Test;
import org.junit.rules.ExternalResource;
import org.junit.runner.RunWith;
+import java.io.Serializable;
+
@RunWith(Arquillian.class)
public class CdiConstraintOnlyOnParentClassTest {
@ClassRule
public static ExternalResource allowMyServiceImplType = new
ExternalResource() {
@Override
protected void before() throws Throwable {
- BValExtension.setAnnotatedTypeFilter(at -> at.getJavaClass() ==
GreetingServiceImpl.class);
+ BValExtension.setAnnotatedTypeFilter(at -> at.getJavaClass() ==
LastGreetingService.class);
}
@Override
@@ -54,7 +56,7 @@ public class CdiConstraintOnlyOnParentClassTest {
@Deployment
public static JavaArchive createDeployment() {
return ShrinkWrap.create(JavaArchive.class)
- .addClasses(GreetingService.class, GreetingServiceImpl.class);
+ .addClasses(GreetingService.class, GreetingServiceImpl.class,
IntermediateGreetingService.class, LastGreetingService.class);
}
@Test
@@ -66,10 +68,16 @@ public class CdiConstraintOnlyOnParentClassTest {
void greet(@NotNull String name);
}
- @ApplicationScoped
public static class GreetingServiceImpl implements GreetingService {
@Override
public void greet(String name) {
}
}
+
+ public static class IntermediateGreetingService extends
GreetingServiceImpl {
+ }
+
+ @ApplicationScoped
+ public static class LastGreetingService extends
IntermediateGreetingService implements Serializable {
+ }
}