Add support for non-final static fields
Change-Id: I612dd1aaca0d267e57aaff6a1577d9b164f4379c
diff --git a/utils/junit/src/main/java/org/onlab/junit/TestUtils.java b/utils/junit/src/main/java/org/onlab/junit/TestUtils.java
index d9bdeb2..7b16d65 100644
--- a/utils/junit/src/main/java/org/onlab/junit/TestUtils.java
+++ b/utils/junit/src/main/java/org/onlab/junit/TestUtils.java
@@ -40,7 +40,13 @@
public static <T, U> void setField(T subject, String fieldName, U value)
throws TestUtilsException {
@SuppressWarnings("unchecked")
- Class clazz = subject.getClass();
+ Class clazz;
+ if (subject instanceof Class) {
+ // Class was given, assuming intention is to deal with static field
+ clazz = (Class) subject;
+ } else {
+ clazz = subject.getClass();
+ }
try {
while (clazz != null) {
try {
@@ -77,7 +83,13 @@
try {
NoSuchFieldException exception = null;
@SuppressWarnings("unchecked")
- Class clazz = subject.getClass();
+ Class clazz;
+ if (subject instanceof Class) {
+ // Class was given, assuming intention is to deal with static field
+ clazz = (Class) subject;
+ } else {
+ clazz = subject.getClass();
+ }
while (clazz != null) {
try {
Field field = clazz.getDeclaredField(fieldName);