33import java .util .Map ;
44import java .util .Set ;
55import java .util .UUID ;
6- import java .util .concurrent .atomic . AtomicInteger ;
6+ import java .util .concurrent .ConcurrentHashMap ;
77
88import io .fabric8 .kubernetes .client .KubernetesClient ;
99import io .javaoperatorsdk .operator .api .reconciler .*;
@@ -18,8 +18,8 @@ public class PerResourcePollingEventSourceTestReconciler
1818 KubernetesClientAware {
1919
2020 public static final int POLL_PERIOD = 100 ;
21- private final AtomicInteger numberOfExecutions = new AtomicInteger ( 0 );
22- private final AtomicInteger numberOfFetchExecutions = new AtomicInteger ( 0 );
21+ private final Map < String , Integer > numberOfExecutions = new ConcurrentHashMap <>( );
22+ private final Map < String , Integer > numberOfFetchExecutions = new ConcurrentHashMap <>( );
2323
2424 private KubernetesClient client ;
2525 private PerResourcePollingEventSource <String , PerResourceEventSourceCustomResource > eventSource ;
@@ -28,16 +28,18 @@ public class PerResourcePollingEventSourceTestReconciler
2828 public UpdateControl <PerResourceEventSourceCustomResource > reconcile (
2929 PerResourceEventSourceCustomResource resource ,
3030 Context <PerResourceEventSourceCustomResource > context ) throws Exception {
31- numberOfExecutions .addAndGet (1 );
31+ numberOfExecutions .putIfAbsent (resource .getMetadata ().getName (), 0 );
32+ numberOfExecutions .compute (resource .getMetadata ().getName (), (s , v ) -> v + 1 );
3233 return UpdateControl .noUpdate ();
3334 }
3435
3536 @ Override
3637 public Map <String , EventSource > prepareEventSources (
3738 EventSourceContext <PerResourceEventSourceCustomResource > context ) {
3839 this .eventSource =
39- new PerResourcePollingEventSource <>(primaryResource -> {
40- numberOfFetchExecutions .addAndGet (1 );
40+ new PerResourcePollingEventSource <>(resource -> {
41+ numberOfFetchExecutions .putIfAbsent (resource .getMetadata ().getName (), 0 );
42+ numberOfFetchExecutions .compute (resource .getMetadata ().getName (), (s , v ) -> v + 1 );
4143 return Set .of (UUID .randomUUID ().toString ());
4244 },
4345 context .getPrimaryCache (), POLL_PERIOD , String .class );
@@ -54,12 +56,12 @@ public void setKubernetesClient(KubernetesClient kubernetesClient) {
5456 this .client = kubernetesClient ;
5557 }
5658
57- public int getNumberOfExecutions () {
58- return numberOfExecutions .get ();
59+ public int getNumberOfExecutions (String name ) {
60+ return numberOfExecutions .get (name );
5961 }
6062
61- public int getNumberOfFetchExecution () {
62- return numberOfFetchExecutions .get ();
63+ public int getNumberOfFetchExecution (String name ) {
64+ return numberOfFetchExecutions .get (name );
6365 }
6466
6567}
0 commit comments