diff options
author | jonmv <venstad@gmail.com> | 2022-11-07 15:20:51 +0100 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-11-07 15:20:51 +0100 |
commit | 00c51fa7f8fcc00a79fb22f0dc00d3c597aee6d1 (patch) | |
tree | 2da44d0e6c092caf3ef783d3ce1a37a0b513f004 | |
parent | 4a6f833f3265a955c1a9d793fdb2ebb9eb8e0dd0 (diff) |
Make inner class static
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackageStream.java | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackageStream.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackageStream.java index c182cd3e4a8..7e733e1b74e 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackageStream.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackageStream.java @@ -40,7 +40,6 @@ public class ApplicationPackageStream { private final Supplier<Replacer> replacer; private final Supplier<Predicate<String>> filter; private final Supplier<InputStream> in; - private final AtomicReference<ApplicationPackage> truncatedPackage = new AtomicReference<>(); public static Supplier<Replacer> addingCertificate(Optional<X509Certificate> certificate) { @@ -88,7 +87,7 @@ public class ApplicationPackageStream { * and the first to be exhausted will populate the truncated application package. */ public InputStream zipStream() { - return new Stream(); + return new Stream(new ZipInputStream(in.get()), replacer.get(), filter.get(), truncatedPackage); } /** @@ -101,16 +100,17 @@ public class ApplicationPackageStream { return truncated; } - private class Stream extends InputStream { + private static class Stream extends InputStream { private final byte[] inBuffer = new byte[1 << 16]; private final ByteArrayOutputStream teeOut = new ByteArrayOutputStream(1 << 16); private final ZipOutputStream teeZip = new ZipOutputStream(teeOut); - private final ZipInputStream inZip = new ZipInputStream(in.get()); private final ByteArrayOutputStream out = new ByteArrayOutputStream(1 << 16); private final ZipOutputStream outZip = new ZipOutputStream(out); - private final Replacer replacer = ApplicationPackageStream.this.replacer.get(); - private final Predicate<String> filter = ApplicationPackageStream.this.filter.get(); + private final AtomicReference<ApplicationPackage> truncatedPackage; + private final ZipInputStream inZip; + private final Replacer replacer; + private final Predicate<String> filter; private byte[] currentOut = new byte[0]; private InputStream currentIn = InputStream.nullInputStream(); private boolean includeCurrent = false; @@ -118,6 +118,13 @@ public class ApplicationPackageStream { private boolean closed = false; private boolean done = false; + private Stream(ZipInputStream inZip, Replacer replacer, Predicate<String> filter, AtomicReference<ApplicationPackage> truncatedPackage) { + this.inZip = inZip; + this.replacer = replacer; + this.filter = filter; + this.truncatedPackage = truncatedPackage; + } + private void fill() throws IOException { if (done) return; while (out.size() == 0) { |