Remove -Xlint exclusions in the ingest-common module. (#40505)

Fix the generics in processors extending AbstractStringProcessor and its factory.

Relates to #40366
This commit is contained in:
Martijn van Groningen 2019-03-29 09:42:59 +01:00
parent e256eb361a
commit 89837eb918
No known key found for this signature in database
GPG Key ID: AB236F4FCF2AF12A
17 changed files with 32 additions and 35 deletions

View File

@ -29,9 +29,6 @@ dependencies {
compile project(':libs:dissect')
}
compileJava.options.compilerArgs << "-Xlint:-unchecked,-rawtypes"
compileTestJava.options.compilerArgs << "-Xlint:-unchecked,-rawtypes"
integTestCluster {
module project(':modules:lang-painless')
}

View File

@ -80,8 +80,8 @@ abstract class AbstractStringProcessor<T> extends AbstractProcessor {
}
@Override
public AbstractStringProcessor create(Map<String, Processor.Factory> registry, String tag,
Map<String, Object> config) throws Exception {
public AbstractStringProcessor<?> create(Map<String, Processor.Factory> registry, String tag,
Map<String, Object> config) throws Exception {
String field = ConfigurationUtils.readStringProperty(processorType, tag, config, "field");
boolean ignoreMissing = ConfigurationUtils.readBooleanProperty(processorType, tag, config, "ignore_missing", false);
String targetField = ConfigurationUtils.readStringProperty(processorType, tag, config, "target_field", field);
@ -89,7 +89,7 @@ abstract class AbstractStringProcessor<T> extends AbstractProcessor {
return newProcessor(tag, config, field, ignoreMissing, targetField);
}
protected abstract AbstractStringProcessor newProcessor(String processorTag, Map<String, Object> config, String field,
boolean ignoreMissing, String targetField);
protected abstract AbstractStringProcessor<?> newProcessor(String processorTag, Map<String, Object> config, String field,
boolean ignoreMissing, String targetField);
}
}

View File

@ -27,7 +27,7 @@ import java.util.Map;
* Processor that converts the content of string fields to the byte value.
* Throws exception is the field is not of type string or can not convert to the numeric byte value
*/
public final class BytesProcessor extends AbstractStringProcessor {
public final class BytesProcessor extends AbstractStringProcessor<Long> {
public static final String TYPE = "bytes";

View File

@ -29,7 +29,7 @@ import static org.elasticsearch.ingest.ConfigurationUtils.readStringProperty;
* Processor that allows to search for patterns in field content and replace them with corresponding string replacement.
* Support fields of string type only, throws exception if a field is of a different type.
*/
public final class GsubProcessor extends AbstractStringProcessor {
public final class GsubProcessor extends AbstractStringProcessor<String> {
public static final String TYPE = "gsub";
@ -67,8 +67,8 @@ public final class GsubProcessor extends AbstractStringProcessor {
}
@Override
protected AbstractStringProcessor newProcessor(String processorTag, Map<String, Object> config, String field,
boolean ignoreMissing, String targetField) {
protected GsubProcessor newProcessor(String processorTag, Map<String, Object> config, String field,
boolean ignoreMissing, String targetField) {
String pattern = readStringProperty(TYPE, processorTag, config, "pattern");
String replacement = readStringProperty(TYPE, processorTag, config, "replacement");
Pattern searchPattern;

View File

@ -27,7 +27,7 @@ import java.util.Map;
* Throws exception is the field is not of type string.
*/
public final class LowercaseProcessor extends AbstractStringProcessor {
public final class LowercaseProcessor extends AbstractStringProcessor<String> {
public static final String TYPE = "lowercase";

View File

@ -25,7 +25,7 @@ import java.util.Map;
* Processor that trims the content of string fields.
* Throws exception is the field is not of type string.
*/
public final class TrimProcessor extends AbstractStringProcessor {
public final class TrimProcessor extends AbstractStringProcessor<String> {
public static final String TYPE = "trim";

View File

@ -26,7 +26,7 @@ import java.util.Map;
/**
* Processor that URL-decodes a string
*/
public final class URLDecodeProcessor extends AbstractStringProcessor {
public final class URLDecodeProcessor extends AbstractStringProcessor<String> {
public static final String TYPE = "urldecode";

View File

@ -26,7 +26,7 @@ import java.util.Map;
* Processor that converts the content of string fields to uppercase.
* Throws exception is the field is not of type string.
*/
public final class UppercaseProcessor extends AbstractStringProcessor {
public final class UppercaseProcessor extends AbstractStringProcessor<String> {
public static final String TYPE = "uppercase";

View File

@ -37,7 +37,7 @@ public abstract class AbstractStringProcessorFactoryTestCase extends ESTestCase
return config;
}
protected void assertProcessor(AbstractStringProcessor processor) {}
protected void assertProcessor(AbstractStringProcessor<?> processor) {}
public void testCreate() throws Exception {
AbstractStringProcessor.Factory factory = newFactory();
@ -47,7 +47,7 @@ public abstract class AbstractStringProcessorFactoryTestCase extends ESTestCase
Map<String, Object> config = new HashMap<>();
config.put("field", fieldName);
AbstractStringProcessor processor = factory.create(null, processorTag, modifyConfig(config));
AbstractStringProcessor<?> processor = factory.create(null, processorTag, modifyConfig(config));
assertThat(processor.getTag(), equalTo(processorTag));
assertThat(processor.getField(), equalTo(fieldName));
assertThat(processor.isIgnoreMissing(), is(false));
@ -64,7 +64,7 @@ public abstract class AbstractStringProcessorFactoryTestCase extends ESTestCase
config.put("field", fieldName);
config.put("ignore_missing", true);
AbstractStringProcessor processor = factory.create(null, processorTag, modifyConfig(config));
AbstractStringProcessor<?> processor = factory.create(null, processorTag, modifyConfig(config));
assertThat(processor.getTag(), equalTo(processorTag));
assertThat(processor.getField(), equalTo(fieldName));
assertThat(processor.isIgnoreMissing(), is(true));
@ -82,7 +82,7 @@ public abstract class AbstractStringProcessorFactoryTestCase extends ESTestCase
config.put("field", fieldName);
config.put("target_field", targetFieldName);
AbstractStringProcessor processor = factory.create(null, processorTag, modifyConfig(config));
AbstractStringProcessor<?> processor = factory.create(null, processorTag, modifyConfig(config));
assertThat(processor.getTag(), equalTo(processorTag));
assertThat(processor.getField(), equalTo(fieldName));
assertThat(processor.isIgnoreMissing(), is(false));

View File

@ -33,7 +33,7 @@ import static org.hamcrest.Matchers.equalTo;
public abstract class AbstractStringProcessorTestCase<T> extends ESTestCase {
protected abstract AbstractStringProcessor newProcessor(String field, boolean ignoreMissing, String targetField);
protected abstract AbstractStringProcessor<T> newProcessor(String field, boolean ignoreMissing, String targetField);
protected String modifyInput(String input) {
return input;
@ -41,8 +41,8 @@ public abstract class AbstractStringProcessorTestCase<T> extends ESTestCase {
protected abstract T expectedResult(String input);
protected Class<T> expectedResultType(){
return (Class<T>) String.class; // most results types are Strings
protected Class<?> expectedResultType(){
return String.class; // most results types are Strings
}
public void testProcessor() throws Exception {

View File

@ -29,12 +29,12 @@ import org.hamcrest.CoreMatchers;
import static org.hamcrest.Matchers.equalTo;
public class BytesProcessorTests extends AbstractStringProcessorTestCase {
public class BytesProcessorTests extends AbstractStringProcessorTestCase<Long> {
private String modifiedInput;
@Override
protected AbstractStringProcessor newProcessor(String field, boolean ignoreMissing, String targetField) {
protected AbstractStringProcessor<Long> newProcessor(String field, boolean ignoreMissing, String targetField) {
return new BytesProcessor(randomAlphaOfLength(10), field, ignoreMissing, targetField);
}

View File

@ -42,7 +42,7 @@ public class GsubProcessorFactoryTests extends AbstractStringProcessorFactoryTes
}
@Override
protected void assertProcessor(AbstractStringProcessor processor) {
protected void assertProcessor(AbstractStringProcessor<?> processor) {
GsubProcessor gsubProcessor = (GsubProcessor) processor;
assertThat(gsubProcessor.getPattern().toString(), equalTo("\\."));
assertThat(gsubProcessor.getReplacement(), equalTo("-"));

View File

@ -21,10 +21,10 @@ package org.elasticsearch.ingest.common;
import java.util.regex.Pattern;
public class GsubProcessorTests extends AbstractStringProcessorTestCase {
public class GsubProcessorTests extends AbstractStringProcessorTestCase<String> {
@Override
protected AbstractStringProcessor newProcessor(String field, boolean ignoreMissing, String targetField) {
protected AbstractStringProcessor<String> newProcessor(String field, boolean ignoreMissing, String targetField) {
return new GsubProcessor(randomAlphaOfLength(10), field, Pattern.compile("\\."), "-", ignoreMissing, targetField);
}

View File

@ -21,9 +21,9 @@ package org.elasticsearch.ingest.common;
import java.util.Locale;
public class LowercaseProcessorTests extends AbstractStringProcessorTestCase {
public class LowercaseProcessorTests extends AbstractStringProcessorTestCase<String> {
@Override
protected AbstractStringProcessor newProcessor(String field, boolean ignoreMissing, String targetField) {
protected AbstractStringProcessor<String> newProcessor(String field, boolean ignoreMissing, String targetField) {
return new LowercaseProcessor(randomAlphaOfLength(10), field, ignoreMissing, targetField);
}

View File

@ -19,10 +19,10 @@
package org.elasticsearch.ingest.common;
public class TrimProcessorTests extends AbstractStringProcessorTestCase {
public class TrimProcessorTests extends AbstractStringProcessorTestCase<String> {
@Override
protected AbstractStringProcessor newProcessor(String field, boolean ignoreMissing, String targetField) {
protected AbstractStringProcessor<String> newProcessor(String field, boolean ignoreMissing, String targetField) {
return new TrimProcessor(randomAlphaOfLength(10), field, ignoreMissing, targetField);
}

View File

@ -22,14 +22,14 @@ package org.elasticsearch.ingest.common;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
public class URLDecodeProcessorTests extends AbstractStringProcessorTestCase {
public class URLDecodeProcessorTests extends AbstractStringProcessorTestCase<String> {
@Override
protected String modifyInput(String input) {
return "Hello%20G%C3%BCnter" + input;
}
@Override
protected AbstractStringProcessor newProcessor(String field, boolean ignoreMissing, String targetField) {
protected AbstractStringProcessor<String> newProcessor(String field, boolean ignoreMissing, String targetField) {
return new URLDecodeProcessor(randomAlphaOfLength(10), field, ignoreMissing, targetField);
}

View File

@ -21,10 +21,10 @@ package org.elasticsearch.ingest.common;
import java.util.Locale;
public class UppercaseProcessorTests extends AbstractStringProcessorTestCase {
public class UppercaseProcessorTests extends AbstractStringProcessorTestCase<String> {
@Override
protected AbstractStringProcessor newProcessor(String field, boolean ignoreMissing, String targetField) {
protected AbstractStringProcessor<String> newProcessor(String field, boolean ignoreMissing, String targetField) {
return new UppercaseProcessor(randomAlphaOfLength(10), field, ignoreMissing, targetField);
}