From cb779a5fdd8d88d61db5abbccaeaf74f12a3d3df Mon Sep 17 00:00:00 2001 From: Junghoon Ban Date: Tue, 17 Oct 2023 13:56:20 +0900 Subject: [PATCH] Use pattern matching instead of type casting --- .../client/elc/DocumentAdapters.java | 4 +-- .../core/AbstractElasticsearchTemplate.java | 4 +-- .../elasticsearch/core/SearchHitMapping.java | 4 +-- .../convert/ElasticsearchDateConverter.java | 4 +-- .../core/convert/GeoConverters.java | 28 +++++++++---------- .../MappingElasticsearchConverter.java | 20 ++++++------- .../core/index/MappingBuilder.java | 4 +-- .../core/index/MappingParameters.java | 8 +++--- ...SimpleElasticsearchPersistentProperty.java | 4 +-- .../SimpleElasticsearchRepository.java | 4 +-- 10 files changed, 42 insertions(+), 42 deletions(-) diff --git a/src/main/java/org/springframework/data/elasticsearch/client/elc/DocumentAdapters.java b/src/main/java/org/springframework/data/elasticsearch/client/elc/DocumentAdapters.java index 69e69e61c8..78ae3b0d52 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/elc/DocumentAdapters.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/elc/DocumentAdapters.java @@ -115,8 +115,8 @@ public static SearchDocument from(Hit hit, JsonpMapper jsonpMapper) { if (source == null) { document = Document.from(hitFieldsAsMap); } else { - if (source instanceof EntityAsMap) { - document = Document.from((EntityAsMap) source); + if (source instanceof EntityAsMap entityAsMap) { + document = Document.from(entityAsMap); } else if (source instanceof JsonData jsonData) { document = Document.from(jsonData.to(EntityAsMap.class)); } else { diff --git a/src/main/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplate.java b/src/main/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplate.java index 4d19d96f94..496ce3ee61 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplate.java @@ -143,8 +143,8 @@ public void setApplicationContext(ApplicationContext applicationContext) throws setEntityCallbacks(EntityCallbacks.create(applicationContext)); } - if (elasticsearchConverter instanceof ApplicationContextAware) { - ((ApplicationContextAware) elasticsearchConverter).setApplicationContext(applicationContext); + if (elasticsearchConverter instanceof ApplicationContextAware contextAware) { + contextAware.setApplicationContext(applicationContext); } } diff --git a/src/main/java/org/springframework/data/elasticsearch/core/SearchHitMapping.java b/src/main/java/org/springframework/data/elasticsearch/core/SearchHitMapping.java index 8c5d176581..357ec3ed13 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/SearchHitMapping.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/SearchHitMapping.java @@ -229,8 +229,8 @@ private SearchHits mapInnerDocuments(SearchHits searchHits, C }); String scrollId = null; - if (searchHits instanceof SearchHitsImpl) { - scrollId = ((SearchHitsImpl) searchHits).getScrollId(); + if (searchHits instanceof SearchHitsImpl searchHitsImpl) { + scrollId = searchHitsImpl.getScrollId(); } return new SearchHitsImpl<>(searchHits.getTotalHits(), // diff --git a/src/main/java/org/springframework/data/elasticsearch/core/convert/ElasticsearchDateConverter.java b/src/main/java/org/springframework/data/elasticsearch/core/convert/ElasticsearchDateConverter.java index e0d8acf6a3..d926832d35 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/convert/ElasticsearchDateConverter.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/convert/ElasticsearchDateConverter.java @@ -323,9 +323,9 @@ public String format(TemporalAccessor accessor) { try { return dateTimeFormatter.format(accessor); } catch (Exception e) { - if (accessor instanceof Instant) { + if (accessor instanceof Instant instant) { // as alternatives try to format a ZonedDateTime or LocalDateTime - return dateTimeFormatter.format(ZonedDateTime.ofInstant((Instant) accessor, ZoneId.of("UTC"))); + return dateTimeFormatter.format(ZonedDateTime.ofInstant(instant, ZoneId.of("UTC"))); } else { throw e; } diff --git a/src/main/java/org/springframework/data/elasticsearch/core/convert/GeoConverters.java b/src/main/java/org/springframework/data/elasticsearch/core/convert/GeoConverters.java index 1156de1b1c..e51202c9b6 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/convert/GeoConverters.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/convert/GeoConverters.java @@ -141,20 +141,20 @@ public enum GeoJsonToMapConverter implements Converter convert(GeoJson> source) { - if (source instanceof GeoJsonPoint) { - return GeoJsonPointToMapConverter.INSTANCE.convert((GeoJsonPoint) source); - } else if (source instanceof GeoJsonMultiPoint) { - return GeoJsonMultiPointToMapConverter.INSTANCE.convert((GeoJsonMultiPoint) source); - } else if (source instanceof GeoJsonLineString) { - return GeoJsonLineStringToMapConverter.INSTANCE.convert((GeoJsonLineString) source); - } else if (source instanceof GeoJsonMultiLineString) { - return GeoJsonMultiLineStringToMapConverter.INSTANCE.convert((GeoJsonMultiLineString) source); - } else if (source instanceof GeoJsonPolygon) { - return GeoJsonPolygonToMapConverter.INSTANCE.convert((GeoJsonPolygon) source); - } else if (source instanceof GeoJsonMultiPolygon) { - return GeoJsonMultiPolygonToMapConverter.INSTANCE.convert((GeoJsonMultiPolygon) source); - } else if (source instanceof GeoJsonGeometryCollection) { - return GeoJsonGeometryCollectionToMapConverter.INSTANCE.convert((GeoJsonGeometryCollection) source); + if (source instanceof GeoJsonPoint geoJsonPoint) { + return GeoJsonPointToMapConverter.INSTANCE.convert(geoJsonPoint); + } else if (source instanceof GeoJsonMultiPoint geoJsonMultiPoint) { + return GeoJsonMultiPointToMapConverter.INSTANCE.convert(geoJsonMultiPoint); + } else if (source instanceof GeoJsonLineString geoJsonLineString) { + return GeoJsonLineStringToMapConverter.INSTANCE.convert(geoJsonLineString); + } else if (source instanceof GeoJsonMultiLineString geoJsonMultiLineString) { + return GeoJsonMultiLineStringToMapConverter.INSTANCE.convert(geoJsonMultiLineString); + } else if (source instanceof GeoJsonPolygon geoJsonPolygon) { + return GeoJsonPolygonToMapConverter.INSTANCE.convert(geoJsonPolygon); + } else if (source instanceof GeoJsonMultiPolygon geoJsonMultiPolygon) { + return GeoJsonMultiPolygonToMapConverter.INSTANCE.convert(geoJsonMultiPolygon); + } else if (source instanceof GeoJsonGeometryCollection geoJsonGeometryCollection) { + return GeoJsonGeometryCollectionToMapConverter.INSTANCE.convert(geoJsonGeometryCollection); } else { throw new IllegalArgumentException("unknown GeoJson class " + source.getClass().getSimpleName()); } diff --git a/src/main/java/org/springframework/data/elasticsearch/core/convert/MappingElasticsearchConverter.java b/src/main/java/org/springframework/data/elasticsearch/core/convert/MappingElasticsearchConverter.java index 8743dddcff..01b49cc934 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/convert/MappingElasticsearchConverter.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/convert/MappingElasticsearchConverter.java @@ -116,8 +116,8 @@ public MappingElasticsearchConverter( @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - if (mappingContext instanceof ApplicationContextAware) { - ((ApplicationContextAware) mappingContext).setApplicationContext(applicationContext); + if (mappingContext instanceof ApplicationContextAware contextAware) { + contextAware.setApplicationContext(applicationContext); } } @@ -1186,8 +1186,8 @@ protected Map createMap(Map map, ElasticsearchPersistentPr */ private static Collection asCollection(Object source) { - if (source instanceof Collection) { - return (Collection) source; + if (source instanceof Collection collection) { + return collection; } return source.getClass().isArray() ? CollectionUtils.arrayToList(source) : Collections.singleton(source); @@ -1201,9 +1201,9 @@ public void updateQuery(Query query, @Nullable Class domainClass) { Assert.notNull(query, "query must not be null"); - if (query instanceof BaseQuery) { + if (query instanceof BaseQuery baseQuery) { - if (((BaseQuery) query).queryIsUpdatedByConverter()) { + if (baseQuery.queryIsUpdatedByConverter()) { return; } } @@ -1214,12 +1214,12 @@ public void updateQuery(Query query, @Nullable Class domainClass) { updatePropertiesInFieldsAndSourceFilter(query, domainClass); - if (query instanceof CriteriaQuery) { - updatePropertiesInCriteriaQuery((CriteriaQuery) query, domainClass); + if (query instanceof CriteriaQuery criteriaQuery) { + updatePropertiesInCriteriaQuery(criteriaQuery, domainClass); } - if (query instanceof BaseQuery) { - ((BaseQuery) query).setQueryIsUpdatedByConverter(true); + if (query instanceof BaseQuery baseQuery) { + baseQuery.setQueryIsUpdatedByConverter(true); } } diff --git a/src/main/java/org/springframework/data/elasticsearch/core/index/MappingBuilder.java b/src/main/java/org/springframework/data/elasticsearch/core/index/MappingBuilder.java index 59b97b7aff..fb50007938 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/index/MappingBuilder.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/index/MappingBuilder.java @@ -194,8 +194,8 @@ private void writeTypeHintMapping(ObjectNode propertiesNode) throws IOException if (writeTypeHints) { String typeHintProperty = null; - if (elasticsearchConverter instanceof MappingElasticsearchConverter) { - typeHintProperty = ((MappingElasticsearchConverter) elasticsearchConverter).getTypeMapper().getTypeKey(); + if (elasticsearchConverter instanceof MappingElasticsearchConverter mappingElasticsearchConverter) { + typeHintProperty = mappingElasticsearchConverter.getTypeMapper().getTypeKey(); } if (typeHintProperty == null) { diff --git a/src/main/java/org/springframework/data/elasticsearch/core/index/MappingParameters.java b/src/main/java/org/springframework/data/elasticsearch/core/index/MappingParameters.java index 7ae84076f0..b202eb7227 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/index/MappingParameters.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/index/MappingParameters.java @@ -125,10 +125,10 @@ public static MappingParameters from(Annotation annotation) { Assert.notNull(annotation, "annotation must not be null!"); - if (annotation instanceof Field) { - return new MappingParameters((Field) annotation); - } else if (annotation instanceof InnerField) { - return new MappingParameters((InnerField) annotation); + if (annotation instanceof Field field) { + return new MappingParameters(field); + } else if (annotation instanceof InnerField innerField) { + return new MappingParameters(innerField); } else { throw new IllegalArgumentException("annotation must be an instance of @Field or @InnerField"); } diff --git a/src/main/java/org/springframework/data/elasticsearch/core/mapping/SimpleElasticsearchPersistentProperty.java b/src/main/java/org/springframework/data/elasticsearch/core/mapping/SimpleElasticsearchPersistentProperty.java index 4d7d0143af..c73b6110cd 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/mapping/SimpleElasticsearchPersistentProperty.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/mapping/SimpleElasticsearchPersistentProperty.java @@ -344,8 +344,8 @@ public String getFieldName() { private FieldNamingStrategy getFieldNamingStrategy() { PersistentEntity owner = getOwner(); - if (owner instanceof ElasticsearchPersistentEntity) { - return ((ElasticsearchPersistentEntity) owner).getFieldNamingStrategy(); + if (owner instanceof ElasticsearchPersistentEntity persistentEntity) { + return persistentEntity.getFieldNamingStrategy(); } return DEFAULT_FIELD_NAMING_STRATEGY; diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/support/SimpleElasticsearchRepository.java b/src/main/java/org/springframework/data/elasticsearch/repository/support/SimpleElasticsearchRepository.java index 87cad402c1..dfcc56219a 100644 --- a/src/main/java/org/springframework/data/elasticsearch/repository/support/SimpleElasticsearchRepository.java +++ b/src/main/java/org/springframework/data/elasticsearch/repository/support/SimpleElasticsearchRepository.java @@ -386,8 +386,8 @@ public void deleteAll(@Nullable RefreshPolicy refreshPolicy) { private void doRefresh() { RefreshPolicy refreshPolicy = null; - if (operations instanceof AbstractElasticsearchTemplate) { - refreshPolicy = ((AbstractElasticsearchTemplate) operations).getRefreshPolicy(); + if (operations instanceof AbstractElasticsearchTemplate template) { + refreshPolicy = template.getRefreshPolicy(); } if (refreshPolicy == null) {