[AB-197] splitting utility maven module into separate maven modules

aligning some package names
removing some unnecessary computed values from liquibase
This commit is contained in:
Sheldan
2021-03-12 17:29:49 +01:00
parent e2da800d84
commit 2ed456c164
835 changed files with 12790 additions and 3310 deletions

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.experience.config.features;
package dev.sheldan.abstracto.experience.config;
import dev.sheldan.abstracto.core.config.FeatureConfig;
import dev.sheldan.abstracto.core.config.FeatureEnum;
import dev.sheldan.abstracto.core.config.FeatureDefinition;
import org.springframework.stereotype.Component;
import java.util.Arrays;
@@ -9,7 +9,7 @@ import java.util.List;
/**
* {@link FeatureConfig} instance containing the required configuration concerning system config and post targets for
* the {@link ExperienceFeature} feature.
* the {@link ExperienceFeatureDefinition} feature.
*/
@Component
public class ExperienceFeatureConfig implements FeatureConfig {
@@ -28,8 +28,8 @@ public class ExperienceFeatureConfig implements FeatureConfig {
public static final String EXP_MULTIPLIER_KEY = "expMultiplier";
@Override
public FeatureEnum getFeature() {
return ExperienceFeature.EXPERIENCE;
public FeatureDefinition getFeature() {
return ExperienceFeatureDefinition.EXPERIENCE;
}
/**

View File

@@ -0,0 +1,18 @@
package dev.sheldan.abstracto.experience.config;
import dev.sheldan.abstracto.core.config.FeatureDefinition;
import lombok.Getter;
/**
* The experience tracking feature enum, this is used to switch off/on experience tracking.
*/
@Getter
public enum ExperienceFeatureDefinition implements FeatureDefinition {
EXPERIENCE("experience");
private String key;
ExperienceFeatureDefinition(String key) {
this.key = key;
}
}

View File

@@ -1,18 +0,0 @@
package dev.sheldan.abstracto.experience.config.features;
import dev.sheldan.abstracto.core.config.FeatureEnum;
import lombok.Getter;
/**
* The experience tracking feature enum, this is used to switch off/on experience tracking.
*/
@Getter
public enum ExperienceFeature implements FeatureEnum {
EXPERIENCE("experience");
private String key;
ExperienceFeature(String key) {
this.key = key;
}
}

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.experience.models;
package dev.sheldan.abstracto.experience.model;
import lombok.Builder;
import lombok.Getter;
@@ -41,7 +41,7 @@ public class ExperienceGainResult {
*/
private Long newMessageCount;
/**
* Whether or not a {@link dev.sheldan.abstracto.experience.models.database.AUserExperience experience} object needs to be created after the calculation.
* Whether or not a {@link dev.sheldan.abstracto.experience.model.database.AUserExperience experience} object needs to be created after the calculation.
* This happens if the object did not exist yet, but the calculation was done regardless.
*/
@Builder.Default

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.experience.models;
package dev.sheldan.abstracto.experience.model;
import dev.sheldan.abstracto.experience.models.database.AUserExperience;
import dev.sheldan.abstracto.experience.model.database.AUserExperience;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;

View File

@@ -1,11 +1,11 @@
package dev.sheldan.abstracto.experience.models;
package dev.sheldan.abstracto.experience.model;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
/**
* The result of calculating the appropriate {@link dev.sheldan.abstracto.experience.models.database.AExperienceRole role} for a {@link dev.sheldan.abstracto.experience.models.database.AUserExperience user}
* The result of calculating the appropriate {@link dev.sheldan.abstracto.experience.model.database.AExperienceRole role} for a {@link dev.sheldan.abstracto.experience.model.database.AUserExperience user}
* in a server.
*/
@Getter
@@ -13,7 +13,7 @@ import lombok.Setter;
@Builder
public class RoleCalculationResult {
/**
* The ID of the {@link dev.sheldan.abstracto.experience.models.database.AExperienceRole role} which was given to the user. Can be null, in case no role is given.
* The ID of the {@link dev.sheldan.abstracto.experience.model.database.AExperienceRole role} which was given to the user. Can be null, in case no role is given.
*/
private Long experienceRoleId;
/**

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.experience.models.database;
package dev.sheldan.abstracto.experience.model.database;
import dev.sheldan.abstracto.core.models.database.ARole;
import dev.sheldan.abstracto.core.models.database.AServer;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.experience.models.database;
package dev.sheldan.abstracto.experience.model.database;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.models.database.AUserInAServer;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.experience.models.templates;
package dev.sheldan.abstracto.experience.model.template;
import dev.sheldan.abstracto.core.models.FullRole;
import dev.sheldan.abstracto.core.models.context.UserInitiatedServerContext;

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.experience.models.templates;
package dev.sheldan.abstracto.experience.model.template;
import dev.sheldan.abstracto.experience.models.database.AUserExperience;
import dev.sheldan.abstracto.experience.model.database.AUserExperience;
import lombok.Builder;
import lombok.Getter;
import net.dv8tion.jda.api.entities.Member;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.experience.models.templates;
package dev.sheldan.abstracto.experience.model.template;
import dev.sheldan.abstracto.core.models.context.SlimUserInitiatedServerContext;
import lombok.Getter;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.experience.models.templates;
package dev.sheldan.abstracto.experience.model.template;
import dev.sheldan.abstracto.core.models.context.SlimUserInitiatedServerContext;
import lombok.Getter;

View File

@@ -4,17 +4,16 @@ import dev.sheldan.abstracto.core.models.database.AChannel;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
import dev.sheldan.abstracto.core.utils.CompletableFutureList;
import dev.sheldan.abstracto.experience.models.LeaderBoard;
import dev.sheldan.abstracto.experience.models.LeaderBoardEntry;
import dev.sheldan.abstracto.experience.models.RoleCalculationResult;
import dev.sheldan.abstracto.experience.models.ServerExperience;
import dev.sheldan.abstracto.experience.models.database.AExperienceLevel;
import dev.sheldan.abstracto.experience.models.database.AExperienceRole;
import dev.sheldan.abstracto.experience.models.database.AUserExperience;
import dev.sheldan.abstracto.experience.model.LeaderBoard;
import dev.sheldan.abstracto.experience.model.LeaderBoardEntry;
import dev.sheldan.abstracto.experience.model.RoleCalculationResult;
import dev.sheldan.abstracto.experience.model.ServerExperience;
import dev.sheldan.abstracto.experience.model.database.AExperienceLevel;
import dev.sheldan.abstracto.experience.model.database.AExperienceRole;
import dev.sheldan.abstracto.experience.model.database.AUserExperience;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import java.util.function.Function;
/**
@@ -88,7 +87,7 @@ public interface AUserExperienceService {
* to how much experience the user has. This method provides feedback back to the user in the provided {@link AChannel channel}
* while the process is going own.
* @param server The {@link AServer} to update users for
* @param channelId The ID of a {@link AChannel channel} in which the {@link dev.sheldan.abstracto.experience.models.templates.UserSyncStatusModel statusUpdate}
* @param channelId The ID of a {@link AChannel channel} in which the {@link dev.sheldan.abstracto.experience.model.template.UserSyncStatusModel statusUpdate}
* should be posted to
* @return A {@link CompletableFuture future} which completes after all the role changes have been completed
*/
@@ -122,7 +121,7 @@ public interface AUserExperienceService {
/**
* Provides a method to execute an action on a list of {@link AUserExperience} and provide feedback in the given {@link AChannel}
* in the form of {@link dev.sheldan.abstracto.experience.models.templates.UserSyncStatusModel} to be rendered with a certain
* in the form of {@link dev.sheldan.abstracto.experience.model.template.UserSyncStatusModel} to be rendered with a certain
* template
* @param experiences The list of {@link AUserExperience} to be working on
* @param channel The {@link AChannel} used to provide feedback to the user

View File

@@ -1,14 +1,14 @@
package dev.sheldan.abstracto.experience.service;
/**
* Service responsible for operations on {@link dev.sheldan.abstracto.experience.models.database.AExperienceLevel experienceLevel}
* Service responsible for operations on {@link dev.sheldan.abstracto.experience.model.database.AExperienceLevel experienceLevel}
* This includes creating and calculations.
*/
public interface ExperienceLevelService {
/**
* Creates all the levels up until the given level.
* @param level The max level to create {@link dev.sheldan.abstracto.experience.models.database.AExperienceLevel level} for
* @param level The max level to create {@link dev.sheldan.abstracto.experience.model.database.AExperienceLevel level} for
*/
void createLevelsUntil(Integer level);

View File

@@ -2,20 +2,20 @@ package dev.sheldan.abstracto.experience.service;
import dev.sheldan.abstracto.core.models.database.ARole;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.experience.models.database.AExperienceLevel;
import dev.sheldan.abstracto.experience.models.database.AExperienceRole;
import dev.sheldan.abstracto.experience.models.database.AUserExperience;
import dev.sheldan.abstracto.experience.model.database.AExperienceLevel;
import dev.sheldan.abstracto.experience.model.database.AExperienceRole;
import dev.sheldan.abstracto.experience.model.database.AUserExperience;
import net.dv8tion.jda.api.entities.Role;
import java.util.List;
import java.util.concurrent.CompletableFuture;
/**
* Service providing several methods surrounding {@link dev.sheldan.abstracto.experience.models.database.AExperienceRole experienceRole}.
* Service providing several methods surrounding {@link dev.sheldan.abstracto.experience.model.database.AExperienceRole experienceRole}.
*/
public interface ExperienceRoleService {
/**
* Creates an {@link dev.sheldan.abstracto.experience.models.database.AExperienceRole experienceRole} according to the given
* Creates an {@link dev.sheldan.abstracto.experience.model.database.AExperienceRole experienceRole} according to the given
* parameters. This actually updates the {@link net.dv8tion.jda.api.entities.Member members}
* which currently possessed the given role before and provides a display to see how far the progress is
* @param role The {@link ARole role} to set the level to
@@ -28,10 +28,10 @@ public interface ExperienceRoleService {
CompletableFuture<Void> setRoleToLevel(Role role, Integer level, Long channelId);
/**
* Removes the role from the {@link dev.sheldan.abstracto.experience.models.database.AExperienceRole} configuration,
* Removes the role from the {@link dev.sheldan.abstracto.experience.model.database.AExperienceRole} configuration,
* this will also update all the {@link net.dv8tion.jda.api.entities.Member} which previously had this role and re-calculates
* a new {@link AExperienceRole experienceRole} for them while also updating them in the guild
* @param role The {@link ARole} to remove from the {@link dev.sheldan.abstracto.experience.models.database.AExperienceRole}
* @param role The {@link ARole} to remove from the {@link dev.sheldan.abstracto.experience.model.database.AExperienceRole}
* configuration
* @param channelId The ID of the {@link dev.sheldan.abstracto.core.models.database.AChannel} in which the status updates
* should be sent to

View File

@@ -2,7 +2,7 @@ package dev.sheldan.abstracto.experience.service.management;
import dev.sheldan.abstracto.core.models.database.ARole;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.experience.models.database.ADisabledExpRole;
import dev.sheldan.abstracto.experience.model.database.ADisabledExpRole;
import java.util.List;

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.experience.service.management;
import dev.sheldan.abstracto.experience.models.database.AExperienceLevel;
import dev.sheldan.abstracto.experience.model.database.AExperienceLevel;
import java.util.List;
import java.util.Optional;

View File

@@ -2,8 +2,8 @@ package dev.sheldan.abstracto.experience.service.management;
import dev.sheldan.abstracto.core.models.database.ARole;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.experience.models.database.AExperienceLevel;
import dev.sheldan.abstracto.experience.models.database.AExperienceRole;
import dev.sheldan.abstracto.experience.model.database.AExperienceLevel;
import dev.sheldan.abstracto.experience.model.database.AExperienceRole;
import java.util.List;
import java.util.Optional;

View File

@@ -3,8 +3,8 @@ package dev.sheldan.abstracto.experience.service.management;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
import dev.sheldan.abstracto.experience.models.database.AUserExperience;
import dev.sheldan.abstracto.experience.models.database.LeaderBoardEntryResult;
import dev.sheldan.abstracto.experience.model.database.AUserExperience;
import dev.sheldan.abstracto.experience.model.database.LeaderBoardEntryResult;
import java.util.List;
import java.util.Optional;