Skip to content

Commit eeb5a29

Browse files
committed
improve: naming target resource selector method
Also add a sample usage. Signed-off-by: Attila Mészáros <[email protected]>
1 parent 7ba6f8a commit eeb5a29

File tree

4 files changed

+17
-6
lines changed

4 files changed

+17
-6
lines changed

Diff for: operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractDependentResource.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public Optional<R> getSecondaryResource(P primary, Context<P> context) {
114114
if (secondaryResources.isEmpty()) {
115115
return Optional.empty();
116116
} else {
117-
return selectManagedSecondaryResource(secondaryResources, primary, context);
117+
return selectTargetSecondaryResource(secondaryResources, primary, context);
118118
}
119119

120120
}
@@ -132,7 +132,7 @@ public Optional<R> getSecondaryResource(P primary, Context<P> context) {
132132
* @throws IllegalStateException if more than one candidate is found, in which case some other
133133
* mechanism might be necessary to distinguish between candidate secondary resources
134134
*/
135-
protected Optional<R> selectManagedSecondaryResource(Set<R> secondaryResources, P primary,
135+
protected Optional<R> selectTargetSecondaryResource(Set<R> secondaryResources, P primary,
136136
Context<P> context) {
137137
R desired = desired(primary, context);
138138
var targetResources = secondaryResources.stream().filter(r -> r.equals(desired)).toList();

Diff for: operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -221,9 +221,9 @@ protected void addSecondaryToPrimaryMapperAnnotations(R desired, P primary, Stri
221221
}
222222

223223
@Override
224-
protected Optional<R> selectManagedSecondaryResource(Set<R> secondaryResources, P primary,
224+
protected Optional<R> selectTargetSecondaryResource(Set<R> secondaryResources, P primary,
225225
Context<P> context) {
226-
ResourceID managedResourceID = managedSecondaryResourceID(primary, context);
226+
ResourceID managedResourceID = targetSecondaryResourceID(primary, context);
227227
return secondaryResources.stream()
228228
.filter(r -> r.getMetadata().getName().equals(managedResourceID.getName()) &&
229229
Objects.equals(r.getMetadata().getNamespace(),
@@ -239,7 +239,7 @@ protected Optional<R> selectManagedSecondaryResource(Set<R> secondaryResources,
239239
* @param context of current reconciliation
240240
* @return id of the target managed resource
241241
*/
242-
protected ResourceID managedSecondaryResourceID(P primary, Context<P> context) {
242+
protected ResourceID targetSecondaryResourceID(P primary, Context<P> context) {
243243
return ResourceID.fromResource(desired(primary, context));
244244
}
245245

Diff for: operator-framework/src/test/java/io/javaoperatorsdk/operator/dependent/externalstate/ExternalWithStateDependentResource.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public Set<ExternalResource> fetchResources(
4040
}
4141

4242
@Override
43-
protected Optional<ExternalResource> selectManagedSecondaryResource(
43+
protected Optional<ExternalResource> selectTargetSecondaryResource(
4444
Set<ExternalResource> secondaryResources,
4545
ExternalStateCustomResource primary, Context<ExternalStateCustomResource> context) {
4646
var id = getResourceID(primary);

Diff for: operator-framework/src/test/java/io/javaoperatorsdk/operator/dependent/multipledrsametypenodiscriminator/MultipleManagedDependentNoDiscriminatorConfigMap1.java

+11
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import io.javaoperatorsdk.operator.api.reconciler.Context;
99
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource;
1010
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependent;
11+
import io.javaoperatorsdk.operator.processing.event.ResourceID;
1112

1213
@KubernetesDependent
1314
public class MultipleManagedDependentNoDiscriminatorConfigMap1
@@ -20,6 +21,16 @@ public MultipleManagedDependentNoDiscriminatorConfigMap1() {
2021
super(ConfigMap.class);
2122
}
2223

24+
// This is to showcase optimization to not compute the whole desired state only the target
25+
// resource ID. In this particular case this would not be necessary, since desired state creation
26+
// is pretty light weigh. Use it in more heavyweight situations.
27+
protected ResourceID targetSecondaryResourceID(
28+
MultipleManagedDependentNoDiscriminatorCustomResource primary,
29+
Context<MultipleManagedDependentNoDiscriminatorCustomResource> context) {
30+
return new ResourceID(primary.getMetadata().getName() + NAME_SUFFIX,
31+
primary.getMetadata().getNamespace());
32+
}
33+
2334
@Override
2435
protected ConfigMap desired(MultipleManagedDependentNoDiscriminatorCustomResource primary,
2536
Context<MultipleManagedDependentNoDiscriminatorCustomResource> context) {

0 commit comments

Comments
 (0)