From cb879759ce1ec542b32b425592b86ca1f43e4d14 Mon Sep 17 00:00:00 2001 From: csviri Date: Mon, 17 Jan 2022 15:24:10 +0100 Subject: [PATCH 1/3] feature: ResourceID from first owner reference --- .../operator/processing/event/ResourceID.java | 8 ++++++++ .../operator/sample/TomcatReconciler.java | 10 +--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/ResourceID.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/ResourceID.java index 38c9055ff1..3e96c0170c 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/ResourceID.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/ResourceID.java @@ -13,6 +13,14 @@ public static ResourceID fromResource(HasMetadata resource) { resource.getMetadata().getNamespace()); } + public static Optional fromFirstOwnerReference(HasMetadata dependentResource) { + var ownerReferences = dependentResource.getMetadata().getOwnerReferences(); + if (ownerReferences == null || ownerReferences.isEmpty()) { + return Optional.empty(); + } + return Optional.of(new ResourceID(ownerReferences.get(0).getName(),dependentResource.getMetadata().getNamespace())); + } + private final String name; private final String namespace; diff --git a/sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/TomcatReconciler.java b/sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/TomcatReconciler.java index 6f91410594..faf7aaaea0 100644 --- a/sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/TomcatReconciler.java +++ b/sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/TomcatReconciler.java @@ -52,15 +52,7 @@ public List prepareEventSources(EventSourceContext context) .runnableInformer(0); return List.of(new InformerEventSource<>( - deploymentInformer, d -> { - var ownerReferences = d.getMetadata().getOwnerReferences(); - if (!ownerReferences.isEmpty()) { - return Set.of(new ResourceID(ownerReferences.get(0).getName(), - d.getMetadata().getNamespace())); - } else { - return EMPTY_SET; - } - })); + deploymentInformer, d -> ResourceID.fromFirstOwnerReference(d).map(r->Set.of(r)).orElse(EMPTY_SET))); } @Override From bd24950c9e2d0e8707cbfd0604815cb3429f532d Mon Sep 17 00:00:00 2001 From: csviri Date: Mon, 17 Jan 2022 15:25:41 +0100 Subject: [PATCH 2/3] fix: formatting --- .../operator/processing/event/ResourceID.java | 13 +++++++------ .../operator/sample/TomcatReconciler.java | 3 ++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/ResourceID.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/ResourceID.java index 3e96c0170c..99f6ac64d6 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/ResourceID.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/ResourceID.java @@ -14,13 +14,14 @@ public static ResourceID fromResource(HasMetadata resource) { } public static Optional fromFirstOwnerReference(HasMetadata dependentResource) { - var ownerReferences = dependentResource.getMetadata().getOwnerReferences(); - if (ownerReferences == null || ownerReferences.isEmpty()) { - return Optional.empty(); - } - return Optional.of(new ResourceID(ownerReferences.get(0).getName(),dependentResource.getMetadata().getNamespace())); + var ownerReferences = dependentResource.getMetadata().getOwnerReferences(); + if (ownerReferences == null || ownerReferences.isEmpty()) { + return Optional.empty(); + } + return Optional.of(new ResourceID(ownerReferences.get(0).getName(), + dependentResource.getMetadata().getNamespace())); } - + private final String name; private final String namespace; diff --git a/sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/TomcatReconciler.java b/sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/TomcatReconciler.java index faf7aaaea0..5a5a7d3c02 100644 --- a/sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/TomcatReconciler.java +++ b/sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/TomcatReconciler.java @@ -52,7 +52,8 @@ public List prepareEventSources(EventSourceContext context) .runnableInformer(0); return List.of(new InformerEventSource<>( - deploymentInformer, d -> ResourceID.fromFirstOwnerReference(d).map(r->Set.of(r)).orElse(EMPTY_SET))); + deploymentInformer, + d -> ResourceID.fromFirstOwnerReference(d).map(r -> Set.of(r)).orElse(EMPTY_SET))); } @Override From f93cd142790bea6f3b9bb0a120dec3c97f0ccbb2 Mon Sep 17 00:00:00 2001 From: csviri Date: Mon, 17 Jan 2022 16:26:00 +0100 Subject: [PATCH 3/3] fix: from code review --- .../operator/processing/event/ResourceID.java | 9 --------- .../processing/event/source/informer/Mappers.java | 12 ++++++++++++ .../operator/sample/TomcatReconciler.java | 7 ++----- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/ResourceID.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/ResourceID.java index 99f6ac64d6..38c9055ff1 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/ResourceID.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/ResourceID.java @@ -13,15 +13,6 @@ public static ResourceID fromResource(HasMetadata resource) { resource.getMetadata().getNamespace()); } - public static Optional fromFirstOwnerReference(HasMetadata dependentResource) { - var ownerReferences = dependentResource.getMetadata().getOwnerReferences(); - if (ownerReferences == null || ownerReferences.isEmpty()) { - return Optional.empty(); - } - return Optional.of(new ResourceID(ownerReferences.get(0).getName(), - dependentResource.getMetadata().getNamespace())); - } - private final String name; private final String namespace; diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/Mappers.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/Mappers.java index b3e0cf3b65..e3b4b7be14 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/Mappers.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/Mappers.java @@ -29,6 +29,18 @@ public static PrimaryResourcesRetriever fromLabel( return fromMetadata(nameKey, namespaceKey, true); } + public static PrimaryResourcesRetriever fromOwnerReference() { + return resource -> { + var ownerReferences = resource.getMetadata().getOwnerReferences(); + if (!ownerReferences.isEmpty()) { + return Set.of(new ResourceID(ownerReferences.get(0).getName(), + resource.getMetadata().getNamespace())); + } else { + return Collections.emptySet(); + } + }; + } + private static PrimaryResourcesRetriever fromMetadata( String nameKey, String namespaceKey, boolean isLabel) { return resource -> { diff --git a/sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/TomcatReconciler.java b/sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/TomcatReconciler.java index 5a5a7d3c02..bb67128f9e 100644 --- a/sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/TomcatReconciler.java +++ b/sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/TomcatReconciler.java @@ -4,7 +4,6 @@ import java.io.InputStream; import java.util.List; import java.util.Objects; -import java.util.Set; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -22,12 +21,11 @@ import io.javaoperatorsdk.operator.api.reconciler.EventSourceInitializer; import io.javaoperatorsdk.operator.api.reconciler.Reconciler; import io.javaoperatorsdk.operator.api.reconciler.UpdateControl; -import io.javaoperatorsdk.operator.processing.event.ResourceID; import io.javaoperatorsdk.operator.processing.event.source.EventSource; import io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource; +import io.javaoperatorsdk.operator.processing.event.source.informer.Mappers; import static io.javaoperatorsdk.operator.api.reconciler.Constants.NO_FINALIZER; -import static java.util.Collections.EMPTY_SET; /** * Runs a specified number of Tomcat app server Pods. It uses a Deployment to create the Pods. Also @@ -52,8 +50,7 @@ public List prepareEventSources(EventSourceContext context) .runnableInformer(0); return List.of(new InformerEventSource<>( - deploymentInformer, - d -> ResourceID.fromFirstOwnerReference(d).map(r -> Set.of(r)).orElse(EMPTY_SET))); + deploymentInformer, Mappers.fromOwnerReference())); } @Override