Migrate the auto increment id as well.
This commit is contained in:
		
							parent
							
								
									cfd172b7b9
								
							
						
					
					
						commit
						0402d4456a
					
				| @ -9,6 +9,7 @@ import org.bukkit.ChatColor; | |||||||
| 
 | 
 | ||||||
| import com.massivecraft.mcore.store.Coll; | import com.massivecraft.mcore.store.Coll; | ||||||
| import com.massivecraft.mcore.store.MStore; | import com.massivecraft.mcore.store.MStore; | ||||||
|  | import com.massivecraft.mcore.store.idstrategy.IdStrategyAiAbstract; | ||||||
| import com.massivecraft.mcore.util.DiscUtil; | import com.massivecraft.mcore.util.DiscUtil; | ||||||
| import com.massivecraft.mcore.util.Txt; | import com.massivecraft.mcore.util.Txt; | ||||||
| import com.massivecraft.mcore.xlib.gson.reflect.TypeToken; | import com.massivecraft.mcore.xlib.gson.reflect.TypeToken; | ||||||
| @ -51,7 +52,6 @@ public class FactionColl extends Coll<Faction, String> | |||||||
| 		}		 | 		}		 | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| 	// TODO: REMEMBER: Deciding on the next AI value is part of the migration routine. |  | ||||||
| 	public void migrate() | 	public void migrate() | ||||||
| 	{ | 	{ | ||||||
| 		// Create file objects | 		// Create file objects | ||||||
| @ -65,14 +65,34 @@ public class FactionColl extends Coll<Faction, String> | |||||||
| 		Type type = new TypeToken<Map<String, Faction>>(){}.getType(); | 		Type type = new TypeToken<Map<String, Faction>>(){}.getType(); | ||||||
| 		Map<String, Faction> id2faction = Factions.get().gson.fromJson(DiscUtil.readCatch(oldFile), type); | 		Map<String, Faction> id2faction = Factions.get().gson.fromJson(DiscUtil.readCatch(oldFile), type); | ||||||
| 		 | 		 | ||||||
|  | 		// We need to find the next AI id! | ||||||
|  | 		int highestId = 0; | ||||||
|  | 		 | ||||||
| 		// Set the data | 		// Set the data | ||||||
| 		for (Entry<String, Faction> entry : id2faction.entrySet()) | 		for (Entry<String, Faction> entry : id2faction.entrySet()) | ||||||
| 		{ | 		{ | ||||||
| 			String factionId = entry.getKey(); | 			String factionId = entry.getKey(); | ||||||
| 			Faction faction = entry.getValue(); | 			Faction faction = entry.getValue(); | ||||||
|  | 			 | ||||||
|  | 			try | ||||||
|  | 			{ | ||||||
|  | 				int intFactionId = Integer.valueOf(factionId); | ||||||
|  | 				if (highestId < intFactionId) | ||||||
|  | 				{ | ||||||
|  | 					highestId = intFactionId; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 			catch (Exception e) | ||||||
|  | 			{ | ||||||
|  | 				// Just ignore | ||||||
|  | 			} | ||||||
|  | 			 | ||||||
| 			FactionColl.get().create(factionId).load(faction); | 			FactionColl.get().create(factionId).load(faction); | ||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
|  | 		IdStrategyAiAbstract idStrategy = (IdStrategyAiAbstract) FactionColl.get().getIdStrategy(); | ||||||
|  | 		idStrategy.setNext(this, highestId + 1); | ||||||
|  | 		 | ||||||
| 		// Mark as migrated | 		// Mark as migrated | ||||||
| 		oldFile.renameTo(newFile); | 		oldFile.renameTo(newFile); | ||||||
| 	} | 	} | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user