You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2016/09/22 10:02:08 UTC
lucene-solr:master: SOLR-8995: Use lamdas in URPs
Repository: lucene-solr
Updated Branches:
refs/heads/master d14635445 -> 80336a278
SOLR-8995: Use lamdas in URPs
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/80336a27
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/80336a27
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/80336a27
Branch: refs/heads/master
Commit: 80336a278af0c249ad673f9319ec4e1749c5c7f3
Parents: d146354
Author: Noble Paul <no...@apache.org>
Authored: Thu Sep 22 15:29:07 2016 +0530
Committer: Noble Paul <no...@apache.org>
Committed: Thu Sep 22 15:31:39 2016 +0530
----------------------------------------------------------------------
.../AddSchemaFieldsUpdateProcessorFactory.java | 35 ++++------
.../ConcatFieldUpdateProcessorFactory.java | 66 ++++++++----------
.../CountFieldValuesUpdateProcessorFactory.java | 17 +++--
.../FieldLengthUpdateProcessorFactory.java | 29 ++++----
.../processor/FieldMutatingUpdateProcessor.java | 72 +++++++-------------
.../FieldMutatingUpdateProcessorFactory.java | 16 ++---
.../FieldValueMutatingUpdateProcessor.java | 12 ++++
.../FieldValueSubsetUpdateProcessorFactory.java | 23 +++----
.../FirstFieldValueUpdateProcessorFactory.java | 13 ++--
.../HTMLStripFieldUpdateProcessorFactory.java | 51 +++++++-------
.../IgnoreFieldUpdateProcessorFactory.java | 33 ++++-----
.../LastFieldValueUpdateProcessorFactory.java | 9 +--
.../MaxFieldValueUpdateProcessorFactory.java | 17 +++--
.../MinFieldValueUpdateProcessorFactory.java | 17 +++--
...ParseBooleanFieldUpdateProcessorFactory.java | 29 ++++----
.../ParseDateFieldUpdateProcessorFactory.java | 25 +++----
...ParseNumericFieldUpdateProcessorFactory.java | 16 ++---
.../processor/RegexReplaceProcessorFactory.java | 25 +++----
.../RemoveBlankFieldUpdateProcessorFactory.java | 18 ++---
.../TrimFieldUpdateProcessorFactory.java | 17 +++--
.../TruncateFieldUpdateProcessorFactory.java | 28 ++++----
.../UniqFieldsUpdateProcessorFactory.java | 9 +--
22 files changed, 262 insertions(+), 315 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/AddSchemaFieldsUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/AddSchemaFieldsUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/AddSchemaFieldsUpdateProcessorFactory.java
index 01106b2..4f68bcc 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/AddSchemaFieldsUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/AddSchemaFieldsUpdateProcessorFactory.java
@@ -16,6 +16,17 @@
*/
package org.apache.solr.update.processor;
+import java.io.IOException;
+import java.lang.invoke.MethodHandles;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.SolrInputField;
@@ -28,23 +39,12 @@ import org.apache.solr.schema.IndexSchema;
import org.apache.solr.schema.ManagedIndexSchema;
import org.apache.solr.schema.SchemaField;
import org.apache.solr.update.AddUpdateCommand;
-import org.apache.solr.update.processor.FieldMutatingUpdateProcessorFactory.SelectorParams;
import org.apache.solr.update.processor.FieldMutatingUpdateProcessor.FieldNameSelector;
+import org.apache.solr.update.processor.FieldMutatingUpdateProcessorFactory.SelectorParams;
import org.apache.solr.util.plugin.SolrCoreAware;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-import java.lang.invoke.MethodHandles;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import static org.apache.solr.common.SolrException.ErrorCode.BAD_REQUEST;
import static org.apache.solr.common.SolrException.ErrorCode.SERVER_ERROR;
import static org.apache.solr.core.ConfigSetProperties.IMMUTABLE_CONFIGSET_ARG;
@@ -384,18 +384,9 @@ public class AddSchemaFieldsUpdateProcessorFactory extends UpdateRequestProcesso
return defaultFieldType;
}
- private FieldNameSelector getDefaultSelector(final IndexSchema schema) {
- return new FieldNameSelector() {
- @Override
- public boolean shouldMutate(final String fieldName) {
- return null == schema.getFieldTypeNoEx(fieldName);
- }
- };
- }
-
private FieldNameSelector buildSelector(IndexSchema schema) {
FieldNameSelector selector = FieldMutatingUpdateProcessor.createFieldNameSelector
- (solrResourceLoader, schema, inclusions, getDefaultSelector(schema));
+ (solrResourceLoader, schema, inclusions, fieldName -> null == schema.getFieldTypeNoEx(fieldName));
for (SelectorParams exc : exclusions) {
selector = FieldMutatingUpdateProcessor.wrap(selector, FieldMutatingUpdateProcessor.createFieldNameSelector
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/ConcatFieldUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/ConcatFieldUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/ConcatFieldUpdateProcessorFactory.java
index 9f8e88a..65ca976 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/ConcatFieldUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/ConcatFieldUpdateProcessorFactory.java
@@ -16,19 +16,19 @@
*/
package org.apache.solr.update.processor;
-import org.apache.solr.core.SolrCore;
-import org.apache.solr.schema.IndexSchema;
-import org.apache.solr.schema.FieldType;
-import org.apache.solr.schema.SchemaField;
-import org.apache.solr.schema.TextField;
-import org.apache.solr.schema.StrField;
-
+import org.apache.commons.lang.StringUtils;
import org.apache.solr.common.SolrInputField;
import org.apache.solr.common.util.NamedList;
+import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
+import org.apache.solr.schema.FieldType;
+import org.apache.solr.schema.IndexSchema;
+import org.apache.solr.schema.SchemaField;
+import org.apache.solr.schema.StrField;
+import org.apache.solr.schema.TextField;
-import org.apache.commons.lang.StringUtils;
+import static org.apache.solr.update.processor.FieldMutatingUpdateProcessor.mutator;
/**
* Concatenates multiple values for fields matching the specified
@@ -77,44 +77,38 @@ public final class ConcatFieldUpdateProcessorFactory extends FieldMutatingUpdate
public UpdateRequestProcessor getInstance(SolrQueryRequest req,
SolrQueryResponse rsp,
UpdateRequestProcessor next) {
- return new FieldMutatingUpdateProcessor(getSelector(), next) {
- @Override
- protected SolrInputField mutate(final SolrInputField src) {
- if (src.getValueCount() <= 1) return src;
+ return mutator(getSelector(), next, src -> {
+ if (src.getValueCount() <= 1) return src;
- SolrInputField result = new SolrInputField(src.getName());
- result.setValue(StringUtils.join(src.getValues(), delimiter),
- src.getBoost());
- return result;
- }
- };
+ SolrInputField result = new SolrInputField(src.getName());
+ result.setValue(StringUtils.join(src.getValues(), delimiter),
+ src.getBoost());
+ return result;
+ });
}
@Override
public FieldMutatingUpdateProcessor.FieldNameSelector
getDefaultSelector(final SolrCore core) {
- return new FieldMutatingUpdateProcessor.FieldNameSelector() {
- @Override
- public boolean shouldMutate(final String fieldName) {
- final IndexSchema schema = core.getLatestSchema();
+ return fieldName -> {
+ final IndexSchema schema = core.getLatestSchema();
- // first check type since it should be fastest
- FieldType type = schema.getFieldTypeNoEx(fieldName);
- if (null == type) return false;
-
- if (! (TextField.class.isInstance(type)
- || StrField.class.isInstance(type))) {
- return false;
- }
+ // first check type since it should be fastest
+ FieldType type = schema.getFieldTypeNoEx(fieldName);
+ if (null == type) return false;
- // only ask for SchemaField if we passed the type check.
- SchemaField sf = schema.getFieldOrNull(fieldName);
- // shouldn't be null since since type wasn't, but just in case
- if (null == sf) return false;
-
- return ! sf.multiValued();
+ if (! (TextField.class.isInstance(type)
+ || StrField.class.isInstance(type))) {
+ return false;
}
+
+ // only ask for SchemaField if we passed the type check.
+ SchemaField sf = schema.getFieldOrNull(fieldName);
+ // shouldn't be null since since type wasn't, but just in case
+ if (null == sf) return false;
+
+ return ! sf.multiValued();
};
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/CountFieldValuesUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/CountFieldValuesUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/CountFieldValuesUpdateProcessorFactory.java
index 92aea48..5ffd0f6 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/CountFieldValuesUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/CountFieldValuesUpdateProcessorFactory.java
@@ -20,6 +20,8 @@ import org.apache.solr.common.SolrInputField;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
+import static org.apache.solr.update.processor.FieldMutatingUpdateProcessor.mutator;
+
/**
* <p>
* Replaces any list of values for a field matching the specified
@@ -68,15 +70,12 @@ public final class CountFieldValuesUpdateProcessorFactory extends FieldMutatingU
public UpdateRequestProcessor getInstance(SolrQueryRequest req,
SolrQueryResponse rsp,
UpdateRequestProcessor next) {
- return new FieldMutatingUpdateProcessor(getSelector(), next) {
- @Override
- protected SolrInputField mutate(final SolrInputField src) {
- SolrInputField result = new SolrInputField(src.getName());
- result.setValue(src.getValueCount(),
- src.getBoost());
- return result;
- }
- };
+ return mutator(getSelector(), next, src -> {
+ SolrInputField result = new SolrInputField(src.getName());
+ result.setValue(src.getValueCount(),
+ src.getBoost());
+ return result;
+ });
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/FieldLengthUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/FieldLengthUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/FieldLengthUpdateProcessorFactory.java
index 3b6b338..8a74c54 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/FieldLengthUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/FieldLengthUpdateProcessorFactory.java
@@ -17,9 +17,13 @@
package org.apache.solr.update.processor;
import org.apache.solr.common.util.NamedList;
+import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
-import org.apache.solr.core.SolrCore;
+import org.apache.solr.update.processor.FieldMutatingUpdateProcessor.FieldNameSelector;
+
+import static org.apache.solr.update.processor.FieldMutatingUpdateProcessor.SELECT_NO_FIELDS;
+import static org.apache.solr.update.processor.FieldValueMutatingUpdateProcessor.valueMutator;
/**
@@ -54,26 +58,21 @@ public final class FieldLengthUpdateProcessorFactory extends FieldMutatingUpdate
}
@Override
- public FieldMutatingUpdateProcessor.FieldNameSelector
- getDefaultSelector(final SolrCore core) {
-
- return FieldMutatingUpdateProcessor.SELECT_NO_FIELDS;
-
+ public FieldNameSelector getDefaultSelector(final SolrCore core) {
+ return SELECT_NO_FIELDS;
}
-
+
@Override
public UpdateRequestProcessor getInstance(SolrQueryRequest req,
SolrQueryResponse rsp,
UpdateRequestProcessor next) {
- return new FieldValueMutatingUpdateProcessor(getSelector(), next) {
- @Override
- protected Object mutateValue(final Object src) {
- if (src instanceof CharSequence) {
- return new Integer(((CharSequence)src).length());
- }
- return src;
+ return valueMutator(getSelector(), next, src -> {
+ if (src instanceof CharSequence) {
+ return ((CharSequence) src).length();
}
- };
+ return src;
+ });
+
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessor.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessor.java
index c3bc2ad..d009b17 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessor.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessor.java
@@ -20,15 +20,12 @@ import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.function.Function;
import java.util.regex.Pattern;
-import static org.apache.solr.common.SolrException.ErrorCode.BAD_REQUEST;
-import static org.apache.solr.common.SolrException.ErrorCode.SERVER_ERROR;
-import static org.apache.solr.update.processor.FieldMutatingUpdateProcessorFactory.SelectorParams;
-
+import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.SolrInputField;
-import org.apache.solr.common.SolrException;
import org.apache.solr.core.SolrCore;
import org.apache.solr.core.SolrResourceLoader;
import org.apache.solr.schema.FieldType;
@@ -37,6 +34,10 @@ import org.apache.solr.update.AddUpdateCommand;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static org.apache.solr.common.SolrException.ErrorCode.BAD_REQUEST;
+import static org.apache.solr.common.SolrException.ErrorCode.SERVER_ERROR;
+import static org.apache.solr.update.processor.FieldMutatingUpdateProcessorFactory.SelectorParams;
+
/**
* Reusable base class for UpdateProcessors that will consider
* AddUpdateCommands and mutate the values associated with configured
@@ -120,27 +121,15 @@ public abstract class FieldMutatingUpdateProcessor
/**
* Interface for identifying which fields should be mutated
*/
- public static interface FieldNameSelector {
- public boolean shouldMutate(final String fieldName);
+ public interface FieldNameSelector {
+ boolean shouldMutate(final String fieldName);
}
/** Singleton indicating all fields should be mutated */
- public static final FieldNameSelector SELECT_ALL_FIELDS
- = new FieldNameSelector() {
- @Override
- public boolean shouldMutate(final String fieldName) {
- return true;
- }
- };
+ public static final FieldNameSelector SELECT_ALL_FIELDS = fieldName -> true;
/** Singleton indicating no fields should be mutated */
- public static final FieldNameSelector SELECT_NO_FIELDS
- = new FieldNameSelector() {
- @Override
- public boolean shouldMutate(final String fieldName) {
- return false;
- }
- };
+ public static final FieldNameSelector SELECT_NO_FIELDS = fieldName -> false;
/**
* Wraps two FieldNameSelectors such that the FieldNameSelector
@@ -165,21 +154,11 @@ public abstract class FieldMutatingUpdateProcessor
}
if (SELECT_ALL_FIELDS == includes) {
- return new FieldNameSelector() {
- @Override
- public boolean shouldMutate(final String fieldName) {
- return ! excludes.shouldMutate(fieldName);
- }
- };
+ return fieldName -> ! excludes.shouldMutate(fieldName);
}
- return new FieldNameSelector() {
- @Override
- public boolean shouldMutate(final String fieldName) {
- return (includes.shouldMutate(fieldName)
- && ! excludes.shouldMutate(fieldName));
- }
- };
+ return fieldName -> (includes.shouldMutate(fieldName)
+ && ! excludes.shouldMutate(fieldName));
}
/**
@@ -201,12 +180,7 @@ public abstract class FieldMutatingUpdateProcessor
final ConfigurableFieldNameSelectorHelper helper =
new ConfigurableFieldNameSelectorHelper(loader, params);
- return new FieldNameSelector() {
- @Override
- public boolean shouldMutate(String fieldName) {
- return helper.shouldMutateBasedOnSchema(fieldName, core.getLatestSchema());
- }
- };
+ return fieldName -> helper.shouldMutateBasedOnSchema(fieldName, core.getLatestSchema());
}
/**
@@ -229,12 +203,7 @@ public abstract class FieldMutatingUpdateProcessor
final ConfigurableFieldNameSelectorHelper helper =
new ConfigurableFieldNameSelectorHelper(loader, params);
- return new FieldNameSelector() {
- @Override
- public boolean shouldMutate(String fieldName) {
- return helper.shouldMutateBasedOnSchema(fieldName, schema);
- }
- };
+ return fieldName -> helper.shouldMutateBasedOnSchema(fieldName, schema);
}
private static final class ConfigurableFieldNameSelectorHelper {
@@ -317,5 +286,16 @@ public abstract class FieldMutatingUpdateProcessor
return false;
}
}
+ public static FieldMutatingUpdateProcessor mutator(FieldNameSelector selector,
+ UpdateRequestProcessor next,
+ Function<SolrInputField,SolrInputField> fun){
+ return new FieldMutatingUpdateProcessor(selector, next) {
+ @Override
+ protected SolrInputField mutate(SolrInputField src) {
+ return fun.apply(src);
+ }
+ };
+
+ }
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java
index ba4cd8a..c9034f8 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java
@@ -28,8 +28,11 @@ import java.util.regex.PatternSyntaxException;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.SolrCore;
+import org.apache.solr.update.processor.FieldMutatingUpdateProcessor.FieldNameSelector;
import org.apache.solr.util.plugin.SolrCoreAware;
+import static org.apache.solr.update.processor.FieldMutatingUpdateProcessor.SELECT_ALL_FIELDS;
+
/**
* Base class for implementing Factories for FieldMutatingUpdateProcessors and
@@ -101,7 +104,7 @@ import org.apache.solr.util.plugin.SolrCoreAware;
*
* @see FieldMutatingUpdateProcessor
* @see FieldValueMutatingUpdateProcessor
- * @see FieldMutatingUpdateProcessor.FieldNameSelector
+ * @see FieldNameSelector
*/
public abstract class FieldMutatingUpdateProcessorFactory
extends UpdateRequestProcessorFactory
@@ -125,9 +128,9 @@ public abstract class FieldMutatingUpdateProcessorFactory
private Collection<SelectorParams> exclusions
= new ArrayList<>();
- private FieldMutatingUpdateProcessor.FieldNameSelector selector = null;
+ private FieldNameSelector selector = null;
- protected final FieldMutatingUpdateProcessor.FieldNameSelector getSelector() {
+ protected final FieldNameSelector getSelector() {
if (null != selector) return selector;
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
@@ -234,10 +237,7 @@ public abstract class FieldMutatingUpdateProcessorFactory
*
* @see FieldMutatingUpdateProcessor#SELECT_ALL_FIELDS
*/
- protected FieldMutatingUpdateProcessor.FieldNameSelector
- getDefaultSelector(final SolrCore core) {
-
- return FieldMutatingUpdateProcessor.SELECT_ALL_FIELDS;
-
+ protected FieldNameSelector getDefaultSelector(SolrCore core) {
+ return SELECT_ALL_FIELDS;
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/FieldValueMutatingUpdateProcessor.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/FieldValueMutatingUpdateProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/FieldValueMutatingUpdateProcessor.java
index 0d4e114..51d99f1 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/FieldValueMutatingUpdateProcessor.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/FieldValueMutatingUpdateProcessor.java
@@ -18,6 +18,7 @@ package org.apache.solr.update.processor;
import java.lang.invoke.MethodHandles;
import java.util.Collection;
+import java.util.function.Function;
import org.apache.solr.common.SolrInputField;
@@ -83,5 +84,16 @@ public abstract class FieldValueMutatingUpdateProcessor
result.setBoost(src.getBoost());
return 0 == result.getValueCount() ? null : result;
}
+
+ public static FieldValueMutatingUpdateProcessor valueMutator(FieldNameSelector selector,
+ UpdateRequestProcessor next,
+ Function<Object, Object> fun) {
+ return new FieldValueMutatingUpdateProcessor(selector, next) {
+ @Override
+ protected Object mutateValue(Object src) {
+ return fun.apply(src);
+ }
+ };
+ }
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/FieldValueSubsetUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/FieldValueSubsetUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/FieldValueSubsetUpdateProcessorFactory.java
index 9a25308..1fda07d 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/FieldValueSubsetUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/FieldValueSubsetUpdateProcessorFactory.java
@@ -16,11 +16,13 @@
*/
package org.apache.solr.update.processor;
+import java.util.Collection;
+
import org.apache.solr.common.SolrInputField;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
-import java.util.Collection;
+import static org.apache.solr.update.processor.FieldMutatingUpdateProcessor.mutator;
/**
* Base class for processors that want to mutate selected fields to only
@@ -33,17 +35,14 @@ public abstract class FieldValueSubsetUpdateProcessorFactory extends FieldMutati
public final UpdateRequestProcessor getInstance(SolrQueryRequest req,
SolrQueryResponse rsp,
UpdateRequestProcessor next) {
- return new FieldMutatingUpdateProcessor(getSelector(), next) {
- @Override
- protected SolrInputField mutate(final SolrInputField src) {
- if (src.getValueCount() <= 1) return src;
-
- SolrInputField result = new SolrInputField(src.getName());
- result.setValue(pickSubset(src.getValues()),
- src.getBoost());
- return result;
- }
- };
+ return mutator(getSelector(), next, src -> {
+ if (src.getValueCount() <= 1) return src;
+
+ SolrInputField result = new SolrInputField(src.getName());
+ result.setValue(pickSubset(src.getValues()),
+ src.getBoost());
+ return result;
+ });
}
/**
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/FirstFieldValueUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/FirstFieldValueUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/FirstFieldValueUpdateProcessorFactory.java
index f2cf0b8..cb525ae 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/FirstFieldValueUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/FirstFieldValueUpdateProcessorFactory.java
@@ -16,10 +16,13 @@
*/
package org.apache.solr.update.processor;
+import java.util.Collection;
+import java.util.Collections;
+
import org.apache.solr.core.SolrCore;
+import org.apache.solr.update.processor.FieldMutatingUpdateProcessor.FieldNameSelector;
-import java.util.Collections;
-import java.util.Collection;
+import static org.apache.solr.update.processor.FieldMutatingUpdateProcessor.SELECT_NO_FIELDS;
/**
* Keeps only the first value of fields matching the specified
@@ -53,10 +56,8 @@ public final class FirstFieldValueUpdateProcessorFactory extends FieldValueSubse
}
@Override
- public FieldMutatingUpdateProcessor.FieldNameSelector
- getDefaultSelector(final SolrCore core) {
-
- return FieldMutatingUpdateProcessor.SELECT_NO_FIELDS;
+ public FieldNameSelector getDefaultSelector(SolrCore core) {
+ return SELECT_NO_FIELDS;
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/HTMLStripFieldUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/HTMLStripFieldUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/HTMLStripFieldUpdateProcessorFactory.java
index 491920c..250c501 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/HTMLStripFieldUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/HTMLStripFieldUpdateProcessorFactory.java
@@ -16,18 +16,19 @@
*/
package org.apache.solr.update.processor;
-import org.apache.solr.core.SolrCore;
-import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.response.SolrQueryResponse;
-
-import org.apache.lucene.analysis.charfilter.HTMLStripCharFilter;
-
-import org.apache.commons.io.IOUtils;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
+import org.apache.commons.io.IOUtils;
+import org.apache.lucene.analysis.charfilter.HTMLStripCharFilter;
+import org.apache.solr.core.SolrCore;
+import org.apache.solr.request.SolrQueryRequest;
+import org.apache.solr.response.SolrQueryResponse;
+
+import static org.apache.solr.update.processor.FieldValueMutatingUpdateProcessor.valueMutator;
+
/**
* Strips all HTML Markup in any CharSequence values
* found in fields matching the specified conditions.
@@ -58,29 +59,25 @@ public final class HTMLStripFieldUpdateProcessorFactory extends FieldMutatingUpd
public UpdateRequestProcessor getInstance(SolrQueryRequest req,
SolrQueryResponse rsp,
UpdateRequestProcessor next) {
- return new FieldValueMutatingUpdateProcessor(getSelector(), next) {
- @Override
- protected Object mutateValue(final Object src) {
- if (src instanceof CharSequence) {
- CharSequence s = (CharSequence)src;
- StringWriter result = new StringWriter(s.length());
- Reader in = null;
- try {
- in = new HTMLStripCharFilter
+ return valueMutator(getSelector(), next, src -> {
+ if (src instanceof CharSequence) {
+ CharSequence s = (CharSequence) src;
+ StringWriter result = new StringWriter(s.length());
+ Reader in = null;
+ try {
+ in = new HTMLStripCharFilter
(new StringReader(s.toString()));
- IOUtils.copy(in, result);
- return result.toString();
- } catch (IOException e) {
- // we tried and failed
- return s;
- } finally {
- IOUtils.closeQuietly(in);
- }
-
+ IOUtils.copy(in, result);
+ return result.toString();
+ } catch (IOException e) {
+ // we tried and failed
+ return s;
+ } finally {
+ IOUtils.closeQuietly(in);
}
- return src;
}
- };
+ return src;
+ });
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/IgnoreFieldUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/IgnoreFieldUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/IgnoreFieldUpdateProcessorFactory.java
index 245d9fe..6912809 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/IgnoreFieldUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/IgnoreFieldUpdateProcessorFactory.java
@@ -17,12 +17,13 @@
package org.apache.solr.update.processor;
import org.apache.solr.core.SolrCore;
-import org.apache.solr.schema.IndexSchema;
-import org.apache.solr.schema.FieldType;
-
-import org.apache.solr.common.SolrInputField;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
+import org.apache.solr.schema.FieldType;
+import org.apache.solr.schema.IndexSchema;
+import org.apache.solr.update.processor.FieldMutatingUpdateProcessor.FieldNameSelector;
+
+import static org.apache.solr.update.processor.FieldMutatingUpdateProcessor.mutator;
/**
* Ignores & removes fields matching the specified
@@ -57,26 +58,16 @@ public final class IgnoreFieldUpdateProcessorFactory extends FieldMutatingUpdate
public UpdateRequestProcessor getInstance(SolrQueryRequest req,
SolrQueryResponse rsp,
UpdateRequestProcessor next) {
- return new FieldMutatingUpdateProcessor(getSelector(), next) {
- @Override
- protected SolrInputField mutate(final SolrInputField src) {
- return null;
- }
- };
+ return mutator(getSelector(), next, src -> null);
+
}
@Override
- public FieldMutatingUpdateProcessor.FieldNameSelector
- getDefaultSelector(final SolrCore core) {
-
- return new FieldMutatingUpdateProcessor.FieldNameSelector() {
- @Override
- public boolean shouldMutate(final String fieldName) {
- final IndexSchema schema = core.getLatestSchema();
- FieldType type = schema.getFieldTypeNoEx(fieldName);
- return (null == type);
-
- }
+ public FieldNameSelector getDefaultSelector(final SolrCore core) {
+ return fieldName -> {
+ final IndexSchema schema = core.getLatestSchema();
+ FieldType type = schema.getFieldTypeNoEx(fieldName);
+ return (null == type);
};
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/LastFieldValueUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/LastFieldValueUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/LastFieldValueUpdateProcessorFactory.java
index 576a9ef..afaee80 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/LastFieldValueUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/LastFieldValueUpdateProcessorFactory.java
@@ -17,12 +17,15 @@
package org.apache.solr.update.processor;
import org.apache.solr.core.SolrCore;
+import org.apache.solr.update.processor.FieldMutatingUpdateProcessor.FieldNameSelector;
import java.util.Collections;
import java.util.Collection;
import java.util.List;
import java.util.SortedSet;
+import static org.apache.solr.update.processor.FieldMutatingUpdateProcessor.SELECT_NO_FIELDS;
+
/**
* Keeps only the last value of fields matching the specified
* conditions. Correct behavior assumes that the SolrInputFields being mutated
@@ -69,10 +72,8 @@ public final class LastFieldValueUpdateProcessorFactory extends FieldValueSubset
}
@Override
- public FieldMutatingUpdateProcessor.FieldNameSelector
- getDefaultSelector(final SolrCore core) {
-
- return FieldMutatingUpdateProcessor.SELECT_NO_FIELDS;
+ public FieldNameSelector getDefaultSelector(final SolrCore core) {
+ return SELECT_NO_FIELDS;
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/MaxFieldValueUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/MaxFieldValueUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/MaxFieldValueUpdateProcessorFactory.java
index 5b7d8c8..8a442f9 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/MaxFieldValueUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/MaxFieldValueUpdateProcessorFactory.java
@@ -16,14 +16,15 @@
*/
package org.apache.solr.update.processor;
-import static org.apache.solr.common.SolrException.ErrorCode.*;
+import java.util.Collection;
+import java.util.Collections;
import org.apache.solr.common.SolrException;
-
import org.apache.solr.core.SolrCore;
+import org.apache.solr.update.processor.FieldMutatingUpdateProcessor.FieldNameSelector;
-import java.util.Collections;
-import java.util.Collection;
+import static org.apache.solr.common.SolrException.ErrorCode.BAD_REQUEST;
+import static org.apache.solr.update.processor.FieldMutatingUpdateProcessor.SELECT_NO_FIELDS;
/**
* An update processor that keeps only the the maximum value from any selected
@@ -59,7 +60,7 @@ public final class MaxFieldValueUpdateProcessorFactory extends FieldValueSubsetU
try {
// NOTE: the extra cast to Object is needed to prevent compile
// errors on Eclipse Compiler (ecj) used for javadoc lint
- result = Collections.singletonList((Object) Collections.max(values));
+ result = Collections.singletonList(Collections.max(values));
} catch (ClassCastException e) {
throw new SolrException
(BAD_REQUEST,
@@ -69,10 +70,8 @@ public final class MaxFieldValueUpdateProcessorFactory extends FieldValueSubsetU
}
@Override
- public FieldMutatingUpdateProcessor.FieldNameSelector
- getDefaultSelector(final SolrCore core) {
-
- return FieldMutatingUpdateProcessor.SELECT_NO_FIELDS;
+ public FieldNameSelector getDefaultSelector(SolrCore core) {
+ return SELECT_NO_FIELDS;
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/MinFieldValueUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/MinFieldValueUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/MinFieldValueUpdateProcessorFactory.java
index 9499e3b..f9456bb 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/MinFieldValueUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/MinFieldValueUpdateProcessorFactory.java
@@ -16,14 +16,15 @@
*/
package org.apache.solr.update.processor;
-import static org.apache.solr.common.SolrException.ErrorCode.*;
+import java.util.Collection;
+import java.util.Collections;
import org.apache.solr.common.SolrException;
-
import org.apache.solr.core.SolrCore;
+import org.apache.solr.update.processor.FieldMutatingUpdateProcessor.FieldNameSelector;
-import java.util.Collections;
-import java.util.Collection;
+import static org.apache.solr.common.SolrException.ErrorCode.BAD_REQUEST;
+import static org.apache.solr.update.processor.FieldMutatingUpdateProcessor.SELECT_NO_FIELDS;
/**
* An update processor that keeps only the the minimum value from any selected
@@ -59,7 +60,7 @@ public final class MinFieldValueUpdateProcessorFactory extends FieldValueSubsetU
try {
// NOTE: the extra cast to Object is needed to prevent compile
// errors on Eclipse Compiler (ecj) used for javadoc lint
- result = Collections.singletonList((Object) Collections.min(values));
+ result = Collections.singletonList(Collections.min(values));
} catch (ClassCastException e) {
throw new SolrException
(BAD_REQUEST,
@@ -69,10 +70,8 @@ public final class MinFieldValueUpdateProcessorFactory extends FieldValueSubsetU
}
@Override
- public FieldMutatingUpdateProcessor.FieldNameSelector
- getDefaultSelector(final SolrCore core) {
-
- return FieldMutatingUpdateProcessor.SELECT_NO_FIELDS;
+ public FieldNameSelector getDefaultSelector(SolrCore core) {
+ return SELECT_NO_FIELDS;
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/ParseBooleanFieldUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/ParseBooleanFieldUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/ParseBooleanFieldUpdateProcessorFactory.java
index cfa9cc8..8002df4 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/ParseBooleanFieldUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/ParseBooleanFieldUpdateProcessorFactory.java
@@ -16,6 +16,13 @@
*/
package org.apache.solr.update.processor;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.Set;
+
+import com.google.common.collect.ImmutableSet;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.util.NamedList;
@@ -25,12 +32,7 @@ import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.schema.BoolField;
import org.apache.solr.schema.FieldType;
import org.apache.solr.schema.IndexSchema;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Locale;
-import java.util.Set;
+import org.apache.solr.update.processor.FieldMutatingUpdateProcessor.FieldNameSelector;
/**
* <p>
@@ -141,16 +143,11 @@ public class ParseBooleanFieldUpdateProcessorFactory extends FieldMutatingUpdate
* or if the matched field's type is BoolField
*/
@Override
- public FieldMutatingUpdateProcessor.FieldNameSelector
- getDefaultSelector(final SolrCore core) {
-
- return new FieldMutatingUpdateProcessor.FieldNameSelector() {
- @Override
- public boolean shouldMutate(final String fieldName) {
- final IndexSchema schema = core.getLatestSchema();
- FieldType type = schema.getFieldTypeNoEx(fieldName);
- return (null == type) || (type instanceof BoolField);
- }
+ public FieldNameSelector getDefaultSelector(final SolrCore core) {
+ return fieldName -> {
+ final IndexSchema schema = core.getLatestSchema();
+ FieldType type = schema.getFieldTypeNoEx(fieldName);
+ return (null == type) || (type instanceof BoolField);
};
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/ParseDateFieldUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/ParseDateFieldUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/ParseDateFieldUpdateProcessorFactory.java
index c111917..9d0311c 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/ParseDateFieldUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/ParseDateFieldUpdateProcessorFactory.java
@@ -16,6 +16,13 @@
*/
package org.apache.solr.update.processor;
+import java.lang.invoke.MethodHandles;
+import java.util.Collection;
+import java.util.Date;
+import java.util.LinkedHashMap;
+import java.util.Locale;
+import java.util.Map;
+
import org.apache.commons.lang.LocaleUtils;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.SolrCore;
@@ -31,13 +38,6 @@ import org.joda.time.format.DateTimeFormatter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.lang.invoke.MethodHandles;
-import java.util.Collection;
-import java.util.Date;
-import java.util.LinkedHashMap;
-import java.util.Locale;
-import java.util.Map;
-
/**
* <p>
* Attempts to mutate selected fields that have only CharSequence-typed values
@@ -165,13 +165,10 @@ public class ParseDateFieldUpdateProcessorFactory extends FieldMutatingUpdatePro
public FieldMutatingUpdateProcessor.FieldNameSelector
getDefaultSelector(final SolrCore core) {
- return new FieldMutatingUpdateProcessor.FieldNameSelector() {
- @Override
- public boolean shouldMutate(final String fieldName) {
- final IndexSchema schema = core.getLatestSchema();
- FieldType type = schema.getFieldTypeNoEx(fieldName);
- return (null == type) || type instanceof DateValueFieldType;
- }
+ return fieldName -> {
+ final IndexSchema schema = core.getLatestSchema();
+ FieldType type = schema.getFieldTypeNoEx(fieldName);
+ return (null == type) || type instanceof DateValueFieldType;
};
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/ParseNumericFieldUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/ParseNumericFieldUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/ParseNumericFieldUpdateProcessorFactory.java
index f19e8d1..49e4636 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/ParseNumericFieldUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/ParseNumericFieldUpdateProcessorFactory.java
@@ -21,6 +21,7 @@ import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.SolrCore;
import org.apache.solr.schema.FieldType;
import org.apache.solr.schema.IndexSchema;
+import org.apache.solr.update.processor.FieldMutatingUpdateProcessor.FieldNameSelector;
import java.util.Locale;
@@ -67,16 +68,11 @@ public abstract class ParseNumericFieldUpdateProcessorFactory extends FieldMutat
* @param core Where to get the current schema from
*/
@Override
- public FieldMutatingUpdateProcessor.FieldNameSelector
- getDefaultSelector(final SolrCore core) {
-
- return new FieldMutatingUpdateProcessor.FieldNameSelector() {
- @Override
- public boolean shouldMutate(final String fieldName) {
- final IndexSchema schema = core.getLatestSchema();
- FieldType type = schema.getFieldTypeNoEx(fieldName);
- return (null == type) || isSchemaFieldTypeCompatible(type);
- }
+ public FieldNameSelector getDefaultSelector(final SolrCore core) {
+ return fieldName -> {
+ final IndexSchema schema = core.getLatestSchema();
+ FieldType type = schema.getFieldTypeNoEx(fieldName);
+ return (null == type) || isSchemaFieldTypeCompatible(type);
};
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/RegexReplaceProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/RegexReplaceProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/RegexReplaceProcessorFactory.java
index fc65e47..626ffcd 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/RegexReplaceProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/RegexReplaceProcessorFactory.java
@@ -16,18 +16,18 @@
*/
package org.apache.solr.update.processor;
-import org.apache.solr.core.SolrCore;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.regex.PatternSyntaxException;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.util.NamedList;
-
+import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
-import java.util.regex.PatternSyntaxException;
-import java.util.regex.Pattern;
-import java.util.regex.Matcher;
+import static org.apache.solr.update.processor.FieldValueMutatingUpdateProcessor.valueMutator;
/**
@@ -130,15 +130,12 @@ public final class RegexReplaceProcessorFactory extends FieldMutatingUpdateProce
public UpdateRequestProcessor getInstance(SolrQueryRequest request,
SolrQueryResponse response,
UpdateRequestProcessor next) {
- return new FieldValueMutatingUpdateProcessor(getSelector(), next) {
- @Override
- protected Object mutateValue(final Object src) {
- if (src instanceof CharSequence) {
- CharSequence txt = (CharSequence)src;
- return pattern.matcher(txt).replaceAll(replacement);
- }
- return src;
+ return valueMutator(getSelector(), next, src -> {
+ if (src instanceof CharSequence) {
+ CharSequence txt = (CharSequence) src;
+ return pattern.matcher(txt).replaceAll(replacement);
}
- };
+ return src;
+ });
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/RemoveBlankFieldUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/RemoveBlankFieldUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/RemoveBlankFieldUpdateProcessorFactory.java
index 400765b..dc463a3 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/RemoveBlankFieldUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/RemoveBlankFieldUpdateProcessorFactory.java
@@ -20,6 +20,9 @@ import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
+import static org.apache.solr.update.processor.FieldValueMutatingUpdateProcessor.DELETE_VALUE_SINGLETON;
+import static org.apache.solr.update.processor.FieldValueMutatingUpdateProcessor.valueMutator;
+
/**
* Removes any values found which are CharSequence with a length of 0.
* (ie: empty strings)
@@ -54,16 +57,13 @@ public final class RemoveBlankFieldUpdateProcessorFactory extends FieldMutatingU
public UpdateRequestProcessor getInstance(SolrQueryRequest req,
SolrQueryResponse rsp,
UpdateRequestProcessor next) {
- return new FieldValueMutatingUpdateProcessor(getSelector(), next) {
- @Override
- protected Object mutateValue(final Object src) {
- if (src instanceof CharSequence
- && 0 == ((CharSequence)src).length()) {
- return DELETE_VALUE_SINGLETON;
- }
- return src;
+ return valueMutator(getSelector(), next, src -> {
+ if (src instanceof CharSequence
+ && 0 == ((CharSequence) src).length()) {
+ return DELETE_VALUE_SINGLETON;
}
- };
+ return src;
+ });
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/TrimFieldUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/TrimFieldUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/TrimFieldUpdateProcessorFactory.java
index 3520135..4796f11 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/TrimFieldUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/TrimFieldUpdateProcessorFactory.java
@@ -20,6 +20,8 @@ import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
+import static org.apache.solr.update.processor.FieldValueMutatingUpdateProcessor.valueMutator;
+
/**
* Trims leading and trailing whitespace from any CharSequence values
@@ -48,20 +50,17 @@ public final class TrimFieldUpdateProcessorFactory extends FieldMutatingUpdatePr
// no trim specific init args
super.init(args);
}
-
+
@Override
public UpdateRequestProcessor getInstance(SolrQueryRequest req,
SolrQueryResponse rsp,
UpdateRequestProcessor next) {
- return new FieldValueMutatingUpdateProcessor(getSelector(), next) {
- @Override
- protected Object mutateValue(final Object src) {
- if (src instanceof CharSequence) {
- return ((CharSequence)src).toString().trim();
- }
- return src;
+ return valueMutator(getSelector(), next, src -> {
+ if (src instanceof CharSequence) {
+ return src.toString().trim();
}
- };
+ return src;
+ });
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/TruncateFieldUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/TruncateFieldUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/TruncateFieldUpdateProcessorFactory.java
index 1925b1b..b1d0452 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/TruncateFieldUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/TruncateFieldUpdateProcessorFactory.java
@@ -19,10 +19,13 @@ package org.apache.solr.update.processor;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.util.NamedList;
-
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
+import org.apache.solr.update.processor.FieldMutatingUpdateProcessor.FieldNameSelector;
+
+import static org.apache.solr.update.processor.FieldMutatingUpdateProcessor.SELECT_NO_FIELDS;
+import static org.apache.solr.update.processor.FieldValueMutatingUpdateProcessor.valueMutator;
/**
* Truncates any CharSequence values found in fields matching the specified
@@ -75,28 +78,23 @@ public final class TruncateFieldUpdateProcessorFactory
}
@Override
- public FieldMutatingUpdateProcessor.FieldNameSelector
- getDefaultSelector(final SolrCore core) {
-
- return FieldMutatingUpdateProcessor.SELECT_NO_FIELDS;
+ public FieldNameSelector getDefaultSelector(final SolrCore core) {
+ return SELECT_NO_FIELDS;
}
@Override
public UpdateRequestProcessor getInstance(SolrQueryRequest req,
SolrQueryResponse rsp,
UpdateRequestProcessor next) {
- return new FieldValueMutatingUpdateProcessor(getSelector(), next) {
- @Override
- protected Object mutateValue(final Object src) {
- if (src instanceof CharSequence) {
- CharSequence s = (CharSequence)src;
- if (maxLength < s.length()) {
- return s.subSequence(0, maxLength);
- }
+ return valueMutator(getSelector(), next, src -> {
+ if (src instanceof CharSequence) {
+ CharSequence s = (CharSequence) src;
+ if (maxLength < s.length()) {
+ return s.subSequence(0, maxLength);
}
- return src;
}
- };
+ return src;
+ });
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/80336a27/solr/core/src/java/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactory.java
index 5238288..f8bbae3 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/UniqFieldsUpdateProcessorFactory.java
@@ -22,6 +22,9 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.apache.solr.core.SolrCore;
+import org.apache.solr.update.processor.FieldMutatingUpdateProcessor.FieldNameSelector;
+
+import static org.apache.solr.update.processor.FieldMutatingUpdateProcessor.SELECT_NO_FIELDS;
/**
* Removes duplicate values found in fields matching the specified conditions.
@@ -46,10 +49,8 @@ import org.apache.solr.core.SolrCore;
public class UniqFieldsUpdateProcessorFactory extends FieldValueSubsetUpdateProcessorFactory {
@Override
- public FieldMutatingUpdateProcessor.FieldNameSelector
- getDefaultSelector(final SolrCore core) {
-
- return FieldMutatingUpdateProcessor.SELECT_NO_FIELDS;
+ public FieldNameSelector getDefaultSelector(SolrCore core) {
+ return SELECT_NO_FIELDS;
}
@Override