diff --git a/core/src/main/java/org/elasticsearch/ingest/core/AbstractProcessor.java b/core/src/main/java/org/elasticsearch/ingest/core/AbstractProcessor.java new file mode 100644 index 00000000000..e709ae395cb --- /dev/null +++ b/core/src/main/java/org/elasticsearch/ingest/core/AbstractProcessor.java @@ -0,0 +1,38 @@ +/* + * Licensed to Elasticsearch under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + + +package org.elasticsearch.ingest.core; + +/** + * An Abstract Processor that holds a processorTag field to be used + * by other processors. + */ +public abstract class AbstractProcessor implements Processor { + protected final String tag; + + protected AbstractProcessor(String tag) { + this.tag = tag; + } + + @Override + public String getTag() { + return tag; + } +} diff --git a/core/src/main/java/org/elasticsearch/ingest/processor/AbstractStringProcessor.java b/core/src/main/java/org/elasticsearch/ingest/processor/AbstractStringProcessor.java index c5dbef4b363..32e54765b18 100644 --- a/core/src/main/java/org/elasticsearch/ingest/processor/AbstractStringProcessor.java +++ b/core/src/main/java/org/elasticsearch/ingest/processor/AbstractStringProcessor.java @@ -19,6 +19,7 @@ package org.elasticsearch.ingest.processor; +import org.elasticsearch.ingest.core.AbstractProcessor; import org.elasticsearch.ingest.core.AbstractProcessorFactory; import org.elasticsearch.ingest.core.ConfigurationUtils; import org.elasticsearch.ingest.core.IngestDocument; @@ -30,13 +31,11 @@ import java.util.Map; * Base class for processors that manipulate strings and require a single "fields" array config value, which * holds a list of field names in string format. */ -public abstract class AbstractStringProcessor implements Processor { - - private final String processorTag; +public abstract class AbstractStringProcessor extends AbstractProcessor { private final String field; - protected AbstractStringProcessor(String processorTag, String field) { - this.processorTag = processorTag; + protected AbstractStringProcessor(String tag, String field) { + super(tag); this.field = field; } @@ -53,11 +52,6 @@ public abstract class AbstractStringProcessor implements Processor { document.setFieldValue(field, process(val)); } - @Override - public String getTag() { - return processorTag; - } - protected abstract String process(String value); public static abstract class Factory extends AbstractProcessorFactory { diff --git a/core/src/main/java/org/elasticsearch/ingest/processor/AppendProcessor.java b/core/src/main/java/org/elasticsearch/ingest/processor/AppendProcessor.java index 5917d5c5da2..deff384cf92 100644 --- a/core/src/main/java/org/elasticsearch/ingest/processor/AppendProcessor.java +++ b/core/src/main/java/org/elasticsearch/ingest/processor/AppendProcessor.java @@ -19,12 +19,12 @@ package org.elasticsearch.ingest.processor; +import org.elasticsearch.ingest.core.AbstractProcessor; import org.elasticsearch.ingest.core.AbstractProcessorFactory; import org.elasticsearch.ingest.core.IngestDocument; import org.elasticsearch.ingest.core.TemplateService; import org.elasticsearch.ingest.core.ValueSource; import org.elasticsearch.ingest.core.ConfigurationUtils; -import org.elasticsearch.ingest.core.Processor; import java.util.Map; @@ -33,16 +33,15 @@ import java.util.Map; * provided values will be added. If the field is a scalar it will be converted to a single item list and the provided * values will be added to the newly created list. */ -public class AppendProcessor implements Processor { +public class AppendProcessor extends AbstractProcessor { public static final String TYPE = "append"; - private final String processorTag; private final TemplateService.Template field; private final ValueSource value; - AppendProcessor(String processorTag, TemplateService.Template field, ValueSource value) { - this.processorTag = processorTag; + AppendProcessor(String tag, TemplateService.Template field, ValueSource value) { + super(tag); this.field = field; this.value = value; } @@ -65,11 +64,6 @@ public class AppendProcessor implements Processor { return TYPE; } - @Override - public String getTag() { - return processorTag; - } - public static final class Factory extends AbstractProcessorFactory { private final TemplateService templateService; diff --git a/core/src/main/java/org/elasticsearch/ingest/processor/ConvertProcessor.java b/core/src/main/java/org/elasticsearch/ingest/processor/ConvertProcessor.java index 58f5bc57d16..5b6bacf2ed1 100644 --- a/core/src/main/java/org/elasticsearch/ingest/processor/ConvertProcessor.java +++ b/core/src/main/java/org/elasticsearch/ingest/processor/ConvertProcessor.java @@ -19,10 +19,10 @@ package org.elasticsearch.ingest.processor; +import org.elasticsearch.ingest.core.AbstractProcessor; import org.elasticsearch.ingest.core.AbstractProcessorFactory; import org.elasticsearch.ingest.core.IngestDocument; import org.elasticsearch.ingest.core.ConfigurationUtils; -import org.elasticsearch.ingest.core.Processor; import java.util.ArrayList; import java.util.List; @@ -33,7 +33,7 @@ import java.util.Map; * Processor that converts fields content to a different type. Supported types are: integer, float, boolean and string. * Throws exception if the field is not there or the conversion fails. */ -public class ConvertProcessor implements Processor { +public class ConvertProcessor extends AbstractProcessor { enum Type { INTEGER { @@ -91,12 +91,11 @@ public class ConvertProcessor implements Processor { public static final String TYPE = "convert"; - private final String processorTag; private final String field; private final Type convertType; - ConvertProcessor(String processorTag, String field, Type convertType) { - this.processorTag = processorTag; + ConvertProcessor(String tag, String field, Type convertType) { + super(tag); this.field = field; this.convertType = convertType; } @@ -135,11 +134,6 @@ public class ConvertProcessor implements Processor { return TYPE; } - @Override - public String getTag() { - return processorTag; - } - public static class Factory extends AbstractProcessorFactory { @Override public ConvertProcessor doCreate(String processorTag, Map config) throws Exception { diff --git a/core/src/main/java/org/elasticsearch/ingest/processor/DateProcessor.java b/core/src/main/java/org/elasticsearch/ingest/processor/DateProcessor.java index 61a4d142043..230871d5081 100644 --- a/core/src/main/java/org/elasticsearch/ingest/processor/DateProcessor.java +++ b/core/src/main/java/org/elasticsearch/ingest/processor/DateProcessor.java @@ -20,10 +20,10 @@ package org.elasticsearch.ingest.processor; import org.elasticsearch.ExceptionsHelper; +import org.elasticsearch.ingest.core.AbstractProcessor; import org.elasticsearch.ingest.core.AbstractProcessorFactory; import org.elasticsearch.ingest.core.IngestDocument; import org.elasticsearch.ingest.core.ConfigurationUtils; -import org.elasticsearch.ingest.core.Processor; import org.joda.time.DateTime; import org.joda.time.DateTimeZone; import org.joda.time.format.ISODateTimeFormat; @@ -36,12 +36,11 @@ import java.util.Map; import java.util.Optional; import java.util.function.Function; -public final class DateProcessor implements Processor { +public final class DateProcessor extends AbstractProcessor { public static final String TYPE = "date"; static final String DEFAULT_TARGET_FIELD = "@timestamp"; - private final String processorTag; private final DateTimeZone timezone; private final Locale locale; private final String matchField; @@ -49,8 +48,8 @@ public final class DateProcessor implements Processor { private final List matchFormats; private final List> dateParsers; - DateProcessor(String processorTag, DateTimeZone timezone, Locale locale, String matchField, List matchFormats, String targetField) { - this.processorTag = processorTag; + DateProcessor(String tag, DateTimeZone timezone, Locale locale, String matchField, List matchFormats, String targetField) { + super(tag); this.timezone = timezone; this.locale = locale; this.matchField = matchField; @@ -97,11 +96,6 @@ public final class DateProcessor implements Processor { return TYPE; } - @Override - public String getTag() { - return processorTag; - } - DateTimeZone getTimezone() { return timezone; } diff --git a/core/src/main/java/org/elasticsearch/ingest/processor/DeDotProcessor.java b/core/src/main/java/org/elasticsearch/ingest/processor/DeDotProcessor.java index 7ee146d70f1..295a9884997 100644 --- a/core/src/main/java/org/elasticsearch/ingest/processor/DeDotProcessor.java +++ b/core/src/main/java/org/elasticsearch/ingest/processor/DeDotProcessor.java @@ -19,6 +19,7 @@ package org.elasticsearch.ingest.processor; +import org.elasticsearch.ingest.core.AbstractProcessor; import org.elasticsearch.ingest.core.AbstractProcessorFactory; import org.elasticsearch.ingest.core.ConfigurationUtils; import org.elasticsearch.ingest.core.IngestDocument; @@ -33,16 +34,15 @@ import java.util.Map; * Processor that replaces dots in document field names with a * specified separator. */ -public class DeDotProcessor implements Processor { +public class DeDotProcessor extends AbstractProcessor { public static final String TYPE = "dedot"; static final String DEFAULT_SEPARATOR = "_"; - private final String processorTag; private final String separator; - DeDotProcessor(String processorTag, String separator) { - this.processorTag = processorTag; + DeDotProcessor(String tag, String separator) { + super(tag); this.separator = separator; } @@ -60,11 +60,6 @@ public class DeDotProcessor implements Processor { return TYPE; } - @Override - public String getTag() { - return processorTag; - } - /** * Recursively iterates through Maps and Lists in search of map entries with * keys containing dots. The dots in these fields are replaced with {@link #separator}. diff --git a/core/src/main/java/org/elasticsearch/ingest/processor/FailProcessor.java b/core/src/main/java/org/elasticsearch/ingest/processor/FailProcessor.java index 1af1a5f9a62..65b4b602bd0 100644 --- a/core/src/main/java/org/elasticsearch/ingest/processor/FailProcessor.java +++ b/core/src/main/java/org/elasticsearch/ingest/processor/FailProcessor.java @@ -19,6 +19,7 @@ package org.elasticsearch.ingest.processor; +import org.elasticsearch.ingest.core.AbstractProcessor; import org.elasticsearch.ingest.core.AbstractProcessorFactory; import org.elasticsearch.ingest.core.ConfigurationUtils; import org.elasticsearch.ingest.core.IngestDocument; @@ -31,15 +32,14 @@ import java.util.Map; * Processor that raises a runtime exception with a provided * error message. */ -public class FailProcessor implements Processor { +public class FailProcessor extends AbstractProcessor { public static final String TYPE = "fail"; - private final String processorTag; private final TemplateService.Template message; - FailProcessor(String processorTag, TemplateService.Template message) { - this.processorTag = processorTag; + FailProcessor(String tag, TemplateService.Template message) { + super(tag); this.message = message; } @@ -57,11 +57,6 @@ public class FailProcessor implements Processor { return TYPE; } - @Override - public String getTag() { - return processorTag; - } - public static class Factory extends AbstractProcessorFactory { private final TemplateService templateService; diff --git a/core/src/main/java/org/elasticsearch/ingest/processor/GsubProcessor.java b/core/src/main/java/org/elasticsearch/ingest/processor/GsubProcessor.java index 763aefead8b..3dc4b3f0cad 100644 --- a/core/src/main/java/org/elasticsearch/ingest/processor/GsubProcessor.java +++ b/core/src/main/java/org/elasticsearch/ingest/processor/GsubProcessor.java @@ -19,6 +19,7 @@ package org.elasticsearch.ingest.processor; +import org.elasticsearch.ingest.core.AbstractProcessor; import org.elasticsearch.ingest.core.AbstractProcessorFactory; import org.elasticsearch.ingest.core.IngestDocument; import org.elasticsearch.ingest.core.ConfigurationUtils; @@ -32,17 +33,16 @@ import java.util.regex.Pattern; * 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 class GsubProcessor implements Processor { +public class GsubProcessor extends AbstractProcessor { public static final String TYPE = "gsub"; - private final String processorTag; private final String field; private final Pattern pattern; private final String replacement; - GsubProcessor(String processorTag, String field, Pattern pattern, String replacement) { - this.processorTag = processorTag; + GsubProcessor(String tag, String field, Pattern pattern, String replacement) { + super(tag); this.field = field; this.pattern = pattern; this.replacement = replacement; @@ -77,11 +77,6 @@ public class GsubProcessor implements Processor { return TYPE; } - @Override - public String getTag() { - return processorTag; - } - public static class Factory extends AbstractProcessorFactory { @Override public GsubProcessor doCreate(String processorTag, Map config) throws Exception { diff --git a/core/src/main/java/org/elasticsearch/ingest/processor/JoinProcessor.java b/core/src/main/java/org/elasticsearch/ingest/processor/JoinProcessor.java index a2f50867c0d..3516929e26f 100644 --- a/core/src/main/java/org/elasticsearch/ingest/processor/JoinProcessor.java +++ b/core/src/main/java/org/elasticsearch/ingest/processor/JoinProcessor.java @@ -19,6 +19,7 @@ package org.elasticsearch.ingest.processor; +import org.elasticsearch.ingest.core.AbstractProcessor; import org.elasticsearch.ingest.core.AbstractProcessorFactory; import org.elasticsearch.ingest.core.IngestDocument; import org.elasticsearch.ingest.core.ConfigurationUtils; @@ -32,16 +33,15 @@ import java.util.stream.Collectors; * Processor that joins the different items of an array into a single string value using a separator between each item. * Throws exception is the specified field is not an array. */ -public class JoinProcessor implements Processor { +public class JoinProcessor extends AbstractProcessor { public static final String TYPE = "join"; - private final String processorTag; private final String field; private final String separator; - JoinProcessor(String processorTag, String field, String separator) { - this.processorTag = processorTag; + JoinProcessor(String tag, String field, String separator) { + super(tag); this.field = field; this.separator = separator; } @@ -71,11 +71,6 @@ public class JoinProcessor implements Processor { return TYPE; } - @Override - public String getTag() { - return processorTag; - } - public static class Factory extends AbstractProcessorFactory { @Override public JoinProcessor doCreate(String processorTag, Map config) throws Exception { diff --git a/core/src/main/java/org/elasticsearch/ingest/processor/LowercaseProcessor.java b/core/src/main/java/org/elasticsearch/ingest/processor/LowercaseProcessor.java index 282d1e29716..617efd9b480 100644 --- a/core/src/main/java/org/elasticsearch/ingest/processor/LowercaseProcessor.java +++ b/core/src/main/java/org/elasticsearch/ingest/processor/LowercaseProcessor.java @@ -46,8 +46,8 @@ public class LowercaseProcessor extends AbstractStringProcessor { public static class Factory extends AbstractStringProcessor.Factory { @Override - protected LowercaseProcessor newProcessor(String processorTag, String field) { - return new LowercaseProcessor(processorTag, field); + protected LowercaseProcessor newProcessor(String tag, String field) { + return new LowercaseProcessor(tag, field); } } } diff --git a/core/src/main/java/org/elasticsearch/ingest/processor/RemoveProcessor.java b/core/src/main/java/org/elasticsearch/ingest/processor/RemoveProcessor.java index 1a9ad7323bb..e994954a034 100644 --- a/core/src/main/java/org/elasticsearch/ingest/processor/RemoveProcessor.java +++ b/core/src/main/java/org/elasticsearch/ingest/processor/RemoveProcessor.java @@ -19,6 +19,7 @@ package org.elasticsearch.ingest.processor; +import org.elasticsearch.ingest.core.AbstractProcessor; import org.elasticsearch.ingest.core.AbstractProcessorFactory; import org.elasticsearch.ingest.core.IngestDocument; import org.elasticsearch.ingest.core.TemplateService; @@ -30,15 +31,14 @@ import java.util.Map; /** * Processor that removes existing fields. Nothing happens if the field is not present. */ -public class RemoveProcessor implements Processor { +public class RemoveProcessor extends AbstractProcessor { public static final String TYPE = "remove"; - private final String processorTag; private final TemplateService.Template field; - RemoveProcessor(String processorTag, TemplateService.Template field) { - this.processorTag = processorTag; + RemoveProcessor(String tag, TemplateService.Template field) { + super(tag); this.field = field; } @@ -56,10 +56,6 @@ public class RemoveProcessor implements Processor { return TYPE; } - @Override - public String getTag() { - return processorTag; - } public static class Factory extends AbstractProcessorFactory { private final TemplateService templateService; diff --git a/core/src/main/java/org/elasticsearch/ingest/processor/RenameProcessor.java b/core/src/main/java/org/elasticsearch/ingest/processor/RenameProcessor.java index 5528d2f5210..7726a720b49 100644 --- a/core/src/main/java/org/elasticsearch/ingest/processor/RenameProcessor.java +++ b/core/src/main/java/org/elasticsearch/ingest/processor/RenameProcessor.java @@ -19,6 +19,7 @@ package org.elasticsearch.ingest.processor; +import org.elasticsearch.ingest.core.AbstractProcessor; import org.elasticsearch.ingest.core.AbstractProcessorFactory; import org.elasticsearch.ingest.core.IngestDocument; import org.elasticsearch.ingest.core.ConfigurationUtils; @@ -29,16 +30,15 @@ import java.util.Map; /** * Processor that allows to rename existing fields. Will throw exception if the field is not present. */ -public class RenameProcessor implements Processor { +public class RenameProcessor extends AbstractProcessor { public static final String TYPE = "rename"; - private final String processorTag; private final String oldFieldName; private final String newFieldName; - RenameProcessor(String processorTag, String oldFieldName, String newFieldName) { - this.processorTag = processorTag; + RenameProcessor(String tag, String oldFieldName, String newFieldName) { + super(tag); this.oldFieldName = oldFieldName; this.newFieldName = newFieldName; } @@ -76,11 +76,6 @@ public class RenameProcessor implements Processor { return TYPE; } - @Override - public String getTag() { - return processorTag; - } - public static class Factory extends AbstractProcessorFactory { @Override public RenameProcessor doCreate(String processorTag, Map config) throws Exception { diff --git a/core/src/main/java/org/elasticsearch/ingest/processor/SetProcessor.java b/core/src/main/java/org/elasticsearch/ingest/processor/SetProcessor.java index 8f706bd8893..e046a5f3bdb 100644 --- a/core/src/main/java/org/elasticsearch/ingest/processor/SetProcessor.java +++ b/core/src/main/java/org/elasticsearch/ingest/processor/SetProcessor.java @@ -19,12 +19,12 @@ package org.elasticsearch.ingest.processor; +import org.elasticsearch.ingest.core.AbstractProcessor; import org.elasticsearch.ingest.core.AbstractProcessorFactory; import org.elasticsearch.ingest.core.IngestDocument; import org.elasticsearch.ingest.core.TemplateService; import org.elasticsearch.ingest.core.ValueSource; import org.elasticsearch.ingest.core.ConfigurationUtils; -import org.elasticsearch.ingest.core.Processor; import java.util.Map; @@ -32,16 +32,15 @@ import java.util.Map; * Processor that adds new fields with their corresponding values. If the field is already present, its value * will be replaced with the provided one. */ -public class SetProcessor implements Processor { +public class SetProcessor extends AbstractProcessor { public static final String TYPE = "set"; - private final String processorTag; private final TemplateService.Template field; private final ValueSource value; - SetProcessor(String processorTag, TemplateService.Template field, ValueSource value) { - this.processorTag = processorTag; + SetProcessor(String tag, TemplateService.Template field, ValueSource value) { + super(tag); this.field = field; this.value = value; } @@ -64,11 +63,6 @@ public class SetProcessor implements Processor { return TYPE; } - @Override - public String getTag() { - return processorTag; - } - public static final class Factory extends AbstractProcessorFactory { private final TemplateService templateService; diff --git a/core/src/main/java/org/elasticsearch/ingest/processor/SplitProcessor.java b/core/src/main/java/org/elasticsearch/ingest/processor/SplitProcessor.java index a0f62769802..bfcfa47f7e2 100644 --- a/core/src/main/java/org/elasticsearch/ingest/processor/SplitProcessor.java +++ b/core/src/main/java/org/elasticsearch/ingest/processor/SplitProcessor.java @@ -19,10 +19,10 @@ package org.elasticsearch.ingest.processor; +import org.elasticsearch.ingest.core.AbstractProcessor; import org.elasticsearch.ingest.core.AbstractProcessorFactory; import org.elasticsearch.ingest.core.IngestDocument; import org.elasticsearch.ingest.core.ConfigurationUtils; -import org.elasticsearch.ingest.core.Processor; import java.util.Arrays; import java.util.Map; @@ -32,16 +32,15 @@ import java.util.Map; * New field value will be an array containing all of the different extracted items. * Throws exception if the field is null or a type other than string. */ -public class SplitProcessor implements Processor { +public class SplitProcessor extends AbstractProcessor { public static final String TYPE = "split"; - private final String processorTag; private final String field; private final String separator; - SplitProcessor(String processorTag, String field, String separator) { - this.processorTag = processorTag; + SplitProcessor(String tag, String field, String separator) { + super(tag); this.field = field; this.separator = separator; } @@ -68,11 +67,6 @@ public class SplitProcessor implements Processor { return TYPE; } - @Override - public String getTag() { - return processorTag; - } - public static class Factory extends AbstractProcessorFactory { @Override public SplitProcessor doCreate(String processorTag, Map config) throws Exception { diff --git a/core/src/main/java/org/elasticsearch/ingest/processor/TrimProcessor.java b/core/src/main/java/org/elasticsearch/ingest/processor/TrimProcessor.java index 8a75ed24b43..c66cc848933 100644 --- a/core/src/main/java/org/elasticsearch/ingest/processor/TrimProcessor.java +++ b/core/src/main/java/org/elasticsearch/ingest/processor/TrimProcessor.java @@ -43,8 +43,8 @@ public class TrimProcessor extends AbstractStringProcessor { public static class Factory extends AbstractStringProcessor.Factory { @Override - protected TrimProcessor newProcessor(String processorTag, String field) { - return new TrimProcessor(processorTag, field); + protected TrimProcessor newProcessor(String tag, String field) { + return new TrimProcessor(tag, field); } } } diff --git a/core/src/main/java/org/elasticsearch/ingest/processor/UppercaseProcessor.java b/core/src/main/java/org/elasticsearch/ingest/processor/UppercaseProcessor.java index 600365e5afe..e6a1f77cb86 100644 --- a/core/src/main/java/org/elasticsearch/ingest/processor/UppercaseProcessor.java +++ b/core/src/main/java/org/elasticsearch/ingest/processor/UppercaseProcessor.java @@ -45,8 +45,8 @@ public class UppercaseProcessor extends AbstractStringProcessor { public static class Factory extends AbstractStringProcessor.Factory { @Override - protected UppercaseProcessor newProcessor(String processorTag, String field) { - return new UppercaseProcessor(processorTag, field); + protected UppercaseProcessor newProcessor(String tag, String field) { + return new UppercaseProcessor(tag, field); } } } diff --git a/modules/ingest-grok/src/main/java/org/elasticsearch/ingest/grok/GrokProcessor.java b/modules/ingest-grok/src/main/java/org/elasticsearch/ingest/grok/GrokProcessor.java index 3a40f9fa0df..4df8d673072 100644 --- a/modules/ingest-grok/src/main/java/org/elasticsearch/ingest/grok/GrokProcessor.java +++ b/modules/ingest-grok/src/main/java/org/elasticsearch/ingest/grok/GrokProcessor.java @@ -19,24 +19,23 @@ package org.elasticsearch.ingest.grok; +import org.elasticsearch.ingest.core.AbstractProcessor; import org.elasticsearch.ingest.core.AbstractProcessorFactory; import org.elasticsearch.ingest.core.ConfigurationUtils; import org.elasticsearch.ingest.core.IngestDocument; -import org.elasticsearch.ingest.core.Processor; import java.util.HashMap; import java.util.Map; -public final class GrokProcessor implements Processor { +public final class GrokProcessor extends AbstractProcessor { public static final String TYPE = "grok"; - private final String processorTag; private final String matchField; private final Grok grok; - public GrokProcessor(String processorTag, Grok grok, String matchField) { - this.processorTag = processorTag; + public GrokProcessor(String tag, Grok grok, String matchField) { + super(tag); this.matchField = matchField; this.grok = grok; } @@ -57,11 +56,6 @@ public final class GrokProcessor implements Processor { return TYPE; } - @Override - public String getTag() { - return processorTag; - } - String getMatchField() { return matchField; } diff --git a/plugins/ingest-geoip/src/main/java/org/elasticsearch/ingest/geoip/GeoIpProcessor.java b/plugins/ingest-geoip/src/main/java/org/elasticsearch/ingest/geoip/GeoIpProcessor.java index c1eb6830d49..b6ec723e1f3 100644 --- a/plugins/ingest-geoip/src/main/java/org/elasticsearch/ingest/geoip/GeoIpProcessor.java +++ b/plugins/ingest-geoip/src/main/java/org/elasticsearch/ingest/geoip/GeoIpProcessor.java @@ -32,9 +32,9 @@ import org.apache.lucene.util.IOUtils; import org.elasticsearch.SpecialPermission; import org.elasticsearch.common.network.InetAddresses; import org.elasticsearch.common.network.NetworkAddress; +import org.elasticsearch.ingest.core.AbstractProcessor; import org.elasticsearch.ingest.core.AbstractProcessorFactory; import org.elasticsearch.ingest.core.IngestDocument; -import org.elasticsearch.ingest.core.Processor; import java.io.Closeable; import java.io.IOException; @@ -53,18 +53,17 @@ import java.util.Set; import static org.elasticsearch.ingest.core.ConfigurationUtils.readOptionalList; import static org.elasticsearch.ingest.core.ConfigurationUtils.readStringProperty; -public final class GeoIpProcessor implements Processor { +public final class GeoIpProcessor extends AbstractProcessor { public static final String TYPE = "geoip"; - private final String processorTag; private final String sourceField; private final String targetField; private final DatabaseReader dbReader; private final Set fields; - GeoIpProcessor(String processorTag, String sourceField, DatabaseReader dbReader, String targetField, Set fields) throws IOException { - this.processorTag = processorTag; + GeoIpProcessor(String tag, String sourceField, DatabaseReader dbReader, String targetField, Set fields) throws IOException { + super(tag); this.sourceField = sourceField; this.targetField = targetField; this.dbReader = dbReader; @@ -103,11 +102,6 @@ public final class GeoIpProcessor implements Processor { return TYPE; } - @Override - public String getTag() { - return processorTag; - } - String getSourceField() { return sourceField; }