package logbook.config; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import logbook.constants.AppConstants; import logbook.data.context.GlobalContext; import logbook.dto.ItemDto; import logbook.util.BeanUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; /** * 装備のIDと装備IDの紐付けを保存・復元します * */ public class ItemConfig { /** ロガー */ private static final Logger LOG = LogManager.getLogger(ItemConfig.class); /** * 設定ファイルに書き込みます */ public static void store() throws IOException { Map<Long, Integer> map = new HashMap<Long, Integer>(); for (Entry<Long, ItemDto> entry : GlobalContext.getItemMap().entrySet()) { map.put(entry.getKey(), entry.getValue().getId()); } BeanUtils.writeObject(AppConstants.ITEM_CONFIG_FILE, map); } /** * 艦娘のIDと名前の紐付けを設定ファイルから読み込みます * * @param properties * @return */ public static void load() { try { Map<Long, Integer> map = BeanUtils.readObject(AppConstants.ITEM_CONFIG_FILE, Map.class); if (map != null) { GlobalContext.setItemMap(map); } } catch (Exception e) { LOG.warn("艦娘のIDと名前の紐付けを設定ファイルから読み込みますに失敗しました", e); } } }