|
@@ -276,6 +276,13 @@ public class RWDLoadUtil {
|
|
|
Map<String, SceneDataValue> fromMap = Repository.objType2id2Value.get(ConfigRelation.objFrom);
|
|
|
Map<String, SceneDataValue> toMap = Repository.objType2id2Value.get(ConfigRelation.objTo);
|
|
|
for (SceneDataValue sdv : sdvList) {
|
|
|
+ if (ConfigRelation.relValue != null) {
|
|
|
+ String relValue = (String) sdv.value_object.get("relValue").value_primitive;
|
|
|
+ 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);
|
|
@@ -310,8 +317,18 @@ public class RWDLoadUtil {
|
|
|
} 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);
|
|
|
+ for (SceneDataBase sdbInner : sdvFromItem.value_array) {
|
|
|
+ SceneDataObject sdoInner = (SceneDataObject) sdbInner;
|
|
|
+ if (sdvInner.value_primitive == null) {
|
|
|
+ sdvInner.value_primitive = sdoInner.get("id").value_primitive;
|
|
|
+ } else {
|
|
|
+ if (!sdvInner.value_primitive.equals(sdoInner.get("id").value_primitive)) {
|
|
|
+ throw new Exception(ConfigRelation.graphCode + "\t" + ConfigRelation.relCode + "\t"
|
|
|
+ + FromObject.value_object.get("id") + " " + "有多个" + " " + ConfigRelation.nameInFrom + "\t"
|
|
|
+ + sdvInner.value_primitive + "\t" + sdoInner.get("id").value_primitive);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
FromObject.value_object.put(ConfigRelation.nameInFrom + "-id", sdvInner);
|
|
|
} else {
|
|
@@ -342,8 +359,18 @@ public class RWDLoadUtil {
|
|
|
} 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);
|
|
|
+ for (SceneDataBase sdbInner : sdvToItem.value_array) {
|
|
|
+ SceneDataObject sdoInner = (SceneDataObject) sdbInner;
|
|
|
+ if (sdvInner.value_primitive == null) {
|
|
|
+ sdvInner.value_primitive = sdoInner.get("id").value_primitive;
|
|
|
+ } else {
|
|
|
+ if (!sdvInner.value_primitive.equals(sdoInner.get("id").value_primitive)) {
|
|
|
+ throw new Exception(ConfigRelation.graphCode + "\t" + ConfigRelation.relCode + "\t"
|
|
|
+ + ToObject.value_object.get("id") + " " + "有多个" + " " + ConfigRelation.nameInTo + "\t"
|
|
|
+ + sdvInner.value_primitive + "\t" + sdoInner.get("id").value_primitive);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
ToObject.value_object.put(ConfigRelation.nameInTo + "-id", sdvInner);
|
|
|
} else {
|