diff --git a/server/src/main/java/org/elasticsearch/cluster/ClusterState.java b/server/src/main/java/org/elasticsearch/cluster/ClusterState.java index 01bb67487071c..3ad211bba1239 100644 --- a/server/src/main/java/org/elasticsearch/cluster/ClusterState.java +++ b/server/src/main/java/org/elasticsearch/cluster/ClusterState.java @@ -216,6 +216,7 @@ public ImmutableOpenMap getCustoms() { return this.customs; } + @SuppressWarnings("unchecked") public T custom(String type) { return (T) customs.get(type); } @@ -366,6 +367,7 @@ public String toString() { } @Override + @SuppressWarnings("unchecked") public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { EnumSet metrics = Metric.parseString(params.param("metric", "_all"), true); diff --git a/server/src/main/java/org/elasticsearch/cluster/metadata/MappingMetaData.java b/server/src/main/java/org/elasticsearch/cluster/metadata/MappingMetaData.java index eba28e66db32c..8eb5505824899 100644 --- a/server/src/main/java/org/elasticsearch/cluster/metadata/MappingMetaData.java +++ b/server/src/main/java/org/elasticsearch/cluster/metadata/MappingMetaData.java @@ -118,6 +118,7 @@ public CompressedXContent source() { /** * Converts the serialized compressed form of the mappings into a parsed map. */ + @SuppressWarnings("unchecked") public Map sourceAsMap() throws ElasticsearchParseException { Map mapping = XContentHelper.convertToMap(source.compressedReference(), true).v2(); if (mapping.size() == 1 && mapping.containsKey(type())) { diff --git a/server/src/main/java/org/elasticsearch/common/cache/Cache.java b/server/src/main/java/org/elasticsearch/common/cache/Cache.java index 67061a1533475..0384e77876626 100644 --- a/server/src/main/java/org/elasticsearch/common/cache/Cache.java +++ b/server/src/main/java/org/elasticsearch/common/cache/Cache.java @@ -336,7 +336,8 @@ void eviction() { } public static final int NUMBER_OF_SEGMENTS = 256; - @SuppressWarnings("unchecked") private final CacheSegment[] segments = new CacheSegment[NUMBER_OF_SEGMENTS]; + @SuppressWarnings({"unchecked", "rawtypes"}) + private final CacheSegment[] segments = new CacheSegment[NUMBER_OF_SEGMENTS]; { for (int i = 0; i < segments.length; i++) { diff --git a/server/src/main/java/org/elasticsearch/common/document/DocumentField.java b/server/src/main/java/org/elasticsearch/common/document/DocumentField.java index 61a5b829c5e48..5da97a5551a67 100644 --- a/server/src/main/java/org/elasticsearch/common/document/DocumentField.java +++ b/server/src/main/java/org/elasticsearch/common/document/DocumentField.java @@ -73,11 +73,12 @@ public String getName() { /** * The first value of the hit. */ + @SuppressWarnings("unchecked") public V getValue() { if (values == null || values.isEmpty()) { return null; } - return (V)values.get(0); + return (V) values.get(0); } /** diff --git a/server/src/main/java/org/elasticsearch/common/io/stream/NamedWriteableRegistry.java b/server/src/main/java/org/elasticsearch/common/io/stream/NamedWriteableRegistry.java index 8fde972e8e4e2..64da4416f6c24 100644 --- a/server/src/main/java/org/elasticsearch/common/io/stream/NamedWriteableRegistry.java +++ b/server/src/main/java/org/elasticsearch/common/io/stream/NamedWriteableRegistry.java @@ -63,6 +63,7 @@ public Entry(Class categoryClass, String name, Wri /** * Constructs a new registry from the given entries. */ + @SuppressWarnings("rawtypes") public NamedWriteableRegistry(List entries) { if (entries.isEmpty()) { registry = Collections.emptyMap(); diff --git a/server/src/main/java/org/elasticsearch/common/io/stream/StreamInput.java b/server/src/main/java/org/elasticsearch/common/io/stream/StreamInput.java index a8b3f6df35dbd..edc3e98d2f1b1 100644 --- a/server/src/main/java/org/elasticsearch/common/io/stream/StreamInput.java +++ b/server/src/main/java/org/elasticsearch/common/io/stream/StreamInput.java @@ -748,13 +748,12 @@ public final Instant readOptionalInstant() throws IOException { return present ? readInstant() : null; } - @SuppressWarnings("unchecked") - private List readArrayList() throws IOException { + private List readArrayList() throws IOException { int size = readArraySize(); if (size == 0) { return Collections.emptyList(); } - List list = new ArrayList(size); + List list = new ArrayList<>(size); for (int i = 0; i < size; i++) { list.add(readGenericValue()); } @@ -790,7 +789,7 @@ private Map readLinkedHashMap() throws IOException { if (size9 == 0) { return Collections.emptyMap(); } - Map map9 = new LinkedHashMap(size9); + Map map9 = new LinkedHashMap<>(size9); for (int i = 0; i < size9; i++) { map9.put(readString(), readGenericValue()); } @@ -802,7 +801,7 @@ private Map readHashMap() throws IOException { if (size10 == 0) { return Collections.emptyMap(); } - Map map10 = new HashMap(size10); + Map map10 = new HashMap<>(size10); for (int i = 0; i < size10; i++) { map10.put(readString(), readGenericValue()); } @@ -985,6 +984,7 @@ public T readOptionalWriteable(Writeable.Reader reader) } } + @SuppressWarnings("unchecked") public T readException() throws IOException { if (readBoolean()) { int key = readVInt(); diff --git a/server/src/main/java/org/elasticsearch/common/lucene/Lucene.java b/server/src/main/java/org/elasticsearch/common/lucene/Lucene.java index a6f166a471e63..f6fa517da36d0 100644 --- a/server/src/main/java/org/elasticsearch/common/lucene/Lucene.java +++ b/server/src/main/java/org/elasticsearch/common/lucene/Lucene.java @@ -263,7 +263,7 @@ public static void cleanLuceneIndex(Directory directory) throws IOException { } public static void checkSegmentInfoIntegrity(final Directory directory) throws IOException { - new SegmentInfos.FindSegmentsFile(directory) { + new SegmentInfos.FindSegmentsFile<>(directory) { @Override protected Object doBody(String segmentFileName) throws IOException { @@ -344,7 +344,7 @@ public static TopDocsAndMaxScore readTopDocs(StreamInput in) throws IOException } public static FieldDoc readFieldDoc(StreamInput in) throws IOException { - Comparable[] cFields = new Comparable[in.readVInt()]; + Comparable[] cFields = new Comparable[in.readVInt()]; for (int j = 0; j < cFields.length; j++) { byte type = in.readByte(); if (type == 0) { @@ -374,7 +374,7 @@ public static FieldDoc readFieldDoc(StreamInput in) throws IOException { return new FieldDoc(in.readVInt(), in.readFloat(), cFields); } - public static Comparable readSortValue(StreamInput in) throws IOException { + public static Comparable readSortValue(StreamInput in) throws IOException { byte type = in.readByte(); if (type == 0) { return null; @@ -483,7 +483,7 @@ public static void writeSortValue(StreamOutput out, Object field) throws IOExcep if (field == null) { out.writeByte((byte) 0); } else { - Class type = field.getClass(); + Class type = field.getClass(); if (type == String.class) { out.writeByte((byte) 1); out.writeString((String) field); diff --git a/server/src/main/java/org/elasticsearch/common/settings/AbstractScopedSettings.java b/server/src/main/java/org/elasticsearch/common/settings/AbstractScopedSettings.java index 6d6a39d1e3f70..1cbdc29bb1654 100644 --- a/server/src/main/java/org/elasticsearch/common/settings/AbstractScopedSettings.java +++ b/server/src/main/java/org/elasticsearch/common/settings/AbstractScopedSettings.java @@ -302,6 +302,7 @@ public void apply(Map> values, Settings current, Settings pr * Note: Only settings registered in {@link SettingsModule} can be changed dynamically. *

*/ + @SuppressWarnings("rawtypes") public synchronized void addAffixGroupUpdateConsumer(List> settings, BiConsumer consumer) { List affixUpdaters = new ArrayList<>(settings.size()); for (Setting.AffixSetting setting : settings) { @@ -503,7 +504,7 @@ void validate(final String key, final Settings settings, final boolean validateD */ void validate( final String key, final Settings settings, final boolean validateDependencies, final boolean validateInternalOrPrivateIndex) { - Setting setting = getRaw(key); + Setting setting = getRaw(key); if (setting == null) { LevenshteinDistance ld = new LevenshteinDistance(); List> scoredKeys = new ArrayList<>(); diff --git a/server/src/main/java/org/elasticsearch/common/settings/IndexScopedSettings.java b/server/src/main/java/org/elasticsearch/common/settings/IndexScopedSettings.java index 22641c143f4d1..aad12323383d0 100644 --- a/server/src/main/java/org/elasticsearch/common/settings/IndexScopedSettings.java +++ b/server/src/main/java/org/elasticsearch/common/settings/IndexScopedSettings.java @@ -194,7 +194,7 @@ public IndexScopedSettings copy(Settings settings, IndexMetaData metaData) { } @Override - protected void validateSettingKey(Setting setting) { + protected void validateSettingKey(Setting setting) { if (setting.getKey().startsWith("index.") == false) { throw new IllegalArgumentException("illegal settings key: [" + setting.getKey() + "] must start with [index.]"); } diff --git a/server/src/main/java/org/elasticsearch/common/util/CollectionUtils.java b/server/src/main/java/org/elasticsearch/common/util/CollectionUtils.java index 94c5bfc008819..d9e5815e1f91c 100644 --- a/server/src/main/java/org/elasticsearch/common/util/CollectionUtils.java +++ b/server/src/main/java/org/elasticsearch/common/util/CollectionUtils.java @@ -152,6 +152,7 @@ public static void ensureNoSelfReferences(Object value, String messageHint) { } } + @SuppressWarnings("unchecked") private static Iterable convert(Object value) { if (value == null) { return null; @@ -267,12 +268,13 @@ public static int sortAndDedup(final BytesRefArray bytes, final int[] indices) { } + @SuppressWarnings("unchecked") public static ArrayList iterableAsArrayList(Iterable elements) { if (elements == null) { throw new NullPointerException("elements"); } if (elements instanceof Collection) { - return new ArrayList<>((Collection)elements); + return new ArrayList<>((Collection) elements); } else { ArrayList list = new ArrayList<>(); for (E element : elements) { @@ -282,6 +284,8 @@ public static ArrayList iterableAsArrayList(Iterable element } } + @SafeVarargs + @SuppressWarnings("varargs") public static ArrayList arrayAsArrayList(E... elements) { if (elements == null) { throw new NullPointerException("elements"); @@ -289,6 +293,8 @@ public static ArrayList arrayAsArrayList(E... elements) { return new ArrayList<>(Arrays.asList(elements)); } + @SafeVarargs + @SuppressWarnings("varargs") public static ArrayList asArrayList(E first, E... other) { if (other == null) { throw new NullPointerException("other"); @@ -299,6 +305,8 @@ public static ArrayList asArrayList(E first, E... other) { return list; } + @SafeVarargs + @SuppressWarnings("varargs") public static ArrayList asArrayList(E first, E second, E... other) { if (other == null) { throw new NullPointerException("other"); diff --git a/server/src/main/java/org/elasticsearch/common/util/set/Sets.java b/server/src/main/java/org/elasticsearch/common/util/set/Sets.java index c17c056c0a70c..9b8709dc91bf8 100644 --- a/server/src/main/java/org/elasticsearch/common/util/set/Sets.java +++ b/server/src/main/java/org/elasticsearch/common/util/set/Sets.java @@ -51,9 +51,11 @@ public static HashSet newHashSet(Iterator iterator) { public static HashSet newHashSet(Iterable iterable) { Objects.requireNonNull(iterable); - return iterable instanceof Collection ? new HashSet<>((Collection)iterable) : newHashSet(iterable.iterator()); + return iterable instanceof Collection ? new HashSet<>((Collection) iterable) : newHashSet(iterable.iterator()); } + @SafeVarargs + @SuppressWarnings("varargs") public static HashSet newHashSet(T... elements) { Objects.requireNonNull(elements); HashSet set = new HashSet<>(elements.length); diff --git a/server/src/main/java/org/elasticsearch/index/IndexWarmer.java b/server/src/main/java/org/elasticsearch/index/IndexWarmer.java index 1bf3f071e70bb..3b3dc5353fd7a 100644 --- a/server/src/main/java/org/elasticsearch/index/IndexWarmer.java +++ b/server/src/main/java/org/elasticsearch/index/IndexWarmer.java @@ -131,7 +131,7 @@ public TerminationHandle warmReader(final IndexShard indexShard, final Elasticse executor.execute(() -> { try { final long start = System.nanoTime(); - IndexFieldData.Global ifd = indexFieldDataService.getForField(fieldType); + IndexFieldData.Global ifd = indexFieldDataService.getForField(fieldType); IndexFieldData global = ifd.loadGlobal(reader); if (reader.leaves().isEmpty() == false) { global.load(reader.leaves().get(0)); diff --git a/server/src/main/java/org/elasticsearch/index/mapper/GeoPointFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/GeoPointFieldMapper.java index bc3a4b08e273e..f84079fc3f4d2 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/GeoPointFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/GeoPointFieldMapper.java @@ -131,6 +131,7 @@ public GeoPointFieldMapper build(BuilderContext context) { public static class TypeParser implements Mapper.TypeParser { @Override + @SuppressWarnings("rawtypes") public Mapper.Builder parse(String name, Map node, ParserContext parserContext) throws MapperParsingException { Builder builder = new GeoPointFieldMapper.Builder(name); diff --git a/server/src/main/java/org/elasticsearch/index/mapper/MetadataFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/MetadataFieldMapper.java index f038b1f735aea..0fd7112629b7f 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/MetadataFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/MetadataFieldMapper.java @@ -47,6 +47,7 @@ MetadataFieldMapper.Builder parse(String name, Map node, MetadataFieldMapper getDefault(MappedFieldType fieldType, ParserContext parserContext); } + @SuppressWarnings("rawtypes") public abstract static class Builder extends FieldMapper.Builder { public Builder(String name, MappedFieldType fieldType, MappedFieldType defaultFieldType) { super(name, fieldType, defaultFieldType); diff --git a/server/src/main/java/org/elasticsearch/index/mapper/ObjectMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/ObjectMapper.java index fe60e1b62d9d6..8701a4a2bec9e 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/ObjectMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/ObjectMapper.java @@ -95,6 +95,7 @@ public boolean isIncludeInRoot() { } } + @SuppressWarnings("rawtypes") public static class Builder extends Mapper.Builder { protected boolean enabled = Defaults.ENABLED; @@ -105,6 +106,7 @@ public static class Builder extends M protected final List mappersBuilders = new ArrayList<>(); + @SuppressWarnings("unchecked") public Builder(String name) { super(name); this.builder = (T) this; @@ -131,6 +133,7 @@ public T add(Mapper.Builder builder) { } @Override + @SuppressWarnings("unchecked") public Y build(BuilderContext context) { context.path().add(name); @@ -159,9 +162,10 @@ protected ObjectMapper createMapper(String name, String fullPath, boolean enable public static class TypeParser implements Mapper.TypeParser { @Override + @SuppressWarnings("rawtypes") public Mapper.Builder parse(String name, Map node, ParserContext parserContext) throws MapperParsingException { ObjectMapper.Builder builder = new Builder(name); - parseNested(name, node, builder, parserContext); + parseNested(name, node, builder); for (Iterator> iterator = node.entrySet().iterator(); iterator.hasNext();) { Map.Entry entry = iterator.next(); String fieldName = entry.getKey(); @@ -173,6 +177,7 @@ public Mapper.Builder parse(String name, Map node, ParserContext return builder; } + @SuppressWarnings({"unchecked", "rawtypes"}) protected static boolean parseObjectOrDocumentTypeProperties(String fieldName, Object fieldNode, ParserContext parserContext, ObjectMapper.Builder builder) { if (fieldName.equals("dynamic")) { @@ -203,8 +208,8 @@ protected static boolean parseObjectOrDocumentTypeProperties(String fieldName, O return false; } - protected static void parseNested(String name, Map node, ObjectMapper.Builder builder, - ParserContext parserContext) { + @SuppressWarnings("rawtypes") + protected static void parseNested(String name, Map node, ObjectMapper.Builder builder) { boolean nested = false; boolean nestedIncludeInParent = false; boolean nestedIncludeInRoot = false; @@ -236,6 +241,7 @@ protected static void parseNested(String name, Map node, ObjectM } + @SuppressWarnings("rawtypes") protected static void parseProperties(ObjectMapper.Builder objBuilder, Map propsNode, ParserContext parserContext) { Iterator> iterator = propsNode.entrySet().iterator(); while (iterator.hasNext()) { diff --git a/server/src/main/java/org/elasticsearch/index/mapper/RootObjectMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/RootObjectMapper.java index 350cad6efa2c6..cd3242e98a2d7 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/RootObjectMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/RootObjectMapper.java @@ -89,6 +89,7 @@ public RootObjectMapper build(BuilderContext context) { * @param parentIncluded True iff node is a child of root or a node that is included in * root */ + @SuppressWarnings("rawtypes") private static void fixRedundantIncludes(ObjectMapper.Builder omb, boolean parentIncluded) { for (Object mapper : omb.mappersBuilders) { if (mapper instanceof ObjectMapper.Builder) { @@ -119,6 +120,7 @@ protected ObjectMapper createMapper(String name, String fullPath, boolean enable public static class TypeParser extends ObjectMapper.TypeParser { @Override + @SuppressWarnings("rawtypes") public Mapper.Builder parse(String name, Map node, ParserContext parserContext) throws MapperParsingException { RootObjectMapper.Builder builder = new Builder(name); @@ -135,8 +137,9 @@ public Mapper.Builder parse(String name, Map node, ParserContext return builder; } + @SuppressWarnings("unchecked") protected boolean processField(RootObjectMapper.Builder builder, String fieldName, Object fieldNode, - Version indexVersionCreated) { + Version indexVersionCreated) { if (fieldName.equals("date_formats") || fieldName.equals("dynamic_date_formats")) { if (fieldNode instanceof List) { List formatters = new ArrayList<>(); @@ -154,15 +157,17 @@ protected boolean processField(RootObjectMapper.Builder builder, String fieldNam } return true; } else if (fieldName.equals("dynamic_templates")) { - // "dynamic_templates" : [ - // { - // "template_1" : { - // "match" : "*_test", - // "match_mapping_type" : "string", - // "mapping" : { "type" : "string", "store" : "yes" } - // } - // } - // ] + /* + "dynamic_templates" : [ + { + "template_1" : { + "match" : "*_test", + "match_mapping_type" : "string", + "mapping" : { "type" : "string", "store" : "yes" } + } + } + ] + */ List tmplNodes = (List) fieldNode; List templates = new ArrayList<>(); for (Object tmplNode : tmplNodes) { @@ -231,6 +236,7 @@ public DateFormatter[] dynamicDateTimeFormatters() { return dynamicDateTimeFormatters.value(); } + @SuppressWarnings("rawtypes") public Mapper.Builder findTemplateBuilder(ParseContext context, String name, XContentFieldType matchType) { return findTemplateBuilder(context, name, matchType.defaultMappingType(), matchType); } @@ -242,6 +248,7 @@ public Mapper.Builder findTemplateBuilder(ParseContext context, String name, XCo * @param matchType the type of the field in the json document or null if unknown * @return a mapper builder, or null if there is no template for such a field */ + @SuppressWarnings("rawtypes") public Mapper.Builder findTemplateBuilder(ParseContext context, String name, String dynamicType, XContentFieldType matchType) { DynamicTemplate dynamicTemplate = findTemplate(context.path(), name, matchType); if (dynamicTemplate == null) { diff --git a/server/src/main/java/org/elasticsearch/index/mapper/TypeParsers.java b/server/src/main/java/org/elasticsearch/index/mapper/TypeParsers.java index 12c80361a855c..0e4f0510b0614 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/TypeParsers.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/TypeParsers.java @@ -170,6 +170,7 @@ public static void parseTextField(FieldMapper.Builder builder, String name, Map< /** * Parse common field attributes such as {@code doc_values} or {@code store}. */ + @SuppressWarnings("rawtypes") public static void parseField(FieldMapper.Builder builder, String name, Map fieldNode, Mapper.TypeParser.ParserContext parserContext) { for (Iterator> iterator = fieldNode.entrySet().iterator(); iterator.hasNext();) { @@ -216,6 +217,7 @@ public static void parseField(FieldMapper.Builder builder, String name, Map multiFieldNodes = (Map) multiFieldEntry.getValue(); String type; @@ -306,6 +307,7 @@ public static DateFormatter parseDateTimeFormatter(Object node) { throw new IllegalArgumentException("Invalid format: [" + node.toString() + "]: expected string value"); } + @SuppressWarnings("rawtypes") public static void parseTermVector(String fieldName, String termVector, FieldMapper.Builder builder) throws MapperParsingException { if ("no".equals(termVector)) { builder.storeTermVectors(false); @@ -330,7 +332,7 @@ public static void parseTermVector(String fieldName, String termVector, FieldMap } } - @SuppressWarnings("unchecked") + @SuppressWarnings({"unchecked", "rawtypes"}) public static void parseCopyFields(Object propNode, FieldMapper.Builder builder) { FieldMapper.CopyTo.Builder copyToBuilder = new FieldMapper.CopyTo.Builder(); if (isArray(propNode)) { diff --git a/server/src/main/java/org/elasticsearch/index/query/QueryRewriteContext.java b/server/src/main/java/org/elasticsearch/index/query/QueryRewriteContext.java index b275088d89441..b44f0edfebbc4 100644 --- a/server/src/main/java/org/elasticsearch/index/query/QueryRewriteContext.java +++ b/server/src/main/java/org/elasticsearch/index/query/QueryRewriteContext.java @@ -95,6 +95,7 @@ public boolean hasAsyncActions() { * Executes all registered async actions and notifies the listener once it's done. The value that is passed to the listener is always * null. The list of registered actions is cleared once this method returns. */ + @SuppressWarnings({"unchecked", "rawtypes"}) public void executeAsyncActions(ActionListener listener) { if (asyncActions.isEmpty()) { listener.onResponse(null); diff --git a/server/src/main/java/org/elasticsearch/index/query/QueryShardContext.java b/server/src/main/java/org/elasticsearch/index/query/QueryShardContext.java index c91ecb3242d55..c599fbcb4274e 100644 --- a/server/src/main/java/org/elasticsearch/index/query/QueryShardContext.java +++ b/server/src/main/java/org/elasticsearch/index/query/QueryShardContext.java @@ -189,6 +189,7 @@ public BitSetProducer bitsetFilter(Query filter) { return bitsetFilterCache.getBitSetProducer(filter); } + @SuppressWarnings("unchecked") public > IFD getForField(MappedFieldType fieldType) { return (IFD) indexFieldDataService.apply(fieldType, fullyQualifiedIndex.getName()); } @@ -357,6 +358,7 @@ public void registerAsyncAction(BiConsumer> asyncActio } @Override + @SuppressWarnings("rawtypes") public void executeAsyncActions(ActionListener listener) { failIfFrozen(); super.executeAsyncActions(listener); diff --git a/server/src/main/java/org/elasticsearch/indices/fielddata/cache/IndicesFieldDataCache.java b/server/src/main/java/org/elasticsearch/indices/fielddata/cache/IndicesFieldDataCache.java index 9d26c0fad0184..848902b39692d 100644 --- a/server/src/main/java/org/elasticsearch/indices/fielddata/cache/IndicesFieldDataCache.java +++ b/server/src/main/java/org/elasticsearch/indices/fielddata/cache/IndicesFieldDataCache.java @@ -19,14 +19,12 @@ package org.elasticsearch.indices.fielddata.cache; -import java.util.Collections; - import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.lucene.index.DirectoryReader; import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.LeafReaderContext; import org.apache.lucene.index.IndexReader.CacheKey; +import org.apache.lucene.index.LeafReaderContext; import org.apache.lucene.util.Accountable; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.cache.Cache; @@ -46,8 +44,8 @@ import org.elasticsearch.index.shard.ShardId; import org.elasticsearch.index.shard.ShardUtils; -import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.function.ToLongBiFunction; @@ -130,6 +128,7 @@ static class IndexFieldCache implements IndexFieldDataCache, IndexReader.ClosedL } @Override + @SuppressWarnings("unchecked") public > FD load(final LeafReaderContext context, final IFD indexFieldData) throws Exception { final ShardId shardId = ShardUtils.extractShardId(context.reader()); @@ -138,7 +137,6 @@ public > FD load(fina throw new IllegalArgumentException("Reader " + context.reader() + " does not support caching"); } final Key key = new Key(this, cacheHelper.getKey(), shardId); - //noinspection unchecked final Accountable accountable = cache.computeIfAbsent(key, k -> { cacheHelper.addClosedListener(IndexFieldCache.this); Collections.addAll(k.listeners, this.listeners); @@ -157,6 +155,7 @@ public > FD load(fina } @Override + @SuppressWarnings("unchecked") public > IFD load(final DirectoryReader indexReader, final IFD indexFieldData) throws Exception { final ShardId shardId = ShardUtils.extractShardId(indexReader); @@ -165,7 +164,6 @@ public > IFD l throw new IllegalArgumentException("Reader " + indexReader + " does not support caching"); } final Key key = new Key(this, cacheHelper.getKey(), shardId); - //noinspection unchecked final Accountable accountable = cache.computeIfAbsent(key, k -> { ElasticsearchDirectoryReader.addReaderCloseListener(indexReader, IndexFieldCache.this); Collections.addAll(k.listeners, this.listeners); @@ -184,7 +182,7 @@ public > IFD l } @Override - public void onClose(CacheKey key) throws IOException { + public void onClose(CacheKey key) { cache.invalidate(new Key(this, key, null)); // don't call cache.cleanUp here as it would have bad performance implications } diff --git a/server/src/main/java/org/elasticsearch/plugins/PluginsService.java b/server/src/main/java/org/elasticsearch/plugins/PluginsService.java index 991f6952c4473..432f28f42c8e4 100644 --- a/server/src/main/java/org/elasticsearch/plugins/PluginsService.java +++ b/server/src/main/java/org/elasticsearch/plugins/PluginsService.java @@ -559,7 +559,7 @@ private Plugin loadPlugin(Class pluginClass, Settings settings throw new IllegalStateException(signatureMessage(pluginClass)); } - final Class[] parameterTypes = constructor.getParameterTypes(); + final Class[] parameterTypes = constructor.getParameterTypes(); try { if (constructor.getParameterCount() == 2 && parameterTypes[0] == Settings.class && parameterTypes[1] == Path.class) { return (Plugin)constructor.newInstance(settings, configPath); @@ -585,6 +585,7 @@ private String signatureMessage(final Class clazz) { "()"); } + @SuppressWarnings("unchecked") public List filterPlugins(Class type) { return plugins.stream().filter(x -> type.isAssignableFrom(x.v2().getClass())) .map(p -> ((T)p.v2())).collect(Collectors.toList()); diff --git a/server/src/main/java/org/elasticsearch/plugins/SearchPlugin.java b/server/src/main/java/org/elasticsearch/plugins/SearchPlugin.java index 1b1e9961cf50f..c1152cf015b12 100644 --- a/server/src/main/java/org/elasticsearch/plugins/SearchPlugin.java +++ b/server/src/main/java/org/elasticsearch/plugins/SearchPlugin.java @@ -142,7 +142,7 @@ public ScoreFunctionSpec(String name, Writeable.Reader reader, ScoreFunctionP */ class SuggesterSpec> extends SearchExtensionSpec> { - private Writeable.Reader suggestionReader; + private Writeable.Reader> suggestionReader; /** * Specification of custom {@link Suggester}. @@ -160,7 +160,7 @@ public SuggesterSpec( ParseField name, Writeable.Reader builderReader, CheckedFunction builderParser, - Writeable.Reader suggestionReader) { + Writeable.Reader> suggestionReader) { super(name, builderReader, builderParser); setSuggestionReader(suggestionReader); @@ -181,13 +181,13 @@ public SuggesterSpec( String name, Writeable.Reader builderReader, CheckedFunction builderParser, - Writeable.Reader suggestionReader) { + Writeable.Reader> suggestionReader) { super(name, builderReader, builderParser); setSuggestionReader(suggestionReader); } - private void setSuggestionReader(Writeable.Reader reader) { + private void setSuggestionReader(Writeable.Reader> reader) { this.suggestionReader = reader; } diff --git a/server/src/main/java/org/elasticsearch/script/ScriptService.java b/server/src/main/java/org/elasticsearch/script/ScriptService.java index fa2b15857c169..799515256d302 100644 --- a/server/src/main/java/org/elasticsearch/script/ScriptService.java +++ b/server/src/main/java/org/elasticsearch/script/ScriptService.java @@ -415,7 +415,7 @@ public boolean isTypeEnabled(ScriptType scriptType) { return typesAllowed == null || typesAllowed.contains(scriptType.getName()); } - public boolean isContextEnabled(ScriptContext scriptContext) { + public boolean isContextEnabled(ScriptContext scriptContext) { return contextsAllowed == null || contextsAllowed.contains(scriptContext.name); } diff --git a/server/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java b/server/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java index 7f03458dc394c..6cbdbd01df863 100644 --- a/server/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java +++ b/server/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java @@ -249,6 +249,7 @@ private Map getSearchFields(SearchContext context, return searchFields; } + @SuppressWarnings("unchecked") private SearchHit createNestedSearchHit(SearchContext context, int nestedTopDocId, int nestedSubDocId, @@ -380,7 +381,7 @@ private SearchHit.NestedIdentity getInternalNestedIdentity(SearchContext context BitSet parentBits = context.bitsetFilterCache().getBitSetProducer(parentFilter).getBitSet(subReaderContext); int offset = 0; - /** + /* * Starts from the previous parent and finds the offset of the * nestedSubDocID within the nested children. Nested documents * are indexed in the same order than in the source array so the offset diff --git a/server/src/main/java/org/elasticsearch/search/internal/ShardSearchRequest.java b/server/src/main/java/org/elasticsearch/search/internal/ShardSearchRequest.java index 2d736847e7015..f1f38d700cc5d 100644 --- a/server/src/main/java/org/elasticsearch/search/internal/ShardSearchRequest.java +++ b/server/src/main/java/org/elasticsearch/search/internal/ShardSearchRequest.java @@ -301,10 +301,12 @@ public String getDescription() { return "shardId[" + shardId() + "]"; } + @SuppressWarnings("rawtypes") public Rewriteable getRewriteable() { return new RequestRewritable(this); } + @SuppressWarnings("rawtypes") static class RequestRewritable implements Rewriteable { final ShardSearchRequest request; diff --git a/server/src/main/java/org/elasticsearch/search/lookup/LeafFieldsLookup.java b/server/src/main/java/org/elasticsearch/search/lookup/LeafFieldsLookup.java index f614ce400ef36..981a1925059d9 100644 --- a/server/src/main/java/org/elasticsearch/search/lookup/LeafFieldsLookup.java +++ b/server/src/main/java/org/elasticsearch/search/lookup/LeafFieldsLookup.java @@ -36,7 +36,8 @@ import static java.util.Collections.singletonMap; -public class LeafFieldsLookup implements Map { +@SuppressWarnings({"unchecked", "rawtypes"}) +public class LeafFieldsLookup implements Map { private final MapperService mapperService; @@ -144,7 +145,7 @@ private FieldLookup loadFieldData(String name) { values.add(mapper.type()); } } else { - values = new ArrayList(2); + values = new ArrayList<>(2); SingleFieldsVisitor visitor = new SingleFieldsVisitor(data.fieldType(), values); try { reader.document(docId, visitor); diff --git a/server/src/main/java/org/elasticsearch/search/lookup/SourceLookup.java b/server/src/main/java/org/elasticsearch/search/lookup/SourceLookup.java index 4cc44747d0f00..34abe3a172914 100644 --- a/server/src/main/java/org/elasticsearch/search/lookup/SourceLookup.java +++ b/server/src/main/java/org/elasticsearch/search/lookup/SourceLookup.java @@ -36,7 +36,7 @@ import static java.util.Collections.emptyMap; -public class SourceLookup implements Map { +public class SourceLookup implements Map { private LeafReader reader; @@ -162,22 +162,22 @@ public boolean containsValue(Object value) { } @Override - public Set keySet() { + public Set keySet() { return loadSourceIfNeeded().keySet(); } @Override - public Collection values() { + public Collection values() { return loadSourceIfNeeded().values(); } @Override - public Set entrySet() { + public Set> entrySet() { return loadSourceIfNeeded().entrySet(); } @Override - public Object put(Object key, Object value) { + public Object put(String key, Object value) { throw new UnsupportedOperationException(); } @@ -187,6 +187,7 @@ public Object remove(Object key) { } @Override + @SuppressWarnings("rawtypes") public void putAll(Map m) { throw new UnsupportedOperationException(); } diff --git a/server/src/main/java/org/elasticsearch/search/suggest/Suggest.java b/server/src/main/java/org/elasticsearch/search/suggest/Suggest.java index 1fedfcf22dc33..0d7e32e83dd1f 100644 --- a/server/src/main/java/org/elasticsearch/search/suggest/Suggest.java +++ b/server/src/main/java/org/elasticsearch/search/suggest/Suggest.java @@ -82,6 +82,7 @@ public Suggest(List>> suggestions) this.hasScoreDocs = filter(CompletionSuggestion.class).stream().anyMatch(CompletionSuggestion::hasScoreDocs); } + @SuppressWarnings("unchecked") public Suggest(StreamInput in) throws IOException { int suggestionCount = in.readVInt(); suggestions = new ArrayList<>(suggestionCount); @@ -103,6 +104,7 @@ public int size() { return suggestions.size(); } + @SuppressWarnings("unchecked") public >> T getSuggestion(String name) { if (suggestions.isEmpty() || name == null) { return null; @@ -163,6 +165,7 @@ public static Suggest fromXContent(XContentParser parser) throws IOException { return new Suggest(suggestions); } + @SuppressWarnings({"unchecked", "rawtypes"}) public static List>> reduce(Map> groupedSuggestions) { List>> reduced = new ArrayList<>(groupedSuggestions.size()); for (Map.Entry> unmergedResults : groupedSuggestions.entrySet()) { @@ -187,6 +190,7 @@ public static List>> reduce(MapsuggestionType contained in this {@link Suggest} instance */ + @SuppressWarnings("unchecked") public List filter(Class suggestionType) { return suggestions.stream() .filter(suggestion -> suggestion.getClass() == suggestionType) @@ -214,6 +218,7 @@ public int hashCode() { /** * The suggestion responses corresponding with the suggestions in the request. */ + @SuppressWarnings("rawtypes") public abstract static class Suggestion implements Iterable, NamedWriteable, ToXContentFragment { public static final int TYPE = 0; @@ -283,6 +288,7 @@ public int getSize() { * Merges the result of another suggestion into this suggestion. * For internal usage. */ + @SuppressWarnings("unchecked") public Suggestion reduce(List> toReduce) { if (toReduce.size() == 1) { return toReduce.get(0); @@ -359,6 +365,7 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws } @Override + @SuppressWarnings("rawtypes") public boolean equals(Object other) { if (this == other) { return true; diff --git a/server/src/main/java/org/elasticsearch/threadpool/ThreadPool.java b/server/src/main/java/org/elasticsearch/threadpool/ThreadPool.java index a72b66de52845..85922de201b9b 100644 --- a/server/src/main/java/org/elasticsearch/threadpool/ThreadPool.java +++ b/server/src/main/java/org/elasticsearch/threadpool/ThreadPool.java @@ -141,10 +141,12 @@ public static ThreadPoolType fromType(String type) { private final ThreadContext threadContext; + @SuppressWarnings("rawtypes") private final Map builders; private final ScheduledThreadPoolExecutor scheduler; + @SuppressWarnings("rawtypes") public Collection builders() { return Collections.unmodifiableCollection(builders.values()); } @@ -153,6 +155,7 @@ public Collection builders() { Setting.timeSetting("thread_pool.estimated_time_interval", TimeValue.timeValueMillis(200), TimeValue.ZERO, Setting.Property.NodeScope); + @SuppressWarnings({"rawtypes", "unchecked"}) public ThreadPool(final Settings settings, final ExecutorBuilder... customBuilders) { assert Node.NODE_NAME_SETTING.exists(settings);