|
1 | 1 | package io.javaoperatorsdk.operator.processing.event.source;
|
2 | 2 |
|
3 | 3 | import java.util.Collections;
|
4 |
| -import java.util.ArrayList; |
5 |
| -import java.util.List; |
6 | 4 | import java.util.Map;
|
7 | 5 | import java.util.Objects;
|
8 | 6 | import java.util.Optional;
|
|
11 | 9 | import java.util.stream.Collectors;
|
12 | 10 | import java.util.stream.Stream;
|
13 | 11 |
|
| 12 | +import org.slf4j.Logger; |
| 13 | +import org.slf4j.LoggerFactory; |
| 14 | + |
14 | 15 | import io.fabric8.kubernetes.api.model.HasMetadata;
|
15 | 16 | import io.fabric8.kubernetes.api.model.KubernetesResourceList;
|
16 | 17 | import io.fabric8.kubernetes.client.KubernetesClientException;
|
|
26 | 27 | import io.javaoperatorsdk.operator.processing.ResourceCache;
|
27 | 28 | import io.javaoperatorsdk.operator.processing.event.ResourceID;
|
28 | 29 |
|
29 |
| -import org.slf4j.Logger; |
30 |
| -import org.slf4j.LoggerFactory; |
31 |
| - |
32 | 30 | import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.getName;
|
33 | 31 | import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.getUID;
|
34 | 32 | import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.getVersion;
|
@@ -188,13 +186,16 @@ public Stream<T> getCachedCustomResources() {
|
188 | 186 | }
|
189 | 187 |
|
190 | 188 | public Stream<T> getCachedCustomResources(Predicate<T> predicate) {
|
191 |
| - var streams = sharedIndexInformers.values().stream() |
192 |
| - .map(i -> i.getStore().list().stream().filter(predicate)); |
193 |
| - var lists = streams.map(s -> s.collect(Collectors.toList())).collect(Collectors.toList()); |
194 |
| - var size = lists.stream().mapToInt(List::size).sum(); |
195 |
| - List<T> list = new ArrayList<>(size); |
196 |
| - lists.forEach(list::addAll); |
197 |
| - return list.stream(); |
| 189 | + var streamList = sharedIndexInformers.values().stream() |
| 190 | + .map(i -> i.getStore().list().stream().filter(predicate)).collect(Collectors.toList()); |
| 191 | + if (streamList.size() == 1) { |
| 192 | + return streamList.get(0); |
| 193 | + } |
| 194 | + var resStream = streamList.get(0); |
| 195 | + for (int i = 1; i < streamList.size(); i++) { |
| 196 | + resStream = Stream.concat(resStream, streamList.get(i)); |
| 197 | + } |
| 198 | + return resStream; |
198 | 199 | }
|
199 | 200 |
|
200 | 201 | /**
|
|
0 commit comments