X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Ffcp%2Fquelaton%2FLoadPluginCommandImpl.java;h=fa6bd65f1ed552c5c10ba63193b60c2d8ea1d0ed;hb=c7b30c245806a4a67d2e924d6d4e2a9e97916c5b;hp=9c9e64e3805c30e1d47d852ec990e5bee76b8bdc;hpb=7a3be5ca037785f4f1acb225381578db12d15eb1;p=jFCPlib.git diff --git a/src/main/java/net/pterodactylus/fcp/quelaton/LoadPluginCommandImpl.java b/src/main/java/net/pterodactylus/fcp/quelaton/LoadPluginCommandImpl.java index 9c9e64e..fa6bd65 100644 --- a/src/main/java/net/pterodactylus/fcp/quelaton/LoadPluginCommandImpl.java +++ b/src/main/java/net/pterodactylus/fcp/quelaton/LoadPluginCommandImpl.java @@ -4,8 +4,6 @@ import java.io.IOException; import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.concurrent.atomic.AtomicReference; import java.util.function.Supplier; import net.pterodactylus.fcp.LoadPlugin; @@ -90,32 +88,18 @@ public class LoadPluginCommandImpl implements LoadPluginCommand { private class LoadPluginDialog extends FcpDialog> { - private final AtomicBoolean finished = new AtomicBoolean(); - private final AtomicReference pluginInfo = new AtomicReference<>(); - public LoadPluginDialog() throws IOException { - super(threadPool, connectionSupplier.get()); - } - - @Override - protected boolean isFinished() { - return finished.get(); - } - - @Override - protected Optional getResult() { - return Optional.ofNullable(pluginInfo.get()); + super(threadPool, connectionSupplier.get(), Optional.empty()); } @Override protected void consumePluginInfo(PluginInfo pluginInfo) { - this.pluginInfo.set(pluginInfo); - finished.set(true); + setResult(Optional.ofNullable(pluginInfo)); } @Override protected void consumeProtocolError(ProtocolError protocolError) { - finished.set(true); + finish(); } }