Browse Source

增加IBMS实例加载

menglu 3 years ago
parent
commit
c16816b793

+ 2 - 0
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/ComputeUtil.java

@@ -36,6 +36,8 @@ public class ComputeUtil {
 			} else {
 				RWDLoadUtil.LoadAlarm(Repository, true);
 			}
+			log.warn("LoadIBMSPhysicalWorld");
+			RWDLoadUtil.LoadIBMSPhysicalWorld(Repository);
 		} else {
 			Repository.objTypeMap = RepositoryBase.instance.objTypeMap;
 			Repository.code2objTypeMap = RepositoryBase.instance.code2objTypeMap;

+ 18 - 1
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RWDLoadUtil.java

@@ -470,6 +470,23 @@ public class RWDLoadUtil {
 
 	public static void LoadIBMSPhysicalWorld(Repository Repository) throws Exception {
 		String validPath = Constant.getLatestPath(Constant.ibms_physical_world, true);
-
+		String infoPath = validPath + Constant.getSeperator() + "NightscapeLighting";
+		Map<String, SceneDataSet> infoArrayDic = new HashMap<String, SceneDataSet>();
+		File root = new File(infoPath);
+		File[] files = root.listFiles();
+		for (File file : files) {
+			int index_ = file.getName().indexOf('.');
+			String code = file.getName().substring(0, index_);
+			log.debug(infoPath + Constant.getSeperator() + "" + file.getName());
+			try {
+				JSONArray array = FastJsonReaderUtil.Instance().ReadJSONArray(new File(infoPath + Constant.getSeperator() + "" + file.getName()));
+				SceneDataSet SceneDataSet = new SceneDataSet(false);
+				SceneDataSet.set = RWDUtil.array2SDOList(array);
+				infoArrayDic.put(code, SceneDataSet);
+			} catch (Exception e) {
+				log.warn(e.getMessage(), e);
+			}
+		}
+		Repository.IBMSArrayDic.put("NightscapeLighting", infoArrayDic);
 	}
 }

+ 2 - 0
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/Repository.java

@@ -37,6 +37,8 @@ public class Repository {
 	public Map<String, JSONObject> id2object = new HashMap<String, JSONObject>();
 	// 对象id到SceneDataValue
 	public Map<String, SceneDataObject> id2sdv = new HashMap<String, SceneDataObject>();
+	// 图类型到边类型到变实例清单
+	public Map<String, Map<String, SceneDataSet>> IBMSArrayDic = new HashMap<String, Map<String, SceneDataSet>>();
 
 	// deamon任务到点位清单
 	public ConcurrentHashMap<SceneDataValue, List<String>> deamon_sdv2pointList = new ConcurrentHashMap<SceneDataValue, List<String>>();