Skip to content

Commit c3746d8

Browse files
committed
Keep the generics
1 parent d8d9ab6 commit c3746d8

16 files changed

+36
-34
lines changed

modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/AbstractStringProcessor.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@
2929
/**
3030
* Base class for processors that manipulate source strings and require a single "fields" array config value, which
3131
* holds a list of field names in string format.
32+
*
33+
* @param <T> The resultant type for the target field
3234
*/
33-
abstract class AbstractStringProcessor extends AbstractProcessor {
35+
abstract class AbstractStringProcessor<T> extends AbstractProcessor {
3436
private final String field;
3537
private final boolean ignoreMissing;
3638
private final String targetField;
@@ -68,7 +70,7 @@ public final IngestDocument execute(IngestDocument document) {
6870
return document;
6971
}
7072

71-
protected abstract Object process(String value);
73+
protected abstract T process(String value);
7274

7375
abstract static class Factory implements Processor.Factory {
7476
final String processorType;
@@ -78,16 +80,16 @@ protected Factory(String processorType) {
7880
}
7981

8082
@Override
81-
public AbstractStringProcessor create(Map<String, Processor.Factory> registry, String tag,
82-
Map<String, Object> config) throws Exception {
83+
public AbstractStringProcessor<?> create(Map<String, Processor.Factory> registry, String tag,
84+
Map<String, Object> config) throws Exception {
8385
String field = ConfigurationUtils.readStringProperty(processorType, tag, config, "field");
8486
boolean ignoreMissing = ConfigurationUtils.readBooleanProperty(processorType, tag, config, "ignore_missing", false);
8587
String targetField = ConfigurationUtils.readStringProperty(processorType, tag, config, "target_field", field);
8688

8789
return newProcessor(tag, config, field, ignoreMissing, targetField);
8890
}
8991

90-
protected abstract AbstractStringProcessor newProcessor(String processorTag, Map<String, Object> config, String field,
91-
boolean ignoreMissing, String targetField);
92+
protected abstract AbstractStringProcessor<?> newProcessor(String processorTag, Map<String, Object> config, String field,
93+
boolean ignoreMissing, String targetField);
9294
}
9395
}

modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/BytesProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* Processor that converts the content of string fields to the byte value.
2828
* Throws exception is the field is not of type string or can not convert to the numeric byte value
2929
*/
30-
public final class BytesProcessor extends AbstractStringProcessor {
30+
public final class BytesProcessor extends AbstractStringProcessor<Long> {
3131

3232
public static final String TYPE = "bytes";
3333

modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/GsubProcessor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
* Processor that allows to search for patterns in field content and replace them with corresponding string replacement.
3030
* Support fields of string type only, throws exception if a field is of a different type.
3131
*/
32-
public final class GsubProcessor extends AbstractStringProcessor {
32+
public final class GsubProcessor extends AbstractStringProcessor<String> {
3333

3434
public static final String TYPE = "gsub";
3535

@@ -67,8 +67,8 @@ public Factory() {
6767
}
6868

6969
@Override
70-
protected AbstractStringProcessor newProcessor(String processorTag, Map<String, Object> config, String field,
71-
boolean ignoreMissing, String targetField) {
70+
protected GsubProcessor newProcessor(String processorTag, Map<String, Object> config, String field,
71+
boolean ignoreMissing, String targetField) {
7272
String pattern = readStringProperty(TYPE, processorTag, config, "pattern");
7373
String replacement = readStringProperty(TYPE, processorTag, config, "replacement");
7474
Pattern searchPattern;

modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/LowercaseProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* Throws exception is the field is not of type string.
2828
*/
2929

30-
public final class LowercaseProcessor extends AbstractStringProcessor {
30+
public final class LowercaseProcessor extends AbstractStringProcessor<String> {
3131

3232
public static final String TYPE = "lowercase";
3333

modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/TrimProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
* Processor that trims the content of string fields.
2626
* Throws exception is the field is not of type string.
2727
*/
28-
public final class TrimProcessor extends AbstractStringProcessor {
28+
public final class TrimProcessor extends AbstractStringProcessor<String> {
2929

3030
public static final String TYPE = "trim";
3131

modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/URLDecodeProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
/**
2727
* Processor that URL-decodes a string
2828
*/
29-
public final class URLDecodeProcessor extends AbstractStringProcessor {
29+
public final class URLDecodeProcessor extends AbstractStringProcessor<String> {
3030

3131
public static final String TYPE = "urldecode";
3232

modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/UppercaseProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
* Processor that converts the content of string fields to uppercase.
2727
* Throws exception is the field is not of type string.
2828
*/
29-
public final class UppercaseProcessor extends AbstractStringProcessor {
29+
public final class UppercaseProcessor extends AbstractStringProcessor<String> {
3030

3131
public static final String TYPE = "uppercase";
3232

modules/ingest-common/src/test/java/org/elasticsearch/ingest/common/AbstractStringProcessorFactoryTestCase.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ protected Map<String, Object> modifyConfig(Map<String, Object> config) {
3737
return config;
3838
}
3939

40-
protected void assertProcessor(AbstractStringProcessor processor) {}
40+
protected void assertProcessor(AbstractStringProcessor<?> processor) {}
4141

4242
public void testCreate() throws Exception {
4343
AbstractStringProcessor.Factory factory = newFactory();
@@ -47,7 +47,7 @@ public void testCreate() throws Exception {
4747
Map<String, Object> config = new HashMap<>();
4848
config.put("field", fieldName);
4949

50-
AbstractStringProcessor processor = factory.create(null, processorTag, modifyConfig(config));
50+
AbstractStringProcessor<?> processor = factory.create(null, processorTag, modifyConfig(config));
5151
assertThat(processor.getTag(), equalTo(processorTag));
5252
assertThat(processor.getField(), equalTo(fieldName));
5353
assertThat(processor.isIgnoreMissing(), is(false));
@@ -64,7 +64,7 @@ public void testCreateWithIgnoreMissing() throws Exception {
6464
config.put("field", fieldName);
6565
config.put("ignore_missing", true);
6666

67-
AbstractStringProcessor processor = factory.create(null, processorTag, modifyConfig(config));
67+
AbstractStringProcessor<?> processor = factory.create(null, processorTag, modifyConfig(config));
6868
assertThat(processor.getTag(), equalTo(processorTag));
6969
assertThat(processor.getField(), equalTo(fieldName));
7070
assertThat(processor.isIgnoreMissing(), is(true));
@@ -82,7 +82,7 @@ public void testCreateWithTargetField() throws Exception {
8282
config.put("field", fieldName);
8383
config.put("target_field", targetFieldName);
8484

85-
AbstractStringProcessor processor = factory.create(null, processorTag, modifyConfig(config));
85+
AbstractStringProcessor<?> processor = factory.create(null, processorTag, modifyConfig(config));
8686
assertThat(processor.getTag(), equalTo(processorTag));
8787
assertThat(processor.getField(), equalTo(fieldName));
8888
assertThat(processor.isIgnoreMissing(), is(false));

modules/ingest-common/src/test/java/org/elasticsearch/ingest/common/AbstractStringProcessorTestCase.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@
3131
import static org.hamcrest.Matchers.containsString;
3232
import static org.hamcrest.Matchers.equalTo;
3333

34-
public abstract class AbstractStringProcessorTestCase extends ESTestCase {
34+
public abstract class AbstractStringProcessorTestCase<T> extends ESTestCase {
3535

36-
protected abstract AbstractStringProcessor newProcessor(String field, boolean ignoreMissing, String targetField);
36+
protected abstract AbstractStringProcessor<T> newProcessor(String field, boolean ignoreMissing, String targetField);
3737

3838
protected String modifyInput(String input) {
3939
return input;
4040
}
4141

42-
protected abstract Object expectedResult(String input);
42+
protected abstract T expectedResult(String input);
4343

4444
protected Class<?> expectedResultType(){
4545
return String.class; // most results types are Strings

modules/ingest-common/src/test/java/org/elasticsearch/ingest/common/BytesProcessorTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@
2929

3030
import static org.hamcrest.Matchers.equalTo;
3131

32-
public class BytesProcessorTests extends AbstractStringProcessorTestCase {
32+
public class BytesProcessorTests extends AbstractStringProcessorTestCase<Long> {
3333

3434
private String modifiedInput;
3535

3636
@Override
37-
protected AbstractStringProcessor newProcessor(String field, boolean ignoreMissing, String targetField) {
37+
protected AbstractStringProcessor<Long> newProcessor(String field, boolean ignoreMissing, String targetField) {
3838
return new BytesProcessor(randomAlphaOfLength(10), field, ignoreMissing, targetField);
3939
}
4040

0 commit comments

Comments
 (0)