Skip to content

Commit 1a851ef

Browse files
committed
refactor: move naming generation methods back to ControllerUtils
1 parent cc819e1 commit 1a851ef

File tree

4 files changed

+43
-40
lines changed

4 files changed

+43
-40
lines changed

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

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package io.javaoperatorsdk.operator;
22

33
import io.fabric8.kubernetes.client.CustomResource;
4+
import io.javaoperatorsdk.operator.api.Controller;
5+
import io.javaoperatorsdk.operator.api.ResourceController;
6+
import java.util.Locale;
47

58
public class ControllerUtils {
69

@@ -14,4 +17,39 @@ public static boolean hasGivenFinalizer(CustomResource resource, String finalize
1417
return resource.getMetadata().getFinalizers() != null
1518
&& resource.getMetadata().getFinalizers().contains(finalizer);
1619
}
20+
21+
public static String getNameFor(Class<? extends ResourceController> controllerClass) {
22+
// if the controller annotation has a name attribute, use it
23+
final var annotation = controllerClass.getAnnotation(Controller.class);
24+
if (annotation != null) {
25+
final var name = annotation.name();
26+
if (!Controller.NULL.equals(name)) {
27+
return name;
28+
}
29+
}
30+
31+
// otherwise, use the lower-cased full class name
32+
return getDefaultNameFor(controllerClass);
33+
}
34+
35+
public static String getNameFor(ResourceController controller) {
36+
return getNameFor(controller.getClass());
37+
}
38+
39+
public static String getDefaultNameFor(ResourceController controller) {
40+
return getDefaultNameFor(controller.getClass());
41+
}
42+
43+
public static String getDefaultNameFor(Class<? extends ResourceController> controllerClass) {
44+
return getDefaultResourceControllerName(controllerClass.getSimpleName());
45+
}
46+
47+
public static String getDefaultResourceControllerName(String rcControllerClassName) {
48+
// if the name is fully qualified, extract the simple class name
49+
final var lastDot = rcControllerClassName.lastIndexOf('.');
50+
if (lastDot > 0) {
51+
rcControllerClassName = rcControllerClassName.substring(lastDot);
52+
}
53+
return rcControllerClassName.toLowerCase(Locale.ROOT);
54+
}
1755
}
Lines changed: 2 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package io.javaoperatorsdk.operator.api;
22

33
import io.fabric8.kubernetes.client.CustomResource;
4+
import io.javaoperatorsdk.operator.ControllerUtils;
45
import io.javaoperatorsdk.operator.processing.event.EventSourceManager;
5-
import java.util.Locale;
66

77
public interface ResourceController<R extends CustomResource> {
88

@@ -40,41 +40,6 @@ public interface ResourceController<R extends CustomResource> {
4040
default void init(EventSourceManager eventSourceManager) {}
4141

4242
default String getName() {
43-
return getNameFor(this);
44-
}
45-
46-
static String getNameFor(Class<? extends ResourceController> controllerClass) {
47-
// if the controller annotation has a name attribute, use it
48-
final var annotation = controllerClass.getAnnotation(Controller.class);
49-
if (annotation != null) {
50-
final var name = annotation.name();
51-
if (!Controller.NULL.equals(name)) {
52-
return name;
53-
}
54-
}
55-
56-
// otherwise, use the lower-cased full class name
57-
return getDefaultNameFor(controllerClass);
58-
}
59-
60-
static String getNameFor(ResourceController controller) {
61-
return getNameFor(controller.getClass());
62-
}
63-
64-
static String getDefaultNameFor(ResourceController controller) {
65-
return getDefaultNameFor(controller.getClass());
66-
}
67-
68-
static String getDefaultNameFor(Class<? extends ResourceController> controllerClass) {
69-
return getDefaultResourceControllerName(controllerClass.getSimpleName());
70-
}
71-
72-
static String getDefaultResourceControllerName(String rcControllerClassName) {
73-
// if the name is fully qualified, extract the simple class name
74-
final var lastDot = rcControllerClassName.lastIndexOf('.');
75-
if (lastDot > 0) {
76-
rcControllerClassName = rcControllerClassName.substring(lastDot);
77-
}
78-
return rcControllerClassName.toLowerCase(Locale.ROOT);
43+
return ControllerUtils.getNameFor(this);
7944
}
8045
}

operator-framework-quarkus-extension/deployment/src/main/java/io/javaoperatorsdk/quarkus/extension/deployment/QuarkusExtensionProcessor.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,7 @@ private ControllerConfiguration createControllerConfiguration(
144144
"name",
145145
AnnotationValue::asString,
146146
() ->
147-
ResourceController.getDefaultResourceControllerName(
148-
resourceControllerClassName)),
147+
ControllerUtils.getDefaultResourceControllerName(resourceControllerClassName)),
149148
crdName,
150149
valueOrDefault(
151150
controllerAnnotation,

operator-framework-spring-boot-starter/src/test/java/io/javaoperatorsdk/operator/springboot/starter/AutoConfigurationTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import static org.junit.jupiter.api.Assertions.assertTrue;
66

77
import io.fabric8.kubernetes.client.KubernetesClient;
8+
import io.javaoperatorsdk.operator.ControllerUtils;
89
import io.javaoperatorsdk.operator.Operator;
910
import io.javaoperatorsdk.operator.api.ResourceController;
1011
import java.util.List;
@@ -38,7 +39,7 @@ public void loadsKubernetesClientPropertiesProperly() {
3839
@Test
3940
public void loadsRetryPropertiesProperly() {
4041
final var retryProperties =
41-
config.getControllers().get(ResourceController.getNameFor(TestController.class)).getRetry();
42+
config.getControllers().get(ControllerUtils.getNameFor(TestController.class)).getRetry();
4243
assertEquals(3, retryProperties.getMaxAttempts());
4344
assertEquals(1000, retryProperties.getInitialInterval());
4445
assertEquals(1.5, retryProperties.getIntervalMultiplier());

0 commit comments

Comments
 (0)