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 c9ed84e9786 Tidy up java code in o.a.s.i.csv package (#4681)
c9ed84e9786 is described below
commit c9ed84e97864f19cc0f80a80100648855e527752
Author: Eric Pugh <[email protected]>
AuthorDate: Fri Jul 31 20:02:38 2026 -0400
Tidy up java code in o.a.s.i.csv package (#4681)
---
.../org/apache/solr/internal/csv/CSVParser.java | 19 ++++-------
.../org/apache/solr/internal/csv/CSVPrinter.java | 38 ----------------------
.../org/apache/solr/internal/csv/CSVStrategy.java | 8 ++---
.../org/apache/solr/internal/csv/CSVUtils.java | 36 +-------------------
.../solr/internal/csv/ExtendedBufferedReader.java | 20 ++++++------
.../java/org/apache/solr/logging/LogWatcher.java | 4 +--
.../org/apache/solr/logging/jul/JulWatcher.java | 2 +-
.../apache/solr/logging/log4j2/Log4j2Watcher.java | 2 +-
8 files changed, 24 insertions(+), 105 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/internal/csv/CSVParser.java
b/solr/core/src/java/org/apache/solr/internal/csv/CSVParser.java
index a5495a31106..3f22e6aefe5 100644
--- a/solr/core/src/java/org/apache/solr/internal/csv/CSVParser.java
+++ b/solr/core/src/java/org/apache/solr/internal/csv/CSVParser.java
@@ -254,14 +254,14 @@ public class CSVParser {
* @throws IOException on stream access error
*/
protected Token nextToken(Token tkn) throws IOException {
- wsBuf.clear(); // resuse
+ wsBuf.clear(); // reuse
// get the last read char (required for empty line detection)
int lastChar = in.readAgain();
// read the next char and set eol
- /* note: unfortunately isEndOfLine may consumes a character silently.
- * this has no effect outside of the method. so a simple workaround
+ /* note: unfortunately isEndOfLine may consume a character silently.
+ * this has no effect outside the method. so a simple workaround
* is to call 'readAgain' on the stream...
* uh: might using objects instead of base-types (jdk1.5 autoboxing!)
*/
@@ -286,7 +286,7 @@ public class CSVParser {
}
}
- // did we reached eof during the last iteration already ? TT_EOF
+ // did we reach eof during the last iteration already ? TT_EOF
if (isEndOfFile(lastChar) || (lastChar != strategy.getDelimiter() &&
isEndOfFile(c))) {
tkn.type = TT_EOF;
return tkn;
@@ -302,7 +302,7 @@ public class CSVParser {
}
// ok, start of token reached: comment, encapsulated, or token
if (c == strategy.getCommentStart()) {
- // ignore everything till end of line and continue (incr linecount)
+ // ignore everything till end of line and continue (increment line
count)
in.readLine();
tkn = nextToken(tkn.reset());
} else if (c == strategy.getDelimiter()) {
@@ -464,7 +464,7 @@ public class CSVParser {
*
* @param c current char which is discarded because it's the "\\" of
"\\uXXXX"
* @return the decoded character
- * @throws IOException on wrong unicode escape sequence or read error
+ * @throws IOException on wrong Unicode escape sequence or read error
*/
protected int unicodeEscapeLexer(int c) throws IOException {
int ret = 0;
@@ -482,12 +482,7 @@ public class CSVParser {
ret = Integer.parseInt(code.toString(), 16);
} catch (NumberFormatException e) {
throw new IOException(
- "(line "
- + getLineNumber()
- + ") Wrong unicode escape sequence found '"
- + code.toString()
- + "'"
- + e.toString());
+ "(line " + getLineNumber() + ") Wrong unicode escape sequence found
'" + code + "'" + e);
}
return ret;
}
diff --git a/solr/core/src/java/org/apache/solr/internal/csv/CSVPrinter.java
b/solr/core/src/java/org/apache/solr/internal/csv/CSVPrinter.java
index e759236a5c2..9e8c543a1ef 100644
--- a/solr/core/src/java/org/apache/solr/internal/csv/CSVPrinter.java
+++ b/solr/core/src/java/org/apache/solr/internal/csv/CSVPrinter.java
@@ -73,44 +73,6 @@ public class CSVPrinter {
println();
}
- /**
- * Put a comment among the comma separated values. Comments will always
begin on a new line and
- * occupy a least one full line. The character specified to star comments
and a space will be
- * inserted at the beginning of each new line in the comment.
- *
- * @param comment the comment to output
- */
- @SuppressWarnings({"fallthrough"})
- public void printlnComment(String comment) throws IOException {
- if (this.strategy.isCommentingDisabled()) {
- return;
- }
- if (!newLine) {
- println();
- }
- out.write(this.strategy.getCommentStart());
- out.write(' ');
- for (int i = 0; i < comment.length(); i++) {
- char c = comment.charAt(i);
- switch (c) {
- case '\r':
- if (i + 1 < comment.length() && comment.charAt(i + 1) == '\n') {
- i++;
- }
- // break intentionally excluded.
- case '\n':
- println();
- out.write(this.strategy.getCommentStart());
- out.write(' ');
- break;
- default:
- out.write(c);
- break;
- }
- }
- println();
- }
-
public void print(char[] value, int offset, int len, boolean checkForEscape)
throws IOException {
if (!checkForEscape) {
printSep();
diff --git a/solr/core/src/java/org/apache/solr/internal/csv/CSVStrategy.java
b/solr/core/src/java/org/apache/solr/internal/csv/CSVStrategy.java
index 98f2d6cbb58..c647bc6240c 100644
--- a/solr/core/src/java/org/apache/solr/internal/csv/CSVStrategy.java
+++ b/solr/core/src/java/org/apache/solr/internal/csv/CSVStrategy.java
@@ -102,8 +102,8 @@ public class CSVStrategy implements Cloneable, Serializable
{
* @param escape a Char used for escaping
* @param ignoreTrailingWhitespaces TRUE when trailing whitespaces should be
ignored
* @param ignoreLeadingWhitespaces TRUE when leading whitespaces should be
ignored
- * @param interpretUnicodeEscapes TRUE when unicode escapes should be
interpreted
- * @param ignoreEmptyLines TRUE when the parser should skip emtpy lines
+ * @param interpretUnicodeEscapes TRUE when Unicode escapes should be
interpreted
+ * @param ignoreEmptyLines TRUE when the parser should skip empty lines
* @param printerNewline The string to use when printing a newline
*/
public CSVStrategy(
@@ -139,10 +139,6 @@ public class CSVStrategy implements Cloneable,
Serializable {
return this.commentStart;
}
- public boolean isCommentingDisabled() {
- return this.commentStart == COMMENTS_DISABLED;
- }
-
public char getEscape() {
return this.escape;
}
diff --git a/solr/core/src/java/org/apache/solr/internal/csv/CSVUtils.java
b/solr/core/src/java/org/apache/solr/internal/csv/CSVUtils.java
index 8bb0ad3703a..76c7922bc9b 100644
--- a/solr/core/src/java/org/apache/solr/internal/csv/CSVUtils.java
+++ b/solr/core/src/java/org/apache/solr/internal/csv/CSVUtils.java
@@ -18,7 +18,6 @@ package org.apache.solr.internal.csv;
import java.io.IOException;
import java.io.StringReader;
-import java.io.StringWriter;
/** Utility methods for dealing with CSV files */
public class CSVUtils {
@@ -33,39 +32,6 @@ public class CSVUtils {
*/
public CSVUtils() {}
- /**
- * Converts an array of string values into a single CSV line. All
<code>null</code> values are
- * converted to the string <code>"null"</code>, all strings equal to
<code>"null"</code> will
- * additionally get quotes around.
- *
- * @param values the value array
- * @return the CSV string, will be an empty string if the length of the
value array is 0
- */
- public static String printLine(String[] values, CSVStrategy strategy) {
- // set up a CSVUtils
- StringWriter stringWriter = new StringWriter();
- CSVPrinter csvPrinter = new CSVPrinter(stringWriter, strategy);
-
- // check for null values an "null" as strings and convert them
- // into the strings "null" and "\"null\""
- for (int i = 0; i < values.length; i++) {
- if (values[i] == null) {
- values[i] = "null";
- } else if (values[i].equals("null")) {
- values[i] = "\"null\"";
- }
- }
-
- // convert to CSV
- try {
- csvPrinter.println(values);
- } catch (IOException e) {
- // should not happen with StringWriter
- }
- // as the resulting string has \r\n at the end, we will trim that away
- return stringWriter.toString().trim();
- }
-
// ======================================================
// static parsers
// ======================================================
@@ -105,7 +71,7 @@ public class CSVUtils {
throw new IllegalArgumentException("Null argument not allowed.");
}
// uh,jh: make sure that parseLine("").length == 0
- if (s.length() == 0) {
+ if (s.isEmpty()) {
return EMPTY_STRING_ARRAY;
}
return (new CSVParser(new StringReader(s))).getLine();
diff --git
a/solr/core/src/java/org/apache/solr/internal/csv/ExtendedBufferedReader.java
b/solr/core/src/java/org/apache/solr/internal/csv/ExtendedBufferedReader.java
index fb7621490ea..fa9266256b9 100644
---
a/solr/core/src/java/org/apache/solr/internal/csv/ExtendedBufferedReader.java
+++
b/solr/core/src/java/org/apache/solr/internal/csv/ExtendedBufferedReader.java
@@ -23,11 +23,11 @@ import java.io.Reader;
/**
* ExtendedBufferedReader
*
- * <p>A special reader decorater which supports more sophisticated access to
the underlying reader
+ * <p>A special reader decorator which supports more sophisticated access to
the underlying reader
* object.
*
* <p>In particular the reader supports a look-ahead option, which allows you
to see the next char
- * returned by next(). Furthermore the skip-method supports skipping until
(but excluding) a given
+ * returned by next(). Furthermore, the skip-method supports skipping until
(but excluding) a given
* char. Similar functionality is supported by the reader as well.
*/
class ExtendedBufferedReader extends BufferedReader {
@@ -98,7 +98,7 @@ class ExtendedBufferedReader extends BufferedReader {
}
/**
- * Non-blocking reading of len chars into buffer buf starting at
bufferposition off.
+ * Non-blocking reading of len chars into buffer buf starting at buffer
position off.
*
* <p>performs an iterative read on the underlying stream as long as the
following conditions
* hold: - less than len chars have been read - end of stream has not been
reached - next read is
@@ -215,7 +215,7 @@ class ExtendedBufferedReader extends BufferedReader {
*
* <p>ATTENTION: invalidates the line-counter !!!!!
*
- * @return nof skiped chars
+ * @return nof skipped chars
*/
@Override
public long skip(long n) throws IllegalArgumentException, IOException {
@@ -235,14 +235,14 @@ class ExtendedBufferedReader extends BufferedReader {
}
// skip and reread the lookahead-char
- long skiped = 0;
+ long skipped = 0;
if (n > 1) {
- skiped = super.skip(n - 1);
+ skipped = super.skip(n - 1);
}
lookaheadChar = super.read();
- // fixme uh: we should check the skiped sequence for line-terminations...
+ // fixme uh: we should check the skipped sequence for line-terminations...
lineCounter = Integer.MIN_VALUE;
- return skiped + 1;
+ return skipped + 1;
}
/**
@@ -269,7 +269,7 @@ class ExtendedBufferedReader extends BufferedReader {
/**
* Returns the next char in the stream without consuming it.
*
- * <p>Remember the next char read by read(..) will always be identical to
lookAhead().
+ * <p>Remember the next char read by read() will always be identical to
lookAhead().
*
* @return the next char (without consuming it) or END_OF_STREAM
*/
@@ -295,7 +295,7 @@ class ExtendedBufferedReader extends BufferedReader {
@Override
public boolean markSupported() {
- /* note uh: marking is not supported, cause we cannot
+ /* note uh: marking is not supported, because we cannot
* see into the future...
*/
return false;
diff --git a/solr/core/src/java/org/apache/solr/logging/LogWatcher.java
b/solr/core/src/java/org/apache/solr/logging/LogWatcher.java
index 30f4f6e2755..c4cd3d763d1 100644
--- a/solr/core/src/java/org/apache/solr/logging/LogWatcher.java
+++ b/solr/core/src/java/org/apache/solr/logging/LogWatcher.java
@@ -68,9 +68,9 @@ public abstract class LogWatcher<E> {
public abstract String getThreshold();
- public void add(E event, long timstamp) {
+ public void add(E event, long timestamp) {
history.add(unmodifiable(toSolrDocument(event)));
- last = timstamp;
+ last = timestamp;
}
/**
diff --git a/solr/core/src/java/org/apache/solr/logging/jul/JulWatcher.java
b/solr/core/src/java/org/apache/solr/logging/jul/JulWatcher.java
index 271e1358fd1..9cb3acc0b0c 100644
--- a/solr/core/src/java/org/apache/solr/logging/jul/JulWatcher.java
+++ b/solr/core/src/java/org/apache/solr/logging/jul/JulWatcher.java
@@ -150,7 +150,7 @@ public class JulWatcher extends LogWatcher<LogRecord> {
doc.setField("time", new Date(event.getMillis()));
doc.setField("level", event.getLevel().toString());
doc.setField("logger", event.getLoggerName());
- doc.setField("message", event.getMessage().toString());
+ doc.setField("message", event.getMessage());
Throwable t = event.getThrown();
if (t != null) {
StringWriter trace = new StringWriter();
diff --git
a/solr/core/src/java/org/apache/solr/logging/log4j2/Log4j2Watcher.java
b/solr/core/src/java/org/apache/solr/logging/log4j2/Log4j2Watcher.java
index 8f0af382e33..51adcf2899b 100644
--- a/solr/core/src/java/org/apache/solr/logging/log4j2/Log4j2Watcher.java
+++ b/solr/core/src/java/org/apache/solr/logging/log4j2/Log4j2Watcher.java
@@ -173,7 +173,7 @@ public class Log4j2Watcher extends LogWatcher<LogEvent> {
LoggerConfig rootConfig = ctx.getConfiguration().getRootLogger();
Map<String, LoggerInfo> map = new HashMap<>(ctx.getLoggers().size());
- // First add the ROOT loger with the ROOT level
+ // First add the ROOT logger with the ROOT level
map.put(
LoggerInfo.ROOT_NAME,
new Log4j2Info(