You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/12/03 09:51:00 UTC

[jira] [Commented] (TOMEE-2233) DateTimeParseException Regression when upgrading to TomEE 7.1.0

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

ASF GitHub Bot commented on TOMEE-2233:
---------------------------------------

GitHub user rzo1 opened a pull request:

    https://github.com/apache/tomee/pull/227

    TOMEE-2233 - Custom Configuration of TomEEJsonbProvider

    **Summary**
    
    Provides support for custom configuration of  `TomEEJsonbProvider` (see https://issues.apache.org/jira/browse/TOMEE-2233) in order to migrate from a custom `TomEEConfigurableJohnzon`.
    
    This was merged into 7.1.x branch (see https://github.com/apache/tomee/pull/162) only, but also affect **8.x.x**.
    
    **Example configuration via `resources.xml`**
    
    ```
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <Service id="configuredTomEEJsonbProvider" class-name="org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider">
            dateFormat = yyyy-MM-dd'T'HH:mm:ss.SSSZ
            locale = @germanLocale
            accessMode = @fieldAccessMode
            nullValues = false
        </Service>
    
        <Resource id="germanLocale" class-name="java.util.Locale" constructor="language,country">
            language = de
            country = DE
        </Resource>
    
        <Resource id="fieldAccessMode" class-name="org.apache.johnzon.mapper.access.FieldAccessMode" constructor="useConstructor,acceptHiddenConstructor">
            useConstructor = true
            acceptHiddenConstructor = true
        </Resource>
    </resources>
    ```

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/rzo1/tomee tomee-8.x.x-TOMEE-2233

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/tomee/pull/227.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #227
    
----
commit 88b8ef487a17db8cbebe88b7af1538a036fbe8f1
Author: rzo1 <ri...@...>
Date:   2018-09-12T11:58:02Z

    TOMEE-2233 adds support for configuration of dateFormat, locale and accessMode to TomEEJsonbProvider

commit d5a1b06e629c9792775b88c7e14c3b0be0f570f4
Author: rzo1 <ri...@...>
Date:   2018-09-12T12:32:09Z

    TOMEE-2233 adds a test-case for custom configuration of TomEEJsonbProvider

commit 46873a5982b4de0001f47e52a8644298503ff023
Author: rzo1 <ri...@...>
Date:   2018-12-03T09:44:38Z

    Merge remote-tracking branch 'origin/master' into tomee-8.x.x-TOMEE-2233

commit 14d1e7990abeb9cd4b4a059563c140403d82e21a
Author: rzo1 <ri...@...>
Date:   2018-12-03T09:48:30Z

    TOMEE-2233 Adjusts test-case dateFormat

----


> DateTimeParseException Regression when upgrading to TomEE 7.1.0
> ---------------------------------------------------------------
>
>                 Key: TOMEE-2233
>                 URL: https://issues.apache.org/jira/browse/TOMEE-2233
>             Project: TomEE
>          Issue Type: Bug
>          Components: TomEE Core Server
>    Affects Versions: 7.1
>         Environment: TomEE 7.1.0 (embedded, plus...), OpenJDK 8, 10, Windows 10 & MacOs 10.13
>            Reporter: Martin Wiesner
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 7.1.1
>
>
> When upgrading to TomEE 7.1.0 from 7.0.5, we encounter a regression. We observe an unexpected behaviour with _JSON date format parsing_ which was working correctly (as configured) in TomEE 7.0.5.
> It can be reproduced in several of our projects, see stack trace below.
> {code:java}
> Caused by: javax.json.bind.JsonbException: Text '20180910121456+0200' could not be parsed at index 0
> at org.apache.johnzon.jsonb.JohnzonJsonb.fromJson(JohnzonJsonb.java:200)
> at org.apache.johnzon.jaxrs.jsonb.jaxrs.JsonbJaxrsProvider.readFrom(JsonbJaxrsProvider.java:165)
> at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBodyReader(JAXRSUtils.java:1379)
> at org.apache.cxf.jaxrs.impl.ResponseImpl.doReadEntity(ResponseImpl.java:377)
> ... 57 more
> Caused by: org.apache.johnzon.mapper.MapperException: Text '20180910121456+0200' could not be parsed at index 0
> at org.apache.johnzon.mapper.MappingParserImpl.toValue(MappingParserImpl.java:716)
> at org.apache.johnzon.mapper.MappingParserImpl.buildObject(MappingParserImpl.java:347)
> at org.apache.johnzon.mapper.MappingParserImpl.readObject(MappingParserImpl.java:150)
> at org.apache.johnzon.mapper.MappingParserImpl.readObject(MappingParserImpl.java:142)
> at org.apache.johnzon.mapper.MappingParserImpl.readObject(MappingParserImpl.java:129)
> at org.apache.johnzon.mapper.Mapper.mapObject(Mapper.java:310)
> at org.apache.johnzon.mapper.Mapper.readObject(Mapper.java:228)
> at org.apache.johnzon.jsonb.JohnzonJsonb.fromJson(JohnzonJsonb.java:194)
> ... 60 more
> Caused by: java.time.format.DateTimeParseException: Text '20180910121456+0200' could not be parsed at index 0
> at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
> at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
> at java.time.LocalDateTime.parse(LocalDateTime.java:492)
> at java.time.LocalDateTime.parse(LocalDateTime.java:477)
> at org.apache.johnzon.jsonb.JohnzonBuilder$7.fromString(JohnzonBuilder.java:487)
> at org.apache.johnzon.jsonb.JohnzonBuilder$7.fromString(JohnzonBuilder.java:479)
> at org.apache.johnzon.mapper.internal.ConverterAdapter.to(ConverterAdapter.java:37)
> at org.apache.johnzon.mapper.internal.ConverterAdapter.to(ConverterAdapter.java:24)
> at org.apache.johnzon.mapper.MappingParserImpl.toValue(MappingParserImpl.java:710)
> ... 67 more{code}
>  
> MWE on GitHub will follow shortly via comment.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)