Преглед на файлове

application.dat 탐색 위치 변경 (리소스 줄이기 위함)

pangs преди 5 години
родител
ревизия
594d8d4d3f

+ 39 - 1
bridge/src/com/icontrols/bridge/Main.java

@@ -1,9 +1,18 @@
 package com.icontrols.bridge;
 
 
+import java.util.ArrayList;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.gson.Gson;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.icontrols.bridge.common.COMMON_INFO;
+import com.icontrols.bridge.common.CommonUtil;
+import com.icontrols.bridge.dto.ServiceDetail;
 import com.icontrols.bridge.wallpad.IMapMultiSocket;
 
 public class Main {
@@ -23,7 +32,36 @@ public class Main {
     	logger.info("*       *******                                                         *");
     	logger.info("*                                                       BRIDGE BY PANGS *");
     	logger.info("*************************************************************************");
-
+    	
+    	// 초기 설정
+    	String str = CommonUtil.readFile(CommonUtil.getPropFileDir()); 
+    	JsonObject object = CommonUtil.getJsonObject(str);
+    	
+    	COMMON_INFO.propList = (JsonArray)object.get("services");
+    	
+    	if(COMMON_INFO.propList == null) {
+    		logger.error("설정정보를 가져올 수 없습니다......");
+    		return;
+    	}
+    	COMMON_INFO.serviceDtailList = new ArrayList<>();
+    	
+    	for(JsonElement jsonObj : COMMON_INFO.propList) {
+    		ServiceDetail service = new Gson().fromJson(jsonObj.toString(), ServiceDetail.class);
+    		COMMON_INFO.serviceDtailList.add(service);
+    	}
+    	
+    	if(COMMON_INFO.propList.size() == 0) {
+    		logger.error("설정정보가 존재하지 않습니다.....");
+    		return;
+    	}
+    	
+    	StringBuffer bufStr = new StringBuffer();
+    	bufStr.append("설정된 서비스 \n");
+    	for(ServiceDetail service:COMMON_INFO.serviceDtailList)
+    		bufStr.append(service.toString()).append("\n");
+    	
+    	logger.info(bufStr.toString());
+    	
     	// 소켓 서버 시작
     	new IMapMultiSocket();
 	}

+ 8 - 0
bridge/src/com/icontrols/bridge/common/COMMON_INFO.java

@@ -1,8 +1,16 @@
 package com.icontrols.bridge.common;
 
+import java.util.List;
+
+import com.google.gson.JsonArray;
+import com.icontrols.bridge.dto.ServiceDetail;
+
 public class COMMON_INFO {
 //	public static final String LINUX_PROPERTIES_DIR = "/home/valley/bridge/application.dat";  // 카카오 데모용 서버
 	public static final String LINUX_PROPERTIES_DIR = "/service/bridge/application.dat";  // 61.33.215.54번 테스트 단지서버
 	public static final String WINDOWS_PROPERTIES_DIR = "D:\\temp\\bridge_jar\\application.dat";
 	
+	public static String propJsonStr = "{}";
+	public static JsonArray propList = null;
+	public static List<ServiceDetail> serviceDtailList = null;
 }

+ 5 - 9
bridge/src/com/icontrols/bridge/wallpad/MsgServerHandler.java

@@ -25,6 +25,7 @@ import com.google.gson.Gson;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
+import com.icontrols.bridge.common.COMMON_INFO;
 import com.icontrols.bridge.common.CommonUtil;
 import com.icontrols.bridge.dto.ServiceDetail;
 
@@ -144,12 +145,9 @@ public class MsgServerHandler extends Thread {
 			final String bottomStr = isContainCompany?rcvMsgStr.substring(rcvMsgStr.indexOf("</req_company>")):"";
 			
 			// ¼­ºñ½º ¸ñ·Ï °¡Á®¿À±â
-			String str = CommonUtil.readFile(CommonUtil.getPropFileDir()); 
-	    	JsonObject object = CommonUtil.getJsonObject(str);
-	    	JsonArray list = (JsonArray)object.get("services");
-	    	
-	    	for(JsonElement jsonObj : list) {
-	    		ServiceDetail service = new Gson().fromJson(jsonObj.toString(), ServiceDetail.class);
+	    	for(ServiceDetail service : COMMON_INFO.serviceDtailList) {
+//	    	for(JsonElement jsonObj : COMMON_INFO.propList) {
+//	    		ServiceDetail service = new Gson().fromJson(jsonObj.toString(), ServiceDetail.class);
 	    		
 	    		if(!Arrays.asList(service.getEvents()).contains(eventName)) continue;
 	    		
@@ -180,9 +178,7 @@ public class MsgServerHandler extends Thread {
     					
     					StringBuffer logSB = new StringBuffer();
     					
-    					logSB.append("\n***************************************************\n")
-    					.append("   S E N D    T O " + service.getPort() + "  C O M P L I T E ! ! ! !  \n")
-    					.append("***************************************************");
+    					logSB.append("   S E N D    T O " + service.getPort() + "  C O M P L I T E ! ! ! !  \n");
     					
     					logger.info(logSB.toString());
     				} catch (Exception e) {