File tree Expand file tree Collapse file tree 2 files changed +32
-13
lines changed
main/java/io/javaoperatorsdk/operator/processing/event
test/java/io/javaoperatorsdk/operator/processing/event Expand file tree Collapse file tree 2 files changed +32
-13
lines changed Original file line number Diff line number Diff line change @@ -16,21 +16,12 @@ public List<Event> getList() {
1616 }
1717
1818 public <T extends Event > Optional <T > getLatestOfType (Class <T > eventType ) {
19- ListIterator <Event > iterator = eventList .listIterator (eventList .size () - 1 );
20- while (iterator .hasPrevious ()) {
21- Event event = iterator .previous ();
19+ for (int i = eventList .size () - 1 ; i >= 0 ; i --){
20+ Event event = eventList .get (i );
2221 if (event .getClass ().isAssignableFrom (eventType )) {
23- return Optional .of (( T ) event );
22+ return ( Optional < T >) Optional .of (event );
2423 }
2524 }
26-
27- List <Event > eventsOfType = eventList .stream ()
28- .filter (event -> event .getClass ().isAssignableFrom (eventType ))
29- .collect (Collectors .toList ());
30- if (eventsOfType .size () > 0 ) {
31- return Optional .of ((T ) eventsOfType .get (eventsOfType .size () - 1 ));
32- } else {
33- return Optional .empty ();
34- }
25+ return Optional .empty ();
3526 }
3627}
Original file line number Diff line number Diff line change 1+ package io .javaoperatorsdk .operator .processing .event ;
2+
3+ import io .javaoperatorsdk .operator .processing .event .internal .CustomResourceEvent ;
4+ import io .javaoperatorsdk .operator .processing .event .internal .TimerEvent ;
5+ import org .junit .jupiter .api .Test ;
6+
7+ import java .util .ArrayList ;
8+ import java .util .Arrays ;
9+ import java .util .List ;
10+
11+ import static com .google .common .truth .Truth .assertThat ;
12+ import static org .junit .jupiter .api .Assertions .*;
13+ import static org .mockito .Mockito .mock ;
14+
15+ class EventListTest {
16+
17+ @ Test
18+ public void returnsLatestOfEventType () {
19+ TimerEvent event2 = new TimerEvent ("1" , null );
20+ EventList eventList = new EventList (Arrays .asList (
21+ mock (Event .class ),
22+ new TimerEvent ("2" , null ),
23+ event2 ,
24+ mock (Event .class )));
25+
26+ assertThat (eventList .getLatestOfType (TimerEvent .class ).get ()).isSameInstanceAs (event2 );
27+ }
28+ }
You can’t perform that action at this time.
0 commit comments