X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Ffcp%2Fquelaton%2FGenerateKeypairCommandImpl.java;h=5f8cd5bc8117f19e3e9ceb1de5edd4fbc34e5164;hb=f85a8ea030d563b573acca6f1a117ec87c82cc4e;hp=d5f30d6f46d373f2a3daa27cb0c7b777ebe3bba1;hpb=bbe77c263f9f37b2407a6b5ce2f5e68e11bd9e7c;p=jFCPlib.git diff --git a/src/main/java/net/pterodactylus/fcp/quelaton/GenerateKeypairCommandImpl.java b/src/main/java/net/pterodactylus/fcp/quelaton/GenerateKeypairCommandImpl.java index d5f30d6..5f8cd5b 100644 --- a/src/main/java/net/pterodactylus/fcp/quelaton/GenerateKeypairCommandImpl.java +++ b/src/main/java/net/pterodactylus/fcp/quelaton/GenerateKeypairCommandImpl.java @@ -1,8 +1,8 @@ package net.pterodactylus.fcp.quelaton; import java.io.IOException; +import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; -import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicReference; import net.pterodactylus.fcp.FcpKeyPair; @@ -30,14 +30,20 @@ class GenerateKeypairCommandImpl implements GenerateKeypairCommand { @Override public ListenableFuture execute() { - return threadPool.submit(() -> new FcpKeyPairReplySequence().send(new GenerateSSK()).get()); + return threadPool.submit(this::executeSequence); } - private class FcpKeyPairReplySequence extends FcpReplySequence { + private FcpKeyPair executeSequence() throws InterruptedException, ExecutionException, IOException { + try (FcpKeyPairDialog fcpKeyPairDialog = new FcpKeyPairDialog()) { + return fcpKeyPairDialog.send(new GenerateSSK()).get(); + } + } + + private class FcpKeyPairDialog extends FcpDialog { private AtomicReference keyPair = new AtomicReference<>(); - public FcpKeyPairReplySequence() throws IOException { + public FcpKeyPairDialog() throws IOException { super(GenerateKeypairCommandImpl.this.threadPool, GenerateKeypairCommandImpl.this.connectionSupplier.get()); }