Skip to content

Commit 0d85199

Browse files
author
Jonathan Rial
committed
Fix the illegal access issue
1 parent e6868b5 commit 0d85199

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

operator-framework/src/main/java/com/github/containersolutions/operator/ControllerUtils.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
class ControllerUtils {
1717

18+
private final static double JAVA_VERSION = Double.parseDouble(System.getProperty("java.specification.version"));
19+
1820
private final static Logger log = LoggerFactory.getLogger(Operator.class);
1921

2022
// this is just to support testing, this way we don't try to create class multiple times in memory with same name.
@@ -56,7 +58,12 @@ static String getCrdName(ResourceController controller) {
5658
CtConstructor ctConstructor = CtNewConstructor.make(argTypes, null, "super($1, $2);", customDoneable);
5759
customDoneable.addConstructor(ctConstructor);
5860

59-
Class<? extends CustomResourceDoneable<T>> doneableClass = (Class<? extends CustomResourceDoneable<T>>) customDoneable.toClass();
61+
Class<? extends CustomResourceDoneable<T>> doneableClass;
62+
if (JAVA_VERSION >= 9) {
63+
doneableClass = (Class<? extends CustomResourceDoneable<T>>) customDoneable.toClass(customResourceClass);
64+
} else {
65+
doneableClass = (Class<? extends CustomResourceDoneable<T>>) customDoneable.toClass();
66+
}
6067
doneableClassCache.put(customResourceClass, doneableClass);
6168
return doneableClass;
6269
} catch (CannotCompileException | NotFoundException e) {

0 commit comments

Comments
 (0)