Skip to content

Commit cc823bc

Browse files
committed
refactor: rename variables to more verbose names
1 parent 9feca0c commit cc823bc

File tree

1 file changed

+57
-50
lines changed

1 file changed

+57
-50
lines changed

application/src/main/java/org/togetherjava/tjbot/features/dynamicvc/DynamicVoiceListener.java

+57-50
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@
2828

2929
public class DynamicVoiceListener extends VoiceReceiverAdapter {
3030

31-
private final Map<String, Predicate<String>> patterns = new HashMap<>();
31+
private final Map<String, Predicate<String>> channelPredicates = new HashMap<>();
3232
private static final Pattern channelTopicPattern = Pattern.compile("(\\s+\\d+)$");
3333
private static final Map<String, Queue<GuildVoiceUpdateEvent>> eventQueues = new HashMap<>();
34-
private static final Map<String, AtomicBoolean> isEventProcessing = new HashMap<>();
34+
private static final Map<String, AtomicBoolean> activeQueuesMap = new HashMap<>();
3535

3636
public DynamicVoiceListener(Config config) {
3737
config.getDynamicVoiceChannelPatterns().forEach(pattern -> {
38-
patterns.put(pattern, Pattern.compile(pattern).asMatchPredicate());
39-
isEventProcessing.put(pattern, new AtomicBoolean(false));
38+
channelPredicates.put(pattern, Pattern.compile(pattern).asMatchPredicate());
39+
activeQueuesMap.put(pattern, new AtomicBoolean(false));
4040
eventQueues.put(pattern, new LinkedList<>());
4141
});
4242
}
@@ -64,34 +64,34 @@ private void insertEventToQueue(GuildVoiceUpdateEvent event, String channelTopic
6464

6565
eventQueue.add(event);
6666

67-
if (isEventProcessing.get(channelTopic).get()) {
67+
if (activeQueuesMap.get(channelTopic).get()) {
6868
return;
6969
}
7070

7171
processEventFromQueue(channelTopic);
7272
}
7373

7474
private void processEventFromQueue(String channelTopic) {
75-
AtomicBoolean processing = isEventProcessing.get(channelTopic);
75+
AtomicBoolean activeQueueFlag = activeQueuesMap.get(channelTopic);
7676
GuildVoiceUpdateEvent event = eventQueues.get(channelTopic).poll();
7777

7878
if (event == null) {
79-
processing.set(false);
79+
activeQueueFlag.set(false);
8080
return;
8181
}
8282

83-
processing.set(true);
83+
activeQueueFlag.set(true);
8484

8585
handleTopicUpdate(event, channelTopic);
8686
}
8787

8888
private void handleTopicUpdate(GuildVoiceUpdateEvent event, String channelTopic) {
89-
AtomicBoolean processing = isEventProcessing.get(channelTopic);
89+
AtomicBoolean activeQueueFlag = activeQueuesMap.get(channelTopic);
9090
Guild guild = event.getGuild();
91-
List<CompletableFuture<?>> tasks = new ArrayList<>();
91+
List<CompletableFuture<?>> restActionTasks = new ArrayList<>();
9292

93-
if (patterns.get(channelTopic) == null) {
94-
processing.set(false);
93+
if (channelPredicates.get(channelTopic) == null) {
94+
activeQueueFlag.set(false);
9595
return;
9696
}
9797

@@ -100,38 +100,43 @@ private void handleTopicUpdate(GuildVoiceUpdateEvent event, String channelTopic)
100100
if (emptyChannelsCount == 0) {
101101
long channelCount = getChannelCountFromTopic(guild, channelTopic);
102102

103-
tasks.add(createVoiceChannelFromTopic(guild, channelTopic, channelCount));
103+
restActionTasks
104+
.add(makeCreateVoiceChannelFromTopicFuture(guild, channelTopic, channelCount));
104105
} else if (emptyChannelsCount != 1) {
105-
tasks.addAll(removeDuplicateEmptyChannels(guild, channelTopic));
106-
tasks.addAll(renameTopicChannels(guild, channelTopic));
106+
restActionTasks.addAll(makeRemoveDuplicateEmptyChannelsFutures(guild, channelTopic));
107+
restActionTasks.addAll(makeRenameTopicChannelsFutures(guild, channelTopic));
107108
}
108109

109-
if (!tasks.isEmpty()) {
110-
CompletableFuture.allOf(tasks.toArray(CompletableFuture[]::new)).thenCompose(v -> {
111-
List<CompletableFuture<?>> renameTasks = renameTopicChannels(guild, channelTopic);
112-
return CompletableFuture.allOf(renameTasks.toArray(CompletableFuture[]::new));
113-
}).handle((result, exception) -> {
114-
processEventFromQueue(channelTopic);
115-
processing.set(false);
116-
return null;
117-
});
110+
if (!restActionTasks.isEmpty()) {
111+
CompletableFuture.allOf(restActionTasks.toArray(CompletableFuture[]::new))
112+
.thenCompose(v -> {
113+
List<CompletableFuture<?>> renameTasks =
114+
makeRenameTopicChannelsFutures(guild, channelTopic);
115+
return CompletableFuture.allOf(renameTasks.toArray(CompletableFuture[]::new));
116+
})
117+
.handle((result, exception) -> {
118+
processEventFromQueue(channelTopic);
119+
activeQueueFlag.set(false);
120+
return null;
121+
});
118122
return;
119123
}
120124

121125
processEventFromQueue(channelTopic);
122-
processing.set(false);
126+
activeQueueFlag.set(false);
123127
}
124128

125-
private static CompletableFuture<? extends StandardGuildChannel> createVoiceChannelFromTopic(
129+
private static CompletableFuture<? extends StandardGuildChannel> makeCreateVoiceChannelFromTopicFuture(
126130
Guild guild, String channelTopic, long topicChannelsCount) {
127-
Optional<VoiceChannel> voiceChannelOptional = getOriginalTopicChannel(guild, channelTopic);
131+
Optional<VoiceChannel> originalTopicChannelOptional =
132+
getOriginalTopicChannel(guild, channelTopic);
128133

129-
if (voiceChannelOptional.isPresent()) {
130-
VoiceChannel originalChannel = voiceChannelOptional.orElseThrow();
134+
if (originalTopicChannelOptional.isPresent()) {
135+
VoiceChannel originalTopicChannel = originalTopicChannelOptional.orElseThrow();
131136

132-
return originalChannel.createCopy()
137+
return originalTopicChannel.createCopy()
133138
.setName(getNumberedChannelTopic(channelTopic, topicChannelsCount + 1))
134-
.setPosition(originalChannel.getPositionRaw())
139+
.setPosition(originalTopicChannel.getPositionRaw())
135140
.submit();
136141
}
137142

@@ -146,38 +151,39 @@ private static Optional<VoiceChannel> getOriginalTopicChannel(Guild guild,
146151
.findFirst();
147152
}
148153

149-
private List<CompletableFuture<Void>> removeDuplicateEmptyChannels(Guild guild,
154+
private List<CompletableFuture<Void>> makeRemoveDuplicateEmptyChannelsFutures(Guild guild,
150155
String channelTopic) {
151156
List<VoiceChannel> channelsToRemove = getVoiceChannelsFromTopic(guild, channelTopic)
152157
.filter(channel -> channel.getMembers().isEmpty())
153158
.toList();
154-
final List<CompletableFuture<Void>> tasks = new ArrayList<>();
159+
final List<CompletableFuture<Void>> restActionTasks = new ArrayList<>();
155160

156161
channelsToRemove.subList(1, channelsToRemove.size())
157-
.forEach(channel -> tasks.add(channel.delete().submit()));
162+
.forEach(channel -> restActionTasks.add(channel.delete().submit()));
158163

159-
return tasks;
164+
return restActionTasks;
160165
}
161166

162-
private List<CompletableFuture<?>> renameTopicChannels(Guild guild, String channelTopic) {
163-
List<VoiceChannel> channels = getVoiceChannelsFromTopic(guild, channelTopic).toList();
164-
List<CompletableFuture<?>> tasks = new ArrayList<>();
167+
private List<CompletableFuture<?>> makeRenameTopicChannelsFutures(Guild guild,
168+
String channelTopic) {
169+
List<VoiceChannel> topicChannels = getVoiceChannelsFromTopic(guild, channelTopic).toList();
170+
List<CompletableFuture<?>> restActionTasks = new ArrayList<>();
165171

166-
IntStream.range(0, channels.size())
172+
IntStream.range(0, topicChannels.size())
167173
.asLongStream()
168-
.mapToObj(number -> Pair.of(number + 1, channels.get((int) number)))
174+
.mapToObj(channelId -> Pair.of(channelId + 1, topicChannels.get((int) channelId)))
169175
.filter(pair -> pair.getLeft() != 1)
170176
.forEach(pair -> {
171-
long number = pair.getLeft();
177+
long channelId = pair.getLeft();
172178
VoiceChannel voiceChannel = pair.getRight();
173179
String voiceChannelNameTopic = getChannelTopic(voiceChannel.getName());
174180

175-
tasks.add(voiceChannel.getManager()
176-
.setName(getNumberedChannelTopic(voiceChannelNameTopic, number))
181+
restActionTasks.add(voiceChannel.getManager()
182+
.setName(getNumberedChannelTopic(voiceChannelNameTopic, channelId))
177183
.submit());
178184
});
179185

180-
return tasks;
186+
return restActionTasks;
181187
}
182188

183189
private long getChannelCountFromTopic(Guild guild, String channelTopic) {
@@ -187,7 +193,8 @@ private long getChannelCountFromTopic(Guild guild, String channelTopic) {
187193
private Stream<VoiceChannel> getVoiceChannelsFromTopic(Guild guild, String channelTopic) {
188194
return guild.getVoiceChannels()
189195
.stream()
190-
.filter(channel -> patterns.get(channelTopic).test(getChannelTopic(channel.getName())));
196+
.filter(channel -> channelPredicates.get(channelTopic)
197+
.test(getChannelTopic(channel.getName())));
191198
}
192199

193200
private long getEmptyChannelsCountFromTopic(Guild guild, String channelTopic) {
@@ -198,16 +205,16 @@ private long getEmptyChannelsCountFromTopic(Guild guild, String channelTopic) {
198205
}
199206

200207
private static String getChannelTopic(String channelName) {
201-
Matcher matcher = channelTopicPattern.matcher(channelName);
208+
Matcher channelTopicPatternMatcher = channelTopicPattern.matcher(channelName);
202209

203-
if (matcher.find()) {
204-
return matcher.replaceAll("");
210+
if (channelTopicPatternMatcher.find()) {
211+
return channelTopicPatternMatcher.replaceAll("");
205212
}
206213

207214
return channelName;
208215
}
209216

210-
private static String getNumberedChannelTopic(String channelTopic, long id) {
211-
return String.format("%s %d", channelTopic, id);
217+
private static String getNumberedChannelTopic(String channelTopic, long channelId) {
218+
return String.format("%s %d", channelTopic, channelId);
212219
}
213220
}

0 commit comments

Comments
 (0)