This is an automated email from the ASF dual-hosted git repository.

epugh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/main by this push:
     new 2dbe7555de7 Review and tidy solr/modules/extraction code (#4832)
2dbe7555de7 is described below

commit 2dbe7555de7de0d7494e83d4aca74466dedc52e4
Author: Eric Pugh <[email protected]>
AuthorDate: Mon Aug 31 18:03:46 2026 -0400

    Review and tidy solr/modules/extraction code (#4832)
---
 .../solr/handler/extraction/ExtractingParams.java  | 53 +++++++++++-----------
 .../handler/extraction/SolrContentHandler.java     | 11 +++--
 .../ExtractingRequestHandlerTestAbstract.java      |  4 --
 3 files changed, 32 insertions(+), 36 deletions(-)

diff --git 
a/solr/modules/extraction/src/java/org/apache/solr/handler/extraction/ExtractingParams.java
 
b/solr/modules/extraction/src/java/org/apache/solr/handler/extraction/ExtractingParams.java
index af3358e9fe4..a99025127b1 100644
--- 
a/solr/modules/extraction/src/java/org/apache/solr/handler/extraction/ExtractingParams.java
+++ 
b/solr/modules/extraction/src/java/org/apache/solr/handler/extraction/ExtractingParams.java
@@ -20,10 +20,10 @@ package org.apache.solr.handler.extraction;
 public interface ExtractingParams {
 
   /** Map all generated attribute names to field names with lowercase and 
underscores. */
-  public static final String LOWERNAMES = "lowernames";
+  String LOWERNAMES = "lowernames";
 
-  /** if true, ignore TikaException (give up to extract text but index meta 
data) */
-  public static final String IGNORE_TIKA_EXCEPTION = "ignoreTikaException";
+  /** if true, ignore TikaException (give up to extract text but index 
metadata) */
+  String IGNORE_TIKA_EXCEPTION = "ignoreTikaException";
 
   /**
    * The param prefix for mapping Tika metadata to Solr fields.
@@ -35,7 +35,7 @@ public interface ExtractingParams {
    * In this example, the tika "title" metadata value will be added to a Solr 
field named
    * "solr.title"
    */
-  public static final String MAP_PREFIX = "fmap.";
+  String MAP_PREFIX = "fmap.";
 
   /**
    * Pass in literal values to be added to the document, as in
@@ -44,7 +44,7 @@ public interface ExtractingParams {
    *  literal.myField=Foo
    * </pre>
    */
-  public static final String LITERALS_PREFIX = "literal.";
+  String LITERALS_PREFIX = "literal.";
 
   /**
    * Restrict the extracted parts of a document to be indexed by passing in an 
XPath expression. All
@@ -54,29 +54,29 @@ public interface ExtractingParams {
    *
    * @see #CAPTURE_ELEMENTS
    */
-  public static final String XPATH_EXPRESSION = "xpath";
+  String XPATH_EXPRESSION = "xpath";
 
   /** Only extract and return the content, do not index it. */
-  public static final String EXTRACT_ONLY = "extractOnly";
+  String EXTRACT_ONLY = "extractOnly";
 
   /** Content output format if extractOnly is true. Default is "xml", 
alternative is "text". */
-  public static final String EXTRACT_FORMAT = "extractFormat";
+  String EXTRACT_FORMAT = "extractFormat";
 
   /**
    * Capture attributes separately according to the name of the element, 
instead of just adding them
    * to the string buffer
    */
-  public static final String CAPTURE_ATTRIBUTES = "captureAttr";
+  String CAPTURE_ATTRIBUTES = "captureAttr";
 
   /**
    * Literal field values will by default override other values such as 
metadata and content. Set
-   * this to false to revert to pre-4.0 behaviour
+   * this to "false" to revert to pre-4.0 behaviour
    */
-  public static final String LITERALS_OVERRIDE = "literalsOverride";
+  String LITERALS_OVERRIDE = "literalsOverride";
 
   /**
    * Capture the specified fields (and everything included below it that isn't 
capture by some other
-   * capture field) separately from the default. This is different then the 
case of passing in an
+   * capture field) separately from the default. This is different from the 
case of passing in an
    * XPath expression.
    *
    * <p>The Capture field is based on the localName returned to the {@link 
SolrContentHandler} by
@@ -97,34 +97,34 @@ public interface ExtractingParams {
    * By passing in the p tag, you could capture all P tags separately from the 
rest of the t Thus,
    * in the example, the capture of the P tag would be: "some text here. more 
text"
    */
-  public static final String CAPTURE_ELEMENTS = "capture";
+  String CAPTURE_ELEMENTS = "capture";
 
   /** The type of the stream. If not specified, Tika will use mime type 
detection. */
-  public static final String STREAM_TYPE = "stream.type";
+  String STREAM_TYPE = "stream.type";
 
   /**
    * Optional. The file name. If specified, Tika can take this into account 
while guessing the MIME
    * type.
    */
-  public static final String RESOURCE_NAME = "resource.name";
+  String RESOURCE_NAME = "resource.name";
 
   /**
    * Optional. The password for this resource. Will be used instead of the 
rule based password
    * lookup mechanisms
    */
-  public static final String RESOURCE_PASSWORD = "resource.password";
+  String RESOURCE_PASSWORD = "resource.password";
 
   /**
    * Optional. If specified, the prefix will be prepended to all Metadata, 
such that it would be
-   * possible to setup a dynamic field to automatically capture it
+   * possible to set up a dynamic field to automatically capture it
    */
-  public static final String UNKNOWN_FIELD_PREFIX = "uprefix";
+  String UNKNOWN_FIELD_PREFIX = "uprefix";
 
   /**
    * Optional. If specified and the name of a potential field cannot be 
determined, the default
    * Field specified will be used instead.
    */
-  public static final String DEFAULT_FIELD = "defaultField";
+  String DEFAULT_FIELD = "defaultField";
 
   /**
    * Optional. If specified, loads the file as a source for password lookups 
for Tika encrypted
@@ -135,27 +135,26 @@ public interface ExtractingParams {
    * i.e. the first match will be used If you want a fallback password to be 
always used, supply a
    * .*=&lt;defaultmypassword&gt; at the end
    */
-  public static final String PASSWORD_MAP_FILE = "passwordsFile";
+  String PASSWORD_MAP_FILE = "passwordsFile";
 
   /** Backend selection */
-  public static final String EXTRACTION_BACKEND = "extraction.backend";
+  String EXTRACTION_BACKEND = "extraction.backend";
 
   /** Preferred: Fix/normalize metadata naming for Tika Server compatibility */
-  public static final String TIKASERVER_METADATA_COMPATIBILITY =
-      "tikaserver.metadata.compatibility";
+  String TIKASERVER_METADATA_COMPATIBILITY = 
"tikaserver.metadata.compatibility";
 
   /** URL of Tika Server instance. */
-  public static final String TIKASERVER_URL = "tikaserver.url";
+  String TIKASERVER_URL = "tikaserver.url";
 
   /** Max characters allowed in parsed content */
-  public static final String TIKASERVER_MAX_CHARS = "tikaserver.maxChars";
+  String TIKASERVER_MAX_CHARS = "tikaserver.maxChars";
 
   /**
    * Enable recursive parsing of embedded documents when using TikaServer. 
This is experimental,
    * uses /rmeta endpoint, uses more RAM and is disabled by default.
    */
-  public static final String TIKASERVER_RECURSIVE = "tikaserver.recursive";
+  String TIKASERVER_RECURSIVE = "tikaserver.recursive";
 
   /** Default or per-request timeout in seconds for TikaServer HTTP calls. */
-  public static final String TIKASERVER_TIMEOUT_SECS = 
"tikaserver.timeoutSeconds";
+  String TIKASERVER_TIMEOUT_SECS = "tikaserver.timeoutSeconds";
 }
diff --git 
a/solr/modules/extraction/src/java/org/apache/solr/handler/extraction/SolrContentHandler.java
 
b/solr/modules/extraction/src/java/org/apache/solr/handler/extraction/SolrContentHandler.java
index c825605994f..0fda8b50e91 100644
--- 
a/solr/modules/extraction/src/java/org/apache/solr/handler/extraction/SolrContentHandler.java
+++ 
b/solr/modules/extraction/src/java/org/apache/solr/handler/extraction/SolrContentHandler.java
@@ -142,7 +142,7 @@ public class SolrContentHandler extends DefaultHandler 
implements ExtractingPara
   }
 
   /**
-   * Add in the catch all content to the field. Default impl. uses the {@link 
#contentFieldName} and
+   * Add in the catch-all content to the field. Default impl. uses the {@link 
#contentFieldName} and
    * the {@link #catchAllBuilder}
    */
   protected void addContent() {
@@ -204,9 +204,10 @@ public class SolrContentHandler extends DefaultHandler 
implements ExtractingPara
       name = unknownFieldPrefix + name;
       sf = schema.getFieldOrNull(name);
     } else if (sf == null
-        && defaultField.length() > 0
-        && name.equals(ExtractingMetadataConstants.RESOURCE_NAME_KEY)
-            == false /*let the fall through below handle this*/) {
+        && !defaultField.isEmpty()
+        && !name.equals(
+            ExtractingMetadataConstants
+                .RESOURCE_NAME_KEY) /*let the fall through below handle 
this*/) {
       name = defaultField;
       sf = schema.getFieldOrNull(name);
     }
@@ -266,7 +267,7 @@ public class SolrContentHandler extends DefaultHandler 
implements ExtractingPara
       // we need to switch the currentBuilder
       bldrStack.add(theBldr);
     }
-    if (captureAttribs == true) {
+    if (captureAttribs) {
       for (int i = 0; i < attributes.getLength(); i++) {
         addField(localName, attributes.getValue(i), null);
       }
diff --git 
a/solr/modules/extraction/src/test/org/apache/solr/handler/extraction/ExtractingRequestHandlerTestAbstract.java
 
b/solr/modules/extraction/src/test/org/apache/solr/handler/extraction/ExtractingRequestHandlerTestAbstract.java
index a0bd9b4d77a..c9c872bc99d 100644
--- 
a/solr/modules/extraction/src/test/org/apache/solr/handler/extraction/ExtractingRequestHandlerTestAbstract.java
+++ 
b/solr/modules/extraction/src/test/org/apache/solr/handler/extraction/ExtractingRequestHandlerTestAbstract.java
@@ -16,7 +16,6 @@
  */
 package org.apache.solr.handler.extraction;
 
-import java.lang.invoke.MethodHandles;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.solr.SolrTestCaseJ4;
@@ -32,11 +31,8 @@ import 
org.apache.solr.update.processor.BufferingRequestProcessor;
 import org.apache.solr.util.ErrorLogMuter;
 import org.junit.Before;
 import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public abstract class ExtractingRequestHandlerTestAbstract extends 
SolrTestCaseJ4 {
-  private static final Logger log = 
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
   @Override
   @Before

Reply via email to