You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Sergey Beryozkin (JIRA)" <ji...@apache.org> on 2016/05/04 13:29:13 UTC

[jira] [Resolved] (CXF-6891) IOUtils.isEmpty() doesn't reinclude byte in stream.

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

Sergey Beryozkin resolved CXF-6891.
-----------------------------------
       Resolution: Fixed
         Assignee: Sergey Beryozkin
    Fix Version/s: 3.2.0
                   3.1.7
                   3.0.10

> IOUtils.isEmpty() doesn't reinclude byte in stream.
> ---------------------------------------------------
>
>                 Key: CXF-6891
>                 URL: https://issues.apache.org/jira/browse/CXF-6891
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS, Tooling
>    Affects Versions: 3.1.6
>            Reporter: Luca Tabone
>            Assignee: Sergey Beryozkin
>             Fix For: 3.0.10, 3.1.7, 3.2.0
>
>         Attachments: cxf-bug.zip
>
>
> While trying to integrate Katharsis with CXF I faced a problem related to IOUtils.isEmpty() method.
> When isEmpty is invoked with an InputStream that:
>     1. Is not 'mark supported' and
>     2. The 'available()' method returns '0'.
> The byte that is read from the stream (used to determine whether the stream is empty or not) is not re-included back to the stream. When I explored the code inside PushbackInputStream class, I found that the byte is only being included inside the PushbackInputStream.buf (using unread(byte[], int, int) method).
> Find attached Maven Project containing 2 test cases.
> References:
>   > IOUtils: https://cxf.apache.org/javadoc/latest/org/apache/cxf/helpers/IOUtils.html
>   > PushbackInputStream: https://docs.oracle.com/javase/7/docs/api/java/io/PushbackInputStream.html
>   > Katharsis.io: http://katharsis.io



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