[ 
https://issues.apache.org/jira/browse/SOLR-16736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17708544#comment-17708544
 ] 

Gus Heck commented on SOLR-16736:
---------------------------------

Ok that sounds good. Having just spent more than half a week sorting through 
266 dependency licenses to ensure clarity on which license is selected and 
compliance with each license's requirements on JesterJ I'm keenly aware of some 
of the cost.  Obviously anything not actually used is definitely good to remove 
that! Replacing with functionality now provided by the JDK is also great since 
the field of folks to find bugs in that is pretty much maximized (though time 
to resolve can be an issue there). Perhaps we can clarify the goal in the title 
to say "with JDK alternatives" rather than "with Java" on these types of 
tickets?

> Replace commons-lang3 usages with Java
> --------------------------------------
>
>                 Key: SOLR-16736
>                 URL: https://issues.apache.org/jira/browse/SOLR-16736
>             Project: Solr
>          Issue Type: Task
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Kevin Risden
>            Assignee: Kevin Risden
>            Priority: Minor
>             Fix For: main (10.0), 9.3
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> 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
> {code:java}
> # 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(
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to