My git config --global core.autocrlf is already true... could the file in
Git have been stored with Windows EOLs?

Gary



On Wed, Sep 21, 2016 at 2:05 AM, Benedikt Ritter <brit...@apache.org> wrote:

> Hi Gary,
>
> is you line ending set up correct? See
> https://help.github.com/articles/dealing-with-line-endings/
>
> Can you please revert the commit and then commit only the stuff you wanted
> to change?
>
> Thank you!
> Benedikt
>
> Gary Gregory <garydgreg...@gmail.com> schrieb am Di., 20. Sep. 2016 um
> 17:01 Uhr:
>
> > This annoying :-( it must be an EOL thing.
> >
> > Gary
> >
> > On Sep 20, 2016 7:18 AM, "Matt Sicker" <boa...@gmail.com> wrote:
> >
> > > Did the line ending change?
> > >
> > > On 20 September 2016 at 01:59, Benedikt Ritter <brit...@apache.org>
> > wrote:
> > >
> > > > Hello Gary,
> > > >
> > > > why has the whole file changed?
> > > >
> > > > Regards,
> > > > Benedikt
> > > >
> > > > <ggreg...@apache.org> schrieb am Di., 20. Sep. 2016 um 07:40 Uhr:
> > > >
> > > > > Repository: commons-io
> > > > > Updated Branches:
> > > > >   refs/heads/master 9ba9b49af -> 822bd135f
> > > > >
> > > > >
> > > > > Remove redundant type arguments.
> > > > >
> > > > > Project: http://git-wip-us.apache.org/repos/asf/commons-io/repo
> > > > > Commit: http://git-wip-us.apache.org/repos/asf/commons-io/commit/
> > > > 822bd135
> > > > > Tree:
> > http://git-wip-us.apache.org/repos/asf/commons-io/tree/822bd135
> > > > > Diff:
> > http://git-wip-us.apache.org/repos/asf/commons-io/diff/822bd135
> > > > >
> > > > > Branch: refs/heads/master
> > > > > Commit: 822bd135f3a54b8fbeb23c313535b13c18198c3a
> > > > > Parents: 9ba9b49
> > > > > Author: Gary Gregory <ggreg...@apache.org>
> > > > > Authored: Mon Sep 19 22:40:29 2016 -0700
> > > > > Committer: Gary Gregory <ggreg...@apache.org>
> > > > > Committed: Mon Sep 19 22:40:29 2016 -0700
> > > > >
> > > > >
> > ----------------------------------------------------------------------
> > > > >  .../commons/io/input/ObservableInputStream.java | 476
> > > > +++++++++----------
> > > > >  1 file changed, 238 insertions(+), 238 deletions(-)
> > > > >
> > ----------------------------------------------------------------------
> > > > >
> > > > >
> > > > >
> > > > > http://git-wip-us.apache.org/repos/asf/commons-io/blob/
> > > > 822bd135/src/main/java/org/apache/commons/io/input/
> > > > ObservableInputStream.java
> > > > >
> > ----------------------------------------------------------------------
> > > > > diff --git
> > > > >
> > a/src/main/java/org/apache/commons/io/input/ObservableInputStream.java
> > > > >
> > b/src/main/java/org/apache/commons/io/input/ObservableInputStream.java
> > > > > index 7d13472..c580ba4 100644
> > > > > --- a/src/main/java/org/apache/commons/io/input/
> > > > ObservableInputStream.java
> > > > > +++ b/src/main/java/org/apache/commons/io/input/
> > > > ObservableInputStream.java
> > > > > @@ -1,238 +1,238 @@
> > > > > -/*
> > > > > - * Licensed to the Apache Software Foundation (ASF) under one or
> > more
> > > > > - * contributor license agreements.  See the NOTICE file
> distributed
> > > with
> > > > > - * this work for additional information regarding copyright
> > ownership.
> > > > > - * The ASF licenses this file to You under the Apache License,
> > Version
> > > > 2.0
> > > > > - * (the "License"); you may not use this file except in compliance
> > > with
> > > > > - * the License.  You may obtain a copy of the License at
> > > > > - *
> > > > > - *      http://www.apache.org/licenses/LICENSE-2.0
> > > > > - *
> > > > > - * Unless required by applicable law or agreed to in writing,
> > software
> > > > > - * distributed under the License is distributed on an "AS IS"
> BASIS,
> > > > > - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> > > > > implied.
> > > > > - * See the License for the specific language governing permissions
> > and
> > > > > - * limitations under the License.
> > > > > - */
> > > > > -package org.apache.commons.io.input;
> > > > > -
> > > > > -import java.io.IOException;
> > > > > -import java.io.InputStream;
> > > > > -import java.security.MessageDigest;
> > > > > -import java.util.ArrayList;
> > > > > -import java.util.List;
> > > > > -
> > > > > -
> > > > > -/**
> > > > > - * The {@link ObservableInputStream} allows, that an InputStream
> may
> > > be
> > > > > consumed
> > > > > - * by other receivers, apart from the thread, which is reading it.
> > > > > - * The other consumers are implemented as instances of {@link
> > > > Observer}. A
> > > > > - * typical application may be the generation of a {@link
> > > MessageDigest}
> > > > > on the
> > > > > - * fly.
> > > > > - * {@code Note}: The {@link ObservableInputStream} is <em>not</em>
> > > > thread
> > > > > safe,
> > > > > - * as instances of InputStream usually aren't.
> > > > > - * If you must access the stream from multiple threads, then
> > > > > synchronization, locking,
> > > > > - * or a similar means must be used.
> > > > > - * @see MessageDigestCalculatingInputStream
> > > > > - */
> > > > > -public class ObservableInputStream extends ProxyInputStream {
> > > > > -    public static abstract class Observer {
> > > > > -        /** Called to indicate, that {@link InputStream#read()}
> has
> > > been
> > > > > invoked
> > > > > -         * on the {@link ObservableInputStream}, and will return a
> > > > value.
> > > > > -         * @param pByte The value, which is being returned. This
> > will
> > > > > never be -1 (EOF),
> > > > > -         *    because, in that case, {link #finished()} will be
> > > invoked
> > > > > instead.
> > > > > -         */
> > > > > -        void data(int pByte) throws IOException {}
> > > > > -        /** Called to indicate, that {@link
> > InputStream#read(byte[])},
> > > > or
> > > > > -         * {@link InputStream#read(byte[], int, int)} have been
> > > called,
> > > > > and are about to
> > > > > -         * invoke data.
> > > > > -         * @param pBuffer The byte array, which has been passed to
> > the
> > > > > read call, and where
> > > > > -         *   data has been stored.
> > > > > -         * @param pOffset The offset within the byte array, where
> > data
> > > > > has been stored.
> > > > > -         * @param pLength The number of bytes, which have been
> > stored
> > > in
> > > > > the byte array.
> > > > > -         */
> > > > > -        void data(byte[] pBuffer, int pOffset, int pLength) throws
> > > > > IOException {}
> > > > > -        /** Called to indicate, that EOF has been seen on the
> > > underlying
> > > > > stream.
> > > > > -         * This method may be called multiple times, if the reader
> > > keeps
> > > > > invoking
> > > > > -         * either of the read methods, and they will consequently
> > keep
> > > > > returning
> > > > > -         * EOF.
> > > > > -         */
> > > > > -        void finished() throws IOException {}
> > > > > -        /** Called to indicate, that the {@link
> > ObservableInputStream}
> > > > > has been closed.
> > > > > -         */
> > > > > -        void closed() throws IOException {}
> > > > > -        /**
> > > > > -         * Called to indicate, that an error occurred on the
> > > underlying
> > > > > stream.
> > > > > -         */
> > > > > -        void error(IOException pException) throws IOException {
> > throw
> > > > > pException; }
> > > > > -    }
> > > > > -
> > > > > -    private final List<Observer> observers = new
> > > ArrayList<Observer>();
> > > > > -
> > > > > -    public ObservableInputStream(InputStream pProxy) {
> > > > > -        super(pProxy);
> > > > > -    }
> > > > > -
> > > > > -    public void add(Observer pObserver) {
> > > > > -        observers.add(pObserver);
> > > > > -    }
> > > > > -
> > > > > -    public void remove(Observer pObserver) {
> > > > > -        observers.remove(pObserver);
> > > > > -    }
> > > > > -
> > > > > -    public void removeAllObservers() {
> > > > > -        observers.clear();
> > > > > -    }
> > > > > -
> > > > > -    @Override
> > > > > -    public int read() throws IOException {
> > > > > -        int result = 0;
> > > > > -        IOException ioe = null;
> > > > > -        try {
> > > > > -            result = super.read();
> > > > > -        } catch (IOException pException) {
> > > > > -            ioe = pException;
> > > > > -        }
> > > > > -        if (ioe != null) {
> > > > > -            noteError(ioe);
> > > > > -        } else if (result == -1) {
> > > > > -            noteFinished();
> > > > > -        } else {
> > > > > -            noteDataByte(result);
> > > > > -        }
> > > > > -        return result;
> > > > > -    }
> > > > > -
> > > > > -    @Override
> > > > > -    public int read(byte[] pBuffer) throws IOException {
> > > > > -        int result = 0;
> > > > > -        IOException ioe = null;
> > > > > -        try {
> > > > > -            result = super.read(pBuffer);
> > > > > -        } catch (IOException pException) {
> > > > > -            ioe = pException;
> > > > > -        }
> > > > > -        if (ioe != null) {
> > > > > -            noteError(ioe);
> > > > > -        } else if (result == -1) {
> > > > > -            noteFinished();
> > > > > -        } else if (result > 0) {
> > > > > -            noteDataBytes(pBuffer, 0, result);
> > > > > -        }
> > > > > -        return result;
> > > > > -    }
> > > > > -
> > > > > -    @Override
> > > > > -    public int read(byte[] pBuffer, int pOffset, int pLength)
> throws
> > > > > IOException {
> > > > > -        int result = 0;
> > > > > -        IOException ioe = null;
> > > > > -        try {
> > > > > -            result = super.read(pBuffer, pOffset, pLength);
> > > > > -        } catch (IOException pException) {
> > > > > -            ioe = pException;
> > > > > -        }
> > > > > -        if (ioe != null) {
> > > > > -            noteError(ioe);
> > > > > -        } else if (result == -1) {
> > > > > -            noteFinished();
> > > > > -        } else if (result > 0) {
> > > > > -            noteDataBytes(pBuffer, pOffset, result);
> > > > > -        }
> > > > > -        return result;
> > > > > -    }
> > > > > -
> > > > > -    /** Notifies the observers by invoking {@link
> > > > > Observer#data(byte[],int,int)}
> > > > > -     * with the given arguments.
> > > > > -     * @param pBuffer Passed to the observers.
> > > > > -     * @param pOffset Passed to the observers.
> > > > > -     * @param pLength Passed to the observers.
> > > > > -     * @throws IOException Some observer has thrown an exception,
> > > which
> > > > > is being
> > > > > -     *   passed down.
> > > > > -     */
> > > > > -    protected void noteDataBytes(byte[] pBuffer, int pOffset, int
> > > > > pLength) throws IOException {
> > > > > -        for (Observer observer : getObservers()) {
> > > > > -            observer.data(pBuffer, pOffset, pLength);
> > > > > -        }
> > > > > -    }
> > > > > -
> > > > > -    /** Notifies the observers by invoking {@link
> > > Observer#finished()}.
> > > > > -     * @throws IOException Some observer has thrown an exception,
> > > which
> > > > > is being
> > > > > -     *   passed down.
> > > > > -     */
> > > > > -    protected void noteFinished() throws IOException {
> > > > > -        for (Observer observer : getObservers()) {
> > > > > -            observer.finished();
> > > > > -        }
> > > > > -    }
> > > > > -
> > > > > -    /** Notifies the observers by invoking {@link
> > Observer#data(int)}
> > > > > -     * with the given arguments.
> > > > > -     * @param pDataByte Passed to the observers.
> > > > > -     * @throws IOException Some observer has thrown an exception,
> > > which
> > > > > is being
> > > > > -     *   passed down.
> > > > > -     */
> > > > > -    protected void noteDataByte(int pDataByte) throws IOException
> {
> > > > > -        for (Observer observer : getObservers()) {
> > > > > -            observer.data(pDataByte);
> > > > > -        }
> > > > > -    }
> > > > > -
> > > > > -    /** Notifies the observers by invoking {@link
> > > > > Observer#error(IOException)}
> > > > > -     * with the given argument.
> > > > > -     * @param pException Passed to the observers.
> > > > > -     * @throws IOException Some observer has thrown an exception,
> > > which
> > > > > is being
> > > > > -     *   passed down. This may be the same exception, which has
> been
> > > > > passed as an
> > > > > -     *   argument.
> > > > > -     */
> > > > > -    protected void noteError(IOException pException) throws
> > > IOException
> > > > {
> > > > > -        for (Observer observer : getObservers()) {
> > > > > -            observer.error(pException);
> > > > > -        }
> > > > > -    }
> > > > > -
> > > > > -    /** Notifies the observers by invoking {@link
> > > Observer#finished()}.
> > > > > -     * @throws IOException Some observer has thrown an exception,
> > > which
> > > > > is being
> > > > > -     *   passed down.
> > > > > -     */
> > > > > -    protected void noteClosed() throws IOException {
> > > > > -        for (Observer observer : getObservers()) {
> > > > > -            observer.closed();
> > > > > -        }
> > > > > -    }
> > > > > -
> > > > > -    protected List<Observer> getObservers() {
> > > > > -        return observers;
> > > > > -    }
> > > > > -
> > > > > -    @Override
> > > > > -    public void close() throws IOException {
> > > > > -        IOException ioe = null;
> > > > > -        try {
> > > > > -            super.close();
> > > > > -        } catch (IOException e) {
> > > > > -            ioe = e;
> > > > > -        }
> > > > > -        if (ioe == null) {
> > > > > -            noteClosed();
> > > > > -        } else {
> > > > > -            noteError(ioe);
> > > > > -        }
> > > > > -    }
> > > > > -
> > > > > -    /** Reads all data from the underlying {@link InputStream},
> > while
> > > > > notifying the
> > > > > -     * observers.
> > > > > -     * @throws IOException The underlying {@link InputStream}, or
> > > either
> > > > > of the
> > > > > -     *   observers has thrown an exception.
> > > > > -     */
> > > > > -    public void consume() throws IOException {
> > > > > -        final byte[] buffer = new byte[8192];
> > > > > -        for (;;) {
> > > > > -            final int res = read(buffer);
> > > > > -            if (res == -1) {
> > > > > -                return;
> > > > > -            }
> > > > > -        }
> > > > > -    }
> > > > > -
> > > > > -}
> > > > > +/*
> > > > > + * Licensed to the Apache Software Foundation (ASF) under one or
> > more
> > > > > + * contributor license agreements.  See the NOTICE file
> distributed
> > > with
> > > > > + * this work for additional information regarding copyright
> > ownership.
> > > > > + * The ASF licenses this file to You under the Apache License,
> > Version
> > > > 2.0
> > > > > + * (the "License"); you may not use this file except in compliance
> > > with
> > > > > + * the License.  You may obtain a copy of the License at
> > > > > + *
> > > > > + *      http://www.apache.org/licenses/LICENSE-2.0
> > > > > + *
> > > > > + * Unless required by applicable law or agreed to in writing,
> > software
> > > > > + * distributed under the License is distributed on an "AS IS"
> BASIS,
> > > > > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> > > > > implied.
> > > > > + * See the License for the specific language governing permissions
> > and
> > > > > + * limitations under the License.
> > > > > + */
> > > > > +package org.apache.commons.io.input;
> > > > > +
> > > > > +import java.io.IOException;
> > > > > +import java.io.InputStream;
> > > > > +import java.security.MessageDigest;
> > > > > +import java.util.ArrayList;
> > > > > +import java.util.List;
> > > > > +
> > > > > +
> > > > > +/**
> > > > > + * The {@link ObservableInputStream} allows, that an InputStream
> may
> > > be
> > > > > consumed
> > > > > + * by other receivers, apart from the thread, which is reading it.
> > > > > + * The other consumers are implemented as instances of {@link
> > > > Observer}. A
> > > > > + * typical application may be the generation of a {@link
> > > MessageDigest}
> > > > > on the
> > > > > + * fly.
> > > > > + * {@code Note}: The {@link ObservableInputStream} is <em>not</em>
> > > > thread
> > > > > safe,
> > > > > + * as instances of InputStream usually aren't.
> > > > > + * If you must access the stream from multiple threads, then
> > > > > synchronization, locking,
> > > > > + * or a similar means must be used.
> > > > > + * @see MessageDigestCalculatingInputStream
> > > > > + */
> > > > > +public class ObservableInputStream extends ProxyInputStream {
> > > > > +    public static abstract class Observer {
> > > > > +        /** Called to indicate, that {@link InputStream#read()}
> has
> > > been
> > > > > invoked
> > > > > +         * on the {@link ObservableInputStream}, and will return a
> > > > value.
> > > > > +         * @param pByte The value, which is being returned. This
> > will
> > > > > never be -1 (EOF),
> > > > > +         *    because, in that case, {link #finished()} will be
> > > invoked
> > > > > instead.
> > > > > +         */
> > > > > +        void data(int pByte) throws IOException {}
> > > > > +        /** Called to indicate, that {@link
> > InputStream#read(byte[])},
> > > > or
> > > > > +         * {@link InputStream#read(byte[], int, int)} have been
> > > called,
> > > > > and are about to
> > > > > +         * invoke data.
> > > > > +         * @param pBuffer The byte array, which has been passed to
> > the
> > > > > read call, and where
> > > > > +         *   data has been stored.
> > > > > +         * @param pOffset The offset within the byte array, where
> > data
> > > > > has been stored.
> > > > > +         * @param pLength The number of bytes, which have been
> > stored
> > > in
> > > > > the byte array.
> > > > > +         */
> > > > > +        void data(byte[] pBuffer, int pOffset, int pLength) throws
> > > > > IOException {}
> > > > > +        /** Called to indicate, that EOF has been seen on the
> > > underlying
> > > > > stream.
> > > > > +         * This method may be called multiple times, if the reader
> > > keeps
> > > > > invoking
> > > > > +         * either of the read methods, and they will consequently
> > keep
> > > > > returning
> > > > > +         * EOF.
> > > > > +         */
> > > > > +        void finished() throws IOException {}
> > > > > +        /** Called to indicate, that the {@link
> > ObservableInputStream}
> > > > > has been closed.
> > > > > +         */
> > > > > +        void closed() throws IOException {}
> > > > > +        /**
> > > > > +         * Called to indicate, that an error occurred on the
> > > underlying
> > > > > stream.
> > > > > +         */
> > > > > +        void error(IOException pException) throws IOException {
> > throw
> > > > > pException; }
> > > > > +    }
> > > > > +
> > > > > +    private final List<Observer> observers = new ArrayList<>();
> > > > > +
> > > > > +    public ObservableInputStream(InputStream pProxy) {
> > > > > +        super(pProxy);
> > > > > +    }
> > > > > +
> > > > > +    public void add(Observer pObserver) {
> > > > > +        observers.add(pObserver);
> > > > > +    }
> > > > > +
> > > > > +    public void remove(Observer pObserver) {
> > > > > +        observers.remove(pObserver);
> > > > > +    }
> > > > > +
> > > > > +    public void removeAllObservers() {
> > > > > +        observers.clear();
> > > > > +    }
> > > > > +
> > > > > +    @Override
> > > > > +    public int read() throws IOException {
> > > > > +        int result = 0;
> > > > > +        IOException ioe = null;
> > > > > +        try {
> > > > > +            result = super.read();
> > > > > +        } catch (IOException pException) {
> > > > > +            ioe = pException;
> > > > > +        }
> > > > > +        if (ioe != null) {
> > > > > +            noteError(ioe);
> > > > > +        } else if (result == -1) {
> > > > > +            noteFinished();
> > > > > +        } else {
> > > > > +            noteDataByte(result);
> > > > > +        }
> > > > > +        return result;
> > > > > +    }
> > > > > +
> > > > > +    @Override
> > > > > +    public int read(byte[] pBuffer) throws IOException {
> > > > > +        int result = 0;
> > > > > +        IOException ioe = null;
> > > > > +        try {
> > > > > +            result = super.read(pBuffer);
> > > > > +        } catch (IOException pException) {
> > > > > +            ioe = pException;
> > > > > +        }
> > > > > +        if (ioe != null) {
> > > > > +            noteError(ioe);
> > > > > +        } else if (result == -1) {
> > > > > +            noteFinished();
> > > > > +        } else if (result > 0) {
> > > > > +            noteDataBytes(pBuffer, 0, result);
> > > > > +        }
> > > > > +        return result;
> > > > > +    }
> > > > > +
> > > > > +    @Override
> > > > > +    public int read(byte[] pBuffer, int pOffset, int pLength)
> throws
> > > > > IOException {
> > > > > +        int result = 0;
> > > > > +        IOException ioe = null;
> > > > > +        try {
> > > > > +            result = super.read(pBuffer, pOffset, pLength);
> > > > > +        } catch (IOException pException) {
> > > > > +            ioe = pException;
> > > > > +        }
> > > > > +        if (ioe != null) {
> > > > > +            noteError(ioe);
> > > > > +        } else if (result == -1) {
> > > > > +            noteFinished();
> > > > > +        } else if (result > 0) {
> > > > > +            noteDataBytes(pBuffer, pOffset, result);
> > > > > +        }
> > > > > +        return result;
> > > > > +    }
> > > > > +
> > > > > +    /** Notifies the observers by invoking {@link
> > > > > Observer#data(byte[],int,int)}
> > > > > +     * with the given arguments.
> > > > > +     * @param pBuffer Passed to the observers.
> > > > > +     * @param pOffset Passed to the observers.
> > > > > +     * @param pLength Passed to the observers.
> > > > > +     * @throws IOException Some observer has thrown an exception,
> > > which
> > > > > is being
> > > > > +     *   passed down.
> > > > > +     */
> > > > > +    protected void noteDataBytes(byte[] pBuffer, int pOffset, int
> > > > > pLength) throws IOException {
> > > > > +        for (Observer observer : getObservers()) {
> > > > > +            observer.data(pBuffer, pOffset, pLength);
> > > > > +        }
> > > > > +    }
> > > > > +
> > > > > +    /** Notifies the observers by invoking {@link
> > > Observer#finished()}.
> > > > > +     * @throws IOException Some observer has thrown an exception,
> > > which
> > > > > is being
> > > > > +     *   passed down.
> > > > > +     */
> > > > > +    protected void noteFinished() throws IOException {
> > > > > +        for (Observer observer : getObservers()) {
> > > > > +            observer.finished();
> > > > > +        }
> > > > > +    }
> > > > > +
> > > > > +    /** Notifies the observers by invoking {@link
> > Observer#data(int)}
> > > > > +     * with the given arguments.
> > > > > +     * @param pDataByte Passed to the observers.
> > > > > +     * @throws IOException Some observer has thrown an exception,
> > > which
> > > > > is being
> > > > > +     *   passed down.
> > > > > +     */
> > > > > +    protected void noteDataByte(int pDataByte) throws IOException
> {
> > > > > +        for (Observer observer : getObservers()) {
> > > > > +            observer.data(pDataByte);
> > > > > +        }
> > > > > +    }
> > > > > +
> > > > > +    /** Notifies the observers by invoking {@link
> > > > > Observer#error(IOException)}
> > > > > +     * with the given argument.
> > > > > +     * @param pException Passed to the observers.
> > > > > +     * @throws IOException Some observer has thrown an exception,
> > > which
> > > > > is being
> > > > > +     *   passed down. This may be the same exception, which has
> been
> > > > > passed as an
> > > > > +     *   argument.
> > > > > +     */
> > > > > +    protected void noteError(IOException pException) throws
> > > IOException
> > > > {
> > > > > +        for (Observer observer : getObservers()) {
> > > > > +            observer.error(pException);
> > > > > +        }
> > > > > +    }
> > > > > +
> > > > > +    /** Notifies the observers by invoking {@link
> > > Observer#finished()}.
> > > > > +     * @throws IOException Some observer has thrown an exception,
> > > which
> > > > > is being
> > > > > +     *   passed down.
> > > > > +     */
> > > > > +    protected void noteClosed() throws IOException {
> > > > > +        for (Observer observer : getObservers()) {
> > > > > +            observer.closed();
> > > > > +        }
> > > > > +    }
> > > > > +
> > > > > +    protected List<Observer> getObservers() {
> > > > > +        return observers;
> > > > > +    }
> > > > > +
> > > > > +    @Override
> > > > > +    public void close() throws IOException {
> > > > > +        IOException ioe = null;
> > > > > +        try {
> > > > > +            super.close();
> > > > > +        } catch (IOException e) {
> > > > > +            ioe = e;
> > > > > +        }
> > > > > +        if (ioe == null) {
> > > > > +            noteClosed();
> > > > > +        } else {
> > > > > +            noteError(ioe);
> > > > > +        }
> > > > > +    }
> > > > > +
> > > > > +    /** Reads all data from the underlying {@link InputStream},
> > while
> > > > > notifying the
> > > > > +     * observers.
> > > > > +     * @throws IOException The underlying {@link InputStream}, or
> > > either
> > > > > of the
> > > > > +     *   observers has thrown an exception.
> > > > > +     */
> > > > > +    public void consume() throws IOException {
> > > > > +        final byte[] buffer = new byte[8192];
> > > > > +        for (;;) {
> > > > > +            final int res = read(buffer);
> > > > > +            if (res == -1) {
> > > > > +                return;
> > > > > +            }
> > > > > +        }
> > > > > +    }
> > > > > +
> > > > > +}
> > > > >
> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Matt Sicker <boa...@gmail.com>
> > >
> >
>



-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to