메타데이터 로드 예외처리

This commit is contained in:
2025-02-18 15:52:16 +09:00
parent f38f86f5e5
commit 78cc70488a
2 changed files with 44 additions and 3 deletions

View File

@@ -35,7 +35,8 @@ public class JsonFileReader {
log.info("loadDataFromJsonFile path: {}", file.getPath());
if (!file.exists()) {
throw new MetaDataException("File not found: " + fileName);
log.error("File not found: {}", fileName);
return null;
}
String fileContent = readFileAsString(file);

View File

@@ -167,6 +167,10 @@ public class MetaDataFileLoader {
EMetaData.TEXT_STRING_DATA.getFileName(),
MetadataConstants.JSON_LIST_TEXT_STRING
);
if(metaList == null || metaList.isEmpty()) {
log.warn("textStrings data is empty or file not found: {}", EMetaData.TOOL_DATA.getFileName());
return;
}
metaList.forEach(meta -> {
MetaTextStringData textString = new MetaTextStringData();
@@ -183,6 +187,10 @@ public class MetaDataFileLoader {
// 아이템 정보 데이터 로드
public void loadItems(){
List<Map<String, Object>> metaList = jsonFileReader.readJsonFile(EMetaData.ITEM_DATA.getFileName(), MetadataConstants.JSON_LIST_ITEM);
if(metaList == null || metaList.isEmpty()) {
log.warn("item data is empty or file not found: {}", EMetaData.TOOL_DATA.getFileName());
return;
}
metaList.forEach(meta -> {
MetaItemData item = new MetaItemData();
@@ -200,6 +208,10 @@ public class MetaDataFileLoader {
// 의상 타입 데이터 로드
public void loadClothType(){
List<Map<String, Object>> metaList = jsonFileReader.readJsonFile(EMetaData.CLOTH_TYPE_DATA.getFileName(), MetadataConstants.JSON_LIST_CLOTH_TYPE);
if(metaList == null || metaList.isEmpty()) {
log.warn("clothType data is empty or file not found: {}", EMetaData.TOOL_DATA.getFileName());
return;
}
metaList.forEach(meta -> {
MetaClothTypeData item = new MetaClothTypeData();
@@ -215,6 +227,10 @@ public class MetaDataFileLoader {
// 도구 정보 데이터 로드
public void loadToolItems(){
List<Map<String, Object>> metaList = jsonFileReader.readJsonFile(EMetaData.TOOL_DATA.getFileName(), MetadataConstants.JSON_LIST_TOOL);
if(metaList == null || metaList.isEmpty()) {
log.warn("tool data is empty or file not found: {}", EMetaData.TOOL_DATA.getFileName());
return;
}
metaList.forEach(meta -> {
MetaToolData item = new MetaToolData();
@@ -229,6 +245,10 @@ public class MetaDataFileLoader {
// 금지어 데이터 로드
public void loadBanWord(){
List<Map<String, Object>> metaList = jsonFileReader.readJsonFile(EMetaData.BAN_WORD_DATA.getFileName(), MetadataConstants.JSON_LIST_BAN_WORD);
if(metaList == null || metaList.isEmpty()) {
log.warn("ban data is empty or file not found: {}", EMetaData.BAN_WORD_DATA.getFileName());
return;
}
metaList.forEach(meta -> {
banWords.put((Integer)meta.get("Id"), (String)meta.get("Ban_Word"));
@@ -240,6 +260,10 @@ public class MetaDataFileLoader {
// 퀘스트 데이터 로드
public void loadQuests(){
List<Map<String, Object>> metaList = jsonFileReader.readJsonFile(EMetaData.QUEST_DATA.getFileName(), MetadataConstants.JSON_LIST_QUEST);
if(metaList == null || metaList.isEmpty()) {
log.warn("quest data is empty or file not found: {}", EMetaData.QUEST_DATA.getFileName());
return;
}
metaList.forEach(meta -> {
MetaQuestData item = new MetaQuestData();
@@ -258,6 +282,10 @@ public class MetaDataFileLoader {
// 빌딩 데이터 로드
public void loadBuilding(){
List<Map<String, Object>> metaList = jsonFileReader.readJsonFile(EMetaData.BUILDING_DATA.getFileName(), MetadataConstants.JSON_LIST_BUILDING);
if(metaList == null || metaList.isEmpty()) {
log.warn("building data is empty or file not found: {}", EMetaData.BUILDING_DATA.getFileName());
return;
}
metaList.forEach(meta -> {
String building_name = (String)meta.get("BuildingName");
@@ -280,6 +308,10 @@ public class MetaDataFileLoader {
// 랜드 데이터 로드
public void loadLand(){
List<Map<String, Object>> metaList = jsonFileReader.readJsonFile(EMetaData.LAND_DATA.getFileName(), MetadataConstants.JSON_LIST_LAND);
if(metaList == null || metaList.isEmpty()) {
log.warn("land data is empty or file not found: {}", EMetaData.LAND_DATA.getFileName());
return;
}
metaList.forEach(meta -> {
String land_name = (String)meta.get("LandName");
@@ -304,11 +336,15 @@ public class MetaDataFileLoader {
// 전투 설정 데이터 로드
public void loadBattleConfig(){
List<Map<String, Object>> metaList = jsonFileReader.readJsonFile(EMetaData.BATTLE_CONFIG_DATA.getFileName(), MetadataConstants.JSON_LIST_BATTLE_CONFIG);
if(metaList == null || metaList.isEmpty()) {
log.warn("Battle config data is empty or file not found: {}", EMetaData.BATTLE_CONFIG_DATA.getFileName());
return;
}
metaList.forEach(meta -> {
MetaBattleConfigData item = new MetaBattleConfigData();
item.setId((Integer)meta.get("Id"));
item.setDesc((String)meta.get("_Desc"));
item.setDesc((String)meta.get("Description"));
item.setPlayerRespawnTime((Integer)meta.get("PlayerRespawnTime"));
item.setDefaultRoundCount((Integer)meta.get("DefaultRoundCount"));
item.setRoundTime((Integer)meta.get("RoundTime"));
@@ -324,11 +360,15 @@ public class MetaDataFileLoader {
// 전투 보상 데이터 로드
public void loadBattleReward(){
List<Map<String, Object>> metaList = jsonFileReader.readJsonFile(EMetaData.BATTLE_REWARD_DATA.getFileName(), MetadataConstants.JSON_LIST_BATTLE_REWARD);
if(metaList == null || metaList.isEmpty()) {
log.warn("Battle reward data is empty or file not found: {}", EMetaData.BATTLE_REWARD_DATA.getFileName());
return;
}
metaList.forEach(meta -> {
MetaBattleRewardData item = new MetaBattleRewardData();
item.setId((Integer)meta.get("Id"));
item.setDesc((String)meta.get("_Desc"));
item.setDesc((String)meta.get("Description"));
item.setGroupID((Integer)meta.get("GroupID"));
item.setChargeLevel((Integer)meta.get("ChargeLevel"));
item.setChargeTime((Integer)meta.get("ChargeTime"));