fixed some code smells

This commit is contained in:
Sheldan
2020-04-27 20:23:02 +02:00
parent e08086b6a9
commit 8e7bc7d98f
91 changed files with 251 additions and 268 deletions

View File

@@ -50,7 +50,7 @@ public class LeaderBoardCommand extends AbstractConditionableCommand {
public CommandResult execute(CommandContext commandContext) {
List<Object> parameters = commandContext.getParameters().getParameters();
// parameter is optional, in case its not present, we default to the 0th page
Integer page = parameters.size() > 0 ? (Integer) parameters.get(0) : 0;
Integer page = !parameters.isEmpty() ? (Integer) parameters.get(0) : 0;
LeaderBoard leaderBoard = userExperienceService.findLeaderBoardData(commandContext.getUserInitiatedContext().getServer(), page);
LeaderBoardModel leaderBoardModel = (LeaderBoardModel) ContextConverter.fromCommandContext(commandContext, LeaderBoardModel.class);
leaderBoardModel.setUserExperiences(converter.fromLeaderBoard(leaderBoard));

View File

@@ -8,6 +8,7 @@ import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult;
import dev.sheldan.abstracto.core.command.execution.ContextConverter;
import dev.sheldan.abstracto.core.config.FeatureEnum;
import dev.sheldan.abstracto.core.service.ChannelService;
import dev.sheldan.abstracto.experience.config.features.ExperienceFeature;
import dev.sheldan.abstracto.experience.converter.LeaderBoardModelConverter;
import dev.sheldan.abstracto.experience.models.LeaderBoardEntry;
@@ -39,6 +40,10 @@ public class Rank extends AbstractConditionableCommand {
@Autowired
private ExperienceLevelService experienceLevelService;
@Autowired
protected ChannelService channelService;
@Override
public CommandResult execute(CommandContext commandContext) {
RankModel rankModel = (RankModel) ContextConverter.fromCommandContext(commandContext, RankModel.class);

View File

@@ -176,25 +176,19 @@ public class AUserExperienceServiceBean implements AUserExperienceService {
Member member = botService.getMemberInServer(user.getServerReference(), user.getUserReference());
boolean currentlyHasNoExperienceRole = userExperience.getCurrentExperienceRole() == null;
if(role == null) {
if(!currentlyHasNoExperienceRole){
if(botService.isUserInGuild(userExperience.getUser())) {
roleService.removeRoleFromUser(user, userExperience.getCurrentExperienceRole().getRole());
}
if(!currentlyHasNoExperienceRole && botService.isUserInGuild(userExperience.getUser())){
roleService.removeRoleFromUser(user, userExperience.getCurrentExperienceRole().getRole());
}
userExperience.setCurrentExperienceRole(null);
return;
}
boolean userHasRoleAlready = roleService.memberHasRole(member, role.getRole());
if(!userHasRoleAlready) {
if(currentlyHasNoExperienceRole || !role.getRole().getId().equals(userExperience.getCurrentExperienceRole().getRole().getId())) {
log.info("User {} in server {} gets a new role {}", user.getUserReference().getId(), user.getServerReference().getId(), role.getRole().getId());
if(!currentlyHasNoExperienceRole) {
if(botService.isUserInGuild(userExperience.getUser())) {
roleService.removeRoleFromUser(user, userExperience.getCurrentExperienceRole().getRole());
}
}
roleService.addRoleToUser(user, role.getRole());
if(!userHasRoleAlready && (currentlyHasNoExperienceRole || !role.getRole().getId().equals(userExperience.getCurrentExperienceRole().getRole().getId()))) {
log.info("User {} in server {} gets a new role {}", user.getUserReference().getId(), user.getServerReference().getId(), role.getRole().getId());
if(!currentlyHasNoExperienceRole && botService.isUserInGuild(userExperience.getUser())) {
roleService.removeRoleFromUser(user, userExperience.getCurrentExperienceRole().getRole());
}
roleService.addRoleToUser(user, role.getRole());
}
userExperience.setCurrentExperienceRole(role);
}
@@ -226,9 +220,7 @@ public class AUserExperienceServiceBean implements AUserExperienceService {
List<AUserExperience> aUserExperiences = userExperienceManagementService.loadAllUsers(server);
log.info("Found {} users to synchronize", aUserExperiences.size());
List<AExperienceRole> roles = experienceRoleManagementService.getExperienceRolesForServer(server);
executeActionOnUserExperiencesWithFeedBack(aUserExperiences, channel, (AUserExperience experience) -> {
updateUserRole(experience, roles);
});
executeActionOnUserExperiencesWithFeedBack(aUserExperiences, channel, (AUserExperience experience) -> updateUserRole(experience, roles));
}
@Override

View File

@@ -55,14 +55,13 @@ public class ExperienceRoleServiceBean implements ExperienceRoleService {
public void unsetRole(ARole role, AServer server, AChannel feedbackChannel) {
AExperienceRole roleInServer = experienceRoleManagementService.getRoleInServer(role, server);
if(roleInServer != null) {
if(roleInServer.getUsers().size() > 0) {
if(!roleInServer.getUsers().isEmpty()) {
log.info("Recalculating the roles for {} users, because their current role was removed from experience tracking.", roleInServer.getUsers().size());
List<AExperienceRole> roles = experienceRoleManagementService.getExperienceRolesForServer(server);
roles.removeIf(role1 -> role1.getId().equals(roleInServer.getId()));
userExperienceService.executeActionOnUserExperiencesWithFeedBack(roleInServer.getUsers(), feedbackChannel, (AUserExperience ex) -> {
userExperienceService.updateUserRole(ex, roles);
});
userExperienceService.executeActionOnUserExperiencesWithFeedBack(roleInServer.getUsers(), feedbackChannel,
(AUserExperience ex) -> userExperienceService.updateUserRole(ex, roles));
}
experienceRoleManagementService.unsetRole(roleInServer);
}
@@ -76,7 +75,7 @@ public class ExperienceRoleServiceBean implements ExperienceRoleService {
*/
@Override
public AExperienceRole calculateRole(AUserExperience userExperience, List<AExperienceRole> roles) {
if(roles.size() == 0) {
if(roles.isEmpty()) {
return null;
}
AExperienceRole lastRole = null;

View File

@@ -27,9 +27,7 @@ public class ExperienceRoleManagementServiceBean implements ExperienceRoleManage
public void removeAllRoleAssignmentsForLevelInServer(AExperienceLevel level, AServer server) {
log.trace("Removing all role assignments for level {}.", level.getLevel());
List<AExperienceRole> existingExperienceRoles = experienceRoleRepository.findByLevelAndRoleServer(level, server);
existingExperienceRoles.forEach(existingRole -> {
experienceRoleRepository.delete(existingRole);
});
existingExperienceRoles.forEach(existingRole -> experienceRoleRepository.delete(existingRole));
}
@Override

View File

@@ -6,8 +6,6 @@ import org.springframework.stereotype.Component;
@Component
public class ExperienceFeatureDisplay implements FeatureDisplay {
public static String EXPERIENCE = "experience";
@Override
public FeatureEnum getFeature() {
return ExperienceFeature.EXPERIENCE;

View File

@@ -5,6 +5,7 @@ import lombok.*;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
/**
* Represents an existing level to reach and the total necessary experience needed to reach that level.
@@ -16,7 +17,7 @@ import javax.persistence.Table;
@Table(name = "experience_level")
@Getter
@Setter
public class AExperienceLevel {
public class AExperienceLevel implements Serializable {
/**
* The unique level from 0 to as defined in the configuration. Will be created on startup.
*/

View File

@@ -5,6 +5,7 @@ import dev.sheldan.abstracto.core.models.database.AServer;
import lombok.*;
import javax.persistence.*;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@@ -19,7 +20,7 @@ import java.util.List;
@Table(name = "experience_role")
@Getter
@Setter
public class AExperienceRole {
public class AExperienceRole implements Serializable {
/**
* The abstracto unique id of this experience role.