/*
* Copyright (c) 2012. HappyDroids LLC, All rights reserved.
*/
package com.happydroids.droidtowers.gamestate.migrations;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.happydroids.droidtowers.DifficultyLevel;
import com.happydroids.droidtowers.gamestate.GameSaveMetadata;
import sk.seges.acris.json.server.migrate.JacksonTransformationScript;
public class Migration_GameSave_MoveMetadata extends JacksonTransformationScript<ObjectNode> {
@Override
protected void process(ObjectNode node, String fileName) {
ObjectNode gameSaveNode = getGameSaveUnlessFileFormatIsNewer(node, "com.happydroids.droidtowers.gamestate.GameSave", 3);
if (gameSaveNode == null) {
return;
}
GameSaveMetadata metadata = new GameSaveMetadata();
metadata.towerName = gameSaveNode.remove("towerName").asText();
metadata.difficultyLevel = DifficultyLevel.valueOf(gameSaveNode.remove("difficultyLevel").asText());
metadata.cloudSaveUri = gameSaveNode.remove("cloudSaveUri").asText();
metadata.baseFilename = gameSaveNode.remove("baseFilename").asText();
metadata.fileGeneration = gameSaveNode.remove("fileGeneration").asInt();
gameSaveNode.remove("neighborhoodUri");
gameSaveNode.putPOJO("metadata", metadata);
gameSaveNode.put("fileFormat", 4);
node.removeAll();
node.put("com.happydroids.droidtowers.gamestate.GameSave", gameSaveNode);
}
}