On Mon, Apr 6, 2020 at 3:34 PM <ebo...@apache.org> wrote:

> This is an automated email from the ASF dual-hosted git repository.
>
> ebourg pushed a commit to branch master
> in repository
> https://gitbox.apache.org/repos/asf/tomcat-jakartaee-migration.git
>
> commit 29ea1891489060f3b3e40259098def5ae47645ef
> Author: Emmanuel Bourg <ebo...@apache.org>
> AuthorDate: Mon Apr 6 15:24:35 2020 +0200
>
>     Replaced NonClosing{In,Out}putStream with the equivalent classes from
> Commons IO
>

Ah, the beauty of having Maven. Actual benefit: zero. Trouble with updating
dependencies: one. Possible incompatibilities: one.
So I think it's a total of -2 for the commit.

Rémy


> ---
>  pom.xml                                            |  5 ++
>  .../org/apache/tomcat/jakartaee/Migration.java     |  7 +-
>  .../tomcat/jakartaee/NonClosingInputStream.java    | 84
> ----------------------
>  .../tomcat/jakartaee/NonClosingOutputStream.java   | 60 ----------------
>  4 files changed, 10 insertions(+), 146 deletions(-)
>
> diff --git a/pom.xml b/pom.xml
> index cf7f18b..ab74cfe 100644
> --- a/pom.xml
> +++ b/pom.xml
> @@ -71,6 +71,11 @@
>        <artifactId>bcel</artifactId>
>        <version>6.4.1</version>
>      </dependency>
> +    <dependency>
> +      <groupId>commons-io</groupId>
> +      <artifactId>commons-io</artifactId>
> +      <version>2.6</version>
> +    </dependency>
>    </dependencies>
>
>    <build>
> diff --git a/src/main/java/org/apache/tomcat/jakartaee/Migration.java
> b/src/main/java/org/apache/tomcat/jakartaee/Migration.java
> index 734ebd8..5d8fdf1 100644
> --- a/src/main/java/org/apache/tomcat/jakartaee/Migration.java
> +++ b/src/main/java/org/apache/tomcat/jakartaee/Migration.java
> @@ -36,6 +36,9 @@ import java.util.jar.Manifest;
>  import java.util.logging.Level;
>  import java.util.logging.Logger;
>
> +import org.apache.commons.io.input.CloseShieldInputStream;
> +import org.apache.commons.io.output.CloseShieldOutputStream;
> +
>  public class Migration {
>
>      private static final Logger logger =
> Logger.getLogger(Migration.class.getCanonicalName());
> @@ -131,8 +134,8 @@ public class Migration {
>
>      private boolean migrateArchive(InputStream src, OutputStream dest)
> throws IOException {
>          boolean result = true;
> -        try (JarInputStream jarIs = new JarInputStream(new
> NonClosingInputStream(src));
> -                JarOutputStream jarOs = new JarOutputStream(new
> NonClosingOutputStream(dest))) {
> +        try (JarInputStream jarIs = new JarInputStream(new
> CloseShieldInputStream(src));
> +                JarOutputStream jarOs = new JarOutputStream(new
> CloseShieldOutputStream(dest))) {
>              Manifest manifest = jarIs.getManifest();
>              if (manifest != null) {
>                  // Make a safe copy to leave original manifest untouched.
> diff --git
> a/src/main/java/org/apache/tomcat/jakartaee/NonClosingInputStream.java
> b/src/main/java/org/apache/tomcat/jakartaee/NonClosingInputStream.java
> deleted file mode 100644
> index 53f883c..0000000
> --- a/src/main/java/org/apache/tomcat/jakartaee/NonClosingInputStream.java
> +++ /dev/null
> @@ -1,84 +0,0 @@
> -/*
> - * 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.tomcat.jakartaee;
> -
> -import java.io.IOException;
> -import java.io.InputStream;
> -
> -public class NonClosingInputStream extends InputStream {
> -
> -    private InputStream wrapped;
> -
> -
> -    public NonClosingInputStream(InputStream wrapped) {
> -        this.wrapped = wrapped;
> -    }
> -
> -
> -    @Override
> -    public int read() throws IOException {
> -        return wrapped.read();
> -    }
> -
> -
> -    @Override
> -    public int read(byte[] b) throws IOException {
> -        return wrapped.read(b);
> -    }
> -
> -
> -    @Override
> -    public int read(byte[] b, int off, int len) throws IOException {
> -        return wrapped.read(b, off, len);
> -    }
> -
> -
> -    @Override
> -    public long skip(long n) throws IOException {
> -        return wrapped.skip(n);
> -    }
> -
> -
> -    @Override
> -    public int available() throws IOException {
> -        return wrapped.available();
> -    }
> -
> -
> -    @Override
> -    public void close() throws IOException {
> -        // NO-OP
> -    }
> -
> -
> -    @Override
> -    public synchronized void mark(int readlimit) {
> -        wrapped.mark(readlimit);
> -    }
> -
> -
> -    @Override
> -    public synchronized void reset() throws IOException {
> -        wrapped.reset();
> -    }
> -
> -
> -    @Override
> -    public boolean markSupported() {
> -        return wrapped.markSupported();
> -    }
> -}
> diff --git
> a/src/main/java/org/apache/tomcat/jakartaee/NonClosingOutputStream.java
> b/src/main/java/org/apache/tomcat/jakartaee/NonClosingOutputStream.java
> deleted file mode 100644
> index b4ee198..0000000
> --- a/src/main/java/org/apache/tomcat/jakartaee/NonClosingOutputStream.java
> +++ /dev/null
> @@ -1,60 +0,0 @@
> -/*
> - * 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.tomcat.jakartaee;
> -
> -import java.io.IOException;
> -import java.io.OutputStream;
> -
> -public class NonClosingOutputStream extends OutputStream {
> -
> -    private OutputStream wrapped;
> -
> -
> -    public NonClosingOutputStream(OutputStream wrapped) {
> -        this.wrapped = wrapped;
> -    }
> -
> -
> -    @Override
> -    public void write(int b) throws IOException {
> -        wrapped.write(b);
> -    }
> -
> -
> -    @Override
> -    public void write(byte[] b) throws IOException {
> -        wrapped.write(b);
> -    }
> -
> -
> -    @Override
> -    public void write(byte[] b, int off, int len) throws IOException {
> -        wrapped.write(b, off, len);
> -    }
> -
> -
> -    @Override
> -    public void flush() throws IOException {
> -        wrapped.flush();
> -    }
> -
> -
> -    @Override
> -    public void close() throws IOException {
> -        // NO-OP
> -    }
> -}
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>

Reply via email to