|
@@ -9,8 +9,9 @@ import java.util.concurrent.ConcurrentHashMap;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.persagy.ibms.data.sdk.data.SceneDataBase;
|
|
|
import com.persagy.ibms.data.sdk.data.SceneDataObject;
|
|
|
+import com.persagy.ibms.data.sdk.data.SceneDataPrimitive;
|
|
|
+import com.persagy.ibms.data.sdk.data.SceneDataSet;
|
|
|
import com.persagy.ibms.data.sdk.data.SceneDataValue;
|
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -60,7 +61,7 @@ public class RWDLoadUtil {
|
|
|
{
|
|
|
File root = new File(infoPath);
|
|
|
File[] files = root.listFiles();
|
|
|
- Map<String, List<SceneDataValue>> infoArrayDic = new HashMap<String, List<SceneDataValue>>();
|
|
|
+ Map<String, SceneDataSet> infoArrayDic = new HashMap<String, SceneDataSet>();
|
|
|
for (File file : files) {
|
|
|
int index_ = file.getName().indexOf('.');
|
|
|
String code = file.getName().substring(0, index_);
|
|
@@ -81,7 +82,9 @@ public class RWDLoadUtil {
|
|
|
array.add(info);
|
|
|
}
|
|
|
}
|
|
|
- infoArrayDic.put(code, RWDUtil.array2SDVList(array));
|
|
|
+ SceneDataSet SceneDataSet = new SceneDataSet(false);
|
|
|
+ SceneDataSet.set = RWDUtil.array2SDOList(array);
|
|
|
+ infoArrayDic.put(code, SceneDataSet);
|
|
|
} catch (Exception e) {
|
|
|
log.warn(e.getMessage(), e);
|
|
|
}
|
|
@@ -93,7 +96,7 @@ public class RWDLoadUtil {
|
|
|
{
|
|
|
File root = new File(objectPath);
|
|
|
File[] files = root.listFiles();
|
|
|
- Map<String, List<SceneDataValue>> objectArrayDic = new HashMap<String, List<SceneDataValue>>();
|
|
|
+ Map<String, SceneDataSet> objectArrayDic = new HashMap<String, SceneDataSet>();
|
|
|
for (File file : files) {
|
|
|
int index_ = file.getName().indexOf('.');
|
|
|
String code = file.getName().substring(0, index_);
|
|
@@ -127,38 +130,39 @@ public class RWDLoadUtil {
|
|
|
arrayItem.put("数据字典类型名称", className);
|
|
|
Repository.id2object.put(id, arrayItem);
|
|
|
}
|
|
|
- List<SceneDataValue> sdvList = RWDUtil.array2SDVList(array);
|
|
|
- Repository.objectArrayAll.addAll(sdvList);
|
|
|
- for (SceneDataValue sdv : sdvList) {
|
|
|
- String id = (String) sdv.value_object.get("id").value_primitive;
|
|
|
+ SceneDataSet SceneDataSet = new SceneDataSet(false);
|
|
|
+ SceneDataSet.set = RWDUtil.array2SDOList(array);
|
|
|
+ Repository.objectArrayAll.set.addAll(SceneDataSet.set);
|
|
|
+ for (SceneDataObject sdv : SceneDataSet.set) {
|
|
|
+ String id = (String) sdv.value_object.get("id").value_prim.value;
|
|
|
Repository.id2sdv.put(id, sdv);
|
|
|
}
|
|
|
// 一级对象
|
|
|
if (Repository.objTypeMap.containsKey(code)) {
|
|
|
if (Repository.objTypeMap.get(code)) {
|
|
|
- objectArrayDic.put(code + "-self", sdvList);
|
|
|
+ objectArrayDic.put(code + "-self", SceneDataSet);
|
|
|
} else {
|
|
|
- objectArrayDic.put(code, sdvList);
|
|
|
+ objectArrayDic.put(code, SceneDataSet);
|
|
|
}
|
|
|
} else {
|
|
|
- objectArrayDic.put(code, sdvList);
|
|
|
+ objectArrayDic.put(code, SceneDataSet);
|
|
|
String objType = Repository.code2objTypeMap.get(code);
|
|
|
if (!objectArrayDic.containsKey(objType)) {
|
|
|
- objectArrayDic.put(objType, new ArrayList<SceneDataValue>());
|
|
|
+ objectArrayDic.put(objType, new SceneDataSet(false));
|
|
|
}
|
|
|
- objectArrayDic.get(objType).addAll(sdvList);
|
|
|
+ objectArrayDic.get(objType).set.addAll(SceneDataSet.set);
|
|
|
}
|
|
|
}
|
|
|
Repository.objectArrayDic = objectArrayDic;
|
|
|
}
|
|
|
|
|
|
{
|
|
|
- Map<String, Map<String, SceneDataValue>> objType2id2Value = new HashMap<String, Map<String, SceneDataValue>>();
|
|
|
+ Map<String, Map<String, SceneDataObject>> objType2id2Value = new HashMap<String, Map<String, SceneDataObject>>();
|
|
|
for (String objType : Constant.objType_hasRelation.keySet()) {
|
|
|
- Map<String, SceneDataValue> id2Value = new HashMap<String, SceneDataValue>();
|
|
|
- List<SceneDataValue> sdvList = Repository.objectArrayDic.get(objType);
|
|
|
- for (SceneDataValue sdv : sdvList) {
|
|
|
- String id = (String) sdv.value_object.get("id").value_primitive;
|
|
|
+ Map<String, SceneDataObject> id2Value = new HashMap<String, SceneDataObject>();
|
|
|
+ SceneDataSet sdvList = Repository.objectArrayDic.get(objType);
|
|
|
+ for (SceneDataObject sdv : sdvList.set) {
|
|
|
+ String id = (String) sdv.value_object.get("id").value_prim.value;
|
|
|
id2Value.put(id, sdv);
|
|
|
}
|
|
|
objType2id2Value.put(objType, id2Value);
|
|
@@ -168,19 +172,21 @@ public class RWDLoadUtil {
|
|
|
|
|
|
String relationPath = validPath + Constant.getSeperator() + "relation";
|
|
|
{
|
|
|
- Map<String, Map<String, List<SceneDataValue>>> relationArrayDic = new HashMap<String, Map<String, List<SceneDataValue>>>();
|
|
|
+ Map<String, Map<String, SceneDataSet>> relationArrayDic = new HashMap<String, Map<String, SceneDataSet>>();
|
|
|
File root = new File(relationPath);
|
|
|
File[] dirs = root.listFiles();
|
|
|
for (File dir : dirs) {
|
|
|
File[] files = dir.listFiles();
|
|
|
- Map<String, List<SceneDataValue>> oneDic = new HashMap<String, List<SceneDataValue>>();
|
|
|
+ Map<String, SceneDataSet> oneDic = new HashMap<String, SceneDataSet>();
|
|
|
for (File file : files) {
|
|
|
int index_ = file.getName().indexOf('.');
|
|
|
String code = file.getName().substring(0, index_);
|
|
|
log.info(relationPath + Constant.getSeperator() + "" + dir.getName() + Constant.getSeperator() + file.getName());
|
|
|
JSONArray array = FastJsonReaderUtil.Instance().ReadJSONArray(
|
|
|
new File(relationPath + Constant.getSeperator() + "" + dir.getName() + Constant.getSeperator() + file.getName()));
|
|
|
- oneDic.put(code, RWDUtil.array2SDVList(array));
|
|
|
+ SceneDataSet SceneDataSet = new SceneDataSet(false);
|
|
|
+ SceneDataSet.set = RWDUtil.array2SDOList(array);
|
|
|
+ oneDic.put(code, SceneDataSet);
|
|
|
}
|
|
|
relationArrayDic.put(dir.getName(), oneDic);
|
|
|
}
|
|
@@ -191,14 +197,14 @@ public class RWDLoadUtil {
|
|
|
if (Repository.objTypeMap.containsKey(classCode)) {
|
|
|
continue;
|
|
|
}
|
|
|
- List<SceneDataValue> infoArray = Repository.infoArrayDic.get(classCode);
|
|
|
- List<SceneDataValue> objectArray = Repository.objectArrayDic.get(classCode);
|
|
|
- for (int index_object = 0; index_object < objectArray.size(); index_object++) {
|
|
|
- SceneDataObject obj = objectArray.get(index_object).value_object;
|
|
|
- String obj_id = (String) obj.get("id").value_primitive;
|
|
|
+ SceneDataSet infoArray = Repository.infoArrayDic.get(classCode);
|
|
|
+ SceneDataSet objectArray = Repository.objectArrayDic.get(classCode);
|
|
|
+ for (int index_object = 0; index_object < objectArray.set.size(); index_object++) {
|
|
|
+ SceneDataObject obj = objectArray.set.get(index_object);
|
|
|
+ String obj_id = (String) obj.get("id").value_prim.value;
|
|
|
for (String Key : obj.keySet()) {
|
|
|
- Object value_primitive = obj.get(Key).value_primitive;
|
|
|
- if (RWDUtil.isRunParam(infoArray, Key)) {
|
|
|
+ Object value_primitive = obj.get(Key).value_prim.value;
|
|
|
+ if (RWDUtil.isRunParam(infoArray.set, Key)) {
|
|
|
if (!(value_primitive instanceof String)) {
|
|
|
continue;
|
|
|
}
|
|
@@ -210,8 +216,9 @@ public class RWDLoadUtil {
|
|
|
pointMap.putIfAbsent(Key, point);
|
|
|
// 表号功能号改为null
|
|
|
{
|
|
|
- SceneDataValue sdv = new SceneDataValue(Repository, obj, Key, null, true);
|
|
|
- sdv.value_primitive = 0.0;
|
|
|
+ SceneDataValue sdv = new SceneDataValue(Repository, obj, Key, null);
|
|
|
+ sdv.value_prim = new SceneDataPrimitive();
|
|
|
+ sdv.value_prim.change = true;
|
|
|
SceneDataValue exist_sdv = RepositoryBase.point2sdv.putIfAbsent(point, sdv);
|
|
|
if (exist_sdv == null) {
|
|
|
RepositoryBase.sdv2point.putIfAbsent(sdv, point);
|
|
@@ -223,7 +230,7 @@ public class RWDLoadUtil {
|
|
|
obj.remove(Key);
|
|
|
}
|
|
|
}
|
|
|
- } else if (RWDUtil.isSetParam(infoArray, Key)) {
|
|
|
+ } else if (RWDUtil.isSetParam(infoArray.set, Key)) {
|
|
|
if (!(value_primitive instanceof String)) {
|
|
|
continue;
|
|
|
}
|
|
@@ -232,8 +239,9 @@ public class RWDLoadUtil {
|
|
|
if (RWDLoadUtil.infoValue_is_point(point)) {
|
|
|
// 表号功能号改为null
|
|
|
{
|
|
|
- SceneDataValue sdv = new SceneDataValue(Repository, obj, Key, null, true);
|
|
|
- sdv.value_primitive = 0;
|
|
|
+ SceneDataValue sdv = new SceneDataValue(Repository, obj, Key, null);
|
|
|
+ sdv.value_prim = new SceneDataPrimitive();
|
|
|
+ sdv.value_prim.change = true;
|
|
|
SceneDataValue exist_sdv = RepositoryBase.set2sdv.putIfAbsent(point, sdv);
|
|
|
if (exist_sdv == null) {
|
|
|
RepositoryBase.sdv2set.putIfAbsent(sdv, point);
|
|
@@ -253,81 +261,83 @@ public class RWDLoadUtil {
|
|
|
|
|
|
public static void LoadReference(Repository Repository) throws Exception {
|
|
|
for (ConfigRelation ConfigRelation : Constant.ConfigRelationList) {
|
|
|
- Map<String, SceneDataValue> fromMap = Repository.objType2id2Value.get(ConfigRelation.objFrom);
|
|
|
- Map<String, SceneDataValue> toMap = Repository.objType2id2Value.get(ConfigRelation.objTo);
|
|
|
+ Map<String, SceneDataObject> fromMap = Repository.objType2id2Value.get(ConfigRelation.objFrom);
|
|
|
+ Map<String, SceneDataObject> toMap = Repository.objType2id2Value.get(ConfigRelation.objTo);
|
|
|
for (String key : fromMap.keySet()) {
|
|
|
- SceneDataValue sdv = fromMap.get(key);
|
|
|
+ SceneDataObject sdv = fromMap.get(key);
|
|
|
if (!sdv.value_object.containsKey(ConfigRelation.nameInFrom)) {
|
|
|
- SceneDataValue sdvInner = new SceneDataValue(Repository, sdv.value_object, ConfigRelation.nameInFrom, null, false);
|
|
|
+ SceneDataValue sdvInner = new SceneDataValue(Repository, sdv, ConfigRelation.nameInFrom, null);
|
|
|
sdv.value_object.put(ConfigRelation.nameInFrom, sdvInner);
|
|
|
}
|
|
|
}
|
|
|
for (String key : toMap.keySet()) {
|
|
|
- SceneDataValue sdv = toMap.get(key);
|
|
|
+ SceneDataObject sdv = toMap.get(key);
|
|
|
if (!sdv.value_object.containsKey(ConfigRelation.nameInTo)) {
|
|
|
- SceneDataValue sdvInner = new SceneDataValue(Repository, sdv.value_object, ConfigRelation.nameInTo, null, false);
|
|
|
+ SceneDataValue sdvInner = new SceneDataValue(Repository, sdv, ConfigRelation.nameInTo, null);
|
|
|
sdv.value_object.put(ConfigRelation.nameInTo, sdvInner);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
for (ConfigRelation ConfigRelation : Constant.ConfigRelationList) {
|
|
|
- List<SceneDataValue> sdvList = Repository.relationArrayDic.get(ConfigRelation.graphCode).get(ConfigRelation.relCode);
|
|
|
- Map<String, SceneDataValue> fromMap = Repository.objType2id2Value.get(ConfigRelation.objFrom);
|
|
|
- Map<String, SceneDataValue> toMap = Repository.objType2id2Value.get(ConfigRelation.objTo);
|
|
|
- for (SceneDataValue sdv : sdvList) {
|
|
|
+ List<SceneDataObject> sdvList = Repository.relationArrayDic.get(ConfigRelation.graphCode).get(ConfigRelation.relCode).set;
|
|
|
+ Map<String, SceneDataObject> fromMap = Repository.objType2id2Value.get(ConfigRelation.objFrom);
|
|
|
+ Map<String, SceneDataObject> toMap = Repository.objType2id2Value.get(ConfigRelation.objTo);
|
|
|
+ for (SceneDataObject sdv : sdvList) {
|
|
|
if (ConfigRelation.relValue != null) {
|
|
|
if (sdv.value_object.get("relValue") == null) {
|
|
|
continue;
|
|
|
}
|
|
|
- String relValue = (String) sdv.value_object.get("relValue").value_primitive;
|
|
|
+ String relValue = (String) sdv.value_object.get("relValue").value_prim.value;
|
|
|
if (!relValue.equals(ConfigRelation.relValue)) {
|
|
|
continue;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- String objFrom = (String) sdv.value_object.get("objFrom").value_primitive;
|
|
|
- String objTo = (String) sdv.value_object.get("objTo").value_primitive;
|
|
|
- SceneDataValue fromObject = fromMap.get(objFrom);
|
|
|
- SceneDataValue toObject = toMap.get(objTo);
|
|
|
+ String objFrom = (String) sdv.value_object.get("objFrom").value_prim.value;
|
|
|
+ String objTo = (String) sdv.value_object.get("objTo").value_prim.value;
|
|
|
+ SceneDataObject fromObject = fromMap.get(objFrom);
|
|
|
+ SceneDataObject toObject = toMap.get(objTo);
|
|
|
if (fromObject == null || toObject == null) {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
SceneDataValue sdvFromItem = fromObject.value_object.get(ConfigRelation.nameInFrom);
|
|
|
if (sdvFromItem.value_array == null) {
|
|
|
- sdvFromItem.value_array = new ArrayList<SceneDataBase>();
|
|
|
+ sdvFromItem.value_array = new SceneDataSet(false);
|
|
|
+ sdvFromItem.value_array.set = new ArrayList<SceneDataObject>();
|
|
|
}
|
|
|
SceneDataValue sdvToItem = toObject.value_object.get(ConfigRelation.nameInTo);
|
|
|
if (sdvToItem.value_array == null) {
|
|
|
- sdvToItem.value_array = new ArrayList<SceneDataBase>();
|
|
|
+ sdvToItem.value_array = new SceneDataSet(false);
|
|
|
+ sdvToItem.value_array.set = new ArrayList<SceneDataObject>();
|
|
|
}
|
|
|
- sdvFromItem.value_array.add(toObject.value_object);
|
|
|
- sdvToItem.value_array.add(fromObject.value_object);
|
|
|
+ sdvFromItem.value_array.set.add(toObject);
|
|
|
+ sdvToItem.value_array.set.add(fromObject);
|
|
|
}
|
|
|
}
|
|
|
for (ConfigRelation ConfigRelation : Constant.ConfigRelationList) {
|
|
|
if (ConfigRelation.multiplicityFrom != null) {
|
|
|
- Map<String, SceneDataValue> FromMap = Repository.objType2id2Value.get(ConfigRelation.objFrom);
|
|
|
+ Map<String, SceneDataObject> FromMap = Repository.objType2id2Value.get(ConfigRelation.objFrom);
|
|
|
for (String objFrom : FromMap.keySet()) {
|
|
|
- SceneDataValue FromObject = FromMap.get(objFrom);
|
|
|
+ SceneDataObject FromObject = FromMap.get(objFrom);
|
|
|
SceneDataValue sdvFromItem = FromObject.value_object.get(ConfigRelation.nameInFrom);
|
|
|
if (sdvFromItem != null && sdvFromItem.value_array != null) {
|
|
|
if (ConfigRelation.multiplicityFrom.equalsIgnoreCase("1")) {
|
|
|
- SceneDataValue sdvInner = new SceneDataValue(Repository, FromObject.value_object, ConfigRelation.nameInFrom + "-id", null,
|
|
|
- false);
|
|
|
- if (sdvFromItem.value_array.size() == 0) {
|
|
|
- } else if (sdvFromItem.value_array.size() == 1) {
|
|
|
- sdvInner.value_primitive = ((SceneDataObject) sdvFromItem.value_array.get(0)).get("id").value_primitive;
|
|
|
+ SceneDataValue sdvInner = new SceneDataValue(Repository, FromObject, ConfigRelation.nameInFrom + "-id", null);
|
|
|
+ sdvInner.value_prim = new SceneDataPrimitive();
|
|
|
+ if (sdvFromItem.value_array.set.size() == 0) {
|
|
|
+ } else if (sdvFromItem.value_array.set.size() == 1) {
|
|
|
+ sdvInner.value_prim.value = ((SceneDataObject) sdvFromItem.value_array.set.get(0)).get("id").value_prim.value;
|
|
|
} else {
|
|
|
- for (SceneDataBase sdbInner : sdvFromItem.value_array) {
|
|
|
+ for (SceneDataObject sdbInner : sdvFromItem.value_array.set) {
|
|
|
SceneDataObject sdoInner = (SceneDataObject) sdbInner;
|
|
|
- if (sdvInner.value_primitive == null) {
|
|
|
- sdvInner.value_primitive = sdoInner.get("id").value_primitive;
|
|
|
+ if (sdvInner.value_prim.value == null) {
|
|
|
+ sdvInner.value_prim.value = sdoInner.get("id").value_prim.value;
|
|
|
} else {
|
|
|
- if (!sdvInner.value_primitive.equals(sdoInner.get("id").value_primitive)) {
|
|
|
+ if (!sdvInner.value_prim.value.equals(sdoInner.get("id").value_prim.value)) {
|
|
|
log.error(ConfigRelation.graphCode + "\t" + ConfigRelation.relCode + "\t"
|
|
|
+ FromObject.value_object.get("id") + " " + "有多个" + " " + ConfigRelation.nameInFrom + "\t"
|
|
|
- + sdvInner.value_primitive + "\t" + sdoInner.get("id").value_primitive);
|
|
|
+ + sdvInner.value_prim.value + "\t" + sdoInner.get("id").value_prim.value);
|
|
|
// TODO
|
|
|
// throw new Exception(ConfigRelation.graphCode + "\t" + ConfigRelation.relCode + "\t"
|
|
|
// + FromObject.value_object.get("id") + " " + "有多个" + " " + ConfigRelation.nameInFrom + "\t"
|
|
@@ -338,14 +348,15 @@ public class RWDLoadUtil {
|
|
|
}
|
|
|
FromObject.value_object.put(ConfigRelation.nameInFrom + "-id", sdvInner);
|
|
|
} else {
|
|
|
- SceneDataValue sdvInner = new SceneDataValue(Repository, FromObject.value_object, ConfigRelation.nameInFrom + "-id清单",
|
|
|
- null, false);
|
|
|
- sdvInner.value_array = new ArrayList<SceneDataBase>();
|
|
|
- for (SceneDataBase sdbInner : sdvFromItem.value_array) {
|
|
|
+ SceneDataValue sdvInner = new SceneDataValue(Repository, FromObject, ConfigRelation.nameInFrom + "-id清单", null);
|
|
|
+ sdvInner.value_array = new SceneDataSet(true);
|
|
|
+ sdvInner.value_array.singleValueSet = new ArrayList<SceneDataValue>();
|
|
|
+ for (SceneDataObject sdbInner : sdvFromItem.value_array.set) {
|
|
|
SceneDataObject sdoInner = (SceneDataObject) sdbInner;
|
|
|
- SceneDataValue sdvOne = new SceneDataValue(Repository, null, null, null, false);
|
|
|
- sdvOne.value_primitive = sdoInner.get("id").value_primitive;
|
|
|
- sdvInner.value_array.add(sdvOne);
|
|
|
+ SceneDataValue sdvOne = new SceneDataValue(Repository, null, null, null);
|
|
|
+ sdvOne.value_prim = new SceneDataPrimitive();
|
|
|
+ sdvOne.value_prim.value = sdoInner.get("id").value_prim.value;
|
|
|
+ sdvInner.value_array.singleValueSet.add(sdvOne);
|
|
|
}
|
|
|
FromObject.value_object.put(ConfigRelation.nameInFrom + "-id清单", sdvInner);
|
|
|
}
|
|
@@ -353,27 +364,27 @@ public class RWDLoadUtil {
|
|
|
}
|
|
|
}
|
|
|
if (ConfigRelation.multiplicityTo != null) {
|
|
|
- Map<String, SceneDataValue> ToMap = Repository.objType2id2Value.get(ConfigRelation.objTo);
|
|
|
+ Map<String, SceneDataObject> ToMap = Repository.objType2id2Value.get(ConfigRelation.objTo);
|
|
|
for (String objTo : ToMap.keySet()) {
|
|
|
- SceneDataValue ToObject = ToMap.get(objTo);
|
|
|
+ SceneDataObject ToObject = ToMap.get(objTo);
|
|
|
SceneDataValue sdvToItem = ToObject.value_object.get(ConfigRelation.nameInTo);
|
|
|
if (sdvToItem != null && sdvToItem.value_array != null) {
|
|
|
if (ConfigRelation.multiplicityTo.equalsIgnoreCase("1")) {
|
|
|
- SceneDataValue sdvInner = new SceneDataValue(Repository, ToObject.value_object, ConfigRelation.nameInTo + "-id", null,
|
|
|
- false);
|
|
|
- if (sdvToItem.value_array.size() == 0) {
|
|
|
- } else if (sdvToItem.value_array.size() == 1) {
|
|
|
- sdvInner.value_primitive = ((SceneDataObject) sdvToItem.value_array.get(0)).get("id").value_primitive;
|
|
|
+ SceneDataValue sdvInner = new SceneDataValue(Repository, ToObject, ConfigRelation.nameInTo + "-id", null);
|
|
|
+ sdvInner.value_prim = new SceneDataPrimitive();
|
|
|
+ if (sdvToItem.value_array.set.size() == 0) {
|
|
|
+ } else if (sdvToItem.value_array.set.size() == 1) {
|
|
|
+ sdvInner.value_prim.value = ((SceneDataObject) sdvToItem.value_array.set.get(0)).get("id").value_prim.value;
|
|
|
} else {
|
|
|
- for (SceneDataBase sdbInner : sdvToItem.value_array) {
|
|
|
+ for (SceneDataObject sdbInner : sdvToItem.value_array.set) {
|
|
|
SceneDataObject sdoInner = (SceneDataObject) sdbInner;
|
|
|
- if (sdvInner.value_primitive == null) {
|
|
|
- sdvInner.value_primitive = sdoInner.get("id").value_primitive;
|
|
|
+ if (sdvInner.value_prim.value == null) {
|
|
|
+ sdvInner.value_prim.value = sdoInner.get("id").value_prim.value;
|
|
|
} else {
|
|
|
- if (!sdvInner.value_primitive.equals(sdoInner.get("id").value_primitive)) {
|
|
|
+ if (!sdvInner.value_prim.value.equals(sdoInner.get("id").value_prim.value)) {
|
|
|
log.error(ConfigRelation.graphCode + "\t" + ConfigRelation.relCode + "\t"
|
|
|
+ ToObject.value_object.get("id") + " " + "有多个" + " " + ConfigRelation.nameInTo + "\t"
|
|
|
- + sdvInner.value_primitive + "\t" + sdoInner.get("id").value_primitive);
|
|
|
+ + sdvInner.value_prim.value + "\t" + sdoInner.get("id").value_prim.value);
|
|
|
// TODO
|
|
|
// throw new Exception(ConfigRelation.graphCode + "\t" + ConfigRelation.relCode + "\t"
|
|
|
// + ToObject.value_object.get("id") + " " + "有多个" + " " + ConfigRelation.nameInTo + "\t"
|
|
@@ -384,14 +395,15 @@ public class RWDLoadUtil {
|
|
|
}
|
|
|
ToObject.value_object.put(ConfigRelation.nameInTo + "-id", sdvInner);
|
|
|
} else {
|
|
|
- SceneDataValue sdvInner = new SceneDataValue(Repository, ToObject.value_object, ConfigRelation.nameInTo + "-id清单", null,
|
|
|
- false);
|
|
|
- sdvInner.value_array = new ArrayList<SceneDataBase>();
|
|
|
- for (SceneDataBase sdbInner : sdvToItem.value_array) {
|
|
|
+ SceneDataValue sdvInner = new SceneDataValue(Repository, ToObject, ConfigRelation.nameInTo + "-id清单", null);
|
|
|
+ sdvInner.value_array = new SceneDataSet(true);
|
|
|
+ sdvInner.value_array.singleValueSet = new ArrayList<SceneDataValue>();
|
|
|
+ for (SceneDataObject sdbInner : sdvToItem.value_array.set) {
|
|
|
SceneDataObject sdoInner = (SceneDataObject) sdbInner;
|
|
|
- SceneDataValue sdvOne = new SceneDataValue(Repository, null, null, null, false);
|
|
|
- sdvOne.value_primitive = sdoInner.get("id").value_primitive;
|
|
|
- sdvInner.value_array.add(sdvOne);
|
|
|
+ SceneDataValue sdvOne = new SceneDataValue(Repository, null, null, null);
|
|
|
+ sdvOne.value_prim = new SceneDataPrimitive();
|
|
|
+ sdvOne.value_prim.value = sdoInner.get("id").value_prim.value;
|
|
|
+ sdvInner.value_array.singleValueSet.add(sdvOne);
|
|
|
}
|
|
|
ToObject.value_object.put(ConfigRelation.nameInTo + "-id清单", sdvInner);
|
|
|
}
|
|
@@ -410,20 +422,22 @@ public class RWDLoadUtil {
|
|
|
if (!objType.equals("equipment") && !objType.equals("system")) {
|
|
|
continue;
|
|
|
}
|
|
|
- List<SceneDataValue> objectArray = Repository.objectArrayDic.get(classCode);
|
|
|
- for (int i = 0; i < objectArray.size(); i++) {
|
|
|
- SceneDataObject objectItem = objectArray.get(i).value_object;
|
|
|
- String objId = (String) objectItem.get("id").value_primitive;
|
|
|
+ SceneDataSet objectArray = Repository.objectArrayDic.get(classCode);
|
|
|
+ for (int i = 0; i < objectArray.set.size(); i++) {
|
|
|
+ SceneDataObject objectItem = objectArray.set.get(i);
|
|
|
+ String objId = (String) objectItem.get("id").value_prim.value;
|
|
|
{
|
|
|
- SceneDataValue sv_alarmList = new SceneDataValue(null, objectItem, "报警列表", null, true);
|
|
|
- sv_alarmList.value_array = new ArrayList<SceneDataBase>();
|
|
|
+ SceneDataValue sv_alarmList = new SceneDataValue(null, objectItem, "报警列表", null);
|
|
|
+ sv_alarmList.value_array = new SceneDataSet(false);
|
|
|
+ sv_alarmList.value_array.set = new ArrayList<SceneDataObject>();
|
|
|
RepositoryBase.id2alarmList.putIfAbsent(objId, sv_alarmList);
|
|
|
}
|
|
|
SceneDataValue alarmList = RepositoryBase.id2alarmList.get(objId);
|
|
|
objectItem.put("报警列表", alarmList);
|
|
|
{
|
|
|
- SceneDataValue sv_alarmCount = new SceneDataValue(null, objectItem, "报警数量", null, true);
|
|
|
- sv_alarmCount.value_primitive = 0;
|
|
|
+ SceneDataValue sv_alarmCount = new SceneDataValue(null, objectItem, "报警数量", null);
|
|
|
+ sv_alarmCount.value_prim = new SceneDataPrimitive();
|
|
|
+ sv_alarmCount.value_prim.value = 0;
|
|
|
RepositoryBase.id2alarmCount.putIfAbsent(objId, sv_alarmCount);
|
|
|
}
|
|
|
SceneDataValue alarmCount = RepositoryBase.id2alarmCount.get(objId);
|