summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-11-07 15:20:51 +0100
committerjonmv <venstad@gmail.com>2022-11-07 15:20:51 +0100
commit00c51fa7f8fcc00a79fb22f0dc00d3c597aee6d1 (patch)
tree2da44d0e6c092caf3ef783d3ce1a37a0b513f004
parent4a6f833f3265a955c1a9d793fdb2ebb9eb8e0dd0 (diff)
Make inner class static
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackageStream.java19
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) {