- Function<String, String> in GeoInfoStoreTransaction
- Unused throws clause in Version10Patch
- Bad variable name in UsersTable
- Fixed WorldTimesQueries again
- Fixed accidental breakage of a WorldTimes query
Fixed Smells, Level Major (SonarCloud):
- Use of keySet instead of entrySet in LargeStoreQueries
- Unused variable in NicknameQueries now used
- Unused fields removed from UsersTable
- Unused fields removed from PlayerProcessors
- Same variable name as field in WorldMap
- Sorted out SessionQueries ORDER BY usefulness with a TreeMap
Level Critical (SonarCloud):
- Smell: Duplicated String literals in the Queries: " FROM ", " WHERE ",
" AND ", etc
- Smell: GeoInfoStoreTransaction static value assignment
- Smell: Patch - Duplicate switch case
- Smell: DataCache - Empty constructor without comment
- Removed SessionsTable#getLastSeenForAllPlayers
- Made a test to ensure that the clean transaction does not delete all
players
- Fixed Peak player count fetch statement
- Sessions of a Server
- Sessions of a Player
- Flat sessions with kills and world data
Removed:
- KillsTable#addKillsToSessions(UUID uuid, Map<Integer, Session>)
- KillsTable#addDeathsToSessions(UUID uuid, Map<Integer, Session>)
- WorldTimesTable#addWorldTimesToSessions(UUID uuid, Map<Integer, Session> sessions)
- SessionsTable#getSessionInformation, #getSessions, #getSessionInfoOfServer
- RawDataContainer using getUnsafe in getValue which threw error where
no error should be thrown
- BaseUserQueries#fetchServerBaseUsers had ambiguous registered column
- WorldTimesQueries#fetchPlayerWorldTimesOnServers had ambiguous
server_uuid column
- Sorted out BaseUser, UserInfo debacle
- GeoInfo query no longer fetches GeoInfo of all servers
- Nickname query no longer fetches Nicknames of all servers
- Ping query no longer fetches Ping of all servers
- Left some comments with what still needs work
This is done because I had forgotten where a lot of the queries
resided, meaning that the location of each query was not intuitive.
New ordering attempts to have objects that can be filtered by different
variables (Server UUID, Player UUID for example) near each other.
- RawDataContainer, stores all values as the objects instead of
using any Suppliers
- DynamicDataContainer, stores all values in either RawDataContainer or
SupplierDataContainer based on which methods are called
- Some errors were encountered with removal of DataCache,
turns out if a dependency that has dagger modules that use some
class, a compile error occurs.
Thus the DataCache class was left in place until the uses are
removed from the PluginBridge.