From bfce868145805704c1be189fd33c915bcc675463 Mon Sep 17 00:00:00 2001 From: Frank van der Heijden Date: Mon, 20 Dec 2021 18:17:10 +0100 Subject: [PATCH] Make sure all instances are CloseablePluginResults --- .../results/CloseablePluginResults.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Common/src/main/java/net/frankheijden/serverutils/common/entities/results/CloseablePluginResults.java b/Common/src/main/java/net/frankheijden/serverutils/common/entities/results/CloseablePluginResults.java index 34e5278..788ab82 100644 --- a/Common/src/main/java/net/frankheijden/serverutils/common/entities/results/CloseablePluginResults.java +++ b/Common/src/main/java/net/frankheijden/serverutils/common/entities/results/CloseablePluginResults.java @@ -2,16 +2,24 @@ package net.frankheijden.serverutils.common.entities.results; import java.io.Closeable; import java.io.IOException; +import java.util.Collections; import java.util.List; public class CloseablePluginResults extends PluginResults implements Closeable { @Override public CloseablePluginResults addResult(PluginResult pluginResult) { - if (!(pluginResult instanceof CloseablePluginResult)) { - throw new IllegalArgumentException("Not an instance of CloseablePluginResult: " + pluginResult); + if (pluginResult instanceof CloseablePluginResult) { + results.add(pluginResult); + } else { + results.add(new CloseablePluginResult<>( + pluginResult.getPluginId(), + pluginResult.getPlugin(), + pluginResult.getResult(), + Collections.emptyList(), + pluginResult.getPlaceholders() + )); } - results.add(pluginResult); return this; } @@ -28,10 +36,8 @@ public class CloseablePluginResults extends PluginResults implements Close } @Override - protected CloseablePluginResults addResult(String pluginId, T plugin, Result result, String... placeholders - ) { - super.addResult(pluginId, plugin, result, placeholders); - return this; + protected CloseablePluginResults addResult(String pluginId, T plugin, Result result, String... placeholders) { + return addResult(new CloseablePluginResult<>(pluginId, plugin, result, Collections.emptyList(), placeholders)); } public CloseablePluginResults addResult(