[ 
https://issues.apache.org/jira/browse/SOLR-8903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Smiley updated SOLR-8903:
-------------------------------
    Attachment: SOLR_8903.patch

Updated patch which moves DateUtil to the extraction module as 
ExtractionDateUtil.  It depends on SOLR-8904 in that some call sites into 
DateUtil are updated in that patch, not this one now.  DateMathParser is not 
referred to at all.  I also added some tests, ported from DateMathParserTest.

Suggested CHANGES.txt:
{noformat}
(in upgrading)
* SolrJ no longer includes DateUtil.  If for some reason you need to format or 
parse dates, simply use Instant.format() and Instant.parse().

(in other)
* SOLR-8904: DateUtil in SolrJ moved to the extraction contrib as 
ExtractionDateUtil.  Obsolete methods were removed.
{noformat}

> Move SolrJ DateUtil to Extraction module as ExtractionDateUtil
> --------------------------------------------------------------
>
>                 Key: SOLR-8903
>                 URL: https://issues.apache.org/jira/browse/SOLR-8903
>             Project: Solr
>          Issue Type: Task
>          Components: SolrJ
>            Reporter: David Smiley
>            Assignee: David Smiley
>             Fix For: 6.0
>
>         Attachments: SOLR_8903.patch, SOLR_8903_DateUtil_deprecate.patch
>
>
> SolrJ doesn't need a DateUtil class, particularly since we're on Java 8 and 
> can simply use {{new Date(Instant.parse(d).toEpochMilli());}} for parsing and 
> {{DateTimeFormatter.ISO_INSTANT.format(d.toInstant())}} for formatting.  Yes, 
> they are threadsafe.  I propose that we deprecate DateUtil from SolrJ, or 
> perhaps outright remove it from SolrJ for Solr 6.  The only SolrJ calls into 
> this class are to essentially use it to format or parse in the ISO standard 
> format.
> I also think we should move it to the "extraction" (SolrCell) module and name 
> it something like ExtractionDateUtil.  See, this class has a parse method 
> taking a list of formats, and there's a static list of them taken from 
> HttpClient's DateUtil.  DateUtil's original commit was SOLR-284 to be used by 
> SolrCell, and SolrCell wants this feature.  So I think it should move there.
> There are a few other uses:
> * Morphlines uses it, but morphlines depends on the extraction module so it 
> could just as well access it if we move it there.
> * The ValueAugmenterFactory (a doc transformer).  I really doubt whoever 
> added it realized that DateUtil.parseDate would try a bunch of formats 
> instead of only supporting the ISO canonical format.  So I think we should 
> just remove this reference.
> * DateFormatUtil.parseMathLenient falls back on this, and this method is in 
> turn called by just one caller -- DateValueSourceParser, registered as 
> {{ms}}.  I don't think we need leniency in use of this function query; values 
> given to ms should be computer generated in the ISO format.
> ----
> edit: added ms().



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to