Skip to content

Commit 723a8fd

Browse files
committed
Refactor ProfileData classes to separate package
1 parent c13fd1d commit 723a8fd

26 files changed

Lines changed: 197 additions & 96 deletions

src/main/java/org/mvplugins/multiverse/inventories/dataimport/multiinv/MultiInvImportHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import org.jetbrains.annotations.NotNull;
99
import org.mvplugins.multiverse.inventories.config.InventoriesConfig;
1010
import org.mvplugins.multiverse.inventories.dataimport.DataImportException;
11-
import org.mvplugins.multiverse.inventories.profile.PlayerProfile;
11+
import org.mvplugins.multiverse.inventories.profile.data.PlayerProfile;
1212
import org.mvplugins.multiverse.inventories.profile.ProfileDataSource;
1313
import org.mvplugins.multiverse.inventories.profile.key.ProfileTypes;
1414
import org.mvplugins.multiverse.inventories.profile.key.ContainerType;

src/main/java/org/mvplugins/multiverse/inventories/dataimport/perworldinventory/PwiImportHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import org.mvplugins.multiverse.inventories.config.InventoriesConfig;
2626
import org.mvplugins.multiverse.inventories.dataimport.DataImportException;
2727
import org.mvplugins.multiverse.inventories.profile.GlobalProfile;
28-
import org.mvplugins.multiverse.inventories.profile.PlayerProfile;
28+
import org.mvplugins.multiverse.inventories.profile.data.PlayerProfile;
2929
import org.mvplugins.multiverse.inventories.profile.ProfileDataSource;
3030
import org.mvplugins.multiverse.inventories.profile.key.GlobalProfileKey;
3131
import org.mvplugins.multiverse.inventories.profile.key.ProfileTypes;

src/main/java/org/mvplugins/multiverse/inventories/dataimport/worldinventories/WorldInventoriesImportHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import org.jetbrains.annotations.NotNull;
1212
import org.mvplugins.multiverse.inventories.config.InventoriesConfig;
1313
import org.mvplugins.multiverse.inventories.dataimport.DataImportException;
14-
import org.mvplugins.multiverse.inventories.profile.PlayerProfile;
14+
import org.mvplugins.multiverse.inventories.profile.data.PlayerProfile;
1515
import org.mvplugins.multiverse.inventories.profile.ProfileDataSource;
1616
import org.mvplugins.multiverse.inventories.profile.key.ProfileTypes;
1717
import org.mvplugins.multiverse.inventories.profile.key.ContainerType;

src/main/java/org/mvplugins/multiverse/inventories/handleshare/AffectedProfiles.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package org.mvplugins.multiverse.inventories.handleshare;
22

3-
import org.mvplugins.multiverse.inventories.profile.PlayerProfile;
43
import org.mvplugins.multiverse.inventories.profile.key.ProfileKey;
54
import org.mvplugins.multiverse.inventories.share.Shares;
65

76
import java.util.LinkedList;
87
import java.util.List;
9-
import java.util.concurrent.CompletableFuture;
108

119
public final class AffectedProfiles {
1210

src/main/java/org/mvplugins/multiverse/inventories/handleshare/PersistingProfile.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
package org.mvplugins.multiverse.inventories.handleshare;
22

3-
import org.mvplugins.multiverse.inventories.profile.PlayerProfile;
3+
import org.mvplugins.multiverse.inventories.profile.data.PlayerProfile;
44
import org.mvplugins.multiverse.inventories.profile.key.ProfileKey;
55
import org.mvplugins.multiverse.inventories.share.Shares;
66

7-
import java.util.concurrent.CompletableFuture;
8-
97
/**
108
* Simple class for groups that are going to be saved/loaded. This is used specifically for when a user's world
119
* change is being handled.

src/main/java/org/mvplugins/multiverse/inventories/handleshare/ShareHandleListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import org.mvplugins.multiverse.inventories.profile.container.ProfileContainerStoreProvider;
1616
import org.mvplugins.multiverse.inventories.profile.group.WorldGroup;
1717
import org.mvplugins.multiverse.inventories.profile.GlobalProfile;
18-
import org.mvplugins.multiverse.inventories.profile.PlayerProfile;
18+
import org.mvplugins.multiverse.inventories.profile.data.PlayerProfile;
1919
import org.mvplugins.multiverse.inventories.profile.container.ProfileContainer;
2020
import org.mvplugins.multiverse.inventories.profile.group.WorldGroupManager;
2121
import org.mvplugins.multiverse.inventories.share.Sharables;

src/main/java/org/mvplugins/multiverse/inventories/handleshare/ShareHandler.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import org.mvplugins.multiverse.inventories.MultiverseInventories;
55
import org.mvplugins.multiverse.inventories.config.InventoriesConfig;
66
import org.mvplugins.multiverse.inventories.event.ShareHandlingEvent;
7-
import org.mvplugins.multiverse.inventories.profile.ProfileDataSnapshot;
7+
import org.mvplugins.multiverse.inventories.profile.data.ProfileDataSnapshot;
88
import org.mvplugins.multiverse.inventories.profile.ProfileDataSource;
99
import org.mvplugins.multiverse.inventories.profile.key.ContainerType;
1010
import org.mvplugins.multiverse.inventories.profile.container.ProfileContainerStore;
@@ -13,9 +13,6 @@
1313
import org.mvplugins.multiverse.inventories.share.Sharables;
1414
import org.bukkit.Bukkit;
1515
import org.bukkit.entity.Player;
16-
import org.mvplugins.multiverse.inventories.util.FutureNow;
17-
18-
import java.util.concurrent.CompletableFuture;
1916

2017
/**
2118
* Abstract class for handling sharing of data between worlds and game modes.

src/main/java/org/mvplugins/multiverse/inventories/handleshare/ShareHandlingUpdater.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import com.dumptruckman.minecraft.util.Logging;
44
import org.mvplugins.multiverse.external.vavr.control.Try;
55
import org.mvplugins.multiverse.inventories.MultiverseInventories;
6-
import org.mvplugins.multiverse.inventories.profile.PlayerProfile;
76
import org.mvplugins.multiverse.inventories.profile.ProfileDataSource;
87
import org.mvplugins.multiverse.inventories.share.Sharable;
98
import org.bukkit.entity.Player;
@@ -12,7 +11,6 @@
1211
import java.util.ArrayList;
1312
import java.util.List;
1413
import java.util.concurrent.CompletableFuture;
15-
import java.util.concurrent.TimeUnit;
1614

1715
public final class ShareHandlingUpdater {
1816

src/main/java/org/mvplugins/multiverse/inventories/handleshare/SingleShareWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import org.bukkit.entity.Player;
66
import org.mvplugins.multiverse.inventories.MultiverseInventories;
77
import org.mvplugins.multiverse.inventories.config.InventoriesConfig;
8-
import org.mvplugins.multiverse.inventories.profile.PlayerProfile;
8+
import org.mvplugins.multiverse.inventories.profile.data.PlayerProfile;
99
import org.mvplugins.multiverse.inventories.profile.ProfileDataSource;
1010
import org.mvplugins.multiverse.inventories.profile.key.ProfileType;
1111
import org.mvplugins.multiverse.inventories.profile.key.ProfileTypes;

src/main/java/org/mvplugins/multiverse/inventories/profile/FlatFileProfileDataSource.java

Lines changed: 7 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.mvplugins.multiverse.external.jakarta.inject.Inject;
1010
import org.mvplugins.multiverse.external.vavr.control.Option;
1111
import org.mvplugins.multiverse.external.vavr.control.Try;
12+
import org.mvplugins.multiverse.inventories.profile.data.PlayerProfile;
1213
import org.mvplugins.multiverse.inventories.profile.key.GlobalProfileKey;
1314
import org.mvplugins.multiverse.inventories.profile.key.ProfileFileKey;
1415
import org.mvplugins.multiverse.inventories.profile.key.ProfileKey;
@@ -17,7 +18,6 @@
1718
import org.mvplugins.multiverse.inventories.profile.key.ContainerType;
1819
import org.bukkit.configuration.ConfigurationSection;
1920
import org.bukkit.configuration.file.FileConfiguration;
20-
import org.mvplugins.multiverse.inventories.util.DataStrings;
2121

2222
import java.io.File;
2323
import java.io.IOException;
@@ -87,7 +87,7 @@ public CompletableFuture<PlayerProfile> getPlayerProfile(ProfileKey profileKey)
8787
File playerFile = profileFilesLocator.getPlayerProfileFile(profileKey);
8888
if (!playerFile.exists()) {
8989
Logging.fine("Not found on disk: %s", playerFile);
90-
return CompletableFuture.completedFuture(PlayerProfile.createPlayerProfile(key));
90+
return CompletableFuture.completedFuture(PlayerProfile.newProfile(key));
9191
}
9292
Logging.finer("%s not cached. loading from disk...", profileKey);
9393
return asyncFileIO.queueFileCallable(playerFile, () -> getPlayerProfileFromDisk(key, playerFile));
@@ -101,38 +101,13 @@ public CompletableFuture<PlayerProfile> getPlayerProfile(ProfileKey profileKey)
101101

102102
private PlayerProfile getPlayerProfileFromDisk(ProfileKey key, File playerFile) {
103103
FileConfiguration playerData = getOrLoadPlayerProfileFile(key, playerFile);
104-
105-
// Migrate from none profile-type data
106-
if (migrateToProfileType(playerData)) {
107-
try {
108-
playerData.save(playerFile);
109-
} catch (IOException e) {
110-
Logging.severe("Could not save data for player: " + key.getPlayerName()
111-
+ " for " + key.getContainerType().toString() + ": " + key.getDataName() + " after conversion.");
112-
e.printStackTrace();
113-
}
114-
}
115-
116104
ConfigurationSection section = playerData.getConfigurationSection(key.getProfileType().getName());
117-
if (section == null) {
118-
section = playerData.createSection(key.getProfileType().getName());
105+
if (section == null || section.getKeys(false).isEmpty()) {
106+
return PlayerProfile.newProfile(key);
119107
}
120108
return PlayerProfileJsonSerializer.deserialize(key, convertSection(section));
121109
}
122110

123-
private boolean migrateToProfileType(FileConfiguration config) {
124-
ConfigurationSection section = config.getConfigurationSection(DataStrings.PLAYER_DATA);
125-
if (section == null) {
126-
return false;
127-
}
128-
config.set(ProfileTypes.SURVIVAL.getName(), section);
129-
config.set(ProfileTypes.CREATIVE.getName(), section);
130-
config.set(ProfileTypes.ADVENTURE.getName(), section);
131-
config.set(DataStrings.PLAYER_DATA, null);
132-
Logging.finer("Migrated old player data to new multi-profile format");
133-
return true;
134-
}
135-
136111
private Map<String, Object> convertSection(ConfigurationSection section) {
137112
Set<String> keys = section.getKeys(false);
138113
Map<String, Object> resultMap = new HashMap<>(keys.size());
@@ -188,6 +163,9 @@ public CompletableFuture<Void> deletePlayerProfile(ProfileKey profileKey) {
188163
deletePlayerProfileFromDisk(profileKey, playerFile, new ProfileType[]{profileKey.getProfileType()}));
189164
}
190165

166+
/**
167+
* {@inheritDoc}
168+
*/
191169
@Override
192170
public CompletableFuture<Void> deletePlayerProfiles(ProfileFileKey profileKey, ProfileType[] profileTypes) {
193171
if (Strings.isNullOrEmpty(profileKey.getPlayerName())) {
@@ -358,14 +336,6 @@ private void processGlobalProfileWrite(GlobalProfile globalProfile) {
358336
});
359337
}
360338

361-
/**
362-
* {@inheritDoc}
363-
*/
364-
@Override
365-
public CompletableFuture<Void> deleteGlobalProfile(GlobalProfileKey key) {
366-
return deleteGlobalProfile(key, true);
367-
}
368-
369339
/**
370340
* {@inheritDoc}
371341
*/

0 commit comments

Comments
 (0)