|
@@ -129,6 +129,7 @@ public class RWDLoadUtil {
|
|
|
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;
|
|
|
Repository.id2sdv.put(id, sdv);
|
|
@@ -295,6 +296,72 @@ public class RWDLoadUtil {
|
|
|
sdvToItem.value_array.add(fromObject.value_object);
|
|
|
}
|
|
|
}
|
|
|
+ for (ConfigRelation ConfigRelation : Constant.ConfigRelationList) {
|
|
|
+ if (ConfigRelation.multiplicityFrom != null) {
|
|
|
+ Map<String, SceneDataValue> FromMap = Repository.objType2id2Value.get(ConfigRelation.objFrom);
|
|
|
+ for (String objFrom : FromMap.keySet()) {
|
|
|
+ SceneDataValue 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;
|
|
|
+ } else {
|
|
|
+ throw new Exception(ConfigRelation.graphCode + "\t" + ConfigRelation.relCode + "\t"
|
|
|
+ + FromObject.value_object.get("id") + " " + "有多个" + " " + ConfigRelation.nameInFrom);
|
|
|
+ }
|
|
|
+ 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) {
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ FromObject.value_object.put(ConfigRelation.nameInFrom + "-id清单", sdvInner);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (ConfigRelation.multiplicityTo != null) {
|
|
|
+ Map<String, SceneDataValue> ToMap = Repository.objType2id2Value.get(ConfigRelation.objTo);
|
|
|
+ for (String objTo : ToMap.keySet()) {
|
|
|
+ SceneDataValue 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;
|
|
|
+ } else {
|
|
|
+ log.error(ConfigRelation.graphCode + "\t" + ConfigRelation.relCode + "\t" + ToObject.value_object.get("id") + " "
|
|
|
+ + "有多个" + " " + ConfigRelation.nameInTo);
|
|
|
+ }
|
|
|
+ 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) {
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ ToObject.value_object.put(ConfigRelation.nameInTo + "-id清单", sdvInner);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public static void LoadAlarm(Repository Repository, boolean use_sample) throws Exception {
|