Skip to content

Commit f276ff6

Browse files
committed
Merge remote-tracking branch 'origin/event-sources' into event-sources
2 parents ae4533b + 31f8fb5 commit f276ff6

File tree

11 files changed

+45
-37
lines changed

11 files changed

+45
-37
lines changed
Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,13 @@
1-
package io.javaoperatorsdk.operator.processing;
1+
package io.javaoperatorsdk.operator;
22

3-
import io.fabric8.kubernetes.client.CustomResource;
3+
import io.fabric8.kubernetes.api.model.HasMetadata;
44
import io.fabric8.kubernetes.client.Watcher;
55
import io.javaoperatorsdk.operator.processing.event.Event;
66
import io.javaoperatorsdk.operator.processing.event.internal.CustomResourceEvent;
77

88
import java.util.List;
99

10-
public class ProcessingUtils {
11-
12-
public static String getUID(CustomResource customResource) {
13-
return customResource.getMetadata().getUid();
14-
}
15-
16-
public static String getVersion(CustomResource customResource) {
17-
return customResource.getMetadata().getResourceVersion();
18-
}
10+
public class EventListUtils {
1911

2012
public static boolean containsCustomResourceDeletedEvent(List<Event> events) {
2113
return events.stream().anyMatch(e -> {

operator-framework/src/main/java/io/javaoperatorsdk/operator/processing/DefaultEventHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import java.util.concurrent.ThreadFactory;
1313
import java.util.concurrent.locks.ReentrantLock;
1414

15-
import static io.javaoperatorsdk.operator.processing.ProcessingUtils.containsCustomResourceDeletedEvent;
15+
import static io.javaoperatorsdk.operator.EventListUtils.containsCustomResourceDeletedEvent;
1616

1717
/**
1818
* Event handler that makes sure that events are processed in a "single threaded" way per resource UID, while buffering

operator-framework/src/main/java/io/javaoperatorsdk/operator/processing/EventDispatcher.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
import java.util.Map;
1616
import java.util.concurrent.ConcurrentHashMap;
1717

18-
import static io.javaoperatorsdk.operator.processing.ProcessingUtils.*;
18+
import static io.javaoperatorsdk.operator.EventListUtils.containsCustomResourceDeletedEvent;
19+
import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.*;
1920

2021
/**
2122
* Dispatches events to the Controller and handles Finalizers for a single type of Custom Resource.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package io.javaoperatorsdk.operator.processing;
2+
3+
import io.fabric8.kubernetes.api.model.HasMetadata;
4+
5+
public class KubernetesResourceUtils {
6+
7+
public static String getUID(HasMetadata customResource) {
8+
return customResource.getMetadata().getUid();
9+
}
10+
11+
public static String getVersion(HasMetadata customResource) {
12+
return customResource.getMetadata().getResourceVersion();
13+
}
14+
15+
}

operator-framework/src/main/java/io/javaoperatorsdk/operator/processing/event/DefaultEventSourceManager.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import io.fabric8.kubernetes.client.CustomResource;
44
import io.javaoperatorsdk.operator.processing.DefaultEventHandler;
5-
import io.javaoperatorsdk.operator.processing.ProcessingUtils;
5+
import io.javaoperatorsdk.operator.processing.KubernetesResourceUtils;
66
import io.javaoperatorsdk.operator.processing.event.internal.CustomResourceEventSource;
77
import org.slf4j.Logger;
88
import org.slf4j.LoggerFactory;
@@ -34,14 +34,14 @@ public void registerCustomResourceEventSource(CustomResourceEventSource customRe
3434
public <T extends EventSource> void registerEventSource(CustomResource customResource, String name, T eventSource) {
3535
try {
3636
lock.lock();
37-
Map<String, EventSource> eventSourceList = eventSources.get(ProcessingUtils.getUID(customResource));
37+
Map<String, EventSource> eventSourceList = eventSources.get(KubernetesResourceUtils.getUID(customResource));
3838
if (eventSourceList == null) {
3939
eventSourceList = new HashMap<>(1);
40-
eventSources.put(ProcessingUtils.getUID(customResource), eventSourceList);
40+
eventSources.put(KubernetesResourceUtils.getUID(customResource), eventSourceList);
4141
}
4242
if (eventSourceList.get(name) != null) {
4343
throw new IllegalStateException("Event source with name already registered. Resource id: "
44-
+ ProcessingUtils.getUID(customResource) + ", event source name: " + name);
44+
+ KubernetesResourceUtils.getUID(customResource) + ", event source name: " + name);
4545
}
4646
eventSourceList.put(name, eventSource);
4747
eventSource.setEventHandler(defaultEventHandler);
@@ -55,13 +55,13 @@ public <T extends EventSource> void registerEventSource(CustomResource customRes
5555
public <T extends EventSource> T registerEventSourceIfNotRegistered(CustomResource customResource, String name, Supplier<T> eventSourceSupplier) {
5656
try {
5757
lock.lock();
58-
if (eventSources.get(ProcessingUtils.getUID(customResource)) == null ||
59-
eventSources.get(ProcessingUtils.getUID(customResource)).get(name) == null) {
58+
if (eventSources.get(KubernetesResourceUtils.getUID(customResource)) == null ||
59+
eventSources.get(KubernetesResourceUtils.getUID(customResource)).get(name) == null) {
6060
EventSource eventSource = eventSourceSupplier.get();
6161
registerEventSource(customResource, name, eventSource);
6262
return (T) eventSource;
6363
}
64-
return (T) eventSources.get(ProcessingUtils.getUID(customResource)).get(name);
64+
return (T) eventSources.get(KubernetesResourceUtils.getUID(customResource)).get(name);
6565
} finally {
6666
lock.unlock();
6767
}

operator-framework/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/CustomResourceEvent.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import io.fabric8.kubernetes.client.CustomResource;
44
import io.fabric8.kubernetes.client.Watcher;
5-
import io.javaoperatorsdk.operator.processing.ProcessingUtils;
5+
import io.javaoperatorsdk.operator.processing.KubernetesResourceUtils;
66
import io.javaoperatorsdk.operator.processing.event.AbstractEvent;
77

88
public class CustomResourceEvent extends AbstractEvent<CustomResourceEventSource> {
@@ -15,7 +15,7 @@ public class CustomResourceEvent extends AbstractEvent<CustomResourceEventSource
1515

1616
public CustomResourceEvent(Watcher.Action action, CustomResource resource,
1717
CustomResourceEventSource customResourceEventSource) {
18-
super(ProcessingUtils.getUID(resource), customResourceEventSource);
18+
super(KubernetesResourceUtils.getUID(resource), customResourceEventSource);
1919
this.action = action;
2020
this.customResource = resource;
2121
}

operator-framework/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/CustomResourceEventSource.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@
55
import io.fabric8.kubernetes.client.Watcher;
66
import io.fabric8.kubernetes.client.dsl.MixedOperation;
77
import io.fabric8.kubernetes.client.dsl.internal.CustomResourceOperationsImpl;
8-
import io.javaoperatorsdk.operator.processing.ProcessingUtils;
98
import io.javaoperatorsdk.operator.processing.ResourceCache;
109
import io.javaoperatorsdk.operator.processing.event.AbstractEventSource;
1110
import org.slf4j.Logger;
1211
import org.slf4j.LoggerFactory;
1312

14-
import static io.javaoperatorsdk.operator.processing.ProcessingUtils.*;
13+
import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.*;
1514
import static java.net.HttpURLConnection.HTTP_GONE;
1615

1716
/**
@@ -66,8 +65,8 @@ private void registerWatch() {
6665

6766
@Override
6867
public void eventReceived(Watcher.Action action, CustomResource customResource) {
69-
log.debug("Event received for action: {}, resource: {}",
70-
customResource.getMetadata().getName(), customResource);
68+
log.debug("Event received for action: {}, resource: {}", action.name(), customResource.getMetadata().getName());
69+
7170
resourceCache.cacheResource(customResource); // always store the latest event. Outside the sync block is intentional.
7271
if (action == Action.ERROR) {
7372
log.debug("Skipping {} event for custom resource uid: {}, version: {}", action,

operator-framework/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/TimerEventSource.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.javaoperatorsdk.operator.processing.event.internal;
22

33
import io.fabric8.kubernetes.client.CustomResource;
4-
import io.javaoperatorsdk.operator.processing.ProcessingUtils;
4+
import io.javaoperatorsdk.operator.processing.KubernetesResourceUtils;
55
import io.javaoperatorsdk.operator.processing.event.AbstractEventSource;
66
import org.slf4j.Logger;
77
import org.slf4j.LoggerFactory;
@@ -20,14 +20,14 @@ public class TimerEventSource extends AbstractEventSource {
2020
private final Map<String, List<EventProducerTimeTask>> timerTasks = new ConcurrentHashMap<>();
2121

2222
public void schedule(CustomResource customResource, long delay, long period) {
23-
String resourceUid = ProcessingUtils.getUID(customResource);
23+
String resourceUid = KubernetesResourceUtils.getUID(customResource);
2424
EventProducerTimeTask task = new EventProducerTimeTask(resourceUid);
2525
storeTask(resourceUid, task);
2626
timer.schedule(task, delay, period);
2727
}
2828

2929
public void scheduleOnce(CustomResource customResource, long delay) {
30-
String resourceUid = ProcessingUtils.getUID(customResource);
30+
String resourceUid = KubernetesResourceUtils.getUID(customResource);
3131
OneTimeEventProducerTimerTask task = new OneTimeEventProducerTimerTask(resourceUid);
3232
storeTask(resourceUid, task);
3333
timer.schedule(task, delay);

operator-framework/src/test/java/io/javaoperatorsdk/operator/EventDispatcherTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import io.javaoperatorsdk.operator.api.UpdateControl;
88
import io.javaoperatorsdk.operator.processing.EventDispatcher;
99
import io.javaoperatorsdk.operator.processing.ExecutionScope;
10-
import io.javaoperatorsdk.operator.processing.ProcessingUtils;
1110
import io.javaoperatorsdk.operator.processing.event.Event;
1211
import io.javaoperatorsdk.operator.processing.event.internal.CustomResourceEvent;
1312
import io.javaoperatorsdk.operator.processing.event.internal.TimerEvent;
@@ -20,6 +19,7 @@
2019
import java.util.Collections;
2120
import java.util.List;
2221

22+
import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.getUID;
2323
import static org.junit.jupiter.api.Assertions.assertEquals;
2424
import static org.mockito.Mockito.*;
2525

@@ -226,7 +226,7 @@ public ExecutionScope executionScopeWithCREvent(Watcher.Action action, CustomRes
226226
}
227227

228228
public Event nonCREvent(CustomResource resource) {
229-
return new TimerEvent(ProcessingUtils.getUID(resource), null);
229+
return new TimerEvent(getUID(resource), null);
230230
}
231231

232232
}

operator-framework/src/test/java/io/javaoperatorsdk/operator/processing/event/DefaultEventSourceManagerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import java.util.Map;
99

10-
import static io.javaoperatorsdk.operator.processing.ProcessingUtils.getUID;
10+
import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.getUID;
1111
import static org.assertj.core.api.Assertions.assertThat;
1212
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
1313
import static org.mockito.Mockito.*;

0 commit comments

Comments
 (0)