Skip to content

Commit 618c9e3

Browse files
authored
Merge pull request #246 from psycho-ir/fix-lookup-for-quarkus-dev
Fix resource/class loading in environments with hierarchical Classpath
2 parents 5df264d + 0948895 commit 618c9e3

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

operator-framework/src/main/java/io/javaoperatorsdk/operator/ControllerToCustomResourceMappingsProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ class ControllerToCustomResourceMappingsProvider {
2020
static Map<Class<? extends ResourceController>, Class<? extends CustomResource>> provide(final String resourcePath) {
2121
Map<Class<? extends ResourceController>, Class<? extends CustomResource>> controllerToCustomResourceMappings = new HashMap();
2222
try {
23-
final Enumeration<URL> customResourcesMetadataList = ControllerUtils.class.getClassLoader().getResources(resourcePath);
23+
final var classLoader = Thread.currentThread().getContextClassLoader();
24+
final Enumeration<URL> customResourcesMetadataList = classLoader.getResources(resourcePath);
2425
for (Iterator<URL> it = customResourcesMetadataList.asIterator(); it.hasNext(); ) {
2526
URL url = it.next();
2627

operator-framework/src/main/java/io/javaoperatorsdk/operator/ControllerUtils.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import io.fabric8.kubernetes.client.CustomResourceDoneable;
55
import io.javaoperatorsdk.operator.api.Controller;
66
import io.javaoperatorsdk.operator.api.ResourceController;
7+
import org.apache.commons.lang3.ClassUtils;
78

89
import java.util.Map;
910

@@ -55,7 +56,7 @@ static String getCrdName(ResourceController controller) {
5556
getCustomResourceDoneableClass(ResourceController<T> controller) {
5657
try {
5758
final Class<T> customResourceClass = getCustomResourceClass(controller);
58-
return (Class<? extends CustomResourceDoneable<T>>) Class.forName(customResourceClass.getCanonicalName() + "Doneable");
59+
return (Class<? extends CustomResourceDoneable<T>>) ClassUtils.getClass(customResourceClass.getCanonicalName() + "Doneable");
5960
} catch (ClassNotFoundException e) {
6061
e.printStackTrace();
6162
return null;

0 commit comments

Comments
 (0)