X-Git-Url: https://git.pterodactylus.net/?p=xudocci.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fxdcc%2Fui%2Fstdin%2FStatsCommand.java;h=d40cc82ed93e4d5cb30b4aab2dd8dd6ebc362c19;hp=07f228864a9e94eaeac6f70f5b01dad4c05894f1;hb=798d9da09a3f9804ccbb488478c591a4928b05ac;hpb=6ade66243aba2942f4833433cb13adee48d6e93a diff --git a/src/main/java/net/pterodactylus/xdcc/ui/stdin/StatsCommand.java b/src/main/java/net/pterodactylus/xdcc/ui/stdin/StatsCommand.java index 07f2288..d40cc82 100644 --- a/src/main/java/net/pterodactylus/xdcc/ui/stdin/StatsCommand.java +++ b/src/main/java/net/pterodactylus/xdcc/ui/stdin/StatsCommand.java @@ -65,16 +65,35 @@ public class StatsCommand implements Command { return null; } - private void dumpNetworkStats(Writer outputWriter, ConnectedNetwork network) throws IOException { - outputWriter.write(format("Connected to %s via %s:%d.\n", network.getNetwork().name(), network.getHostname(), network.getPort(), network.getNickname())); + private void dumpNetworkStats(Writer outputWriter, + ConnectedNetwork network) throws IOException { + outputWriter.write(format("Connected to %s via %s:%d.\n", + network.getNetwork().name(), network.getHostname(), + network.getPort(), network.getNickname())); + String joinedChannels = joinChannelNames(network.getChannels()); + String forcedChannels = joinChannelNames(network.getForcedChannels()); + if (forcedChannels.isEmpty()) { + if (!joinedChannels.isEmpty()) { + outputWriter.write(format(" Joined %s.\n", joinedChannels)); + } + } else { + if (joinedChannels.isEmpty()) { + outputWriter.write( + format(" Force-joined %s.\n", forcedChannels)); + } else { + outputWriter.write(format(" Joined %s, force-joined %s.\n", + joinedChannels, forcedChannels)); + } + } + outputWriter.write( + format(" %d bots serving %d packs.\n", network.getBotCount(), + network.getPackCount())); + } + + private String joinChannelNames(Collection channels) { StringJoiner joinedChannels = new StringJoiner(", "); - network.getChannels().stream().forEach( - (channel) -> joinedChannels.add(channel)); - StringJoiner forceJoinedChannels = new StringJoiner(", "); - network.getForcedChannels().stream().forEach((channel) -> forceJoinedChannels.add(channel)); - outputWriter.write(format(" Joined %s, force-joined %s.\n", - joinedChannels, forceJoinedChannels)); - outputWriter.write(format(" %d bots serving %d packs.\n", network.getBotCount(), network.getPackCount())); + channels.stream().forEach((channel) -> joinedChannels.add(channel)); + return joinedChannels.toString(); } }