X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Ffcp%2Fquelaton%2FClientPutCommandImpl.java;fp=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Ffcp%2Fquelaton%2FClientPutCommandImpl.java;h=982fd763b887cc0941700089dbcc4151cabfdd63;hb=c7b30c245806a4a67d2e924d6d4e2a9e97916c5b;hp=6eeddd961e97574bd646dd128789352a78ac798f;hpb=7a3be5ca037785f4f1acb225381578db12d15eb1;p=jFCPlib.git diff --git a/src/main/java/net/pterodactylus/fcp/quelaton/ClientPutCommandImpl.java b/src/main/java/net/pterodactylus/fcp/quelaton/ClientPutCommandImpl.java index 6eeddd9..982fd76 100644 --- a/src/main/java/net/pterodactylus/fcp/quelaton/ClientPutCommandImpl.java +++ b/src/main/java/net/pterodactylus/fcp/quelaton/ClientPutCommandImpl.java @@ -10,7 +10,6 @@ import java.util.Optional; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Consumer; @@ -140,21 +139,9 @@ class ClientPutCommandImpl implements ClientPutCommand { private final AtomicReference originalClientPut = new AtomicReference<>(); private final AtomicReference directory = new AtomicReference<>(); - private final AtomicReference finalKey = new AtomicReference<>(); - private final AtomicBoolean putFinished = new AtomicBoolean(); public ClientPutDialog() throws IOException { - super(ClientPutCommandImpl.this.threadPool, ClientPutCommandImpl.this.connectionSupplier.get()); - } - - @Override - protected boolean isFinished() { - return putFinished.get(); - } - - @Override - protected Optional getResult() { - return Optional.ofNullable(finalKey.get()); + super(ClientPutCommandImpl.this.threadPool, ClientPutCommandImpl.this.connectionSupplier.get(), Optional.empty()); } @Override @@ -176,13 +163,12 @@ class ClientPutCommandImpl implements ClientPutCommand { @Override protected void consumePutSuccessful(PutSuccessful putSuccessful) { - finalKey.set(new Key(putSuccessful.getURI())); - putFinished.set(true); + setResult(Optional.of(new Key(putSuccessful.getURI()))); } @Override protected void consumePutFailed(PutFailed putFailed) { - putFinished.set(true); + finish(); } @Override @@ -191,7 +177,7 @@ class ClientPutCommandImpl implements ClientPutCommand { setIdentifier(directory.get()); sendMessage(new TestDDARequest(directory.get(), true, false)); } else { - putFinished.set(true); + finish(); } }