mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-12 19:18:42 +00:00
addressed some sonar issues
This commit is contained in:
@@ -258,6 +258,7 @@ public class AUserExperienceServiceBean implements AUserExperienceService {
|
||||
messageService.updateStatusMessage(channel, statusMessage.getIdLong(), status);
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
log.info("Failed to synchronize users.", e);
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import dev.sheldan.abstracto.experience.models.database.AUserExperience;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/**
|
||||
|
||||
@@ -41,6 +41,7 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
|
||||
public static final String MODMAIL_CLOSING_MESSAGE_TEXT = "modMailClosingText";
|
||||
public static final String MODMAIL_CATEGORY = "modmailCategory";
|
||||
public static final String MODMAIL_EXCEPTION_GENERIC_TEMPLATE = "modmail_exception_generic";
|
||||
@Autowired
|
||||
private ModMailThreadManagementService modMailThreadManagementService;
|
||||
|
||||
@@ -311,6 +312,7 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
messages.add(messageToAdd);
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
log.error("Error while executing future to retrieve reaction.", e);
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
self.saveMessageIds(messages, modMailThread, modMailThread.getUser(), false, false);
|
||||
modMailThreadManagementService.setModMailThreadState(modMailThread, ModMailThreadState.USER_REPLIED);
|
||||
@@ -392,33 +394,7 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
if(throwable != null) {
|
||||
log.warn("Failed to load some mod mail messages for mod mail thread {}. Still trying to post the ones we got.", modMailThreadId, throwable);
|
||||
}
|
||||
try {
|
||||
CompletableFutureList<Message> list = self.logModMailThread(modMailThreadId, messages, note);
|
||||
list.getMainFuture().thenRun(() -> {
|
||||
list.getFutures().forEach(messageCompletableFuture -> {
|
||||
try {
|
||||
Message message = messageCompletableFuture.get();
|
||||
undoActions.add(UndoActionInstance.getMessageDeleteAction(message.getChannel().getIdLong(), message.getIdLong()));
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
log.error("Failed to post logging messages.", e);
|
||||
} catch (Exception e) {
|
||||
log.error("Failed to handle the mod mail log messages.", e);
|
||||
}
|
||||
});
|
||||
self.afterSuccessfulLog(modMailThreadId, feedBack, notifyUser, undoActions);
|
||||
});
|
||||
list.getMainFuture().exceptionally(innerThrowable -> {
|
||||
sendModMailFailure("modmail_exception_generic", innerModMailThread.getUser(), modMailThreadId, feedBack, innerThrowable);
|
||||
log.error("Failed to log messages for mod mail thread {}.", modMailThreadId, innerThrowable);
|
||||
return null;
|
||||
});
|
||||
} catch (PostTargetNotFoundException po) {
|
||||
log.error("Failed to log mod mail messages", po);
|
||||
sendModMailFailure("modmail_exception_post_target_not_defined", innerModMailThread.getUser(), modMailThreadId, feedBack, po);
|
||||
} catch (Exception e) {
|
||||
log.error("Failed to log mod mail messages", e);
|
||||
sendModMailFailure("modmail_exception_generic", innerModMailThread.getUser(), modMailThreadId, feedBack, e);
|
||||
}
|
||||
logMessagesToModMailLog(feedBack, note, notifyUser, modMailThreadId, undoActions, messages, innerModMailThread);
|
||||
} else {
|
||||
throw new ModMailThreadNotFoundException(modMailThreadId);
|
||||
}
|
||||
@@ -428,6 +404,37 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
}
|
||||
}
|
||||
|
||||
private void logMessagesToModMailLog(MessageChannel feedBack, String note, Boolean notifyUser, Long modMailThreadId, List<UndoActionInstance> undoActions, List<CompletableFuture<Message>> messages, ModMailThread innerModMailThread) {
|
||||
try {
|
||||
CompletableFutureList<Message> list = self.logModMailThread(modMailThreadId, messages, note);
|
||||
list.getMainFuture().thenRun(() -> {
|
||||
list.getFutures().forEach(messageCompletableFuture -> {
|
||||
try {
|
||||
Message message = messageCompletableFuture.get();
|
||||
undoActions.add(UndoActionInstance.getMessageDeleteAction(message.getChannel().getIdLong(), message.getIdLong()));
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
log.error("Failed to post logging messages.", e);
|
||||
Thread.currentThread().interrupt();
|
||||
} catch (Exception e) {
|
||||
log.error("Failed to handle the mod mail log messages.", e);
|
||||
}
|
||||
});
|
||||
self.afterSuccessfulLog(modMailThreadId, feedBack, notifyUser, undoActions);
|
||||
});
|
||||
list.getMainFuture().exceptionally(innerThrowable -> {
|
||||
sendModMailFailure(MODMAIL_EXCEPTION_GENERIC_TEMPLATE, innerModMailThread.getUser(), modMailThreadId, feedBack, innerThrowable);
|
||||
log.error("Failed to log messages for mod mail thread {}.", modMailThreadId, innerThrowable);
|
||||
return null;
|
||||
});
|
||||
} catch (PostTargetNotFoundException po) {
|
||||
log.error("Failed to log mod mail messages", po);
|
||||
sendModMailFailure("modmail_exception_post_target_not_defined", innerModMailThread.getUser(), modMailThreadId, feedBack, po);
|
||||
} catch (Exception e) {
|
||||
log.error("Failed to log mod mail messages", e);
|
||||
sendModMailFailure(MODMAIL_EXCEPTION_GENERIC_TEMPLATE, innerModMailThread.getUser(), modMailThreadId, feedBack, e);
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void afterSuccessfulLog(Long modMailThreadId, MessageChannel feedBack, Boolean notifyUser, List<UndoActionInstance> undoActions) {
|
||||
log.trace("Mod mail logging for thread {} has completed. Starting post logging activities.", modMailThreadId);
|
||||
@@ -456,7 +463,7 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
});
|
||||
} catch (Exception e) {
|
||||
log.error("Failed to render closing user message", e);
|
||||
sendModMailFailure("modmail_exception_generic", modMailThread.getUser(), modMailThreadId, feedBack, e);
|
||||
sendModMailFailure(MODMAIL_EXCEPTION_GENERIC_TEMPLATE, modMailThread.getUser(), modMailThreadId, feedBack, e);
|
||||
}
|
||||
}, throwable -> {
|
||||
log.error("Failed to load private channel with user {}", user.getIdLong(), throwable);
|
||||
@@ -472,6 +479,7 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
Optional<ModMailThread> modMailThreadOpt = modMailThreadManagementService.getById(modMailThreadId);
|
||||
if(modMailThreadOpt.isPresent()) {
|
||||
ModMailThread modMailThread = modMailThreadOpt.get();
|
||||
String failureMessage = "Failed to delete text channel containing mod mail thread {}";
|
||||
try {
|
||||
channelService.deleteTextChannel(modMailThread.getChannel()).thenRun(() -> {
|
||||
try {
|
||||
@@ -481,15 +489,15 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
}
|
||||
}).exceptionally(throwable2 -> {
|
||||
undoActionService.performActions(undoActions);
|
||||
log.error("Failed to delete text channel containing mod mail thread {}", modMailThread.getId(), throwable2);
|
||||
log.error(failureMessage, modMailThread.getId(), throwable2);
|
||||
return null;
|
||||
});
|
||||
} catch (InsufficientPermissionException ex) {
|
||||
log.error("Failed to delete text channel containing mod mail thread {}", modMailThreadId, ex);
|
||||
log.error(failureMessage, modMailThreadId, ex);
|
||||
undoActionService.performActions(undoActions);
|
||||
sendModMailFailure("modmail_exception_cannot_delete_channel", modMailThread.getUser(), modMailThreadId, feedBack, ex);
|
||||
} catch (Exception ex) {
|
||||
log.error("Failed to delete text channel containing mod mail thread {}", modMailThreadId, ex);
|
||||
log.error(failureMessage, modMailThreadId, ex);
|
||||
undoActionService.performActions(undoActions);
|
||||
}
|
||||
} else {
|
||||
@@ -526,6 +534,7 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
}
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
log.error("Error while executing future to retrieve reaction.", e);
|
||||
Thread.currentThread().interrupt();
|
||||
} catch (Exception e) {
|
||||
log.error("Failed handle the loaded messages.", e);
|
||||
}
|
||||
@@ -628,6 +637,7 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
messages.add(messageToAdd);
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
log.error("A future when sending the message to the user was interrupted.", e);
|
||||
Thread.currentThread().interrupt();
|
||||
} catch (Exception e) {
|
||||
log.error("Failed to handle the send staff message.", e);
|
||||
}
|
||||
|
||||
@@ -69,11 +69,11 @@ public class StarboardListener implements ReactedAddedListener, ReactedRemovedLi
|
||||
if(EmoteUtils.isReactionEmoteAEmote(reactionEmote, aEmote, emoteInGuild.orElse(null))) {
|
||||
log.trace("User {} in server {} reacted with star to put a message {} on starboard.", userAdding.getUserReference().getId(), userAdding.getServerReference().getId(), message.getMessageId());
|
||||
Optional<CachedReaction> reactionOptional = EmoteUtils.getReactionFromMessageByEmote(message, aEmote);
|
||||
updateStarboardPost(message, reactionOptional.orElse(null), userAdding, true);
|
||||
handleStarboardPostChange(message, reactionOptional.orElse(null), userAdding, true);
|
||||
}
|
||||
}
|
||||
|
||||
private void updateStarboardPost(CachedMessage message, CachedReaction reaction, AUserInAServer userReacting, boolean adding) {
|
||||
private void handleStarboardPostChange(CachedMessage message, CachedReaction reaction, AUserInAServer userReacting, boolean adding) {
|
||||
Optional<StarboardPost> starboardPostOptional = starboardPostManagementService.findByMessageId(message.getMessageId());
|
||||
if(reaction != null) {
|
||||
AUserInAServer author = userInServerManagementService.loadUser(message.getServerId(), message.getAuthorId());
|
||||
@@ -83,16 +83,7 @@ public class StarboardListener implements ReactedAddedListener, ReactedRemovedLi
|
||||
log.info("Post reached starboard minimum. Message {} in channel {} in server {} will be starred/updated.",
|
||||
message.getMessageId(), message.getChannelId(), message.getServerId());
|
||||
if(starboardPostOptional.isPresent()) {
|
||||
StarboardPost starboardPost = starboardPostOptional.get();
|
||||
starboardPost.setIgnored(false);
|
||||
starboardService.updateStarboardPost(starboardPost, message, userExceptAuthor);
|
||||
if(adding) {
|
||||
log.trace("Adding reactor {} from message {}", userReacting.getUserReference().getId(), message.getMessageId());
|
||||
starboardPostReactorManagementService.addReactor(starboardPost, userReacting);
|
||||
} else {
|
||||
log.trace("Removing reactor {} from message {}", userReacting.getUserReference().getId(), message.getMessageId());
|
||||
starboardPostReactorManagementService.removeReactor(starboardPost, userReacting);
|
||||
}
|
||||
updateStarboardPost(message, userReacting, adding, starboardPostOptional.get(), userExceptAuthor);
|
||||
} else {
|
||||
log.info("Creating starboard post for message {} in channel {} in server {}", message.getMessageId(), message.getChannelId(), message.getServerId());
|
||||
starboardService.createStarboardPost(message, userExceptAuthor, userReacting, author);
|
||||
@@ -111,6 +102,18 @@ public class StarboardListener implements ReactedAddedListener, ReactedRemovedLi
|
||||
}
|
||||
}
|
||||
|
||||
private void updateStarboardPost(CachedMessage message, AUserInAServer userReacting, boolean adding, StarboardPost starboardPost, List<AUserInAServer> userExceptAuthor) {
|
||||
starboardPost.setIgnored(false);
|
||||
starboardService.updateStarboardPost(starboardPost, message, userExceptAuthor);
|
||||
if(adding) {
|
||||
log.trace("Adding reactor {} from message {}", userReacting.getUserReference().getId(), message.getMessageId());
|
||||
starboardPostReactorManagementService.addReactor(starboardPost, userReacting);
|
||||
} else {
|
||||
log.trace("Removing reactor {} from message {}", userReacting.getUserReference().getId(), message.getMessageId());
|
||||
starboardPostReactorManagementService.removeReactor(starboardPost, userReacting);
|
||||
}
|
||||
}
|
||||
|
||||
private void completelyRemoveStarboardPost(StarboardPost starboardPost) {
|
||||
starboardService.deleteStarboardMessagePost(starboardPost);
|
||||
starboardPostManagementService.removePost(starboardPost);
|
||||
@@ -130,7 +133,7 @@ public class StarboardListener implements ReactedAddedListener, ReactedRemovedLi
|
||||
log.trace("User {} in server {} removed star reaction from message {} on starboard.",
|
||||
userRemoving.getUserReference().getId(), userRemoving.getServerReference().getId(), message.getMessageId());
|
||||
Optional<CachedReaction> reactionOptional = EmoteUtils.getReactionFromMessageByEmote(message, aEmote);
|
||||
updateStarboardPost(message, reactionOptional.orElse(null), userRemoving, false);
|
||||
handleStarboardPostChange(message, reactionOptional.orElse(null), userRemoving, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -132,6 +132,7 @@ public class MessageEmbedServiceBean implements MessageEmbedService {
|
||||
});
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
log.error("Failed to post message embed.", e);
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}).exceptionally(throwable -> {
|
||||
log.error("Failed to send message for embedding the link for message {} in channel {} in server {}",
|
||||
|
||||
@@ -121,6 +121,7 @@ public class StarboardServiceBean implements StarboardService {
|
||||
});
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
log.error("Failed to post messages.", e);
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -162,6 +163,7 @@ public class StarboardServiceBean implements StarboardService {
|
||||
}
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
log.error("Failed to post starboard post.", e);
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}).exceptionally(throwable -> {
|
||||
log.error("Failed to update starboard post {}.", post.getId(), throwable);
|
||||
|
||||
@@ -73,6 +73,7 @@ public class SuggestionServiceBean implements SuggestionService {
|
||||
messageService.addReactionToMessage(SUGGESTION_NO_EMOTE, guildId, message);
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
log.warn("Failed to post suggestion", e);
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}) .exceptionally(throwable -> {
|
||||
log.error("Failed to post suggestion {}", suggestionId, throwable);
|
||||
|
||||
Reference in New Issue
Block a user