Skip to content

Commit ba44684

Browse files
Use pattern matching instead of type casting.
Original Pull Request #2742 Closes #2741
1 parent 64ada11 commit ba44684

10 files changed

+42
-42
lines changed

src/main/java/org/springframework/data/elasticsearch/client/elc/DocumentAdapters.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@ public static SearchDocument from(Hit<?> hit, JsonpMapper jsonpMapper) {
115115
if (source == null) {
116116
document = Document.from(hitFieldsAsMap);
117117
} else {
118-
if (source instanceof EntityAsMap) {
119-
document = Document.from((EntityAsMap) source);
118+
if (source instanceof EntityAsMap entityAsMap) {
119+
document = Document.from(entityAsMap);
120120
} else if (source instanceof JsonData jsonData) {
121121
document = Document.from(jsonData.to(EntityAsMap.class));
122122
} else {

src/main/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplate.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,8 @@ public void setApplicationContext(ApplicationContext applicationContext) throws
143143
setEntityCallbacks(EntityCallbacks.create(applicationContext));
144144
}
145145

146-
if (elasticsearchConverter instanceof ApplicationContextAware) {
147-
((ApplicationContextAware) elasticsearchConverter).setApplicationContext(applicationContext);
146+
if (elasticsearchConverter instanceof ApplicationContextAware contextAware) {
147+
contextAware.setApplicationContext(applicationContext);
148148
}
149149
}
150150

src/main/java/org/springframework/data/elasticsearch/core/SearchHitMapping.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -229,8 +229,8 @@ private SearchHits<?> mapInnerDocuments(SearchHits<SearchDocument> searchHits, C
229229
});
230230

231231
String scrollId = null;
232-
if (searchHits instanceof SearchHitsImpl) {
233-
scrollId = ((SearchHitsImpl<?>) searchHits).getScrollId();
232+
if (searchHits instanceof SearchHitsImpl<?> searchHitsImpl) {
233+
scrollId = searchHitsImpl.getScrollId();
234234
}
235235

236236
return new SearchHitsImpl<>(searchHits.getTotalHits(), //

src/main/java/org/springframework/data/elasticsearch/core/convert/ElasticsearchDateConverter.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -323,9 +323,9 @@ public String format(TemporalAccessor accessor) {
323323
try {
324324
return dateTimeFormatter.format(accessor);
325325
} catch (Exception e) {
326-
if (accessor instanceof Instant) {
326+
if (accessor instanceof Instant instant) {
327327
// as alternatives try to format a ZonedDateTime or LocalDateTime
328-
return dateTimeFormatter.format(ZonedDateTime.ofInstant((Instant) accessor, ZoneId.of("UTC")));
328+
return dateTimeFormatter.format(ZonedDateTime.ofInstant(instant, ZoneId.of("UTC")));
329329
} else {
330330
throw e;
331331
}

src/main/java/org/springframework/data/elasticsearch/core/convert/GeoConverters.java

+14-14
Original file line numberDiff line numberDiff line change
@@ -141,20 +141,20 @@ public enum GeoJsonToMapConverter implements Converter<GeoJson<? extends Iterabl
141141

142142
@Override
143143
public Map<String, Object> convert(GeoJson<? extends Iterable<?>> source) {
144-
if (source instanceof GeoJsonPoint) {
145-
return GeoJsonPointToMapConverter.INSTANCE.convert((GeoJsonPoint) source);
146-
} else if (source instanceof GeoJsonMultiPoint) {
147-
return GeoJsonMultiPointToMapConverter.INSTANCE.convert((GeoJsonMultiPoint) source);
148-
} else if (source instanceof GeoJsonLineString) {
149-
return GeoJsonLineStringToMapConverter.INSTANCE.convert((GeoJsonLineString) source);
150-
} else if (source instanceof GeoJsonMultiLineString) {
151-
return GeoJsonMultiLineStringToMapConverter.INSTANCE.convert((GeoJsonMultiLineString) source);
152-
} else if (source instanceof GeoJsonPolygon) {
153-
return GeoJsonPolygonToMapConverter.INSTANCE.convert((GeoJsonPolygon) source);
154-
} else if (source instanceof GeoJsonMultiPolygon) {
155-
return GeoJsonMultiPolygonToMapConverter.INSTANCE.convert((GeoJsonMultiPolygon) source);
156-
} else if (source instanceof GeoJsonGeometryCollection) {
157-
return GeoJsonGeometryCollectionToMapConverter.INSTANCE.convert((GeoJsonGeometryCollection) source);
144+
if (source instanceof GeoJsonPoint geoJsonPoint) {
145+
return GeoJsonPointToMapConverter.INSTANCE.convert(geoJsonPoint);
146+
} else if (source instanceof GeoJsonMultiPoint geoJsonMultiPoint) {
147+
return GeoJsonMultiPointToMapConverter.INSTANCE.convert(geoJsonMultiPoint);
148+
} else if (source instanceof GeoJsonLineString geoJsonLineString) {
149+
return GeoJsonLineStringToMapConverter.INSTANCE.convert(geoJsonLineString);
150+
} else if (source instanceof GeoJsonMultiLineString geoJsonMultiLineString) {
151+
return GeoJsonMultiLineStringToMapConverter.INSTANCE.convert(geoJsonMultiLineString);
152+
} else if (source instanceof GeoJsonPolygon geoJsonPolygon) {
153+
return GeoJsonPolygonToMapConverter.INSTANCE.convert(geoJsonPolygon);
154+
} else if (source instanceof GeoJsonMultiPolygon geoJsonMultiPolygon) {
155+
return GeoJsonMultiPolygonToMapConverter.INSTANCE.convert(geoJsonMultiPolygon);
156+
} else if (source instanceof GeoJsonGeometryCollection geoJsonGeometryCollection) {
157+
return GeoJsonGeometryCollectionToMapConverter.INSTANCE.convert(geoJsonGeometryCollection);
158158
} else {
159159
throw new IllegalArgumentException("unknown GeoJson class " + source.getClass().getSimpleName());
160160
}

src/main/java/org/springframework/data/elasticsearch/core/convert/MappingElasticsearchConverter.java

+10-10
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,8 @@ public MappingElasticsearchConverter(
116116
@Override
117117
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
118118

119-
if (mappingContext instanceof ApplicationContextAware) {
120-
((ApplicationContextAware) mappingContext).setApplicationContext(applicationContext);
119+
if (mappingContext instanceof ApplicationContextAware contextAware) {
120+
contextAware.setApplicationContext(applicationContext);
121121
}
122122
}
123123

@@ -1186,8 +1186,8 @@ protected Map<String, Object> createMap(Map<?, ?> map, ElasticsearchPersistentPr
11861186
*/
11871187
private static Collection<?> asCollection(Object source) {
11881188

1189-
if (source instanceof Collection) {
1190-
return (Collection<?>) source;
1189+
if (source instanceof Collection<?> collection) {
1190+
return collection;
11911191
}
11921192

11931193
return source.getClass().isArray() ? CollectionUtils.arrayToList(source) : Collections.singleton(source);
@@ -1201,9 +1201,9 @@ public void updateQuery(Query query, @Nullable Class<?> domainClass) {
12011201

12021202
Assert.notNull(query, "query must not be null");
12031203

1204-
if (query instanceof BaseQuery) {
1204+
if (query instanceof BaseQuery baseQuery) {
12051205

1206-
if (((BaseQuery) query).queryIsUpdatedByConverter()) {
1206+
if (baseQuery.queryIsUpdatedByConverter()) {
12071207
return;
12081208
}
12091209
}
@@ -1214,12 +1214,12 @@ public void updateQuery(Query query, @Nullable Class<?> domainClass) {
12141214

12151215
updatePropertiesInFieldsAndSourceFilter(query, domainClass);
12161216

1217-
if (query instanceof CriteriaQuery) {
1218-
updatePropertiesInCriteriaQuery((CriteriaQuery) query, domainClass);
1217+
if (query instanceof CriteriaQuery criteriaQuery) {
1218+
updatePropertiesInCriteriaQuery(criteriaQuery, domainClass);
12191219
}
12201220

1221-
if (query instanceof BaseQuery) {
1222-
((BaseQuery) query).setQueryIsUpdatedByConverter(true);
1221+
if (query instanceof BaseQuery baseQuery) {
1222+
baseQuery.setQueryIsUpdatedByConverter(true);
12231223
}
12241224
}
12251225

src/main/java/org/springframework/data/elasticsearch/core/index/MappingBuilder.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -194,8 +194,8 @@ private void writeTypeHintMapping(ObjectNode propertiesNode) throws IOException
194194
if (writeTypeHints) {
195195
String typeHintProperty = null;
196196

197-
if (elasticsearchConverter instanceof MappingElasticsearchConverter) {
198-
typeHintProperty = ((MappingElasticsearchConverter) elasticsearchConverter).getTypeMapper().getTypeKey();
197+
if (elasticsearchConverter instanceof MappingElasticsearchConverter mappingElasticsearchConverter) {
198+
typeHintProperty = mappingElasticsearchConverter.getTypeMapper().getTypeKey();
199199
}
200200

201201
if (typeHintProperty == null) {

src/main/java/org/springframework/data/elasticsearch/core/index/MappingParameters.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,10 @@ public static MappingParameters from(Annotation annotation) {
125125

126126
Assert.notNull(annotation, "annotation must not be null!");
127127

128-
if (annotation instanceof Field) {
129-
return new MappingParameters((Field) annotation);
130-
} else if (annotation instanceof InnerField) {
131-
return new MappingParameters((InnerField) annotation);
128+
if (annotation instanceof Field field) {
129+
return new MappingParameters(field);
130+
} else if (annotation instanceof InnerField innerField) {
131+
return new MappingParameters(innerField);
132132
} else {
133133
throw new IllegalArgumentException("annotation must be an instance of @Field or @InnerField");
134134
}

src/main/java/org/springframework/data/elasticsearch/core/mapping/SimpleElasticsearchPersistentProperty.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -344,8 +344,8 @@ public String getFieldName() {
344344
private FieldNamingStrategy getFieldNamingStrategy() {
345345
PersistentEntity<?, ElasticsearchPersistentProperty> owner = getOwner();
346346

347-
if (owner instanceof ElasticsearchPersistentEntity) {
348-
return ((ElasticsearchPersistentEntity<?>) owner).getFieldNamingStrategy();
347+
if (owner instanceof ElasticsearchPersistentEntity<?> persistentEntity) {
348+
return persistentEntity.getFieldNamingStrategy();
349349
}
350350

351351
return DEFAULT_FIELD_NAMING_STRATEGY;

src/main/java/org/springframework/data/elasticsearch/repository/support/SimpleElasticsearchRepository.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -386,8 +386,8 @@ public void deleteAll(@Nullable RefreshPolicy refreshPolicy) {
386386
private void doRefresh() {
387387
RefreshPolicy refreshPolicy = null;
388388

389-
if (operations instanceof AbstractElasticsearchTemplate) {
390-
refreshPolicy = ((AbstractElasticsearchTemplate) operations).getRefreshPolicy();
389+
if (operations instanceof AbstractElasticsearchTemplate template) {
390+
refreshPolicy = template.getRefreshPolicy();
391391
}
392392

393393
if (refreshPolicy == null) {

0 commit comments

Comments
 (0)