Skip to content

Commit ccf86b0

Browse files
gaobinlonganandpatel9998
authored andcommitted
Replace explicit type conversion with instanceof pattern variable in org.opensearch.index package (opensearch-project#19859)
* Replace explicit type conversion with instanceof pattern variable in org.opensearch.index package Signed-off-by: Binlong Gao <gbinlong@amazon.com> * Optimize some code Signed-off-by: Binlong Gao <gbinlong@amazon.com> --------- Signed-off-by: Binlong Gao <gbinlong@amazon.com>
1 parent 6b29b8e commit ccf86b0

File tree

55 files changed

+259
-293
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+259
-293
lines changed

server/src/main/java/org/opensearch/index/analysis/AnalysisRegistry.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -724,8 +724,8 @@ private static NamedAnalyzer produceAnalyzer(
724724
* doesn't match here.
725725
*/
726726
int overridePositionIncrementGap = TextFieldMapper.Defaults.POSITION_INCREMENT_GAP;
727-
if (analyzerFactory instanceof CustomAnalyzerProvider) {
728-
((CustomAnalyzerProvider) analyzerFactory).build(tokenizers, charFilters, tokenFilters);
727+
if (analyzerFactory instanceof CustomAnalyzerProvider customAnalyzerProvider) {
728+
customAnalyzerProvider.build(tokenizers, charFilters, tokenFilters);
729729
/*
730730
* Custom analyzers already default to the correct, version
731731
* dependent positionIncrementGap and the user is be able to
@@ -740,9 +740,9 @@ private static NamedAnalyzer produceAnalyzer(
740740
throw new IllegalArgumentException("analyzer [" + analyzerFactory.name() + "] created null analyzer");
741741
}
742742
NamedAnalyzer analyzer;
743-
if (analyzerF instanceof NamedAnalyzer) {
743+
if (analyzerF instanceof NamedAnalyzer namedAnalyzer) {
744744
// if we got a named analyzer back, use it...
745-
analyzer = (NamedAnalyzer) analyzerF;
745+
analyzer = namedAnalyzer;
746746
if (overridePositionIncrementGap >= 0 && analyzer.getPositionIncrementGap(analyzer.name()) != overridePositionIncrementGap) {
747747
// unless the positionIncrementGap needs to be overridden
748748
analyzer = new NamedAnalyzer(analyzer, overridePositionIncrementGap);
@@ -766,8 +766,8 @@ private void processNormalizerFactory(
766766
throw new IllegalStateException("keyword tokenizer factory is null, normalizers require analysis-common module");
767767
}
768768

769-
if (normalizerFactory instanceof CustomNormalizerProvider) {
770-
((CustomNormalizerProvider) normalizerFactory).build(tokenizerFactory, charFilters, tokenFilters);
769+
if (normalizerFactory instanceof CustomNormalizerProvider customNormalizerProvider) {
770+
customNormalizerProvider.build(tokenizerFactory, charFilters, tokenFilters);
771771
}
772772
if (normalizers.containsKey(name)) {
773773
throw new IllegalStateException("already registered analyzer with name: " + name);

server/src/main/java/org/opensearch/index/analysis/NamedAnalyzer.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ public NamedAnalyzer(String name, AnalyzerScope scope, Analyzer analyzer, int po
7070
this.scope = scope;
7171
this.analyzer = analyzer;
7272
this.positionIncrementGap = positionIncrementGap;
73-
if (analyzer instanceof org.opensearch.index.analysis.AnalyzerComponentsProvider) {
74-
this.analysisMode = ((org.opensearch.index.analysis.AnalyzerComponentsProvider) analyzer).getComponents().analysisMode();
73+
if (analyzer instanceof AnalyzerComponentsProvider analyzerComponentsProvider) {
74+
this.analysisMode = analyzerComponentsProvider.getComponents().analysisMode();
7575
} else {
7676
this.analysisMode = AnalysisMode.ALL;
7777
}
@@ -129,8 +129,8 @@ public void checkAllowedInMode(AnalysisMode mode) {
129129
return; // everything allowed if this analyzer is in ALL mode
130130
}
131131
if (this.getAnalysisMode() != mode) {
132-
if (analyzer instanceof AnalyzerComponentsProvider) {
133-
TokenFilterFactory[] tokenFilters = ((AnalyzerComponentsProvider) analyzer).getComponents().getTokenFilters();
132+
if (analyzer instanceof AnalyzerComponentsProvider analyzerComponentsProvider) {
133+
TokenFilterFactory[] tokenFilters = analyzerComponentsProvider.getComponents().getTokenFilters();
134134
List<String> offendingFilters = new ArrayList<>();
135135
for (TokenFilterFactory tokenFilter : tokenFilters) {
136136
AnalysisMode filterMode = tokenFilter.getAnalysisMode();
@@ -176,8 +176,7 @@ public void setReusableComponents(Analyzer a, String f, TokenStreamComponents c)
176176
@Override
177177
public boolean equals(Object o) {
178178
if (this == o) return true;
179-
if (!(o instanceof NamedAnalyzer)) return false;
180-
NamedAnalyzer that = (NamedAnalyzer) o;
179+
if (!(o instanceof NamedAnalyzer that)) return false;
181180
return Objects.equals(name, that.name);
182181
}
183182

server/src/main/java/org/opensearch/index/cache/bitset/BitsetFilterCache.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,8 +236,8 @@ public String toString() {
236236

237237
@Override
238238
public boolean equals(Object o) {
239-
if (!(o instanceof QueryWrapperBitSetProducer)) return false;
240-
return this.query.equals(((QueryWrapperBitSetProducer) o).query);
239+
if (!(o instanceof QueryWrapperBitSetProducer other)) return false;
240+
return this.query.equals(other.query);
241241
}
242242

243243
@Override

server/src/main/java/org/opensearch/index/codec/composite/composite912/Composite912DocValuesWriter.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -328,15 +328,15 @@ private void mergeStarTreeFields(MergeState mergeState) throws IOException {
328328
if (mergeState.docValuesProducers[i] == null) {
329329
continue;
330330
}
331-
if (mergeState.docValuesProducers[i] instanceof CompositeIndexReader) {
332-
reader = (CompositeIndexReader) mergeState.docValuesProducers[i];
331+
if (mergeState.docValuesProducers[i] instanceof CompositeIndexReader compositeReader) {
332+
reader = compositeReader;
333333
} else {
334334
Set<DocValuesProducer> docValuesProducers = DocValuesProducerUtil.getSegmentDocValuesProducers(
335335
mergeState.docValuesProducers[i]
336336
);
337337
for (DocValuesProducer docValuesProducer : docValuesProducers) {
338-
if (docValuesProducer instanceof CompositeIndexReader) {
339-
reader = (CompositeIndexReader) docValuesProducer;
338+
if (docValuesProducer instanceof CompositeIndexReader compositeReader) {
339+
reader = compositeReader;
340340
List<CompositeIndexFieldInfo> compositeFieldInfo = reader.getCompositeIndexFields();
341341
if (compositeFieldInfo.isEmpty() == false) {
342342
break;
@@ -349,8 +349,7 @@ private void mergeStarTreeFields(MergeState mergeState) throws IOException {
349349
for (CompositeIndexFieldInfo fieldInfo : compositeFieldInfo) {
350350
if (fieldInfo.getType().equals(CompositeMappedFieldType.CompositeFieldType.STAR_TREE)) {
351351
CompositeIndexValues compositeIndexValues = reader.getCompositeIndexValues(fieldInfo);
352-
if (compositeIndexValues instanceof StarTreeValues) {
353-
StarTreeValues starTreeValues = (StarTreeValues) compositeIndexValues;
352+
if (compositeIndexValues instanceof StarTreeValues starTreeValues) {
354353
List<StarTreeValues> fieldsList = starTreeSubsPerField.getOrDefault(fieldInfo.getField(), new ArrayList<>());
355354
fieldsList.add(starTreeValues);
356355
starTreeSubsPerField.put(fieldInfo.getField(), fieldsList);

server/src/main/java/org/opensearch/index/compositeindex/datacube/startree/StarTreeField.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
9595
builder.startArray("ordered_dimensions");
9696
for (Dimension dimension : dimensionsOrder) {
9797
// Handle dateDimension for later
98-
if (dimension instanceof DateDimension) {
99-
dateDim = (DateDimension) dimension;
98+
if (dimension instanceof DateDimension dateDimension) {
99+
dateDim = dateDimension;
100100
continue;
101101
}
102102
dimension.toXContent(builder, params);

server/src/main/java/org/opensearch/index/compositeindex/datacube/startree/aggregators/MetricAggregatorInfo.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,7 @@ public boolean equals(Object obj) {
100100
if (this == obj) {
101101
return true;
102102
}
103-
if (obj instanceof MetricAggregatorInfo) {
104-
MetricAggregatorInfo anotherPair = (MetricAggregatorInfo) obj;
103+
if (obj instanceof MetricAggregatorInfo anotherPair) {
105104
return metricStat.equals(anotherPair.metricStat) && field.equals(anotherPair.field);
106105
}
107106
return false;

server/src/main/java/org/opensearch/index/compositeindex/datacube/startree/builder/BaseStarTreeBuilder.java

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -187,22 +187,19 @@ public List<MetricAggregatorInfo> generateMetricAggregatorInfos(MapperService ma
187187
continue;
188188
}
189189
for (MetricStat metricStat : metric.getBaseMetrics()) {
190-
FieldValueConverter fieldValueConverter;
191190
Mapper fieldMapper = mapperService.documentMapper().mappers().getMapper(metric.getField());
192-
if (fieldMapper instanceof FieldMapper && ((FieldMapper) fieldMapper).fieldType() instanceof FieldValueConverter) {
193-
fieldValueConverter = (FieldValueConverter) ((FieldMapper) fieldMapper).fieldType();
191+
if (fieldMapper instanceof FieldMapper fm && fm.fieldType() instanceof FieldValueConverter fvc) {
192+
MetricAggregatorInfo metricAggregatorInfo = new MetricAggregatorInfo(
193+
metricStat,
194+
metric.getField(),
195+
starTreeField.getName(),
196+
fvc
197+
);
198+
metricAggregatorInfos.add(metricAggregatorInfo);
194199
} else {
195200
logger.error("unsupported mapper type");
196201
throw new IllegalStateException("unsupported mapper type");
197202
}
198-
199-
MetricAggregatorInfo metricAggregatorInfo = new MetricAggregatorInfo(
200-
metricStat,
201-
metric.getField(),
202-
starTreeField.getName(),
203-
fieldValueConverter
204-
);
205-
metricAggregatorInfos.add(metricAggregatorInfo);
206203
}
207204
}
208205
return metricAggregatorInfos;
@@ -315,9 +312,8 @@ protected Map<String, OrdinalMap> getOrdinalMaps(List<StarTreeValues> starTreeVa
315312
// Group iterators by dimension
316313
for (StarTreeValues starTree : starTreeValuesSubs) {
317314
for (String dimName : starTree.getStarTreeField().getDimensionNames()) {
318-
if (starTree.getDimensionValuesIterator(dimName) instanceof SortedSetStarTreeValuesIterator) {
319-
dimensionToIterators.computeIfAbsent(dimName, k -> new ArrayList<>())
320-
.add((SortedSetStarTreeValuesIterator) starTree.getDimensionValuesIterator(dimName));
315+
if (starTree.getDimensionValuesIterator(dimName) instanceof SortedSetStarTreeValuesIterator sortedSetIterator) {
316+
dimensionToIterators.computeIfAbsent(dimName, k -> new ArrayList<>()).add(sortedSetIterator);
321317
}
322318
}
323319
}
@@ -515,21 +511,18 @@ private void createSortedDocValuesIndices(DocValuesConsumer docValuesConsumer, A
515511
* Adds startree field to respective field writers
516512
*/
517513
private void indexDocValue(DocValuesWriterWrapper<?> dvWriter, int docId, long value, String field) throws IOException {
518-
if (dvWriter instanceof SortedSetDocValuesWriterWrapper) {
514+
if (dvWriter instanceof SortedSetDocValuesWriterWrapper sortedSetWriter) {
519515
// TODO : cache lookupOrd to make it faster
520516
if (isMerge) {
521517
OrdinalMap map = mergeSortedSetDimensionsOrdinalMap.get(field);
522518
int segmentNumber = map.getFirstSegmentNumber(value);
523519
long segmentOrd = map.getFirstSegmentOrd(value);
524-
((SortedSetDocValuesWriterWrapper) dvWriter).addValue(
525-
docId,
526-
mergeSortedSetDimensionsMap.get(field).get(segmentNumber).lookupOrd(segmentOrd)
527-
);
520+
sortedSetWriter.addValue(docId, mergeSortedSetDimensionsMap.get(field).get(segmentNumber).lookupOrd(segmentOrd));
528521
} else {
529-
((SortedSetDocValuesWriterWrapper) dvWriter).addValue(docId, flushSortedSetDocValuesMap.get(field).lookupOrd(value));
522+
sortedSetWriter.addValue(docId, flushSortedSetDocValuesMap.get(field).lookupOrd(value));
530523
}
531-
} else if (dvWriter instanceof SortedNumericDocValuesWriterWrapper) {
532-
((SortedNumericDocValuesWriterWrapper) dvWriter).addValue(docId, value);
524+
} else if (dvWriter instanceof SortedNumericDocValuesWriterWrapper sortedNumericWriter) {
525+
sortedNumericWriter.addValue(docId, value);
533526
}
534527
}
535528

@@ -836,8 +829,8 @@ protected StarTreeDocument reduceSegmentStarTreeDocuments(
836829
private static Long getLong(Object metric) {
837830
Long metricValue = null;
838831

839-
if (metric instanceof Long) {
840-
metricValue = (long) metric;
832+
if (metric instanceof Long longMetric) {
833+
metricValue = longMetric;
841834
}
842835
return metricValue;
843836
}

server/src/main/java/org/opensearch/index/compositeindex/datacube/startree/builder/StarTreesBuilder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ public class StarTreesBuilder implements Closeable {
4747
public StarTreesBuilder(SegmentWriteState segmentWriteState, MapperService mapperService, AtomicInteger fieldNumberAcrossStarTrees) {
4848
List<StarTreeField> starTreeFields = new ArrayList<>();
4949
for (CompositeMappedFieldType compositeMappedFieldType : mapperService.getCompositeFieldTypes()) {
50-
if (compositeMappedFieldType != null && compositeMappedFieldType.unwrap() instanceof StarTreeMapper.StarTreeFieldType) {
51-
StarTreeMapper.StarTreeFieldType starTreeFieldType = (StarTreeMapper.StarTreeFieldType) compositeMappedFieldType;
50+
if (compositeMappedFieldType != null
51+
&& compositeMappedFieldType.unwrap() instanceof StarTreeMapper.StarTreeFieldType starTreeFieldType) {
5252
starTreeFields.add(
5353
new StarTreeField(
5454
starTreeFieldType.name(),

server/src/main/java/org/opensearch/index/compositeindex/datacube/startree/fileformats/node/FixedLengthStarTreeNode.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -264,8 +264,8 @@ private FixedLengthStarTreeNode binarySearchChild(long dimensionValue, StarTreeN
264264
high--;
265265
}
266266

267-
if (lastMatchedNode instanceof FixedLengthStarTreeNode) {
268-
int lastMatchedNodeId = ((FixedLengthStarTreeNode) lastMatchedNode).nodeId();
267+
if (lastMatchedNode instanceof FixedLengthStarTreeNode fixedLengthNode) {
268+
int lastMatchedNodeId = fixedLengthNode.nodeId();
269269
// Start the binary search from node after the last matched as low.
270270
if ((lastMatchedNodeId + 1) <= high) {
271271
low = lastMatchedNodeId + 1;
@@ -348,8 +348,8 @@ private FixedLengthStarTreeNode binarySearchChild(
348348
tempHigh--;
349349
}
350350

351-
if (lastMatchedNode instanceof FixedLengthStarTreeNode) {
352-
int lastMatchedNodeId = ((FixedLengthStarTreeNode) lastMatchedNode).nodeId();
351+
if (lastMatchedNode instanceof FixedLengthStarTreeNode fixedLengthNode) {
352+
int lastMatchedNodeId = fixedLengthNode.nodeId();
353353
// Start the binary search from node after the last matched as low.
354354
if ((lastMatchedNodeId + 1) <= tempHigh) {
355355
tempLow = lastMatchedNodeId + 1;

server/src/main/java/org/opensearch/index/compositeindex/datacube/startree/utils/SequentialDocValuesIterator.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public int nextEntry(int currentEntryId) throws IOException {
7171
}
7272

7373
public Long value(int currentEntryId) throws IOException {
74-
if (starTreeValuesIterator instanceof SortedNumericStarTreeValuesIterator) {
74+
if (starTreeValuesIterator instanceof SortedNumericStarTreeValuesIterator sortedNumericIterator) {
7575
if (currentEntryId < 0) {
7676
throw new IllegalStateException("invalid entry id to fetch the next value");
7777
}
@@ -81,9 +81,9 @@ public Long value(int currentEntryId) throws IOException {
8181
if (entryId == StarTreeValuesIterator.NO_MORE_ENTRIES || entryId != currentEntryId) {
8282
return null;
8383
}
84-
return ((SortedNumericStarTreeValuesIterator) starTreeValuesIterator).nextValue();
84+
return sortedNumericIterator.nextValue();
8585

86-
} else if (starTreeValuesIterator instanceof SortedSetStarTreeValuesIterator) {
86+
} else if (starTreeValuesIterator instanceof SortedSetStarTreeValuesIterator sortedSetIterator) {
8787
if (currentEntryId < 0) {
8888
throw new IllegalStateException("invalid entry id to fetch the next value");
8989
}
@@ -93,7 +93,7 @@ public Long value(int currentEntryId) throws IOException {
9393
if (entryId == StarTreeValuesIterator.NO_MORE_ENTRIES || entryId != currentEntryId) {
9494
return null;
9595
}
96-
return ((SortedSetStarTreeValuesIterator) starTreeValuesIterator).nextOrd();
96+
return sortedSetIterator.nextOrd();
9797
} else {
9898
throw new IllegalStateException("Unsupported Iterator requested for SequentialDocValuesIterator");
9999
}

0 commit comments

Comments
 (0)