1313import org .elasticsearch .common .settings .Settings ;
1414import org .elasticsearch .common .xcontent .XContentHelper ;
1515import org .elasticsearch .logsdb .datageneration .matchers .GenericEqualsMatcher ;
16- import org .elasticsearch .logsdb .datageneration .matchers .ListEqualMatcher ;
1716import org .elasticsearch .logsdb .datageneration .matchers .MatchResult ;
1817import org .elasticsearch .xcontent .XContentBuilder ;
1918
2019import java .util .HashMap ;
2120import java .util .List ;
2221import java .util .Map ;
2322import java .util .Objects ;
24- import java .util .Optional ;
2523
2624import static org .elasticsearch .logsdb .datageneration .matchers .Messages .formatErrorMessage ;
2725import static org .elasticsearch .logsdb .datageneration .matchers .Messages .prettyPrintCollections ;
@@ -138,9 +136,7 @@ private MatchResult compareSource(Map<String, List<Object>> actual, Map<String,
138136 var actualValues = actual .get (name );
139137 var expectedValues = expectedFieldEntry .getValue ();
140138
141- var matchIncludingFieldSpecificMatchers = matchWithFieldSpecificMatcher (name , actualValues , expectedValues ).orElseGet (
142- () -> matchWithGenericMatcher (actualValues , expectedValues )
143- );
139+ var matchIncludingFieldSpecificMatchers = matchWithFieldSpecificMatcher (name , actualValues , expectedValues );
144140 if (matchIncludingFieldSpecificMatchers .isMatch () == false ) {
145141 var message = "Source documents don't match for field [" + name + "]: " + matchIncludingFieldSpecificMatchers .getMessage ();
146142 return MatchResult .noMatch (message );
@@ -149,7 +145,7 @@ private MatchResult compareSource(Map<String, List<Object>> actual, Map<String,
149145 return MatchResult .match ();
150146 }
151147
152- private Optional < MatchResult > matchWithFieldSpecificMatcher (String fieldName , List <Object > actualValues , List <Object > expectedValues ) {
148+ private MatchResult matchWithFieldSpecificMatcher (String fieldName , List <Object > actualValues , List <Object > expectedValues ) {
153149 var actualFieldMapping = actualNormalizedMapping .get (fieldName );
154150 if (actualFieldMapping == null ) {
155151 if (expectedNormalizedMapping .get (fieldName ) != null
@@ -189,30 +185,13 @@ private Optional<MatchResult> matchWithFieldSpecificMatcher(String fieldName, Li
189185 }
190186
191187 var fieldSpecificMatcher = fieldSpecificMatchers .get (actualFieldType );
192- if (fieldSpecificMatcher == null ) {
193- return Optional .empty ();
194- }
188+ assert fieldSpecificMatcher != null : "Missing matcher for field type [" + actualFieldType + "]" ;
195189
196- MatchResult matched = fieldSpecificMatcher .match (
190+ return fieldSpecificMatcher .match (
197191 actualValues ,
198192 expectedValues ,
199193 actualFieldMapping .mappingParameters (),
200194 expectedFieldMapping .mappingParameters ()
201195 );
202- return Optional .of (matched );
203- }
204-
205- private MatchResult matchWithGenericMatcher (List <Object > actualValues , List <Object > expectedValues ) {
206- var genericListMatcher = new ListEqualMatcher (
207- actualMappings ,
208- actualSettings ,
209- expectedMappings ,
210- expectedSettings ,
211- SourceTransforms .normalizeValues (actualValues ),
212- SourceTransforms .normalizeValues (expectedValues ),
213- true
214- );
215-
216- return genericListMatcher .match ();
217196 }
218197}
0 commit comments