Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-16736

Replace commons-lang3 usages with Java

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • main (10.0), 9.3
    • None
    • None

    Description

      Done as separate commits:

      • Remove `org.apache.commons.lang3.RandomStringUtils`
      • Remove `StringUtils#join`
      • Replace `StringUtils.leftPad`
      • Replace `ArrayUtils#toPrimitive`
      • Replace `StringUtils#repeat`
      • Misc replacements (startsWith and isEmpty)
      • Replace `StringUtils#split`
      • Replace `ArrayUtils.toObject`
      • Remove `org.apache.commons.lang3.SystemUtils`
      • Remove `ArrayUtils.isEmpty` and `ArrayUtils.isNotEmpty`
      • Replace `StringUtils#equals`
      • Replace `StringUtils.isEmpty` and `StringUtils.isNotEmpty`
      • Replace commons-lang3 builders (hashcode, equals)
      • Remove `startsWith` / `endsWith`
      • Replace `StringUtils.default*`
      • Replace `NumberUtils.isCreatable`
      • Replace `StringUtils.countMatches`
      • Replace `ArrayUtils.add`
      • Replace `StringUtils.contains`
      • Migrate remaining usages to helper methods and forbid new usages of commons-lang3

      This is NOT ready for review yet. This just works down the list of commons lang3 usages and tries to replace them with JDK methods where possible.

      These are remaining:

      • `LocaleUtils` - is there a good replacement? JDK Locale Builder does not work. Moved to LocaleUtils helper class
      • `Object hostnameVerifier = FieldUtils.readField(sslSocketFactory, "hostnameVerifier", true);` - moved to standalone method
      • `StringUtils.containsIgnoresCase` - This should be replaceable.
      • `FastDateFormat` used in HDFS tests
      # git grep -F org.apache.commons.lang3 -- solr
      solr/core/src/java/org/apache/solr/request/SubstringBytesRefFilter.java:    return org.apache.commons.lang3.StringUtils.containsIgnoreCase(str, searchStr);
      solr/core/src/java/org/apache/solr/util/LocaleUtils.java:    return org.apache.commons.lang3.LocaleUtils.toLocale(locale);
      solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsTestUtil.java:      org.apache.commons.lang3.time.FastDateFormat.getInstance().format(System.currentTimeMillis());
      solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpClientUtilTest.java:      return org.apache.commons.lang3.reflect.FieldUtils.readField(
      

      Attachments

        Issue Links

          Activity

            People

              krisden Kevin Risden
              krisden Kevin Risden
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m