3
3
import java .util .Map ;
4
4
import java .util .Set ;
5
5
import java .util .UUID ;
6
- import java .util .concurrent .atomic . AtomicInteger ;
6
+ import java .util .concurrent .ConcurrentHashMap ;
7
7
8
8
import io .fabric8 .kubernetes .client .KubernetesClient ;
9
9
import io .javaoperatorsdk .operator .api .reconciler .*;
@@ -18,8 +18,8 @@ public class PerResourcePollingEventSourceTestReconciler
18
18
KubernetesClientAware {
19
19
20
20
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 <>( );
23
23
24
24
private KubernetesClient client ;
25
25
private PerResourcePollingEventSource <String , PerResourceEventSourceCustomResource > eventSource ;
@@ -28,16 +28,18 @@ public class PerResourcePollingEventSourceTestReconciler
28
28
public UpdateControl <PerResourceEventSourceCustomResource > reconcile (
29
29
PerResourceEventSourceCustomResource resource ,
30
30
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 );
32
33
return UpdateControl .noUpdate ();
33
34
}
34
35
35
36
@ Override
36
37
public Map <String , EventSource > prepareEventSources (
37
38
EventSourceContext <PerResourceEventSourceCustomResource > context ) {
38
39
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 );
41
43
return Set .of (UUID .randomUUID ().toString ());
42
44
},
43
45
context .getPrimaryCache (), POLL_PERIOD , String .class );
@@ -54,12 +56,12 @@ public void setKubernetesClient(KubernetesClient kubernetesClient) {
54
56
this .client = kubernetesClient ;
55
57
}
56
58
57
- public int getNumberOfExecutions () {
58
- return numberOfExecutions .get ();
59
+ public int getNumberOfExecutions (String name ) {
60
+ return numberOfExecutions .get (name );
59
61
}
60
62
61
- public int getNumberOfFetchExecution () {
62
- return numberOfFetchExecutions .get ();
63
+ public int getNumberOfFetchExecution (String name ) {
64
+ return numberOfFetchExecutions .get (name );
63
65
}
64
66
65
67
}
0 commit comments