Skip to content

Commit d3863e1

Browse files
authored
feature: ResourceID from first owner reference (#841)
1 parent 09180ab commit d3863e1

File tree

2 files changed

+14
-12
lines changed
  • operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer
  • sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample

2 files changed

+14
-12
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/Mappers.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,18 @@ public static <T extends HasMetadata> PrimaryResourcesRetriever<T> fromLabel(
2929
return fromMetadata(nameKey, namespaceKey, true);
3030
}
3131

32+
public static <T extends HasMetadata> PrimaryResourcesRetriever<T> fromOwnerReference() {
33+
return resource -> {
34+
var ownerReferences = resource.getMetadata().getOwnerReferences();
35+
if (!ownerReferences.isEmpty()) {
36+
return Set.of(new ResourceID(ownerReferences.get(0).getName(),
37+
resource.getMetadata().getNamespace()));
38+
} else {
39+
return Collections.emptySet();
40+
}
41+
};
42+
}
43+
3244
private static <T extends HasMetadata> PrimaryResourcesRetriever<T> fromMetadata(
3345
String nameKey, String namespaceKey, boolean isLabel) {
3446
return resource -> {

sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/TomcatReconciler.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import java.io.InputStream;
55
import java.util.List;
66
import java.util.Objects;
7-
import java.util.Set;
87

98
import org.slf4j.Logger;
109
import org.slf4j.LoggerFactory;
@@ -22,12 +21,11 @@
2221
import io.javaoperatorsdk.operator.api.reconciler.EventSourceInitializer;
2322
import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
2423
import io.javaoperatorsdk.operator.api.reconciler.UpdateControl;
25-
import io.javaoperatorsdk.operator.processing.event.ResourceID;
2624
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
2725
import io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource;
26+
import io.javaoperatorsdk.operator.processing.event.source.informer.Mappers;
2827

2928
import static io.javaoperatorsdk.operator.api.reconciler.Constants.NO_FINALIZER;
30-
import static java.util.Collections.EMPTY_SET;
3129

3230
/**
3331
* Runs a specified number of Tomcat app server Pods. It uses a Deployment to create the Pods. Also
@@ -52,15 +50,7 @@ public List<EventSource> prepareEventSources(EventSourceContext<Tomcat> context)
5250
.runnableInformer(0);
5351

5452
return List.of(new InformerEventSource<>(
55-
deploymentInformer, d -> {
56-
var ownerReferences = d.getMetadata().getOwnerReferences();
57-
if (!ownerReferences.isEmpty()) {
58-
return Set.of(new ResourceID(ownerReferences.get(0).getName(),
59-
d.getMetadata().getNamespace()));
60-
} else {
61-
return EMPTY_SET;
62-
}
63-
}));
53+
deploymentInformer, Mappers.fromOwnerReference()));
6454
}
6555

6656
@Override

0 commit comments

Comments
 (0)