set) {
return set == null || set.isEmpty() || set.stream().allMatch(item -> item == ExecutingDataStatus.None);
@@ -427,8 +424,9 @@ public class GspBizEntityObject extends GspCommonObject implements Cloneable {
if (isNoneDataStatus(commonDetermination.getGetExecutingDataStatus())) {
commonDetermination.setGetExecutingDataStatus(EnumSet.of(ExecutingDataStatus.Deleted));
}
- if (commonDetermination.getTriggerPointType() == CommonTriggerPointType.AfterModify)
+ if (commonDetermination.getTriggerPointType() == CommonTriggerPointType.AfterModify) {
dtmAllAfterModify.add(commonDetermination);
+ }
}
}
return dtmAllAfterModify;
@@ -463,8 +461,9 @@ public class GspBizEntityObject extends GspCommonObject implements Cloneable {
if (isNoneDataStatus(commonValidation.getGetExecutingDataStatus())) {
commonValidation.setGetExecutingDataStatus(EnumSet.of(ExecutingDataStatus.Deleted));
}
- if (commonValidation.getTriggerPointType() == CommonTriggerPointType.BeforeSave)
+ if (commonValidation.getTriggerPointType() == CommonTriggerPointType.BeforeSave) {
allValBeforeSave.add(commonValidation);
+ }
}
}
//获取字段上的联动计算和计算规则
@@ -506,8 +505,9 @@ public class GspBizEntityObject extends GspCommonObject implements Cloneable {
if (isNoneDataStatus(commonValidation.getGetExecutingDataStatus())) {
commonValidation.setGetExecutingDataStatus(EnumSet.of(ExecutingDataStatus.Deleted));
}
- if (commonValidation.getTriggerPointType() == CommonTriggerPointType.AfterModify)
+ if (commonValidation.getTriggerPointType() == CommonTriggerPointType.AfterModify) {
rez.add(commonValidation);
+ }
}
}
return rez;
@@ -829,8 +829,9 @@ public class GspBizEntityObject extends GspCommonObject implements Cloneable {
BizActionCollection mgrActions = new BizActionCollection();
mgrActions.setOwner(this);
for (BizOperation operation : getBizActions()) {
- if (operation instanceof IInternalBEAction)
+ if (operation instanceof IInternalBEAction) {
continue;
+ }
mgrActions.add(operation);
}
return mgrActions;
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/BeControlRule.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/BeControlRule.java
deleted file mode 100644
index 4f6d07c3259c96994195ef29ce76d466449511da..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/BeControlRule.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.rule;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.inspur.edp.bef.bizentity.controlrule.rule.parser.BeControlRuleParser;
-import com.inspur.edp.bef.bizentity.controlrule.rule.serializer.BeRuleSerializer;
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity.BeControlRuleDefNames;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
-import com.inspur.edp.das.commonmodel.controlrule.CmControlRule;
-import com.inspur.edp.das.commonmodel.controlrule.CmEntityControlRule;
-
-@JsonSerialize(using = BeRuleSerializer.class)
-@JsonDeserialize(using = BeControlRuleParser.class)
-public class BeControlRule extends CmControlRule {
-
- protected final CmEntityControlRule createMainEntityControlRule() {
- return new BeObjControlRule();
- }
-
- public ControlRuleItem getAddCustomActonControlRule() {
- return super.getControlRule(BeControlRuleDefNames.AddCustomAction);
- }
-
- public void setAddCustomActonControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(BeControlRuleDefNames.AddCustomAction, ruleItem);
- }
-
- public ControlRuleItem getAddVariableControlRule() {
- return super.getControlRule(BeControlRuleDefNames.AddVariableDtm);
- }
-
- public void setAddVariableControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(BeControlRuleDefNames.AddVariableDtm, ruleItem);
- }
-
- public ControlRuleItem getEnableTreeDtmControlRule() {
- return super.getControlRule(BeControlRuleDefNames.EnableTreeDtm);
- }
-
- public void setEnableTreeDtmControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(BeControlRuleDefNames.EnableTreeDtm, ruleItem);
- }
-
- public ControlRuleItem getUsingTimeStampControlRule() {
- return super.getControlRule(BeControlRuleDefNames.UsingTimeStamp);
- }
-
- public void setUsingTimeStampControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(BeControlRuleDefNames.UsingTimeStamp, ruleItem);
- }
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/BeFeildControlRule.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/BeFeildControlRule.java
deleted file mode 100644
index e582ab5a193d0633fd4bc11c2bc142a6c5d353c9..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/BeFeildControlRule.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.rule;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.inspur.edp.bef.bizentity.controlrule.rule.parser.BeFieldRuleParser;
-import com.inspur.edp.bef.bizentity.controlrule.rule.serializer.BeFieldControlRuleSerializer;
-import com.inspur.edp.das.commonmodel.controlrule.CmFieldControlRule;
-
-@JsonSerialize(using = BeFieldControlRuleSerializer.class)
-@JsonDeserialize(using = BeFieldRuleParser.class)
-public class BeFeildControlRule extends CmFieldControlRule {
-
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/BeModelRule.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/BeModelRule.java
new file mode 100644
index 0000000000000000000000000000000000000000..d5f70c4276c14b07d91edda8a38657febf248233
--- /dev/null
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/BeModelRule.java
@@ -0,0 +1,28 @@
+package com.inspur.edp.bef.bizentity.controlrule.rule;
+
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonModelRule;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonObjectRule;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * BE 侧 Model 层控制规则。
+ *
+ * 继承 {@link CommonModelRule},在公共模型规则基础上扩展
+ * BE 特有规则:CustomAction、VariableDtm、EnableTreeDtm、UsingTimeStamp。
+ * 主实体子规则类型为 {@link BeObjectRule}。
+ */
+@Getter
+@Setter
+public class BeModelRule extends CommonModelRule {
+
+ private ControlRuleItem addCustomActionRule;
+ private ControlRuleItem modifyCustomActionRule;
+
+ @Override
+ protected final CommonObjectRule createMainObjectRule() {
+ return new BeObjectRule();
+ }
+
+}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/BeObjControlRule.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/BeObjControlRule.java
deleted file mode 100644
index 1e35d6a8d4f57f21544f91a7df2f2401599d08a2..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/BeObjControlRule.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.rule;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.inspur.edp.bef.bizentity.controlrule.rule.parser.BeObjectControlRuleParser;
-import com.inspur.edp.bef.bizentity.controlrule.rule.serializer.BeObjectControlRuleSerializer;
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity.BeEntityRuleDefNames;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
-import com.inspur.edp.das.commonmodel.controlrule.CmEntityControlRule;
-
-@JsonSerialize(using = BeObjectControlRuleSerializer.class)
-@JsonDeserialize(using = BeObjectControlRuleParser.class)
-public class BeObjControlRule extends CmEntityControlRule {
-
- public ControlRuleItem getAddUQConstraintControlRule() {
- return super.getControlRule(BeEntityRuleDefNames.AddUQConstraint);
- }
-
- public void setAddUQConstraintControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(BeEntityRuleDefNames.AddUQConstraint, ruleItem);
- }
-
- public ControlRuleItem getModifyUQConstraintControlRule() {
- return super.getControlRule(BeEntityRuleDefNames.ModifyUQConstraint);
- }
-
- public void setModifyUQConstraintControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(BeEntityRuleDefNames.ModifyUQConstraint, ruleItem);
- }
-
- public ControlRuleItem getAddDeterminationControlRule() {
- return super.getControlRule(BeEntityRuleDefNames.AddDtermination);
- }
-
- public void setAddDterminationControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(BeEntityRuleDefNames.AddDtermination, ruleItem);
- }
-
- public ControlRuleItem getModifyDterminationControlRule() {
- return super.getControlRule(BeEntityRuleDefNames.ModifyDetermination);
- }
-
- public void setModifyDterminationControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(BeEntityRuleDefNames.ModifyDetermination, ruleItem);
- }
-
- public ControlRuleItem getAddValidationControlRule() {
- return super.getControlRule(BeEntityRuleDefNames.AddValidation);
- }
-
- public void setAddValidationControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(BeEntityRuleDefNames.AddValidation, ruleItem);
- }
-
- public ControlRuleItem getModifyValidationControlRule() {
- return super.getControlRule(BeEntityRuleDefNames.ModifyValidation);
- }
-
- public void setModifyValidationControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(BeEntityRuleDefNames.ModifyValidation, ruleItem);
- }
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/BeObjectRule.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/BeObjectRule.java
new file mode 100644
index 0000000000000000000000000000000000000000..fe3aa6eef55fac60c562b7f72abd27b4833f61d0
--- /dev/null
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/BeObjectRule.java
@@ -0,0 +1,21 @@
+package com.inspur.edp.bef.bizentity.controlrule.rule;
+
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonObjectRule;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * BE 侧 Entity 层控制规则。
+ *
+ *
继承 {@link CommonObjectRule},在公共实体规则基础上扩展
+ * BE 特有规则:UQConstraint、Determination、Validation。
+ */
+@Getter
+@Setter
+public class BeObjectRule extends CommonObjectRule {
+
+ private ControlRuleItem addDeterminationRule;
+ private ControlRuleItem addValidationRule;
+
+}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/convert/BeControlRuleConvertor.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/convert/BeControlRuleConvertor.java
deleted file mode 100644
index 5bf738b2b36ce8d2d2bf5e9916d7d4a542139e5e..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/convert/BeControlRuleConvertor.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.rule.convert;
-
-import com.inspur.edp.bef.bizentity.GspBizEntityObject;
-import com.inspur.edp.bef.bizentity.GspBusinessEntity;
-import com.inspur.edp.bef.bizentity.controlrule.rule.BeControlRule;
-import com.inspur.edp.bef.bizentity.controlrule.rule.BeFeildControlRule;
-import com.inspur.edp.bef.bizentity.controlrule.rule.BeObjControlRule;
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity.BeControlRuleDef;
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity.BeEntityControlRuleDef;
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity.BeFieldControlRuleDef;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.convert.ControlRuleConvertor;
-import com.inspur.edp.das.commonmodel.json.CommonModelNames;
-import lombok.var;
-
-import java.util.HashMap;
-
-public class BeControlRuleConvertor {
-
- public static void convert2ControlRule(BeControlRuleDef ruleDef, BeControlRule rule, GspBusinessEntity be) {
-
- ControlRuleConvertor.convert2ControlRule(ruleDef, rule);
- rule.setRuleId(be.getId());
-
- BeObjControlRule mainObjRule = convert2BeObjControlRule((BeEntityControlRuleDef) ruleDef.getChildControlRules().get(CommonModelNames.MainObject), be.getMainObject());
- rule.setMainEntityControlRule(mainObjRule);
-
- }
-
- private static BeObjControlRule convert2BeObjControlRule(BeEntityControlRuleDef ruleDef, GspBizEntityObject beObject) {
-
- BeObjControlRule objRule = new BeObjControlRule();
- ControlRuleConvertor.convert2ControlRule(ruleDef, objRule, beObject);
-
- dealChildObjs(ruleDef, objRule, beObject);
-
- BeFieldControlRuleDef elementRuleDef = (BeFieldControlRuleDef) ruleDef.getChildControlRules().get(CommonModelNames.Element);
- dealElement(elementRuleDef, objRule, beObject);
-
- return objRule;
- }
-
- private static void dealChildObjs(BeEntityControlRuleDef ruleDef, BeObjControlRule objRule, GspBizEntityObject beObject) {
- var childObjs = beObject.getContainChildObjects();
- if (childObjs == null || childObjs.isEmpty())
- return;
- objRule.getChildRules().put(CommonModelNames.ChildObject, new HashMap<>());
-
- for (var childObj : childObjs) {
- BeObjControlRule childRule = convert2BeObjControlRule(ruleDef, (GspBizEntityObject) childObj);
- objRule.getChildRules().get(CommonModelNames.ChildObject).put(childObj.getID(), childRule);
- }
- }
-
- private static void dealElement(BeFieldControlRuleDef ruleDef, BeObjControlRule objRule, GspBizEntityObject beObject) {
- var elements = beObject.getContainElements();
- if (elements == null || elements.isEmpty())
- return;
- objRule.getChildRules().put(CommonModelNames.Element, new HashMap<>());
-
- for (var element : elements) {
- BeFeildControlRule fieldRule = new BeFeildControlRule();
- ControlRuleConvertor.convert2ControlRule(ruleDef, fieldRule, element);
- objRule.getChildRules().get(CommonModelNames.Element).put(element.getID(), fieldRule);
- }
- }
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/convert/BeModelRuleConvertor.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/convert/BeModelRuleConvertor.java
new file mode 100644
index 0000000000000000000000000000000000000000..ca4abe41e549e55395b6fe489aa38d28f0b784aa
--- /dev/null
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/convert/BeModelRuleConvertor.java
@@ -0,0 +1,82 @@
+package com.inspur.edp.bef.bizentity.controlrule.rule.convert;
+
+import com.inspur.edp.bef.bizentity.GspBizEntityObject;
+import com.inspur.edp.bef.bizentity.GspBusinessEntity;
+import com.inspur.edp.bef.bizentity.controlrule.rule.BeModelRule;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonElementRule;
+import com.inspur.edp.bef.bizentity.controlrule.rule.BeObjectRule;
+import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity.BeModelRuleDef;
+import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity.BeObjectRuleDef;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.convert.ControlRuleConvertor;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonObjectRule;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonObjectRuleDef;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonElementRuleDef;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonModelRuleDef;
+import lombok.var;
+
+public class BeModelRuleConvertor extends ControlRuleConvertor {
+
+ private static final BeModelRuleConvertor INSTANCE = new BeModelRuleConvertor();
+
+ public static BeModelRule convert2ControlRule(BeModelRuleDef ruleDef, GspBusinessEntity be) {
+ return INSTANCE.doConvert(ruleDef, be);
+ }
+
+ private BeModelRule doConvert(BeModelRuleDef ruleDef, GspBusinessEntity be) {
+ BeModelRule rule = new BeModelRule();
+ convertModelRule(ruleDef, rule);
+ BeObjectRule mainObjRule = convert2BeObjectRule(ruleDef.getMainObjectRuleDef(), be.getMainObject());
+ rule.setMainObjectRule(mainObjRule);
+ return rule;
+ }
+
+ private BeObjectRule convert2BeObjectRule(BeObjectRuleDef ruleDef, GspBizEntityObject beObject) {
+ BeObjectRule objRule = new BeObjectRule();
+ convertObjectRule(ruleDef, objRule);
+ dealChildObjs(ruleDef, objRule, beObject);
+ dealElement(ruleDef, objRule, beObject);
+ return objRule;
+ }
+
+ private void dealChildObjs(BeObjectRuleDef ruleDef, BeObjectRule objRule, GspBizEntityObject beObject) {
+ var childObjs = beObject.getContainChildObjects();
+ if (childObjs == null || childObjs.isEmpty()) {
+ return;
+ }
+ for (var childObj : childObjs) {
+ BeObjectRule childRule = convert2BeObjectRule(ruleDef, (GspBizEntityObject) childObj);
+ objRule.addChildObjectRule(childObj.getID(), childRule);
+ }
+ }
+
+ private void dealElement(BeObjectRuleDef ruleDef, BeObjectRule objRule, GspBizEntityObject beObject) {
+ var elements = beObject.getContainElements();
+ if (elements == null || elements.isEmpty()) {
+ return;
+ }
+ CommonElementRuleDef elementRuleDef = ruleDef.getElementRuleDef();
+ for (var element : elements) {
+ CommonElementRule elementRule = new CommonElementRule();
+ convertElementRule(elementRuleDef, elementRule);
+ objRule.addElementRule(element.getID(), elementRule);
+ }
+ }
+
+ @Override
+ public void convertModelRule(CommonModelRuleDef def, com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonModelRule rule) {
+ super.convertModelRule(def, rule);
+ BeModelRuleDef beDef = (BeModelRuleDef) def;
+ BeModelRule beRule = (BeModelRule) rule;
+ beRule.setAddCustomActionRule(convert(beDef.getAddCustomActionRuleDef()));
+ beRule.setModifyCustomActionRule(convert(beDef.getModifyCustomActionRuleDef()));
+ }
+
+ @Override
+ public void convertObjectRule(CommonObjectRuleDef def, CommonObjectRule rule) {
+ super.convertObjectRule(def, rule);
+ BeObjectRuleDef beDef = (BeObjectRuleDef) def;
+ BeObjectRule beRule = (BeObjectRule) rule;
+ beRule.setAddDeterminationRule(convert(beDef.getAddDeterminationRuleDef()));
+ beRule.setAddValidationRule(convert(beDef.getAddValidationRuleDef()));
+ }
+}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/parser/BeControlRuleParser.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/parser/BeControlRuleParser.java
deleted file mode 100644
index d297cafc8606e1f77ebcf4b9fd2755a28a2f9c10..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/parser/BeControlRuleParser.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.rule.parser;
-
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.inspur.edp.bef.bizentity.controlrule.rule.BeControlRule;
-import com.inspur.edp.das.commonmodel.controlrule.CmControlRule;
-import com.inspur.edp.das.commonmodel.controlrule.parser.CmControlRuleParser;
-
-public class BeControlRuleParser extends CmControlRuleParser {
-
- protected JsonDeserializer getChildDeserializer(String childTypeName) {
- return new BeObjectControlRuleParser();
- }
-
- @Override
- protected CmControlRule createCmRule() {
- return new BeControlRule();
- }
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/parser/BeFieldRuleParser.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/parser/BeFieldRuleParser.java
deleted file mode 100644
index e7eaeda37bebad06bf4bcb21118b0ca49bb5178a..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/parser/BeFieldRuleParser.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.rule.parser;
-
-import com.inspur.edp.bef.bizentity.controlrule.rule.BeFeildControlRule;
-import com.inspur.edp.das.commonmodel.controlrule.CmFieldControlRule;
-import com.inspur.edp.das.commonmodel.controlrule.parser.CmFieldRuleParser;
-
-public class BeFieldRuleParser extends CmFieldRuleParser {
- protected CmFieldControlRule createCmFieldRuleDefinition() {
- return new BeFeildControlRule();
- }
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/parser/BeObjectControlRuleParser.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/parser/BeObjectControlRuleParser.java
deleted file mode 100644
index 6437f591f8d9aa7deb629cb1354369d16472becc..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/parser/BeObjectControlRuleParser.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.rule.parser;
-
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.inspur.edp.bef.bizentity.controlrule.rule.BeObjControlRule;
-import com.inspur.edp.das.commonmodel.controlrule.CmEntityControlRule;
-import com.inspur.edp.das.commonmodel.controlrule.parser.CmEntityControlRuleParser;
-import com.inspur.edp.das.commonmodel.json.CommonModelNames;
-
-public class BeObjectControlRuleParser extends CmEntityControlRuleParser {
-
- protected JsonDeserializer getChildDeserializer(String childTypeName) {
- switch (childTypeName) {
- case CommonModelNames.ChildObject:
- return new BeObjectControlRuleParser();
- case CommonModelNames.Element:
- return new BeFieldRuleParser();
- }
- return null;
- }
-
- @Override
- protected CmEntityControlRule createCmEntityRule() {
- return new BeObjControlRule();
- }
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/serializer/BeFieldControlRuleSerializer.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/serializer/BeFieldControlRuleSerializer.java
deleted file mode 100644
index f1becc0590c1db0e01708b7d22a16e0f6f51370f..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/serializer/BeFieldControlRuleSerializer.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.rule.serializer;
-
-import com.inspur.edp.das.commonmodel.controlrule.serializer.CmFieldControlRuleSerializer;
-
-public class BeFieldControlRuleSerializer extends CmFieldControlRuleSerializer {
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/serializer/BeObjectControlRuleSerializer.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/serializer/BeObjectControlRuleSerializer.java
deleted file mode 100644
index f386773a0ac7e996e9746f119bc95461ced3646e..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/serializer/BeObjectControlRuleSerializer.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.rule.serializer;
-
-import com.inspur.edp.das.commonmodel.controlrule.serializer.CmEntityControlRuleSerializer;
-
-public class BeObjectControlRuleSerializer extends CmEntityControlRuleSerializer {
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/serializer/BeRuleSerializer.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/serializer/BeRuleSerializer.java
deleted file mode 100644
index c146b85e4dd621a021f62541ac77145653ecf322..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/rule/serializer/BeRuleSerializer.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.rule.serializer;
-
-import com.inspur.edp.das.commonmodel.controlrule.serializer.CmRuleSerializer;
-
-public class BeRuleSerializer extends CmRuleSerializer {
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeControlRuleDef.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeControlRuleDef.java
deleted file mode 100644
index 6b7a6685bd0e37f38a45ec11cec23a83233d7bf4..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeControlRuleDef.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity;
-
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.parser.BeControlRuleDefParser;
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.serializer.BeControlRuleDefSerializer;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleValue;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmControlRuleDef;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmRuleNames;
-import com.inspur.edp.das.commonmodel.json.CommonModelNames;
-import com.inspur.edp.das.commonmodel.util.MessageI18nUtils;
-
-@JsonSerialize(using = BeControlRuleDefSerializer.class)
-@JsonDeserialize(using = BeControlRuleDefParser.class)
-public class BeControlRuleDef extends CmControlRuleDef {
- public BeControlRuleDef() {
- super(null, BeControlRuleDefNames.beControlRuleObjectType);
- init();
- }
-
-
- private void init() {
- ControlRuleDefItem codeRule = new ControlRuleDefItem() {
- {
- this.setRuleName(CmRuleNames.Code);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("code"));
- this.setDescription(MessageI18nUtils.getMessage("entityCode"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setCodeControlRule(codeRule);
-
- ControlRuleDefItem nameRule = new ControlRuleDefItem() {
- {
- this.setRuleName(CmRuleNames.Name);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("name"));
- this.setDescription(MessageI18nUtils.getMessage("entityName"));
- this.setDefaultRuleValue(ControlRuleValue.Allow);
- }
- };
- setNameControlRule(nameRule);
-
-// setUsingTimeStampControlRule();
-
- ControlRuleDefItem addActionRule = new ControlRuleDefItem() {
- {
- this.setRuleName(BeControlRuleDefNames.AddCustomAction);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("addCustomAction"));
- this.setDescription(MessageI18nUtils.getMessage("addCustomAction"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setAddCustomActonControlRule(addActionRule);
-
- ControlRuleDefItem modifyActionRule = new ControlRuleDefItem() {
- {
- this.setRuleName(BeControlRuleDefNames.ModifyCustomActions);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("modifyCustomAction"));
- this.setDescription(MessageI18nUtils.getMessage("modifyCustomAction"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setModifyCustomActonControlRule(modifyActionRule);
-
- ControlRuleDefItem addVarRule = new ControlRuleDefItem() {
- {
- this.setRuleName(BeControlRuleDefNames.AddVariableDtm);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("addVariableDtm"));
- this.setDescription(MessageI18nUtils.getMessage("addVariableDtm"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setAddVariableDtmControlRule(addVarRule);
-
- ControlRuleDefItem modifyVarRule = new ControlRuleDefItem() {
- {
- this.setRuleName(BeControlRuleDefNames.ModifyVariableDtm);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("modifyVariableDtm"));
- this.setDescription(MessageI18nUtils.getMessage("modifyVariableDtm"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setModifyVariableDtmControlRule(modifyVarRule);
-
- BeEntityControlRuleDef objectRuleDef = new BeEntityControlRuleDef(this);
- getChildControlRules().put(CommonModelNames.MainObject, objectRuleDef);
-
- }
-
- public ControlRuleDefItem getAddCustomActonControlRule() {
- return super.getControlRuleItem(BeControlRuleDefNames.AddCustomAction);
- }
-
- public void setAddCustomActonControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(BeControlRuleDefNames.AddCustomAction, ruleItem);
- }
-
- public ControlRuleDefItem getModifyCustomActonControlRule() {
- return super.getControlRuleItem(BeControlRuleDefNames.ModifyCustomActions);
- }
-
- public void setModifyCustomActonControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(BeControlRuleDefNames.ModifyCustomActions, ruleItem);
- }
-
- public ControlRuleDefItem getAddVariableDtmControlRule() {
- return super.getControlRuleItem(BeControlRuleDefNames.AddVariableDtm);
- }
-
- public void setAddVariableDtmControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(BeControlRuleDefNames.AddVariableDtm, ruleItem);
- }
-
- public ControlRuleDefItem getModifyVariableDtmControlRule() {
- return super.getControlRuleItem(BeControlRuleDefNames.ModifyVariableDtm);
- }
-
- public void setModifyVariableDtmControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(BeControlRuleDefNames.ModifyVariableDtm, ruleItem);
- }
-
- public ControlRuleDefItem getEnableTreeDtmControlRule() {
- return super.getControlRuleItem(BeControlRuleDefNames.EnableTreeDtm);
- }
-
- public void setEnableTreeDtmControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(BeControlRuleDefNames.EnableTreeDtm, ruleItem);
- }
-
- public ControlRuleDefItem getUsingTimeStampControlRule() {
- return super.getControlRuleItem(BeControlRuleDefNames.UsingTimeStamp);
- }
-
- public void setUsingTimeStampControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(BeControlRuleDefNames.UsingTimeStamp, ruleItem);
- }
-
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeControlRuleDefNames.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeControlRuleDefNames.java
deleted file mode 100644
index c1c6bcd2e49d7fb987ddb8b5370465bf7cfac419..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeControlRuleDefNames.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity;
-
-public class BeControlRuleDefNames {
- public static String beControlRuleObjectType = "GspBusinessObject";
- public static String AddCustomAction = "AddCustomAction";
- public static String AddVariableDtm = "AddVariableDtm";
- public static String ModifyCustomActions = "ModifyCustomActions";
- public static String ModifyVariableDtm = "ModifyVariableDtm";
- public static String EnableTreeDtm = "EnableTreeDtm";
- public static String UsingTimeStamp = "UsingTimeStamp";
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeElementRuleDef.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeElementRuleDef.java
new file mode 100644
index 0000000000000000000000000000000000000000..c6e695e8f7f069ee42754780f9eacfbd502a47eb
--- /dev/null
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeElementRuleDef.java
@@ -0,0 +1,70 @@
+package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity;
+
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleValue;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonElementRuleDef;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonElementRuleNames;
+
+public class BeElementRuleDef extends CommonElementRuleDef {
+
+ private BeElementRuleDef() {
+ super();
+ }
+
+ /**
+ * 完整初始化:全量配置所有 Allow / Forbidden 项。
+ *
+ *
Name、Length、CustomizeRef、IsDefaultNull 为 Allow;
+ * Precision、DefaultValue、Required、ContainEnumValues、IsPersistent、Encryption 为 Forbidden。
+ */
+ public static BeElementRuleDef create() {
+ BeElementRuleDef def = new BeElementRuleDef();
+ // Name 规则用层级专属 ruleName(ElementName),使派生的 description key 与 Model/Object 层区分
+ def.setNameRuleDef(new BeRuleDefItem(CommonElementRuleNames.ElementName, ControlRuleValue.Allow));
+
+ def.setLengthRuleDef(new BeRuleDefItem(CommonElementRuleNames.Length, ControlRuleValue.Allow));
+
+ def.setPrecisionRuleDef(new BeRuleDefItem(CommonElementRuleNames.Precision, ControlRuleValue.Forbidden));
+
+ def.setDefaultValueRuleDef(new BeRuleDefItem(CommonElementRuleNames.DefaultValue, ControlRuleValue.Forbidden));
+
+ def.setRequiredRuleDef(new BeRuleDefItem(CommonElementRuleNames.Required, ControlRuleValue.Forbidden));
+
+ def.setContainEnumValuesRuleDef(new BeRuleDefItem(CommonElementRuleNames.ContainEnumValues, ControlRuleValue.Forbidden));
+
+ def.setIsPersistentRuleDef(new BeRuleDefItem(CommonElementRuleNames.IsPersistent, ControlRuleValue.Forbidden));
+
+ def.setCustomizeRefRuleDef(new BeRuleDefItem(CommonElementRuleNames.CustomizeRef, ControlRuleValue.Allow));
+
+ def.setEncryptionRuleDef(new BeRuleDefItem(CommonElementRuleNames.Encryption, ControlRuleValue.Forbidden));
+
+ def.setIsDefaultNullRuleDef(new BeRuleDefItem(CommonElementRuleNames.IsDefaultNull, ControlRuleValue.Allow));
+
+ return def;
+ }
+
+ /**
+ * 旧版识别范围冻结快照:只显式配置 Allow 项,Forbidden 项留 null。
+ *
+ * null 项由 {@code ControlRuleConvertor.convert(null)} 在运行时解析为 Forbidden,
+ * 与 {@link #create()} 经 convert 后产生完全一致的 rule 判定结果。
+ *
+ * 为什么需要这个方法
+ * 历史识别范围是"扩展可覆写哪些属性"。为支持后续扩大识别范围(新增 Allow 项),
+ * 存量扩展元数据中的旧基础值会被误判为"扩展定制内容"而错误保留。
+ * 此方法冻结历史时点的 Allow 项集合,供当前及将来同步遇到历史数据时判定变更范围,
+ * 避免上述误判。
+ *
+ * 维护约束
+ * 此方法独立于 {@link #create()},后续规则演进只修改 {@code create()},不得修改本方法。
+ * 本方法是历史数据的"识别范围标尺",任何修改都会导致误判历史产物。
+ */
+ public static BeElementRuleDef createFrozen() {
+ BeElementRuleDef def = new BeElementRuleDef();
+ // Allow 项
+ def.setNameRuleDef(new BeRuleDefItem(CommonElementRuleNames.ElementName, ControlRuleValue.Allow));
+ def.setLengthRuleDef(new BeRuleDefItem(CommonElementRuleNames.Length, ControlRuleValue.Allow));
+ def.setCustomizeRefRuleDef(new BeRuleDefItem(CommonElementRuleNames.CustomizeRef, ControlRuleValue.Allow));
+ def.setIsDefaultNullRuleDef(new BeRuleDefItem(CommonElementRuleNames.IsDefaultNull, ControlRuleValue.Allow));
+ return def;
+ }
+}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeEntityControlRuleDef.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeEntityControlRuleDef.java
deleted file mode 100644
index 1e6f6ddb7b22166170f1985ec96393b18bca1aa1..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeEntityControlRuleDef.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.parser.BeEntityControlRuleDefParser;
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.serializer.BeEntityControlRuleDefSerializer;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleValue;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeRuleNames;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmEntityControlRuleDef;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmEntityRuleNames;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmRuleNames;
-import com.inspur.edp.das.commonmodel.json.CommonModelNames;
-import com.inspur.edp.das.commonmodel.util.MessageI18nUtils;
-
-@JsonSerialize(using = BeEntityControlRuleDefSerializer.class)
-@JsonDeserialize(using = BeEntityControlRuleDefParser.class)
-public class BeEntityControlRuleDef extends CmEntityControlRuleDef {
- public BeEntityControlRuleDef(BeControlRuleDef parentRuleDefinition) {
- super(parentRuleDefinition);
- super.setRuleObjectType(BeEntityRuleDefNames.BeEntityRuleObjectType);
- init();
- }
-
-
- private void init() {
-
- ControlRuleDefItem nameRule = new ControlRuleDefItem() {
- {
- this.setRuleName(CmRuleNames.Name);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("name"));
- this.setDescription(MessageI18nUtils.getMessage("nodeName"));
- this.setDefaultRuleValue(ControlRuleValue.Allow);
- }
- };
- setNameControlRule(nameRule);
-
- ControlRuleDefItem addUqRule = new ControlRuleDefItem() {
- {
- this.setRuleName(BeEntityRuleDefNames.AddUQConstraint);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("addUQConstraint"));
- this.setDescription(MessageI18nUtils.getMessage("addUQConstraint"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setAddUQConstraintControlRule(addUqRule);
-
- ControlRuleDefItem modifyUqRule = new ControlRuleDefItem() {
- {
- this.setRuleName(BeEntityRuleDefNames.ModifyUQConstraint);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("modifyUQConstraint"));
- this.setDescription(MessageI18nUtils.getMessage("modifyUQConstraint"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setModifyUQConstraintControlRule(modifyUqRule);
-
- ControlRuleDefItem addDtmRule = new ControlRuleDefItem() {
- {
- this.setRuleName(BeEntityRuleDefNames.AddDtermination);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("addDtermination"));
- this.setDescription(MessageI18nUtils.getMessage("addDtermination"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setAddDterminationControlRule(addDtmRule);
-
- ControlRuleDefItem modifyDtmRule = new ControlRuleDefItem() {
- {
- this.setRuleName(BeEntityRuleDefNames.ModifyDetermination);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("modifyDetermination"));
- this.setDescription(MessageI18nUtils.getMessage("modifyDetermination"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setModifyDterminationControlRule(modifyDtmRule);
-
- ControlRuleDefItem addValRule = new ControlRuleDefItem() {
- {
- this.setRuleName(BeEntityRuleDefNames.AddValidation);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("addValidation"));
- this.setDescription(MessageI18nUtils.getMessage("addValidation"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setAddValidationControlRule(addValRule);
-
- ControlRuleDefItem modifyValRule = new ControlRuleDefItem() {
- {
- this.setRuleName(BeEntityRuleDefNames.ModifyValidation);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("modifyValidation"));
- this.setDescription(MessageI18nUtils.getMessage("modifyValidation"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setModifyValidationControlRule(modifyValRule);
-
- ControlRuleDefItem addChildEntityRule = new ControlRuleDefItem() {
- {
- this.setRuleName(CmEntityRuleNames.AddChildEntity);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("addChildEntity"));
- this.setDescription(MessageI18nUtils.getMessage("addChildEntity"));
- this.setDefaultRuleValue(ControlRuleValue.Allow);
- }
- };
- setAddChildEntityControlRule(addChildEntityRule);
-
- ControlRuleDefItem modifyChildEntityRule = new ControlRuleDefItem() {
- {
- this.setRuleName(CmEntityRuleNames.ModifyChildEntities);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("modifyChildEntities"));
- this.setDescription(MessageI18nUtils.getMessage("modifyChildEntities"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setModifyChildEntitiesControlRule(modifyChildEntityRule);
-
- ControlRuleDefItem addElementRule = new ControlRuleDefItem() {
- {
- this.setRuleName(CommonDataTypeRuleNames.AddField);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("addField"));
- this.setDescription(MessageI18nUtils.getMessage("addField"));
- this.setDefaultRuleValue(ControlRuleValue.Allow);
- }
- };
- setAddFieldControlRule(addElementRule);
-
- ControlRuleDefItem modifyElementRule = new ControlRuleDefItem() {
- {
- this.setRuleName(CommonDataTypeRuleNames.ModifyFields);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("modifyField"));
- this.setDescription(MessageI18nUtils.getMessage("modifyField"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setModifyFieldsControlRule(modifyElementRule);
-
-// BeEntityControlRuleDef objectRuleDef = new BeEntityControlRuleDef(this);
-// getChildControlRules().put(CommonModelNames.MainObject, objectRuleDef);
- BeFieldControlRuleDef fieldRuleDef = new BeFieldControlRuleDef(this);
- getChildControlRules().put(CommonModelNames.Element, fieldRuleDef);
- }
-
- public ControlRuleDefItem getAddUQConstraintControlRule() {
- return super.getControlRuleItem(BeEntityRuleDefNames.AddUQConstraint);
- }
-
- public void setAddUQConstraintControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(BeEntityRuleDefNames.AddUQConstraint, ruleItem);
- }
-
- public ControlRuleDefItem getModifyUQConstraintControlRule() {
- return super.getControlRuleItem(BeEntityRuleDefNames.ModifyUQConstraint);
- }
-
- public void setModifyUQConstraintControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(BeEntityRuleDefNames.ModifyUQConstraint, ruleItem);
- }
-
- public ControlRuleDefItem getAddDeterminationControlRule() {
- return super.getControlRuleItem(BeEntityRuleDefNames.AddDtermination);
- }
-
- public void setAddDterminationControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(BeEntityRuleDefNames.AddDtermination, ruleItem);
- }
-
- public ControlRuleDefItem getModifyDterminationControlRule() {
- return super.getControlRuleItem(BeEntityRuleDefNames.ModifyDetermination);
- }
-
- public void setModifyDterminationControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(BeEntityRuleDefNames.ModifyDetermination, ruleItem);
- }
-
- public ControlRuleDefItem getAddValidationControlRule() {
- return super.getControlRuleItem(BeEntityRuleDefNames.AddValidation);
- }
-
- public void setAddValidationControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(BeEntityRuleDefNames.AddValidation, ruleItem);
- }
-
- public ControlRuleDefItem getModifyValidationControlRule() {
- return super.getControlRuleItem(BeEntityRuleDefNames.ModifyValidation);
- }
-
- public void setModifyValidationControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(BeEntityRuleDefNames.ModifyValidation, ruleItem);
- }
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeEntityRuleDefNames.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeEntityRuleDefNames.java
deleted file mode 100644
index 5b284098d0c0d92016404112aacfff1f34a79b14..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeEntityRuleDefNames.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity;
-
-public class BeEntityRuleDefNames {
- public static String BeEntityRuleObjectType = "GspBizObject";
- public static String AddUQConstraint = "AddUQConstraint";
- public static String ModifyUQConstraint = "ModifyUQConstraint";
- public static String AddDtermination = "AddDtermination";
- public static String ModifyDetermination = "ModifyDetermination";
- public static String AddValidation = "AddValidation";
- public static String ModifyValidation = "ModifyValidation";
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeFieldControlRuleDef.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeFieldControlRuleDef.java
deleted file mode 100644
index 19af37355e1378c88cbdef0a514356ea7c2c28c8..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeFieldControlRuleDef.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.parser.BeFieldControlRuleDefParser;
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.serializer.BeFieldControlRuleDefSerializer;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefinition;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleValue;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonFieldRuleNames;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmFieldControlRuleDef;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmRuleNames;
-import com.inspur.edp.das.commonmodel.util.MessageI18nUtils;
-
-@JsonSerialize(using = BeFieldControlRuleDefSerializer.class)
-@JsonDeserialize(using = BeFieldControlRuleDefParser.class)
-public class BeFieldControlRuleDef extends CmFieldControlRuleDef {
- public BeFieldControlRuleDef(ControlRuleDefinition parentRuleDefinition) {
- super(parentRuleDefinition);
- super.setRuleObjectType(BeFieldControlRuleNames.BeFieldRuleObjectType);
-// IGspCommonField field;
-// field.getMDataType()
- init();
- }
-
- private void init() {
- ControlRuleDefItem nameRule = new ControlRuleDefItem() {
- {
- this.setRuleName(CmRuleNames.Name);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("name"));
- this.setDescription(MessageI18nUtils.getMessage("fieldName"));
- this.setDefaultRuleValue(ControlRuleValue.Allow);
- }
- };
- setNameControlRule(nameRule);
-
- ControlRuleDefItem lengthRule = new ControlRuleDefItem() {
- {
- this.setRuleName(CommonFieldRuleNames.Length);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("length"));
- this.setDescription(MessageI18nUtils.getMessage("fieldLength"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setLengthControlRule(lengthRule);
-
- ControlRuleDefItem precisionRule = new ControlRuleDefItem() {
- {
- this.setRuleName(CommonFieldRuleNames.Precision);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("precision"));
- this.setDescription(MessageI18nUtils.getMessage("fieldPrecision"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setPrecisionControlRule(precisionRule);
-
- ControlRuleDefItem defaultValueRule = new ControlRuleDefItem() {
- {
- this.setRuleName(CommonFieldRuleNames.DefaultValue);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("defaultValue"));
- this.setDescription(MessageI18nUtils.getMessage("fieldDefaultValue"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setDefaultValueControlRule(defaultValueRule);
-
- ControlRuleDefItem multiLanRule = new ControlRuleDefItem() {
- {
- this.setRuleName(CommonFieldRuleNames.MultiLanField);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("multiLanField"));
- this.setDescription(MessageI18nUtils.getMessage("fieldMultiLanField"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setMultiLanFieldControlRule(multiLanRule);
-
- ControlRuleDefItem readonlyRule = new ControlRuleDefItem() {
- {
- this.setRuleName(CommonFieldRuleNames.Readonly);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("readonly"));
- this.setDescription(MessageI18nUtils.getMessage("readonlySetting"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setReadonlyControlRule(readonlyRule);
-
- ControlRuleDefItem requiredRule = new ControlRuleDefItem() {
- {
- this.setRuleName(CommonFieldRuleNames.Required);
- this.setRuleDisplayName(MessageI18nUtils.getMessage("required"));
- this.setDescription(MessageI18nUtils.getMessage("requiredSetting"));
- this.setDefaultRuleValue(ControlRuleValue.Forbiddon);
- }
- };
- setRequiredControlRule(requiredRule);
-
-
- }
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeFieldControlRuleNames.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeFieldControlRuleNames.java
deleted file mode 100644
index b772c269ea70c9cb9befa19a91ccb4dc8a7b08d7..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeFieldControlRuleNames.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity;
-
-public class BeFieldControlRuleNames {
- public static String BeFieldRuleObjectType = "BeField";
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeModelRuleDef.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeModelRuleDef.java
new file mode 100644
index 0000000000000000000000000000000000000000..ca90acf2cbaeff37bbd8d120dded23078cbb92a2
--- /dev/null
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeModelRuleDef.java
@@ -0,0 +1,55 @@
+package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity;
+
+
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleValue;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonModelRuleDef;
+import com.inspur.edp.das.commonmodel.controlruledef.entity.CommonModelRuleNames;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class BeModelRuleDef extends CommonModelRuleDef {
+
+ private ControlRuleDefItem addCustomActionRuleDef;
+ private ControlRuleDefItem modifyCustomActionRuleDef;
+
+ private BeModelRuleDef() {
+ super();
+ }
+
+ /**
+ * 完整初始化:全量配置所有 Allow / Forbidden 项,级联 {@link BeObjectRuleDef#create()}。
+ */
+ public static BeModelRuleDef create() {
+ BeModelRuleDef def = new BeModelRuleDef();
+ // Name 规则用层级专属 ruleName(ModelName),使派生的 description key 与 Object/Element 层区分
+ def.setNameRuleDef(new BeRuleDefItem(CommonModelRuleNames.ModelName, ControlRuleValue.Allow));
+
+ def.setAddCustomActionRuleDef(new BeRuleDefItem(BeModelRuleDefNames.AddCustomAction, ControlRuleValue.Forbidden));
+
+ def.setModifyCustomActionRuleDef(new BeRuleDefItem(BeModelRuleDefNames.ModifyCustomAction, ControlRuleValue.Forbidden));
+
+ def.setMainObjectRuleDef(BeObjectRuleDef.create());
+
+ return def;
+ }
+
+ /**
+ * 旧版识别范围冻结快照:只显式配置 Allow 项,Forbidden 项留 null,
+ * 级联 {@link BeObjectRuleDef#createFrozen()}。
+ *
+ * 维护约束:后续规则演进只修改 {@link #create()},不得修改本方法。
+ */
+ public static BeModelRuleDef createFrozen() {
+ BeModelRuleDef def = new BeModelRuleDef();
+ def.setNameRuleDef(new BeRuleDefItem(CommonModelRuleNames.ModelName, ControlRuleValue.Allow));
+ def.setMainObjectRuleDef(BeObjectRuleDef.createFrozen());
+ return def;
+ }
+
+ public BeObjectRuleDef getMainObjectRuleDef() {
+ return (BeObjectRuleDef) super.getMainObjectRuleDef();
+ }
+}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeModelRuleDefNames.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeModelRuleDefNames.java
new file mode 100644
index 0000000000000000000000000000000000000000..adf32a6cab63e7595ed81e9bd57f6a7c9aba69e4
--- /dev/null
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeModelRuleDefNames.java
@@ -0,0 +1,6 @@
+package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity;
+
+public class BeModelRuleDefNames {
+ public static String AddCustomAction = "RULE_MODEL_ADD_CUSTOM_ACTION";
+ public static String ModifyCustomAction = "RULE_MODEL_MODIFY_CUSTOM_ACTION";
+}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeObjectRuleDef.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeObjectRuleDef.java
new file mode 100644
index 0000000000000000000000000000000000000000..99064e6d437eb9dad9b6554c370aa7f76424a8d1
--- /dev/null
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeObjectRuleDef.java
@@ -0,0 +1,63 @@
+package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity;
+
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleValue;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonObjectRuleDef;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonObjectRuleNames;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class BeObjectRuleDef extends CommonObjectRuleDef {
+
+ private ControlRuleDefItem addDeterminationRuleDef;
+ private ControlRuleDefItem addValidationRuleDef;
+
+ private BeObjectRuleDef() {
+ super();
+ }
+
+ /**
+ * 完整初始化:全量配置所有 Allow / Forbidden 项,级联 {@link BeElementRuleDef#create()}。
+ */
+ public static BeObjectRuleDef create() {
+ BeObjectRuleDef def = new BeObjectRuleDef();
+
+ // Name 规则用层级专属 ruleName(ObjectName),使派生的 description key 与 Model/Element 层区分
+ def.setNameRuleDef(new BeRuleDefItem(CommonObjectRuleNames.ObjectName, ControlRuleValue.Allow));
+
+ def.setAddDeterminationRuleDef(new BeRuleDefItem(BeObjectRuleDefNames.AddDetermination, ControlRuleValue.Allow));
+
+ def.setAddValidationRuleDef(new BeRuleDefItem(BeObjectRuleDefNames.AddValidation, ControlRuleValue.Allow));
+
+ def.setAddChildObjectRuleDef(new BeRuleDefItem(CommonObjectRuleNames.AddChildObject, ControlRuleValue.Allow));
+
+ def.setAddElementRuleDef(new BeRuleDefItem(CommonObjectRuleNames.AddElement, ControlRuleValue.Allow));
+
+ def.setDeleteElementRuleDef(new BeRuleDefItem(CommonObjectRuleNames.DeleteElement, ControlRuleValue.Forbidden));
+
+ def.setDeleteChildObjectRuleDef(new BeRuleDefItem(CommonObjectRuleNames.DeleteChildObject, ControlRuleValue.Forbidden));
+
+ def.setElementRuleDef(BeElementRuleDef.create());
+ return def;
+ }
+
+ /**
+ * 旧版识别范围冻结快照:只显式配置 Allow 项,Forbidden 项留 null,
+ * 级联 {@link BeElementRuleDef#createFrozen()}。
+ *
+ * 维护约束:后续规则演进只修改 {@link #create()},不得修改本方法。
+ */
+ public static BeObjectRuleDef createFrozen() {
+ BeObjectRuleDef def = new BeObjectRuleDef();
+
+ def.setNameRuleDef(new BeRuleDefItem(CommonObjectRuleNames.ObjectName, ControlRuleValue.Allow));
+ def.setAddDeterminationRuleDef(new BeRuleDefItem(BeObjectRuleDefNames.AddDetermination, ControlRuleValue.Allow));
+ def.setAddValidationRuleDef(new BeRuleDefItem(BeObjectRuleDefNames.AddValidation, ControlRuleValue.Allow));
+ def.setAddChildObjectRuleDef(new BeRuleDefItem(CommonObjectRuleNames.AddChildObject, ControlRuleValue.Allow));
+ def.setAddElementRuleDef(new BeRuleDefItem(CommonObjectRuleNames.AddElement, ControlRuleValue.Allow));
+ def.setElementRuleDef(BeElementRuleDef.createFrozen());
+ return def;
+ }
+}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeObjectRuleDefNames.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeObjectRuleDefNames.java
new file mode 100644
index 0000000000000000000000000000000000000000..87ce6f9b3aea87e1be78688976016dd0a290d241
--- /dev/null
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeObjectRuleDefNames.java
@@ -0,0 +1,6 @@
+package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity;
+
+public class BeObjectRuleDefNames {
+ public static String AddDetermination = "RULE_OBJECT_ADD_DETERMINATION";
+ public static String AddValidation = "RULE_OBJECT_ADD_VALIDATION";
+}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeRuleDefItem.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeRuleDefItem.java
new file mode 100644
index 0000000000000000000000000000000000000000..cfd5d30c7c5b7bdeb28b473baee43028e66d9030
--- /dev/null
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/entity/BeRuleDefItem.java
@@ -0,0 +1,22 @@
+package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity;
+
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleValue;
+import com.inspur.edp.das.commonmodel.util.MessageI18nUtils;
+
+/**
+ * BE 侧 ControlRuleDefItem 子类:由 ruleName 推导国际化资源 key 并用
+ * {@link MessageI18nUtils} 解析后,委托父类的四参值对象构造器。
+ *
+ * displayName key = ruleName,description key = ruleName + "_DESCRIPTION"。
+ */
+public class BeRuleDefItem extends ControlRuleDefItem {
+ private static final String DESCRIPTION_SUFFIX = "_DESCRIPTION";
+
+ public BeRuleDefItem(String ruleName, ControlRuleValue defaultRuleValue) {
+ super(ruleName,
+ MessageI18nUtils.getMessage(ruleName),
+ MessageI18nUtils.getMessage(ruleName + DESCRIPTION_SUFFIX),
+ defaultRuleValue);
+ }
+}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/parser/BeControlRuleDefParser.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/parser/BeControlRuleDefParser.java
deleted file mode 100644
index 34bfa97895454fd43f98f8f2948440537edc04cb..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/parser/BeControlRuleDefParser.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.parser;
-
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity.BeControlRuleDef;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmControlRuleDef;
-import com.inspur.edp.das.commonmodel.controlruledef.parser.CmRuleDefParser;
-
-public class BeControlRuleDefParser extends CmRuleDefParser {
-
- @Override
- protected final CmControlRuleDef createCmRuleDef() {
- return new BeControlRuleDef();
- }
-
-// protected Class getChildTypes(String childTypeName) {
-// return BeEntityControlRuleDef.class;
-// }
-
- protected JsonDeserializer getChildDeserializer(String childTypeName) {
- return new BeEntityControlRuleDefParser();
- }
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/parser/BeEntityControlRuleDefParser.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/parser/BeEntityControlRuleDefParser.java
deleted file mode 100644
index 492484e82150a13149c231290b86c98c29bd04b5..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/parser/BeEntityControlRuleDefParser.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.parser;
-
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity.BeEntityControlRuleDef;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmEntityControlRuleDef;
-import com.inspur.edp.das.commonmodel.controlruledef.parser.CmEntityControlRuleDefParser;
-
-public class BeEntityControlRuleDefParser extends CmEntityControlRuleDefParser {
- @Override
- protected final CmEntityControlRuleDef createCmEntityRuleDef() {
- return new BeEntityControlRuleDef(null);
- }
-
- protected JsonDeserializer getChildDeserializer(String childTypeName) {
- return new BeFieldControlRuleDefParser();
- }
-
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/parser/BeFieldControlRuleDefParser.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/parser/BeFieldControlRuleDefParser.java
deleted file mode 100644
index ae9767eac87fcb3b445124ef1153de9ebebfc059..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/parser/BeFieldControlRuleDefParser.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.parser;
-
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity.BeFieldControlRuleDef;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmFieldControlRuleDef;
-import com.inspur.edp.das.commonmodel.controlruledef.parser.CmFieldRuleDefParser;
-
-public class BeFieldControlRuleDefParser extends CmFieldRuleDefParser {
- @Override
- protected final CmFieldControlRuleDef createCmFieldRuleDefinition() {
- return new BeFieldControlRuleDef(null);
- }
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/serializer/BeControlRuleDefSerializer.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/serializer/BeControlRuleDefSerializer.java
deleted file mode 100644
index ca873471a8550e90ddabef64f55dc483959cc810..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/serializer/BeControlRuleDefSerializer.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity.BeControlRuleDef;
-import com.inspur.edp.das.commonmodel.controlruledef.serializer.CmRuleDefSerializer;
-
-public class BeControlRuleDefSerializer extends CmRuleDefSerializer {
- @Override
- protected final void writeCmRuleExtendInfos(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- super.writeCmRuleExtendInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
-
- }
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/serializer/BeEntityControlRuleDefSerializer.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/serializer/BeEntityControlRuleDefSerializer.java
deleted file mode 100644
index 612062cfef1d8947114594e7abb685445627b993..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/serializer/BeEntityControlRuleDefSerializer.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity.BeEntityControlRuleDef;
-import com.inspur.edp.das.commonmodel.controlruledef.serializer.CmEntityControlRuleDefSerializer;
-
-
-public class BeEntityControlRuleDefSerializer extends CmEntityControlRuleDefSerializer {
- @Override
- protected final void writeCmEntityRuleExtendInfos(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- super.writeCmEntityRuleExtendInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
- }
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/serializer/BeFieldControlRuleDefSerializer.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/serializer/BeFieldControlRuleDefSerializer.java
deleted file mode 100644
index 48518977d16db6664b0e8dd1fd5deddb1144898c..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/controlrule/ruledefinition/serializer/BeFieldControlRuleDefSerializer.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.inspur.edp.bef.bizentity.controlrule.ruledefinition.serializer;
-
-import com.inspur.edp.bef.bizentity.controlrule.ruledefinition.entity.BeFieldControlRuleDef;
-import com.inspur.edp.das.commonmodel.controlruledef.serializer.CmFieldControlRuleDefSerializer;
-
-public class BeFieldControlRuleDefSerializer extends CmFieldControlRuleDefSerializer {
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/BizEntityExtractor.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/BeModelExtractor.java
similarity index 38%
rename from business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/BizEntityExtractor.java
rename to business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/BeModelExtractor.java
index 0558673ddf76cecc411e141df2b45673e471be7b..72540cbbf0a2e2b5366af95018e0463881d08add 100644
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/BizEntityExtractor.java
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/BeModelExtractor.java
@@ -1,99 +1,67 @@
package com.inspur.edp.bef.bizentity.increment.extract;
import com.inspur.edp.bef.bizentity.GspBusinessEntity;
-import com.inspur.edp.bef.bizentity.common.BizEntityJsonConst;
import com.inspur.edp.bef.bizentity.increment.BizEntityIncrement;
import com.inspur.edp.bef.bizentity.increment.extract.action.MgrActionIncrementExtractor;
import com.inspur.edp.bef.bizentity.operation.BizMgrAction;
import com.inspur.edp.bef.bizentity.operation.BizOperation;
import com.inspur.edp.bef.bizentity.operation.collection.BizMgrActionCollection;
import com.inspur.edp.cef.designtime.api.increment.extractor.ExtractUtils;
-import com.inspur.edp.das.commonmodel.controlrule.CmControlRule;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmControlRuleDef;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonModelRule;
import com.inspur.edp.das.commonmodel.entity.GspCommonModel;
import com.inspur.edp.das.commonmodel.entity.increment.CommonModelIncrement;
import com.inspur.edp.das.commonmodel.entity.increment.extract.CommonModelExtractor;
import com.inspur.edp.das.commonmodel.entity.object.increment.extract.CommonObjectIncrementExtractor;
import lombok.var;
-public class BizEntityExtractor extends CommonModelExtractor {
+public class BeModelExtractor extends CommonModelExtractor {
/**
* BE扩展部分变更集抽取器版本
*/
private static final short currentVersion = 1;
- public BizEntityExtractor() {
- super();
- }
-
- public BizEntityExtractor(boolean includeAll) {
- super(includeAll);
- }
-
@Override
protected short getExtendVersion() {
return currentVersion;
}
- protected void extractExtendInfo(CommonModelIncrement increment, GspCommonModel oldModel, GspCommonModel newModel, CmControlRule rule, CmControlRuleDef def) {
- extractBizEntityInfo(increment, (GspBusinessEntity) oldModel, (GspBusinessEntity) newModel, rule, def);
+ protected void extractExtendInfo(CommonModelIncrement increment, GspCommonModel oldModel, GspCommonModel newModel, CommonModelRule rule) {
+ extractBizEntityInfo(increment, (GspBusinessEntity) oldModel, (GspBusinessEntity) newModel, rule);
}
- private void extractBizEntityInfo(CommonModelIncrement increment, GspBusinessEntity oldBe, GspBusinessEntity newBe, CmControlRule rule, CmControlRuleDef def) {
- extractBizActions((BizEntityIncrement) increment, oldBe, newBe, rule, def);
- if (includeAll)
- extractBizEntityAllInfo(increment, oldBe, newBe);
+ private void extractBizEntityInfo(CommonModelIncrement increment, GspBusinessEntity oldBe, GspBusinessEntity newBe, CommonModelRule rule) {
+ extractBizActions((BizEntityIncrement) increment, oldBe, newBe, rule);
}
- private void extractBizEntityAllInfo(CommonModelIncrement increment, GspBusinessEntity oldBe, GspBusinessEntity newBe) {
-
- var changes = increment.getChangeProperties();
- ExtractUtils.extractValue(changes, oldBe.getDependentEntityId(), newBe.getDependentEntityId(), BizEntityJsonConst.DependentEntityId, null, null);
- ExtractUtils.extractValue(changes, oldBe.getDependentEntityName(), newBe.getDependentEntityName(), BizEntityJsonConst.DependentEntityName, null, null);
- ExtractUtils.extractValue(changes, oldBe.getDependentEntityPackageName(), newBe.getDependentEntityPackageName(), BizEntityJsonConst.DependentEntityPackageName, null, null);
-
- ExtractUtils.extractValue(changes, oldBe.getCacheConfiguration(), newBe.getCacheConfiguration(), BizEntityJsonConst.CacheConfiguration, null, null);
- ExtractUtils.extractValue(changes, oldBe.getEnableCaching(), newBe.getEnableCaching(), BizEntityJsonConst.EnableCaching, null, null);
- ExtractUtils.extractValue(changes, oldBe.getEnableTreeDtm(), newBe.getEnableTreeDtm(), BizEntityJsonConst.EnableTreeDtm, null, null);
- ExtractUtils.extractValue(changes, oldBe.getComponentAssemblyName(), newBe.getComponentAssemblyName(), BizEntityJsonConst.ComponentAssemblyName, null, null);
- ExtractUtils.extractValue(changes, oldBe.getCategory(), newBe.getCategory(), BizEntityJsonConst.Category, null, null);
- ExtractUtils.extractValue(changes, oldBe.getExtendType(), newBe.getExtendType(), BizEntityJsonConst.ExtendType, null, null);
- ExtractUtils.extractValue(changes, oldBe.getIsUsingTimeStamp(), newBe.getIsUsingTimeStamp(), BizEntityJsonConst.IsUsingTimeStamp, null, null);
- ExtractUtils.extractValue(changes, oldBe.getEnableApproval(), newBe.getEnableApproval(), BizEntityJsonConst.EnableApproval, null, null);
- ExtractUtils.extractValue(changes, oldBe.isTccSupported(), newBe.isTccSupported(), BizEntityJsonConst.TccSupported, null, null);
- ExtractUtils.extractValue(changes, oldBe.isAutoTccLock(), newBe.isAutoTccLock(), BizEntityJsonConst.AutoTccLock, null, null);
- ExtractUtils.extractValue(changes, oldBe.isAutoComplete(), newBe.isAutoComplete(), BizEntityJsonConst.AutoComplete, null, null);
- ExtractUtils.extractValue(changes, oldBe.isAutoCancel(), newBe.isAutoCancel(), BizEntityJsonConst.AutoCancel, null, null);
- }
-
- private void extractBizActions(BizEntityIncrement increment, GspBusinessEntity oldBe, GspBusinessEntity newBe, CmControlRule rule, CmControlRuleDef def) {
+ private void extractBizActions(BizEntityIncrement increment, GspBusinessEntity oldBe, GspBusinessEntity newBe, CommonModelRule rule) {
BizMgrActionCollection oldActions = oldBe.getBizMgrActions();
BizMgrActionCollection newActions = newBe.getBizMgrActions();
- if (oldActions.isEmpty() && newActions.isEmpty())
+ if (oldActions.isEmpty() && newActions.isEmpty()) {
return;
+ }
if (newActions.isEmpty()) {
- //TODO 暂不支持删除动作
-// extractAllDeleteIncrement(increment, oldObj, extractor, rule, def);
+ // 设计取舍:当前仅支持自定义动作的新增/修改,不支持删除
return;
}
var extractor = new MgrActionIncrementExtractor();
for (BizOperation action : newActions) {
BizMgrAction oldAction = (BizMgrAction) oldActions.getItem(action.getID());
- var actionIncrement = extractor.extractorIncrement(oldAction, (BizMgrAction) action, rule, def);
- if (actionIncrement == null)
+ var actionIncrement = extractor.extractorIncrement(oldAction, (BizMgrAction) action, rule);
+ if (actionIncrement == null) {
continue;
+ }
increment.getActions().put(action.getID(), actionIncrement);
}
}
@Override
protected CommonObjectIncrementExtractor getCommonObjectIncrementExtractor() {
- return new BizObjectIncrementExtractor(this.includeAll);
+ return new BeObjectIncrementExtractor();
}
protected CommonModelIncrement createCommonModelIncrement() {
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/ModifyBizObjectExtractor.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/BeObjectIncrementExtractor.java
similarity index 66%
rename from business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/ModifyBizObjectExtractor.java
rename to business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/BeObjectIncrementExtractor.java
index 35c7b7367e632c832b2ecd33ee4673a27bd5770b..26a791c8933e2a9eaee44b92504794b89b0384ba 100644
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/ModifyBizObjectExtractor.java
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/BeObjectIncrementExtractor.java
@@ -6,8 +6,7 @@ import com.inspur.edp.bef.bizentity.increment.entity.determination.DtmIncrement;
import com.inspur.edp.bef.bizentity.increment.entity.validation.ValIncrement;
import com.inspur.edp.bef.bizentity.increment.extract.determination.DtmIncrementExtractor;
import com.inspur.edp.bef.bizentity.increment.extract.validation.ValIncrementExtractor;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonDataTypeControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeControlRuleDef;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonObjectRule;
import com.inspur.edp.cef.designtime.api.collection.CommonDtmCollection;
import com.inspur.edp.cef.designtime.api.collection.CommonValCollection;
import com.inspur.edp.cef.designtime.api.entity.GspCommonDataType;
@@ -16,65 +15,67 @@ import com.inspur.edp.cef.designtime.api.operation.CommonDetermination;
import com.inspur.edp.cef.designtime.api.operation.CommonOperation;
import com.inspur.edp.cef.designtime.api.operation.CommonValidation;
import com.inspur.edp.das.commonmodel.entity.object.increment.extract.CommonObjectIncrementExtractor;
-import com.inspur.edp.das.commonmodel.entity.object.increment.extract.ModifyCommonObjectExtractor;
import io.iec.edp.caf.commons.utils.CollectionUtils;
+import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
-public class ModifyBizObjectExtractor extends ModifyCommonObjectExtractor {
+public class BeObjectIncrementExtractor extends CommonObjectIncrementExtractor {
- public ModifyBizObjectExtractor() {
- super();
- }
- public ModifyBizObjectExtractor(boolean includeAll) {
- super(includeAll);
+ @Override
+ protected CommonObjectIncrementExtractor createChildExtractor() {
+ return new BeObjectIncrementExtractor();
}
@Override
- protected CommonObjectIncrementExtractor createChildExtractor() {
- return new BizObjectIncrementExtractor(this.includeAll);
+ protected ModifyEntityIncrement createModifyEntityIncrement() {
+ return new BizObjectIncrement();
}
@Override
- protected void extractExtendObjectIncrement(ModifyEntityIncrement increment, GspCommonDataType oldDataType, GspCommonDataType newDataType, CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
- extractDeterminations((BizObjectIncrement) increment, (GspBizEntityObject) oldDataType, (GspBizEntityObject) newDataType, rule, def);
- extractValidations((BizObjectIncrement) increment, (GspBizEntityObject) oldDataType, (GspBizEntityObject) newDataType, rule, def);
+ protected void extractExtendEntityIncrement(ModifyEntityIncrement increment, GspCommonDataType oldDataType, GspCommonDataType newDataType, CommonObjectRule rule) {
+ extractDeterminations((BizObjectIncrement) increment, (GspBizEntityObject) oldDataType, (GspBizEntityObject) newDataType, rule);
+ extractValidations((BizObjectIncrement) increment, (GspBizEntityObject) oldDataType, (GspBizEntityObject) newDataType, rule);
}
private void extractDeterminations(BizObjectIncrement increment,
GspBizEntityObject oldObj, GspBizEntityObject newObj,
- CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
- extractDeterminations(increment.getDtmBeforeQuery(), oldObj.getDtmBeforeQuery(), newObj.getDtmBeforeQuery(), rule, def);
- extractDeterminations(increment.getDtmAfterQuery(), oldObj.getDtmAfterQuery(), newObj.getDtmAfterQuery(), rule, def);
- extractDeterminations(increment.getDtmBeforeRetrieve(), oldObj.getDtmBeforeRetrieve(), newObj.getDtmBeforeRetrieve(), rule, def);
- extractDeterminations(increment.getDtmAfterLoading(), oldObj.getDtmAfterLoading(), newObj.getDtmAfterLoading(), rule, def);
- extractDeterminations(increment.getDtmAfterModify(), oldObj.getDtmAfterModify(), newObj.getDtmAfterModify(), rule, def);
- extractDeterminations(increment.getDtmBeforeSave(), oldObj.getDtmBeforeSave(), newObj.getDtmBeforeSave(), rule, def);
- extractDeterminations(increment.getDtmAfterSave(), oldObj.getDtmAfterSave(), newObj.getDtmAfterSave(), rule, def);
- extractDeterminations(increment.getDtmAfterCreate(), oldObj.getDtmAfterCreate(), newObj.getDtmAfterCreate(), rule, def);
- extractDeterminations(increment.getDtmCancel(), oldObj.getDtmCancel(), newObj.getDtmCancel(), rule, def);
+ CommonObjectRule rule) {
+ extractDeterminations(increment.getDtmBeforeQuery(), oldObj.getDtmBeforeQuery(), newObj.getDtmBeforeQuery(), rule);
+ extractDeterminations(increment.getDtmAfterQuery(), oldObj.getDtmAfterQuery(), newObj.getDtmAfterQuery(), rule);
+ extractDeterminations(increment.getDtmBeforeRetrieve(), oldObj.getDtmBeforeRetrieve(), newObj.getDtmBeforeRetrieve(), rule);
+ extractDeterminations(increment.getDtmAfterLoading(), oldObj.getDtmAfterLoading(), newObj.getDtmAfterLoading(), rule);
+ extractDeterminations(increment.getDtmAfterModify(), oldObj.getDtmAfterModify(), newObj.getDtmAfterModify(), rule);
+ extractDeterminations(increment.getDtmBeforeSave(), oldObj.getDtmBeforeSave(), newObj.getDtmBeforeSave(), rule);
+ extractDeterminations(increment.getDtmAfterSave(), oldObj.getDtmAfterSave(), newObj.getDtmAfterSave(), rule);
+ extractDeterminations(increment.getDtmAfterCreate(), oldObj.getDtmAfterCreate(), newObj.getDtmAfterCreate(), rule);
+ extractDeterminations(increment.getDtmCancel(), oldObj.getDtmCancel(), newObj.getDtmCancel(), rule);
}
private void extractDeterminations(Map dtmIncrement,
CommonDtmCollection oldDtmCollection, CommonDtmCollection newDtmCollection,
- CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
+ CommonObjectRule rule) {
+ // 仅遍历 new 集合按 ID 与 old 比对,故仅支持自定义 Dtm 的新增与修改,
+ // 不支持删除(old 有 new 无者忽略)。
if (CollectionUtils.isEmpty(newDtmCollection)) {
return;
}
- Map oldDtmMap = oldDtmCollection.stream()
- .collect(Collectors.toMap(CommonOperation::getID, determination -> determination));
+ Map oldDtmMap = CollectionUtils.isEmpty(oldDtmCollection)
+ ? new HashMap<>()
+ : oldDtmCollection.stream()
+ .collect(Collectors.toMap(CommonOperation::getID, determination -> determination));
DtmIncrementExtractor extractor = new DtmIncrementExtractor();
for (CommonDetermination determination : newDtmCollection) {
CommonDetermination oldDetermination = oldDtmMap.get(determination.getID());
- DtmIncrement actionIncrement = extractor.extractorIncrement(oldDetermination, determination, rule, def);
+ DtmIncrement actionIncrement = extractor.extractorIncrement(oldDetermination, determination, rule);
if (actionIncrement == null) {
continue;
}
@@ -85,24 +86,28 @@ public class ModifyBizObjectExtractor extends ModifyCommonObjectExtractor {
private void extractValidations(BizObjectIncrement increment,
GspBizEntityObject oldObj, GspBizEntityObject newObj,
- CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
- extractValidations(increment.getValAfterSave(), oldObj.getValAfterSave(), newObj.getValAfterSave(), rule, def);
- extractValidations(increment.getValAfterModify(), oldObj.getValAfterModify(), newObj.getValAfterModify(), rule, def);
- extractValidations(increment.getValBeforeSave(), oldObj.getValBeforeSave(), newObj.getValBeforeSave(), rule, def);
+ CommonObjectRule rule) {
+ extractValidations(increment.getValAfterSave(), oldObj.getValAfterSave(), newObj.getValAfterSave(), rule);
+ extractValidations(increment.getValAfterModify(), oldObj.getValAfterModify(), newObj.getValAfterModify(), rule);
+ extractValidations(increment.getValBeforeSave(), oldObj.getValBeforeSave(), newObj.getValBeforeSave(), rule);
}
private void extractValidations(Map valIncrement,
CommonValCollection oldValCollection, CommonValCollection newValCollection,
- CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
+ CommonObjectRule rule) {
+ // 仅遍历 new 集合按 ID 与 old 比对,故仅支持自定义 Val 的新增与修改,
+ // 不支持删除(old 有 new 无者忽略)。
if (CollectionUtils.isEmpty(newValCollection)) {
return;
}
- Map oldValMap = oldValCollection.stream()
- .collect(Collectors.toMap(CommonOperation::getID, val -> val));
+ Map oldValMap = CollectionUtils.isEmpty(oldValCollection)
+ ? new HashMap<>()
+ : oldValCollection.stream()
+ .collect(Collectors.toMap(CommonOperation::getID, val -> val));
ValIncrementExtractor extractor = new ValIncrementExtractor();
for (CommonValidation validation : newValCollection) {
CommonValidation oldValidation = oldValMap.get(validation.getID());
- ValIncrement actionIncrement = extractor.extractorIncrement(oldValidation, validation, rule, def);
+ ValIncrement actionIncrement = extractor.extractorIncrement(oldValidation, validation, rule);
if (actionIncrement == null) {
continue;
}
@@ -110,7 +115,4 @@ public class ModifyBizObjectExtractor extends ModifyCommonObjectExtractor {
}
}
- protected ModifyEntityIncrement createModifyEntityIncrement() {
- return new BizObjectIncrement();
- }
}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/BizObjectIncrementExtractor.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/BizObjectIncrementExtractor.java
deleted file mode 100644
index 4f29b545664e6f46c4d696b4951fb78c2d8a2501..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/BizObjectIncrementExtractor.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.inspur.edp.bef.bizentity.increment.extract;
-
-import com.inspur.edp.das.commonmodel.entity.object.increment.extract.CommonObjectIncrementExtractor;
-import com.inspur.edp.das.commonmodel.entity.object.increment.extract.ModifyCommonObjectExtractor;
-
-public class BizObjectIncrementExtractor extends CommonObjectIncrementExtractor {
-
- public BizObjectIncrementExtractor() {
- super();
- }
-
- public BizObjectIncrementExtractor(boolean includeAll) {
- super(includeAll);
- }
-
-
- protected ModifyCommonObjectExtractor getModifyCommonObjectExtractor() {
- return new ModifyBizObjectExtractor(this.includeAll);
- }
-
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/action/AddedMgrActionExtractor.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/action/AddedMgrActionExtractor.java
deleted file mode 100644
index 8f79068bd84ef5704fa1ab52d8d248515c7634d0..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/action/AddedMgrActionExtractor.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.inspur.edp.bef.bizentity.increment.extract.action;
-
-import com.inspur.edp.bef.bizentity.increment.entity.action.AddedMgrActionIncrement;
-import com.inspur.edp.bef.bizentity.operation.BizMgrAction;
-
-public class AddedMgrActionExtractor {
-
- public AddedMgrActionIncrement extract(BizMgrAction voAction) {
- AddedMgrActionIncrement addedEntityIncrement = this.createIncrement();
- addedEntityIncrement.setAction(voAction);
- return addedEntityIncrement;
- }
-
- protected AddedMgrActionIncrement createIncrement() {
- return new AddedMgrActionIncrement();
- }
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/action/MgrActionIncrementExtractor.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/action/MgrActionIncrementExtractor.java
index 3364f76f82998d7889aaff46096dfa71beb43c0a..15770d878aaaa5a1e69b9da801d3d483f0b8a7d9 100644
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/action/MgrActionIncrementExtractor.java
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/action/MgrActionIncrementExtractor.java
@@ -1,33 +1,41 @@
package com.inspur.edp.bef.bizentity.increment.extract.action;
+import com.inspur.edp.bef.bizentity.controlrule.rule.BeModelRule;
+import com.inspur.edp.bef.bizentity.increment.entity.action.AddedMgrActionIncrement;
import com.inspur.edp.bef.bizentity.increment.entity.action.MgrActionIncrement;
import com.inspur.edp.bef.bizentity.increment.entity.action.ModifyMgrActionIncrement;
import com.inspur.edp.bef.bizentity.operation.BizMgrAction;
-import com.inspur.edp.cef.designtime.api.increment.extractor.AbstractIncrementExtractor;
-import com.inspur.edp.das.commonmodel.controlrule.CmControlRule;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmControlRuleDef;
+import com.inspur.edp.cef.designtime.api.increment.extractor.ExtractUtils;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonModelRule;
-public class MgrActionIncrementExtractor extends AbstractIncrementExtractor {
+public class MgrActionIncrementExtractor {
- public MgrActionIncrement extractorIncrement(BizMgrAction oldAction, BizMgrAction newAction, CmControlRule rule, CmControlRuleDef def) {
+ public MgrActionIncrement extractorIncrement(BizMgrAction oldAction, BizMgrAction newAction, CommonModelRule rule) {
if (oldAction == null && newAction == null) {
return null;
} else if (oldAction == null) {
- return this.getAddedActionExtractor().extract(newAction);
+ // 检查规则是否支持新增自定义方法
+ BeModelRule beControlRule = (BeModelRule) rule;
+ if (ExtractUtils.isAllow(beControlRule.getAddCustomActionRule())) {
+ AddedMgrActionIncrement addedEntityIncrement = new AddedMgrActionIncrement();
+ addedEntityIncrement.setAction(newAction);
+ return addedEntityIncrement;
+ }
+ return null;
} else if (newAction == null) {
return null;
-// return (CommonEntityIncrement)(oldHelpConfig != null && newAction == null ? this.getDeletedEntityExtractor().extract(oldHelpConfig) : this.getModifyEntityExtractor().extract(oldHelpConfig, newAction, rule, def));
} else {
- ModifyMgrActionIncrement increment = new ModifyMgrActionIncrement();
- increment.setActionId(newAction.getID());
- increment.setAction(newAction);
- return increment;
+ // 检查规则是否支持新增自定义方法
+ BeModelRule beControlRule = (BeModelRule) rule;
+ if (ExtractUtils.isAllow(beControlRule.getModifyCustomActionRule())) {
+ ModifyMgrActionIncrement increment = new ModifyMgrActionIncrement();
+ increment.setActionId(newAction.getID());
+ increment.setAction(newAction);
+ return increment;
+ }
+ return null;
}
}
- protected AddedMgrActionExtractor getAddedActionExtractor() {
- return new AddedMgrActionExtractor();
- }
-
}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/determination/AddedDtmExtractor.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/determination/AddedDtmExtractor.java
deleted file mode 100644
index a1f8c01baec062abb7522bf8a1cdae8481f4edca..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/determination/AddedDtmExtractor.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.inspur.edp.bef.bizentity.increment.extract.determination;
-
-import com.inspur.edp.bef.bizentity.increment.entity.determination.AddedDtmIncrement;
-import com.inspur.edp.cef.designtime.api.operation.CommonDetermination;
-
-public class AddedDtmExtractor {
-
- public AddedDtmIncrement extract(CommonDetermination determination) {
- AddedDtmIncrement addedEntityIncrement = this.createIncrement();
- addedEntityIncrement.setDetermination(determination);
- return addedEntityIncrement;
- }
-
- protected AddedDtmIncrement createIncrement() {
- return new AddedDtmIncrement();
- }
-}
-
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/determination/DtmIncrementExtractor.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/determination/DtmIncrementExtractor.java
index e047b10bd1b1d14a6eb8fe6464de9b48e795f270..509121629116681141a0e56e43c070ce4d8542c8 100644
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/determination/DtmIncrementExtractor.java
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/determination/DtmIncrementExtractor.java
@@ -1,20 +1,27 @@
package com.inspur.edp.bef.bizentity.increment.extract.determination;
+import com.inspur.edp.bef.bizentity.controlrule.rule.BeObjectRule;
+import com.inspur.edp.bef.bizentity.increment.entity.determination.AddedDtmIncrement;
import com.inspur.edp.bef.bizentity.increment.entity.determination.DtmIncrement;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonDataTypeControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeControlRuleDef;
-import com.inspur.edp.cef.designtime.api.increment.extractor.AbstractIncrementExtractor;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonObjectRule;
+import com.inspur.edp.cef.designtime.api.increment.extractor.ExtractUtils;
import com.inspur.edp.cef.designtime.api.operation.CommonDetermination;
-public class DtmIncrementExtractor extends AbstractIncrementExtractor {
+public class DtmIncrementExtractor {
public DtmIncrement extractorIncrement(CommonDetermination oldDetermination, CommonDetermination newDetermination,
- CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
+ CommonObjectRule rule) {
if (oldDetermination == null && newDetermination == null) {
return null;
} else if (oldDetermination == null) {
- return new AddedDtmExtractor().extract(newDetermination);
+ BeObjectRule beControlRule = (BeObjectRule) rule;
+ if (ExtractUtils.isAllow(beControlRule.getAddDeterminationRule())) {
+ AddedDtmIncrement addedEntityIncrement = new AddedDtmIncrement();
+ addedEntityIncrement.setDetermination(newDetermination);
+ return addedEntityIncrement;
+ }
+ return null;
} else if (newDetermination == null) {
return null;
} else {
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/validation/AddedValExtractor.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/validation/AddedValExtractor.java
deleted file mode 100644
index d2588568f9097d96bc68c66e1850de4a5b656012..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/validation/AddedValExtractor.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.inspur.edp.bef.bizentity.increment.extract.validation;
-
-import com.inspur.edp.bef.bizentity.increment.entity.validation.AddedValIncrement;
-import com.inspur.edp.cef.designtime.api.operation.CommonValidation;
-
-public class AddedValExtractor {
-
- public AddedValIncrement extract(CommonValidation validation) {
- AddedValIncrement addedEntityIncrement = this.createIncrement();
- addedEntityIncrement.setValidation(validation);
- return addedEntityIncrement;
- }
-
- protected AddedValIncrement createIncrement() {
- return new AddedValIncrement();
- }
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/validation/ValIncrementExtractor.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/validation/ValIncrementExtractor.java
index 66dc8b7a10ad716aec21ff9b059892ebcb4cda58..d391ab20ae4e1cf71daf4897d5db3906a66f514d 100644
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/validation/ValIncrementExtractor.java
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/extract/validation/ValIncrementExtractor.java
@@ -1,25 +1,32 @@
package com.inspur.edp.bef.bizentity.increment.extract.validation;
+import com.inspur.edp.bef.bizentity.controlrule.rule.BeObjectRule;
+import com.inspur.edp.bef.bizentity.increment.entity.validation.AddedValIncrement;
import com.inspur.edp.bef.bizentity.increment.entity.validation.ValIncrement;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonDataTypeControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeControlRuleDef;
-import com.inspur.edp.cef.designtime.api.increment.extractor.AbstractIncrementExtractor;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonObjectRule;
+import com.inspur.edp.cef.designtime.api.increment.extractor.ExtractUtils;
import com.inspur.edp.cef.designtime.api.operation.CommonValidation;
-public class ValIncrementExtractor extends AbstractIncrementExtractor {
+public class ValIncrementExtractor {
public ValIncrement extractorIncrement(CommonValidation oldValidation, CommonValidation newValidation,
- CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
+ CommonObjectRule rule) {
if (oldValidation == null && newValidation == null) {
return null;
} else if (oldValidation == null) {
- return new AddedValExtractor().extract(newValidation);
+ BeObjectRule beObjControlRule = (BeObjectRule) rule;
+ if (ExtractUtils.isAllow(beObjControlRule.getAddValidationRule())) {
+ AddedValIncrement addedEntityIncrement = new AddedValIncrement();
+ addedEntityIncrement.setValidation(newValidation);
+ return addedEntityIncrement;
+ }
+ return null;
} else if (newValidation == null) {
- //TODO 删除
+ // 设计取舍:当前仅支持校验新增,不支持删除
return null;
} else {
- //TODO 修改
+ // 设计取舍:当前仅支持校验新增,不支持修改
return null;
}
}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/merger/BeModelMerger.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/merger/BeModelMerger.java
new file mode 100644
index 0000000000000000000000000000000000000000..248c6d9b075df3f1c18aa355576ff2407700842c
--- /dev/null
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/merger/BeModelMerger.java
@@ -0,0 +1,84 @@
+package com.inspur.edp.bef.bizentity.increment.merger;
+
+import com.inspur.edp.bef.bizentity.GspBusinessEntity;
+import com.inspur.edp.bef.bizentity.controlrule.rule.BeModelRule;
+import com.inspur.edp.bef.bizentity.increment.BizEntityIncrement;
+import com.inspur.edp.bef.bizentity.increment.entity.action.AddedMgrActionIncrement;
+import com.inspur.edp.bef.bizentity.increment.entity.action.MgrActionIncrement;
+import com.inspur.edp.bef.bizentity.increment.entity.action.ModifyMgrActionIncrement;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonModelRule;
+import com.inspur.edp.cef.designtime.api.increment.merger.MergeUtils;
+import com.inspur.edp.das.commonmodel.entity.GspCommonModel;
+import com.inspur.edp.das.commonmodel.entity.increment.CommonModelIncrement;
+import com.inspur.edp.das.commonmodel.entity.increment.merger.CommonModelMerger;
+import com.inspur.edp.das.commonmodel.entity.object.increment.merger.CommonObjectIncrementMerger;
+import lombok.var;
+
+import java.util.HashMap;
+
+public class BeModelMerger extends CommonModelMerger {
+
+
+ public BeModelMerger() {
+ }
+
+ @Override
+ protected void mergeExtendInfo(GspCommonModel extendModel, CommonModelIncrement extendIncrement, CommonModelIncrement baseIncrement, CommonModelRule rule) {
+
+ mergeAction((GspBusinessEntity) extendModel, (BizEntityIncrement) extendIncrement, (BizEntityIncrement) baseIncrement, rule);
+ }
+
+ //region merge actions
+ private void mergeAction(GspBusinessEntity extendModel, BizEntityIncrement extendIncrement, BizEntityIncrement baseIncrement, CommonModelRule rule) {
+ var extendActions = extendIncrement.getActions();
+ var baseActions = baseIncrement.getActions();
+ if (extendActions.isEmpty() && baseActions.isEmpty()) {
+ return;
+ }
+
+ for (var actionPair : baseActions.entrySet()) {
+ MgrActionIncrement actionIncrement = actionPair.getValue();
+ switch (actionIncrement.getIncrementType()) {
+ case Added:
+ mergeAddedAction(extendModel, (AddedMgrActionIncrement) actionIncrement, extendActions, rule);
+ break;
+ case Deleted:
+ // 无 delete 规则 → 拦截,不删除
+ break;
+ case Modify:
+ dealModifyAction(extendModel, (ModifyMgrActionIncrement) actionIncrement, extendActions, rule);
+ }
+
+ }
+ }
+
+
+ private void mergeAddedAction(
+ GspBusinessEntity extendModel,
+ AddedMgrActionIncrement actionIncrement,
+ HashMap extendHelpConfigs,
+ CommonModelRule rule) {
+
+ if (MergeUtils.isAllow(((BeModelRule) rule).getAddCustomActionRule())) {
+ extendModel.getBizMgrActions().add(actionIncrement.getAction());
+ }
+ }
+
+ private void dealModifyAction(
+ GspBusinessEntity extendModel,
+ ModifyMgrActionIncrement baseActionIncrement,
+ HashMap extendIncrement,
+ CommonModelRule rule) {
+ if (MergeUtils.isAllow(((BeModelRule) rule).getModifyCustomActionRule())) {
+ extendModel.getBizMgrActions().removeById(baseActionIncrement.getActionId());
+ extendModel.getBizMgrActions().add(baseActionIncrement.getAction());
+ }
+ }
+ //endregion
+
+ @Override
+ protected CommonObjectIncrementMerger getCommonObjectIncrementMerger() {
+ return new BeObjectIncrementMerger();
+ }
+
+}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/merger/BizObjectIncrementMerger.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/merger/BeObjectIncrementMerger.java
similarity index 70%
rename from business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/merger/BizObjectIncrementMerger.java
rename to business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/merger/BeObjectIncrementMerger.java
index fcc1374c265ca7d8561c71480a7461967a70b523..6dedb190f81a78abb6c2f5a90f241fb15633ef97 100644
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/merger/BizObjectIncrementMerger.java
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/merger/BeObjectIncrementMerger.java
@@ -1,61 +1,57 @@
package com.inspur.edp.bef.bizentity.increment.merger;
import com.inspur.edp.bef.bizentity.GspBizEntityObject;
+import com.inspur.edp.bef.bizentity.controlrule.rule.BeObjectRule;
import com.inspur.edp.bef.bizentity.increment.BizObjectIncrement;
import com.inspur.edp.bef.bizentity.increment.entity.determination.AddedDtmIncrement;
import com.inspur.edp.bef.bizentity.increment.entity.determination.DtmIncrement;
import com.inspur.edp.bef.bizentity.increment.entity.validation.AddedValIncrement;
import com.inspur.edp.bef.bizentity.increment.entity.validation.ValIncrement;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonDataTypeControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeControlRuleDef;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonObjectRule;
import com.inspur.edp.cef.designtime.api.collection.CommonDtmCollection;
import com.inspur.edp.cef.designtime.api.collection.CommonValCollection;
import com.inspur.edp.cef.designtime.api.entity.increment.ModifyEntityIncrement;
+import com.inspur.edp.cef.designtime.api.increment.merger.MergeUtils;
import com.inspur.edp.das.commonmodel.entity.GspCommonObject;
import com.inspur.edp.das.commonmodel.entity.object.increment.merger.CommonObjectIncrementMerger;
import io.iec.edp.caf.commons.utils.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
import java.util.Map;
-public class BizObjectIncrementMerger extends CommonObjectIncrementMerger {
+public class BeObjectIncrementMerger extends CommonObjectIncrementMerger {
- public BizObjectIncrementMerger() {
- }
-
- public BizObjectIncrementMerger(boolean includeAll) {
- super(includeAll);
+ public BeObjectIncrementMerger() {
}
protected CommonObjectIncrementMerger getChildObjectMerger() {
- return new BizObjectIncrementMerger(this.includeAll);
+ return new BeObjectIncrementMerger();
}
@Override
- protected void mergeExtendObjectInfo(GspCommonObject extendObj, ModifyEntityIncrement extendIncrement, ModifyEntityIncrement baseIncrement, CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
- mergeDetermination((GspBizEntityObject) extendObj, (BizObjectIncrement) baseIncrement, rule, def);
- mergeValidation((GspBizEntityObject) extendObj, (BizObjectIncrement) baseIncrement, rule, def);
+ protected void mergeExtendObjectInfo(GspCommonObject extendObj, ModifyEntityIncrement extendIncrement, ModifyEntityIncrement baseIncrement, CommonObjectRule rule) {
+ mergeDetermination((GspBizEntityObject) extendObj, (BizObjectIncrement) baseIncrement, rule);
+ mergeValidation((GspBizEntityObject) extendObj, (BizObjectIncrement) baseIncrement, rule);
}
//region mergeDetermination
private void mergeDetermination(GspBizEntityObject extendObj,
BizObjectIncrement baseIncrement,
- CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
- mergeDetermination(extendObj.getDtmBeforeQuery(), baseIncrement.getDtmBeforeQuery(), rule, def);
- mergeDetermination(extendObj.getDtmAfterQuery(), baseIncrement.getDtmAfterQuery(), rule, def);
- mergeDetermination(extendObj.getDtmBeforeRetrieve(), baseIncrement.getDtmBeforeRetrieve(), rule, def);
- mergeDetermination(extendObj.getDtmAfterLoading(), baseIncrement.getDtmAfterLoading(), rule, def);
- mergeDetermination(extendObj.getDtmAfterModify(), baseIncrement.getDtmAfterModify(), rule, def);
- mergeDetermination(extendObj.getDtmBeforeSave(), baseIncrement.getDtmBeforeSave(), rule, def);
- mergeDetermination(extendObj.getDtmAfterSave(), baseIncrement.getDtmAfterSave(), rule, def);
- mergeDetermination(extendObj.getDtmAfterCreate(), baseIncrement.getDtmAfterCreate(), rule, def);
- mergeDetermination(extendObj.getDtmCancel(), baseIncrement.getDtmCancel(), rule, def);
+ CommonObjectRule rule) {
+ mergeDetermination(extendObj.getDtmBeforeQuery(), baseIncrement.getDtmBeforeQuery(), rule);
+ mergeDetermination(extendObj.getDtmAfterQuery(), baseIncrement.getDtmAfterQuery(), rule);
+ mergeDetermination(extendObj.getDtmBeforeRetrieve(), baseIncrement.getDtmBeforeRetrieve(), rule);
+ mergeDetermination(extendObj.getDtmAfterLoading(), baseIncrement.getDtmAfterLoading(), rule);
+ mergeDetermination(extendObj.getDtmAfterModify(), baseIncrement.getDtmAfterModify(), rule);
+ mergeDetermination(extendObj.getDtmBeforeSave(), baseIncrement.getDtmBeforeSave(), rule);
+ mergeDetermination(extendObj.getDtmAfterSave(), baseIncrement.getDtmAfterSave(), rule);
+ mergeDetermination(extendObj.getDtmAfterCreate(), baseIncrement.getDtmAfterCreate(), rule);
+ mergeDetermination(extendObj.getDtmCancel(), baseIncrement.getDtmCancel(), rule);
}
private void mergeDetermination(CommonDtmCollection determinations, Map dtmIncrementMap,
- CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
+ CommonObjectRule rule) {
if (CollectionUtils.isEmpty(dtmIncrementMap)) {
return;
}
@@ -64,15 +60,15 @@ public class BizObjectIncrementMerger extends CommonObjectIncrementMerger {
DtmIncrement actionIncrement = entry.getValue();
switch (actionIncrement.getIncrementType()) {
case Added:
- if (actionIncrement instanceof AddedDtmIncrement) {
+ if (actionIncrement instanceof AddedDtmIncrement
+ && MergeUtils.isAllow(((BeObjectRule) rule).getAddDeterminationRule())) {
determinations.add(((AddedDtmIncrement) actionIncrement).getDetermination());
}
break;
case Deleted:
- // FIXME
- determinations.removeIf(determination -> StringUtils.equals(determination.getID(), actionIncrement.getDeterminationId()));
- break;
+ // 无 delete 规则 → 拦截,不删除
case Modify:
+ // 无 modify 规则 → 拦截,不处理
break;
}
}
@@ -82,14 +78,14 @@ public class BizObjectIncrementMerger extends CommonObjectIncrementMerger {
//region mergeDetermination
private void mergeValidation(GspBizEntityObject extendObj, BizObjectIncrement baseIncrement,
- CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
- mergeValidation(extendObj.getValAfterSave(), baseIncrement.getValAfterSave(), rule, def);
- mergeValidation(extendObj.getValAfterModify(), baseIncrement.getValAfterModify(), rule, def);
- mergeValidation(extendObj.getValBeforeSave(), baseIncrement.getValBeforeSave(), rule, def);
+ CommonObjectRule rule) {
+ mergeValidation(extendObj.getValAfterSave(), baseIncrement.getValAfterSave(), rule);
+ mergeValidation(extendObj.getValAfterModify(), baseIncrement.getValAfterModify(), rule);
+ mergeValidation(extendObj.getValBeforeSave(), baseIncrement.getValBeforeSave(), rule);
}
private void mergeValidation(CommonValCollection validations, Map valIncrementMap,
- CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
+ CommonObjectRule rule) {
if (CollectionUtils.isEmpty(valIncrementMap)) {
return;
}
@@ -97,12 +93,14 @@ public class BizObjectIncrementMerger extends CommonObjectIncrementMerger {
ValIncrement actionIncrement = entry.getValue();
switch (actionIncrement.getIncrementType()) {
case Added:
- if (actionIncrement instanceof AddedValIncrement) {
+ if (actionIncrement instanceof AddedValIncrement
+ && MergeUtils.isAllow(((BeObjectRule) rule).getAddValidationRule())) {
validations.add(((AddedValIncrement) actionIncrement).getValidation());
}
break;
case Deleted:
case Modify:
+ // 无 delete/modify 规则 → 拦截
break;
}
}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/merger/BizEntityMerger.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/merger/BizEntityMerger.java
deleted file mode 100644
index 45b32eafe9e5962b911adf208a95793a1cabf3c8..0000000000000000000000000000000000000000
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/increment/merger/BizEntityMerger.java
+++ /dev/null
@@ -1,159 +0,0 @@
-package com.inspur.edp.bef.bizentity.increment.merger;
-
-import com.inspur.edp.bef.bizentity.GspBusinessEntity;
-import com.inspur.edp.bef.bizentity.beenum.BECategory;
-import com.inspur.edp.bef.bizentity.common.BizEntityJsonConst;
-import com.inspur.edp.bef.bizentity.increment.BizEntityIncrement;
-import com.inspur.edp.bef.bizentity.increment.entity.action.AddedMgrActionIncrement;
-import com.inspur.edp.bef.bizentity.increment.entity.action.MgrActionIncrement;
-import com.inspur.edp.bef.bizentity.increment.entity.action.ModifyMgrActionIncrement;
-import com.inspur.edp.cef.designtime.api.increment.merger.MergeUtils;
-import com.inspur.edp.cef.designtime.api.increment.property.BooleanPropertyIncrement;
-import com.inspur.edp.cef.designtime.api.increment.property.ObjectPropertyIncrement;
-import com.inspur.edp.cef.designtime.api.increment.property.PropertyIncrement;
-import com.inspur.edp.cef.designtime.api.increment.property.StringPropertyIncrement;
-import com.inspur.edp.das.commonmodel.controlrule.CmControlRule;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmControlRuleDef;
-import com.inspur.edp.das.commonmodel.entity.GspCommonModel;
-import com.inspur.edp.das.commonmodel.entity.increment.CommonModelIncrement;
-import com.inspur.edp.das.commonmodel.entity.increment.merger.CommonModelMerger;
-import com.inspur.edp.das.commonmodel.entity.object.increment.merger.CommonObjectIncrementMerger;
-import lombok.var;
-
-import java.util.HashMap;
-
-public class BizEntityMerger extends CommonModelMerger {
-
- public BizEntityMerger() {
- super();
- }
-
- public BizEntityMerger(boolean includeAll) {
- super(includeAll);
- }
-
- @Override
- protected void mergeExtendInfo(GspCommonModel extendModel, CommonModelIncrement extendIncrement, CommonModelIncrement baseIncrement, CmControlRule rule, CmControlRuleDef def) {
-
- mergeAction((GspBusinessEntity) extendModel, (BizEntityIncrement) extendIncrement, (BizEntityIncrement) baseIncrement, rule, def);
- }
-
- @Override
- protected void dealExtendChangeProp(GspCommonModel extendModel, HashMap extendIncrement, String key, PropertyIncrement increment) {
-
- GspBusinessEntity be = (GspBusinessEntity) extendModel;
- switch (key) {
- case BizEntityJsonConst.DependentEntityId:
- String mergeDbeId = MergeUtils.getStringValue(BizEntityJsonConst.DependentEntityId, (StringPropertyIncrement) increment, extendIncrement, null, null);
- be.setDependentEntityId(mergeDbeId);
- return;
- case BizEntityJsonConst.DependentEntityName:
- String mergedDbeName = MergeUtils.getStringValue(BizEntityJsonConst.DependentEntityName, (StringPropertyIncrement) increment, extendIncrement, null, null);
- be.setDependentEntityName(mergedDbeName);
- return;
- case BizEntityJsonConst.DependentEntityPackageName:
- String mergedDbePckName = MergeUtils.getStringValue(BizEntityJsonConst.DependentEntityPackageName, (StringPropertyIncrement) increment, extendIncrement, null, null);
- be.setDependentEntityPackageName(mergedDbePckName);
- return;
- case BizEntityJsonConst.CacheConfiguration:
- String mergedCache = MergeUtils.getStringValue(BizEntityJsonConst.CacheConfiguration, (StringPropertyIncrement) increment, extendIncrement, null, null);
- be.setCacheConfiguration(mergedCache);
- return;
- case BizEntityJsonConst.EnableCaching:
- boolean mergedUseCache = MergeUtils.getBooleanValue(BizEntityJsonConst.EnableCaching, (BooleanPropertyIncrement) increment, extendIncrement, null, null);
- be.setEnableCaching(mergedUseCache);
- return;
- case BizEntityJsonConst.EnableTreeDtm:
- boolean mergedTreeDtm = MergeUtils.getBooleanValue(BizEntityJsonConst.EnableTreeDtm, (BooleanPropertyIncrement) increment, extendIncrement, null, null);
- be.setEnableTreeDtm(mergedTreeDtm);
- return;
- case BizEntityJsonConst.ComponentAssemblyName:
- String mergedCompName = MergeUtils.getStringValue(BizEntityJsonConst.ComponentAssemblyName, (StringPropertyIncrement) increment, extendIncrement, null, null);
- be.setComponentAssemblyName(mergedCompName);
- return;
- case BizEntityJsonConst.IsUsingTimeStamp:
- boolean mergedTimeStamp = MergeUtils.getBooleanValue(BizEntityJsonConst.IsUsingTimeStamp, (BooleanPropertyIncrement) increment, extendIncrement, null, null);
- be.setIsUsingTimeStamp(mergedTimeStamp);
- return;
- case BizEntityJsonConst.Category:
- BECategory mergedCategory = MergeUtils.getObjectValue(BizEntityJsonConst.Category, (ObjectPropertyIncrement) increment, extendIncrement, null, null);
- be.setCategory(mergedCategory);
- return;
- case BizEntityJsonConst.ExtendType:
- String mergedExtendType = MergeUtils.getStringValue(BizEntityJsonConst.ExtendType, (StringPropertyIncrement) increment, extendIncrement, null, null);
- be.setExtendType(mergedExtendType);
- return;
- case BizEntityJsonConst.EnableApproval:
- boolean mergedEnableApproval = MergeUtils.getBooleanValue(BizEntityJsonConst.EnableApproval, (BooleanPropertyIncrement) increment, extendIncrement, null, null);
- be.setEnableApproval(mergedEnableApproval);
- return;
- case BizEntityJsonConst.TccSupported:
- boolean isTccSupported = MergeUtils.getBooleanValue(BizEntityJsonConst.TccSupported, (BooleanPropertyIncrement) increment, extendIncrement, null, null);
- be.setTccSupported(isTccSupported);
- return;
- case BizEntityJsonConst.AutoTccLock:
- boolean isAutoTccLock = MergeUtils.getBooleanValue(BizEntityJsonConst.AutoTccLock, (BooleanPropertyIncrement) increment, extendIncrement, null, null);
- be.setAutoTccLock(isAutoTccLock);
- return;
- case BizEntityJsonConst.AutoComplete:
- boolean isAutoComplete = MergeUtils.getBooleanValue(BizEntityJsonConst.AutoComplete, (BooleanPropertyIncrement) increment, extendIncrement, null, null);
- be.setAutoComplete(isAutoComplete);
- return;
- case BizEntityJsonConst.AutoCancel:
- boolean isAutoCancel = MergeUtils.getBooleanValue(BizEntityJsonConst.AutoCancel, (BooleanPropertyIncrement) increment, extendIncrement, null, null);
- be.setAutoCancel(isAutoCancel);
- return;
- }
- }
-
- //region merge actions
- private void mergeAction(GspBusinessEntity extendModel, BizEntityIncrement extendIncrement, BizEntityIncrement baseIncrement, CmControlRule rule, CmControlRuleDef def) {
- var extendActions = extendIncrement.getActions();
- var baseActions = baseIncrement.getActions();
- if (extendActions.isEmpty() && baseActions.isEmpty())
- return;
-
- for (var actionPair : baseActions.entrySet()) {
- MgrActionIncrement actionIncrement = actionPair.getValue();
- switch (actionIncrement.getIncrementType()) {
- case Added:
- mergeAddedAction(extendModel, (AddedMgrActionIncrement) actionIncrement, extendActions, rule, def);
- break;
- case Deleted:
- extendModel.getBizMgrActions().removeById(actionIncrement.getActionId());
- break;
- case Modify:
- dealModifyAction(extendModel, (ModifyMgrActionIncrement) actionIncrement, extendActions, rule, def);
- }
-
- }
- }
-
-
- private void mergeAddedAction(
- GspBusinessEntity extendModel,
- AddedMgrActionIncrement actionIncrement,
- HashMap extendHelpConfigs,
- CmControlRule rule,
- CmControlRuleDef def) {
-
- extendModel.getBizMgrActions().add(actionIncrement.getAction());
- }
-
- private void dealModifyAction(
- GspBusinessEntity extendModel,
- ModifyMgrActionIncrement baseActionIncrement,
- HashMap extendIncrement,
- CmControlRule rule,
- CmControlRuleDef def) {
- extendModel.getBizMgrActions().removeById(baseActionIncrement.getActionId());
- extendModel.getBizMgrActions().add(baseActionIncrement.getAction());
- }
- //endregion
-
- @Override
- protected CommonObjectIncrementMerger getCommonObjectIncrementMerger() {
- return new BizObjectIncrementMerger(includeAll);
- }
-
-}
diff --git a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/pushchangesetargs/PushChangeSetArgs.java b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/pushchangesetargs/PushChangeSetArgs.java
index e152a3b7317278e77204aefaaaf83cbad428fde2..fce59aad5be94299c8e94c096992b60c6e864223 100644
--- a/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/pushchangesetargs/PushChangeSetArgs.java
+++ b/business-entity-model/src/main/java/com/inspur/edp/bef/bizentity/pushchangesetargs/PushChangeSetArgs.java
@@ -1,9 +1,6 @@
package com.inspur.edp.bef.bizentity.pushchangesetargs;
public class PushChangeSetArgs extends AbstractPushChangeSetArgs {
- public PushChangeSetArgs() {
- super();
- }
private PushChangeSet pushChangeSet;
diff --git a/business-entity-webapi/pom.xml b/business-entity-webapi/pom.xml
index 4a9760c58adc635d026aeb37020173114b551d75..2589261e192c07935b88bc7baec8c8f1c4fbfc97 100644
--- a/business-entity-webapi/pom.xml
+++ b/business-entity-webapi/pom.xml
@@ -21,7 +21,7 @@
com.inspur.edp
business-entity-model1
- 0.2.2-SNAPSHOT
+ 0.2.3-SNAPSHOT
business-entity-webapi
diff --git a/common-entity-manager/pom.xml b/common-entity-manager/pom.xml
index 948edfcd942f5e8cfe3b78a9f7b10f51041c24b1..edfaac54e9b131d678e6dc7840fc69ff16fd1c73 100644
--- a/common-entity-manager/pom.xml
+++ b/common-entity-manager/pom.xml
@@ -19,7 +19,7 @@
business-entity-model1
com.inspur.edp
- 0.2.2-SNAPSHOT
+ 0.2.3-SNAPSHOT
4.0.0
diff --git a/common-entity-model/pom.xml b/common-entity-model/pom.xml
index d11c6790493d400cc6a93a9affb20d38db8651f1..0980396a6bfb43c1aad34d18a0f0d3f798367c7d 100644
--- a/common-entity-model/pom.xml
+++ b/common-entity-model/pom.xml
@@ -20,7 +20,7 @@
business-entity-model1
com.inspur.edp
- 0.2.2-SNAPSHOT
+ 0.2.3-SNAPSHOT
4.0.0
common-entity-model
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/AbstractControlRule.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/AbstractControlRule.java
deleted file mode 100644
index 95c6d99fbbae56bdfa08dcb60a24870206212c7b..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/AbstractControlRule.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * The Abstract Definition Of ControlRule
- *
- * @ClassName: AbstractControlRule
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public abstract class AbstractControlRule {
- private String ruleDefId;
- private String ruleId;
- private final Map selfControlRules = new HashMap<>();
- private final Map> childRules = new HashMap<>();
-
- //region 规则定义Id
- public String getRuleDefId() {
- return ruleDefId;
- }
-
- public void setRuleDefId(String ruleDefId) {
- this.ruleDefId = ruleDefId;
- }
- //endregion
-
- //region 规则Id
- public String getRuleId() {
- return ruleId;
- }
-
- public void setRuleId(String ruleId) {
- this.ruleId = ruleId;
- }
- //endregion
-
- //region 规则项集合
- public Map getSelfControlRules() {
- return selfControlRules;
- }
-
- public ControlRuleItem getControlRule(String ruleName) {
- if (getSelfControlRules().containsKey(ruleName))
- return getSelfControlRules().get(ruleName);
- return null;
- }
-
- public void setControlRule(String ruleName, ControlRuleItem ruleItem) {
- getSelfControlRules().put(ruleName, ruleItem);
- }
- //endregion
-
- //region 子控制规则
- public Map> getChildRules() {
- return childRules;
- }
- //endregion
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/ControlRule.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/ControlRule.java
new file mode 100644
index 0000000000000000000000000000000000000000..86e45e9a7484222955e2c64ecd1f31d3b796fe22
--- /dev/null
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/ControlRule.java
@@ -0,0 +1,12 @@
+package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic;
+
+/**
+ * The Abstract Definition Of ControlRule
+ *
+ * @ClassName: ControlRule
+ * @Author: Benjamin Gong
+ * @Date: 2021/1/11 17:13
+ * @Version: V1.0
+ */
+public abstract class ControlRule {
+}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/ControlRuleItem.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/ControlRuleItem.java
index 1d2958a504362cc18d9d1d318a02bac57fad1fcd..05ceaf72f68d04b5cdfaa014ce0e4ceb5d4f7914 100644
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/ControlRuleItem.java
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/ControlRuleItem.java
@@ -1,9 +1,5 @@
package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.parser.ControlRuleItemParser;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.serializer.ControlRuleItemSerializer;
import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleValue;
/**
@@ -14,29 +10,27 @@ import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.
* @Date: 2021/1/11 17:13
* @Version: V1.0
*/
-@JsonSerialize(using = ControlRuleItemSerializer.class)
-@JsonDeserialize(using = ControlRuleItemParser.class)
public class ControlRuleItem {
- private String ruleName;
- private ControlRuleValue controlRuleValue = ControlRuleValue.Default;
+ public static final int ALLOW = 1;
+ public static final int FORBIDDEN = 2;
- //region 规则名称
- public String getRuleName() {
- return ruleName;
- }
+ private final int value;
- public void setRuleName(String ruleName) {
- this.ruleName = ruleName;
+ public ControlRuleItem(ControlRuleValue ruleValue) {
+ // TODO: DEFAULT 消解策略可扩展 — 当前默认禁止(FORBIDDEN),
+ // 未来可支持继承上级 Rule 或回退到内置默认策略
+ if (ruleValue == ControlRuleValue.Default) {
+ this.value = FORBIDDEN;
+ } else {
+ this.value = (ruleValue == ControlRuleValue.Allow) ? ALLOW : FORBIDDEN;
+ }
}
- //endregion
- //region 规则
- public ControlRuleValue getControlRuleValue() {
- return controlRuleValue;
+ public boolean isAllow() {
+ return value == ALLOW;
}
- public void setControlRuleValue(ControlRuleValue controlRuleValue) {
- this.controlRuleValue = controlRuleValue;
+ public static boolean isAllow(ControlRuleItem item) {
+ return item != null && item.isAllow();
}
- //endregion
}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/ControlRuleNames.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/ControlRuleNames.java
deleted file mode 100644
index b5ecd6d233d903a13e48f7d3514929726b9310d6..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/ControlRuleNames.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic;
-
-/**
- * The Property Names Of ControlRule
- *
- * @ClassName: ControlRuleNames
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class ControlRuleNames {
- public static final String RuleId = "RuleId";
- public static final String RuleDefId = "RuleDefId";
- public static final String SelfControlRules = "SelfControlRules";
- public static final String ChildControlRules = "ChildControlRules";
- public static final String RoleType = "RuleType";
- public static final String RoleValues = "RuleValues";
- public static final String RuleValue = "RuleValue";
- public static final String RuleName = "RuleName";
- public static final String RangeControlRules = "RangeControlRules";
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/RangeControlRule.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/RangeControlRule.java
deleted file mode 100644
index 25f61399e8d0d4af64dadcbc8fe135e2360bd1a2..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/RangeControlRule.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * The Definition Of RangeControlRule
- *
- * @ClassName: RangeControlRule
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class RangeControlRule extends AbstractControlRule {
-
- private final Map> rangeControlRules = new HashMap<>();
-
- public Map> getRangeControlRules() {
- return rangeControlRules;
- }
-
- public ControlRuleItem getRangeControlRuleItem(String ruleObjectType, String ruleName) {
- if (!getRangeControlRules().containsKey(ruleObjectType))
- return null;
- Map objectRules = getRangeControlRules().get(ruleObjectType);
- if (objectRules == null || !objectRules.containsKey(ruleName))
- return null;
- return objectRules.get(ruleName);
- }
-
- public void setRangeControlRules(String ruleObjectType, String ruleName, ControlRuleItem ruleItem) {
- if (!getRangeControlRules().containsKey(ruleObjectType)) {
- Map map = new HashMap<>();
- getRangeControlRules().put(ruleObjectType, map);
- }
- Map objectRules = getRangeControlRules().get(ruleObjectType);
- objectRules.put(ruleName, ruleItem);
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/convert/ControlRuleConvertor.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/convert/ControlRuleConvertor.java
index 66d4642de4feeb49b206dac8346e12de8c15db9d..a6ce52e9c4806d6b87f452434c234359c6034cf6 100644
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/convert/ControlRuleConvertor.java
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/convert/ControlRuleConvertor.java
@@ -1,53 +1,49 @@
package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.convert;
-import com.inspur.edp.cef.designtime.api.IGspCommonDataType;
-import com.inspur.edp.cef.designtime.api.IGspCommonField;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.AbstractControlRule;
import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonObjectRule;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonElementRule;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonModelRule;
import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefinition;
import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleValue;
-
-import java.util.Map;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonObjectRuleDef;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonElementRuleDef;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonModelRuleDef;
/**
- * The Convertor Of ControlRule
- *
- * @ClassName: ControlRuleConvertor
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
+ * The Convertor Of ControlRule — 显式字段赋值
*/
-public class ControlRuleConvertor {
+public abstract class ControlRuleConvertor {
- public static void convert2ControlRule(ControlRuleDefinition ruleDef, AbstractControlRule rule, IGspCommonDataType dataType) {
- convert2ControlRule(ruleDef, rule);
- rule.setRuleId(dataType.getID());
+ public void convertModelRule(CommonModelRuleDef def, CommonModelRule rule) {
+ rule.setNameRule(convert(def.getNameRuleDef()));
}
- public static void convert2ControlRule(ControlRuleDefinition ruleDef, AbstractControlRule rule, IGspCommonField field) {
- convert2ControlRule(ruleDef, rule);
- rule.setRuleId(field.getID());
+ public void convertObjectRule(CommonObjectRuleDef def, CommonObjectRule rule) {
+ rule.setNameRule(convert(def.getNameRuleDef()));
+ rule.setAddElementRule(convert(def.getAddElementRuleDef()));
+ rule.setDeleteElementRule(convert(def.getDeleteElementRuleDef()));
+ rule.setAddChildObjectRule(convert(def.getAddChildObjectRuleDef()));
+ rule.setDeleteChildObjectRule(convert(def.getDeleteChildObjectRuleDef()));
}
- public static void convert2ControlRule(ControlRuleDefinition ruleDef, AbstractControlRule rule) {
- rule.setRuleDefId(ruleDef.getRuleObjectType());
-
- Map defSelfRules = ruleDef.getSelfControlRules();
- if (defSelfRules == null || defSelfRules.isEmpty())
- return;
- for (Map.Entry defItem :
- defSelfRules.entrySet()) {
- ControlRuleItem item = convert2ControlRuleItem(defItem.getValue());
- rule.getSelfControlRules().put(defItem.getKey(), item);
- }
+ public void convertElementRule(CommonElementRuleDef def, CommonElementRule rule) {
+ rule.setNameRule(convert(def.getNameRuleDef()));
+ rule.setLengthRule(convert(def.getLengthRuleDef()));
+ rule.setPrecisionRule(convert(def.getPrecisionRuleDef()));
+ rule.setDefaultValueRule(convert(def.getDefaultValueRuleDef()));
+ rule.setRequiredRule(convert(def.getRequiredRuleDef()));
+ rule.setContainEnumValuesRule(convert(def.getContainEnumValuesRuleDef()));
+ rule.setIsPersistentRule(convert(def.getIsPersistentRuleDef()));
+ rule.setCustomizeRefRule(convert(def.getCustomizeRefRuleDef()));
+ rule.setEncryptionRule(convert(def.getEncryptionRuleDef()));
+ rule.setIsDefaultNullRule(convert(def.getIsDefaultNullRuleDef()));
}
- public static ControlRuleItem convert2ControlRuleItem(ControlRuleDefItem ruleDefItem) {
-
- ControlRuleItem ruleItem = new ControlRuleItem();
- ruleItem.setRuleName(ruleDefItem.getRuleName());
- ruleItem.setControlRuleValue(ControlRuleValue.Default);
- return ruleItem;
+ protected ControlRuleItem convert(ControlRuleDefItem ruleDefItem) {
+ if (ruleDefItem == null) {
+ return new ControlRuleItem(ControlRuleValue.Forbidden);
+ }
+ return new ControlRuleItem(ruleDefItem.getDefaultRuleValue());
}
}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/parser/AbstractControlRuleParser.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/parser/AbstractControlRuleParser.java
deleted file mode 100644
index fe58b03bd4dd2f4ea571ad1ebed9404a5ad4dea0..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/parser/AbstractControlRuleParser.java
+++ /dev/null
@@ -1,159 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.AbstractControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleNames;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityErrorCodeEnum;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityException;
-import com.inspur.edp.cef.designtime.api.json.SerializerUtils;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-import static com.fasterxml.jackson.core.JsonToken.END_ARRAY;
-import static com.fasterxml.jackson.core.JsonToken.FIELD_NAME;
-
-/**
- * The Abstract Json Parser Of ControlRule
- *
- * @ClassName: AbstractControlRuleParser
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public abstract class AbstractControlRuleParser extends JsonDeserializer {
- @Override
- public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
- T ruleDefinition = createControlRule();
- SerializerUtils.readStartObject(jsonParser);
- readSelfInfos(ruleDefinition, jsonParser, deserializationContext);
- SerializerUtils.readEndObject(jsonParser);
- return ruleDefinition;
- }
-
-
- private void readSelfInfos(T controlRule, JsonParser jsonParser, DeserializationContext deserializationContext) {
- while (jsonParser.getCurrentToken() == FIELD_NAME) {
- String propName = SerializerUtils.readPropertyName(jsonParser);
- switch (propName) {
- case ControlRuleNames.RuleId:
- controlRule.setRuleId(SerializerUtils.readPropertyValue_String(jsonParser));
- break;
- case ControlRuleNames.RuleDefId:
- controlRule.setRuleDefId(SerializerUtils.readPropertyValue_String(jsonParser));
- break;
- case ControlRuleNames.SelfControlRules:
- readSelfControlRules(controlRule, jsonParser, deserializationContext);
- break;
- case ControlRuleNames.ChildControlRules:
- readChildControlRules(controlRule, jsonParser, deserializationContext);
- break;
- default:
- if (!readExtendControlRuleProperty(controlRule, propName, jsonParser, deserializationContext)) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0006, "AbstractControlRuleParser", propName);
- }
- break;
- }
- }
- }
-
- private void readSelfControlRules(AbstractControlRule ruleDefinition, JsonParser jsonParser, DeserializationContext deserializationContext) {
- SerializerUtils.readStartArray(jsonParser);
- JsonToken tokenType = jsonParser.getCurrentToken();
- if (tokenType != END_ARRAY) {
- while (jsonParser.getCurrentToken() == tokenType) {
- try {
- jsonParser.nextToken();
- jsonParser.nextToken();
- jsonParser.nextToken();
- jsonParser.nextToken();
- ControlRuleItem item = SerializerUtils.readPropertyValue_Object(ControlRuleItem.class, jsonParser);
- ruleDefinition.getSelfControlRules().put(item.getRuleName(), item);
- jsonParser.nextToken();
- } catch (IOException e) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_JSON_0001, e, "ControlRuleItem");
- }
- }
- }
- SerializerUtils.readEndArray(jsonParser);
- }
-
- private void readChildControlRules(AbstractControlRule ruleDefinition, JsonParser jsonParser, DeserializationContext deserializationContext) {
- SerializerUtils.readStartArray(jsonParser);
-
- JsonToken tokenType = jsonParser.getCurrentToken();
- if (tokenType != END_ARRAY) {
- while (jsonParser.getCurrentToken() == tokenType) {
- try {
- jsonParser.nextToken();
- jsonParser.nextToken();
- String childType = jsonParser.getValueAsString();
- jsonParser.nextToken();
- jsonParser.nextToken();
- Map item = readChildControlRule(childType, jsonParser, deserializationContext);
- ruleDefinition.getChildRules().put(childType, item);
- jsonParser.nextToken();
- } catch (IOException e) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_JSON_0001, e, "ChildControlRules");
- }
- }
- }
- SerializerUtils.readEndArray(jsonParser);
- }
-
- private Map readChildControlRule(String childType, JsonParser jsonParser, DeserializationContext deserializationContext) {
- Map map = new HashMap<>();
- SerializerUtils.readStartArray(jsonParser);
- JsonToken tokenType = jsonParser.getCurrentToken();
- if (tokenType != END_ARRAY) {
- while (jsonParser.getCurrentToken() == tokenType) {
- try {
- jsonParser.nextToken();
- String key = jsonParser.getValueAsString();
- jsonParser.nextToken();
- JsonDeserializer deserializer = getChildDeserializer(childType);
- AbstractControlRule item = (AbstractControlRule) deserializer.deserialize(jsonParser, deserializationContext);
- map.put(key, item);
- jsonParser.nextToken();
- } catch (IOException e) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_JSON_0001, e, "AbstractControlRule");
- }
- }
- }
-// JsonToken tokentype = jsonParser.getCurrentToken();
-// if (tokentype != END_ARRAY) {
-// while (jsonParser.getCurrentToken() == FIELD_NAME) {
-// try {
-// String childName = SerializerUtils.readPropertyName(jsonParser);
-// AbstractControlRule item = SerializerUtils.readPropertyValue_Object(AbstractControlRule.class, jsonParser);
-// map.put(childName, item);
-// jsonParser.nextToken();
-// } catch (IOException e) {
-// throw new RuntimeException(e);
-// }
-// }
-// }
- SerializerUtils.readEndArray(jsonParser);
- return map;
- }
-
- protected Class getChildTypes(String childTypeName) {
- return AbstractControlRule.class;
- }
-
- protected boolean readExtendControlRuleProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- return false;
- }
-
- protected abstract T createControlRule();
-
- protected JsonDeserializer getChildDeserializer(String childTypeName) {
- return null;
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/parser/ControlRuleItemParser.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/parser/ControlRuleItemParser.java
deleted file mode 100644
index 0f8459adb98f557de6799fca5edf13b2f8a0f68b..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/parser/ControlRuleItemParser.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleNames;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleValue;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityErrorCodeEnum;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityException;
-import com.inspur.edp.cef.designtime.api.json.SerializerUtils;
-
-/**
- * The Json Parser Of ControlRuleItem
- *
- * @ClassName: ControlRuleItemParser
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class ControlRuleItemParser extends JsonDeserializer {
- @Override
- public ControlRuleItem deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) {
- SerializerUtils.readStartObject(jsonParser);
- ControlRuleItem item = new ControlRuleItem();
- while (jsonParser.getCurrentToken() == JsonToken.FIELD_NAME) {
- String propertyName = SerializerUtils.readPropertyName(jsonParser);
- switch (propertyName) {
- case ControlRuleNames.RuleName:
- item.setRuleName(SerializerUtils.readPropertyValue_String(jsonParser));
- break;
- case ControlRuleNames.RuleValue:
- item.setControlRuleValue(SerializerUtils.readPropertyValue_Enum(jsonParser, ControlRuleValue.class, ControlRuleValue.values()));
- break;
- default:
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0006, "ControlRuleItemParser", propertyName);
- }
- }
- SerializerUtils.readEndObject(jsonParser);
- return item;
- }
-}
\ No newline at end of file
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/parser/RangeRuleParser.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/parser/RangeRuleParser.java
deleted file mode 100644
index e2c4943da9d5b912b255718d2afa14881971837b..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/parser/RangeRuleParser.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleNames;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.RangeControlRule;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityErrorCodeEnum;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityException;
-import com.inspur.edp.cef.designtime.api.json.SerializerUtils;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-import static com.fasterxml.jackson.core.JsonToken.END_ARRAY;
-
-/**
- * The Json Parser Of RangeRule
- *
- * @ClassName: RangeRuleParser
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class RangeRuleParser extends AbstractControlRuleParser {
-
- @Override
- protected final boolean readExtendControlRuleProperty(T controlRule, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- if (super.readExtendControlRuleProperty(controlRule, propName, jsonParser, deserializationContext))
- return true;
- if (propName.equals(ControlRuleNames.RangeControlRules)) {
- SerializerUtils.readStartObject(jsonParser);
- innerReadRangeRules(controlRule, jsonParser, deserializationContext);
- SerializerUtils.readEndObject(jsonParser);
- return true;
- }
- return readRangeExtendControlRuleProperty(controlRule, propName, jsonParser, deserializationContext);
- }
-
- protected boolean readRangeExtendControlRuleProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- return false;
- }
-
- private void innerReadRangeRules(T ruleDefinition, JsonParser jsonParser, DeserializationContext deserializationContext) {
- while (jsonParser.getCurrentToken() == JsonToken.FIELD_NAME) {
- String properyName = SerializerUtils.readPropertyName(jsonParser);
- Map items = readRangeRuleItems(jsonParser, deserializationContext);
- ruleDefinition.getRangeControlRules().put(properyName, items);
- }
- }
-
- private Map readRangeRuleItems(JsonParser jsonParser, DeserializationContext deserializationContext) {
- Map map = new HashMap<>();
- SerializerUtils.readStartArray(jsonParser);
- JsonToken tokenType = jsonParser.getCurrentToken();
- if (tokenType != END_ARRAY) {
- while (jsonParser.getCurrentToken() == tokenType) {
- try {
- ControlRuleItem item = SerializerUtils.readPropertyValue_Object(ControlRuleItem.class, jsonParser);
- map.put(item.getRuleName(), item);
- jsonParser.nextToken();
- } catch (IOException e) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_JSON_0001, e, "RangeRuleItems");
- }
- }
- }
- SerializerUtils.readEndArray(jsonParser);
- return map;
- }
-
- @Override
- protected T createControlRule() {
- return (T) new RangeControlRule();
- }
-
- @Override
- protected JsonDeserializer getChildDeserializer(String childTypeName) {
- return null;
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/serializer/AbstractControlRuleSerializer.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/serializer/AbstractControlRuleSerializer.java
deleted file mode 100644
index 5f38f9fb6e2bf959e10116bc7ef300631c633083..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/serializer/AbstractControlRuleSerializer.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.JsonSerializer;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.AbstractControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleNames;
-import com.inspur.edp.cef.designtime.api.json.SerializerUtils;
-
-import java.io.IOException;
-import java.util.Map;
-
-/**
- * The Abstract Json Serializer Of ControlRule
- *
- * @ClassName: AbstractControlRuleSerializer
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class AbstractControlRuleSerializer extends JsonSerializer {
- @Override
- public void serialize(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
- SerializerUtils.writeStartObject(jsonGenerator);
- writeSelfInfos(controlRule, jsonGenerator, serializerProvider);
- writeExtendInfos(controlRule, jsonGenerator, serializerProvider);
- SerializerUtils.writeEndObject(jsonGenerator);
- }
-
- protected void writeExtendInfos(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- SerializerUtils.writePropertyValue(jsonGenerator, ControlRuleNames.RuleId, controlRule.getRuleId());
- SerializerUtils.writePropertyValue(jsonGenerator, ControlRuleNames.RuleDefId, controlRule.getRuleDefId());
- writeSelfControlRules(controlRule, jsonGenerator, serializerProvider);
- writeChildControlRules(controlRule, jsonGenerator, serializerProvider);
- }
-
-
- private void writeSelfControlRules(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- SerializerUtils.writePropertyName(jsonGenerator, ControlRuleNames.SelfControlRules);
- SerializerUtils.WriteStartArray(jsonGenerator);
- innerWriteSelfControlRules(controlRule, jsonGenerator, serializerProvider);
- SerializerUtils.WriteEndArray(jsonGenerator);
- }
-
- private void innerWriteSelfControlRules(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- if (controlRule.getSelfControlRules() == null || controlRule.getSelfControlRules().isEmpty())
- return;
- for (Map.Entry item : controlRule.getSelfControlRules().entrySet()) {
- SerializerUtils.writeStartObject(jsonGenerator);
- SerializerUtils.writePropertyValue(jsonGenerator, "key", item.getKey());
- SerializerUtils.writePropertyName(jsonGenerator, "value");
- SerializerUtils.writePropertyValue_Object(jsonGenerator, item.getValue());
- SerializerUtils.writeEndObject(jsonGenerator);
- }
- }
-
-
- private void writeChildControlRules(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- SerializerUtils.writePropertyName(jsonGenerator, ControlRuleNames.ChildControlRules);
- SerializerUtils.WriteStartArray(jsonGenerator);
- innerWriteChildControlRules(controlRule, jsonGenerator, serializerProvider);
- SerializerUtils.WriteEndArray(jsonGenerator);
- }
-
- private void innerWriteChildControlRules(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- if (controlRule.getChildRules() == null || controlRule.getChildRules().isEmpty())
- return;
- for (Map.Entry> item : controlRule.getChildRules().entrySet()) {
- SerializerUtils.writeStartObject(jsonGenerator);
- SerializerUtils.writePropertyValue(jsonGenerator, ControlRuleNames.RoleType, item.getKey());
- SerializerUtils.writePropertyName(jsonGenerator, ControlRuleNames.RoleValues);
- SerializerUtils.WriteStartArray(jsonGenerator);
- innerWriteChildControlRules(item, jsonGenerator, serializerProvider);
- SerializerUtils.WriteEndArray(jsonGenerator);
- SerializerUtils.writeEndObject(jsonGenerator);
- }
- }
-
- private void innerWriteChildControlRules(Map.Entry> item, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- if (item.getValue() == null || item.getValue().isEmpty())
- return;
- for (Map.Entry keyPair : item.getValue().entrySet()) {
- SerializerUtils.writeStartObject(jsonGenerator);
- SerializerUtils.writePropertyName(jsonGenerator, keyPair.getKey());
- SerializerUtils.writePropertyValue_Object(jsonGenerator, keyPair.getValue());
- SerializerUtils.writeEndObject(jsonGenerator);
- }
- }
-
- protected void writeSelfInfos(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
-
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/serializer/ControlRuleItemSerializer.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/serializer/ControlRuleItemSerializer.java
deleted file mode 100644
index caabb889e5cef08b9be6ad5c4a1eda3baba82389..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/serializer/ControlRuleItemSerializer.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.JsonSerializer;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleNames;
-import com.inspur.edp.cef.designtime.api.json.SerializerUtils;
-
-import java.io.IOException;
-
-/**
- * The Json Serializer Of ControlRuleItem
- *
- * @ClassName: DimensionInfo
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class ControlRuleItemSerializer extends JsonSerializer {
- @Override
- public void serialize(ControlRuleItem value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
- SerializerUtils.writeStartObject(gen);
- SerializerUtils.writePropertyValue(gen, ControlRuleNames.RuleValue, value.getControlRuleValue());
- SerializerUtils.writePropertyValue(gen, ControlRuleNames.RuleName, value.getRuleName());
- SerializerUtils.writeEndObject(gen);
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/serializer/RangeRuleSerializer.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/serializer/RangeRuleSerializer.java
deleted file mode 100644
index efa92ac2d553140e82933bb50a38fc4219562c1f..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/basic/serializer/RangeRuleSerializer.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleNames;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.RangeControlRule;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityErrorCodeEnum;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityException;
-import com.inspur.edp.cef.designtime.api.json.SerializerUtils;
-
-import java.io.IOException;
-import java.util.Map;
-
-/**
- * The Json Serializer Of RangeRule
- *
- * @ClassName: RangeRuleSerializer
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class RangeRuleSerializer extends AbstractControlRuleSerializer {
- @Override
- protected final void writeExtendInfos(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- super.writeExtendInfos(controlRule, jsonGenerator, serializerProvider);
- writeRangeRules(controlRule, jsonGenerator, serializerProvider);
- writeRangeExtendInfos(controlRule, jsonGenerator, serializerProvider);
- }
-
- protected void writeRangeExtendInfos(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
-//里面不填内容。
- }
-
- private void writeRangeRules(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- SerializerUtils.writePropertyName(jsonGenerator, ControlRuleNames.RangeControlRules);
- SerializerUtils.writeStartObject(jsonGenerator);
- innerWriteRangeRules(controlRule, jsonGenerator, serializerProvider);
- SerializerUtils.writeEndObject(jsonGenerator);
- }
-
- private void innerWriteRangeRules(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- if (controlRule.getRangeControlRules() == null || controlRule.getRangeControlRules().size() == 0)
- return;
- for (Map.Entry> entry : controlRule.getRangeControlRules().entrySet()) {
- SerializerUtils.writePropertyName(jsonGenerator, entry.getKey());
- SerializerUtils.writeStartObject(jsonGenerator);
- SerializerUtils.WriteStartArray(jsonGenerator);
- writeRangeRuleItems(entry.getValue(), jsonGenerator, serializerProvider);
- SerializerUtils.WriteEndArray(jsonGenerator);
- SerializerUtils.writeEndObject(jsonGenerator);
- }
- }
-
- private void writeRangeRuleItems(Map value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- if (value == null || value.isEmpty())
- return;
- for (Map.Entry item : value.entrySet()) {
- try {
- jsonGenerator.writeObject(item.getValue());
- } catch (IOException e) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_JSON_0004, e, "RangeRuleItems");
-
- }
- }
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/CommonDataTypeControlRule.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/CommonDataTypeControlRule.java
deleted file mode 100644
index 8a425193aca183b6166d5f1a6e2a598bf5d12add..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/CommonDataTypeControlRule.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm;
-
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.AbstractControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.RangeControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeRuleNames;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * The Definition Of CommonDataTypeControlRule
- *
- * @ClassName: CommonDataTypeControlRule
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class CommonDataTypeControlRule extends RangeControlRule {
- public CommonDataTypeControlRule() {
- }
-
- //region 字段控制规则
- public Map getFieldControlRules() {
- if (!getChildRules().containsKey(CommonDataTypeRuleNames.FieldsRules))
- getChildRules().put(CommonDataTypeRuleNames.FieldsRules, new HashMap<>());
- return getChildRules().get(CommonDataTypeRuleNames.FieldsRules);
- }
-
- public CommonFieldControlRule getFieldControlRule(String fieldId) {
- if (getFieldControlRules().containsKey(fieldId))
- return (CommonFieldControlRule) getFieldControlRules().get(fieldId);
- return null;
- }
- //endregion
-
- //region 名称规则
- public ControlRuleItem getNameControlRule() {
- return super.getControlRule(CommonDataTypeRuleNames.Name);
- }
-
- public void setNameControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CommonDataTypeRuleNames.Name, ruleItem);
- }
- //endregion
-
- //region 子表新增规则
- public ControlRuleItem getAddChildEntityControlRule() {
- return super.getControlRule(CommonDataTypeRuleNames.AddChildEntity);
- }
-
- public void setAddChildEntityControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CommonDataTypeRuleNames.AddChildEntity, ruleItem);
- }
- //endregion
-
- //region 子表修改规则
- public ControlRuleItem getModifyChildEntitiesControlRule() {
- return super.getControlRule(CommonDataTypeRuleNames.ModifyChildEntities);
- }
-
- public void setModifyChildEntitiesControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CommonDataTypeRuleNames.ModifyChildEntities, ruleItem);
- }
- //endregion
-
- //region 字段新增规则
- public ControlRuleItem getAddFieldControlRule() {
- return super.getControlRule(CommonDataTypeRuleNames.AddField);
- }
-
- public void setAddFieldControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CommonDataTypeRuleNames.AddField, ruleItem);
- }
- //endregion
-
- //region 字段修改规则
- public ControlRuleItem getModifyFieldsControlRule() {
- return super.getControlRule(CommonDataTypeRuleNames.ModifyFields);
- }
-
- public void setModifyFieldsControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CommonDataTypeRuleNames.ModifyFields, ruleItem);
- }
- //endregion
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/CommonElementRule.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/CommonElementRule.java
new file mode 100644
index 0000000000000000000000000000000000000000..d25aeb1edaf86b30824db5946c375a919ec21ed4
--- /dev/null
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/CommonElementRule.java
@@ -0,0 +1,32 @@
+package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm;
+
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRule;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * Element 层控制规则的公共基类。
+ *
+ * 在 Rule 三层体系(Model → Object → Element)中处于底层,
+ * 管理字段级规则(Name、Length、Precision、DefaultValue 等 15 个维度)。
+ *
+ * @see CommonModelRule
+ * @see CommonObjectRule
+ */
+@Getter
+@Setter
+public class CommonElementRule extends ControlRule {
+
+ private ControlRuleItem nameRule;
+ private ControlRuleItem lengthRule;
+ private ControlRuleItem precisionRule;
+ private ControlRuleItem defaultValueRule;
+ private ControlRuleItem requiredRule;
+ private ControlRuleItem containEnumValuesRule;
+ private ControlRuleItem isPersistentRule;
+ private ControlRuleItem customizeRefRule;
+ private ControlRuleItem encryptionRule;
+ private ControlRuleItem isDefaultNullRule;
+
+}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/CommonFieldControlRule.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/CommonFieldControlRule.java
deleted file mode 100644
index 7867f40dc8f712178a2ab025f136066f3ea13480..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/CommonFieldControlRule.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm;
-
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.AbstractControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonFieldRuleNames;
-
-/**
- * The Definition Of CommonFieldControlRule
- *
- * @ClassName: CommonFieldControlRule
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class CommonFieldControlRule extends AbstractControlRule {
-
- //region 名称规则
- public ControlRuleItem getNameControlRule() {
- return super.getControlRule(CommonFieldRuleNames.Name);
- }
-
- public void setNameControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CommonFieldRuleNames.Name, ruleItem);
- }
- //endregion
-
- //region 长度规则
- public ControlRuleItem getLengthControlRule() {
- return super.getControlRule(CommonFieldRuleNames.Length);
- }
-
- public void setLengthControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CommonFieldRuleNames.Length, ruleItem);
- }
- //endregion
-
- //region 精度规则
- public ControlRuleItem getPrecisionControlRule() {
- return super.getControlRule(CommonFieldRuleNames.Precision);
- }
-
- public void setPrecisionControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CommonFieldRuleNames.Precision, ruleItem);
- }
- //endregion
-
- //region 默认值规则
- public ControlRuleItem getDefaultValueControlRule() {
- return super.getControlRule(CommonFieldRuleNames.DefaultValue);
- }
-
- public void setDefaultValueControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CommonFieldRuleNames.DefaultValue, ruleItem);
- }
- //endregion
-
- //region 对象类型规则
- public ControlRuleItem getObjectTypeControlRule() {
- return super.getControlRule(CommonFieldRuleNames.ObjectType);
- }
-
- public void setObjectTypeControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CommonFieldRuleNames.ObjectType, ruleItem);
- }
- //endregion
-
- //region 多语规则
- public ControlRuleItem getMultiLanFieldControlRule() {
- return super.getControlRule(CommonFieldRuleNames.MultiLanField);
- }
-
- public void setMultiLanFieldControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CommonFieldRuleNames.MultiLanField, ruleItem);
- }
- //endregion
-
- //region 只读规则
- public ControlRuleItem geReadonlyControlRule() {
- return super.getControlRule(CommonFieldRuleNames.Readonly);
- }
-
- public void setReadonlyControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CommonFieldRuleNames.Readonly, ruleItem);
- }
- //endregion
-
- //region 唯一性规则
- public ControlRuleItem geRequiredControlRule() {
- return super.getControlRule(CommonFieldRuleNames.Required);
- }
-
- public void setRequiredControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CommonFieldRuleNames.Required, ruleItem);
- }
- //endregion
-
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/CommonModelRule.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/CommonModelRule.java
new file mode 100644
index 0000000000000000000000000000000000000000..610d19dcc0bc0fb04328e25618e555b61acb34d9
--- /dev/null
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/CommonModelRule.java
@@ -0,0 +1,33 @@
+package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm;
+
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRule;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * Model 层控制规则的公共基类。
+ *
+ *
在 Rule 三层体系(Model → Object → Element)中处于顶层,
+ * 管理 Name/Code 等模型级规则以及主对象(MainObject)子规则。
+ *
+ * @see CommonObjectRule
+ * @see CommonElementRule
+ */
+@Getter
+@Setter
+public class CommonModelRule extends ControlRule {
+
+ private ControlRuleItem nameRule;
+
+ private CommonObjectRule mainObjectRule;
+
+ public CommonModelRule() {
+ createMainObjectRule();
+ }
+
+ protected CommonObjectRule createMainObjectRule() {
+ return new CommonObjectRule();
+ }
+
+}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/CommonObjectRule.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/CommonObjectRule.java
new file mode 100644
index 0000000000000000000000000000000000000000..662ca1a57ee0780372e2807d605e52023979d213
--- /dev/null
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/CommonObjectRule.java
@@ -0,0 +1,70 @@
+package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm;
+
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRule;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.annotation.Nullable;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Object 层控制规则的公共基类。
+ *
+ *
在 Rule 三层体系(Model → Object → Element)中处于中间层,
+ * 管理对象级规则(AddChildObject、ModifyChildObjects、AddElement、DeleteElement 等)
+ * 以及字段子规则和子对象导航。
+ *
+ * @see CommonModelRule
+ * @see CommonElementRule
+ */
+public class CommonObjectRule extends ControlRule {
+
+ @Getter @Setter
+ private ControlRuleItem nameRule;
+ @Getter @Setter
+ private ControlRuleItem addElementRule;
+ @Getter @Setter
+ private ControlRuleItem deleteElementRule;
+ @Getter @Setter
+ private ControlRuleItem addChildObjectRule;
+ @Getter @Setter
+ private ControlRuleItem deleteChildObjectRule;
+
+ private final Map elementRuleMap = new HashMap<>();
+ private final Map childObjectRuleMap = new HashMap<>();
+
+
+
+ /**
+ * 按字段 ID 添加字段规则。
+ */
+ public void addElementRule(String fieldId, CommonElementRule rule) {
+ elementRuleMap.put(fieldId, rule);
+ }
+
+ /**
+ * 按字段 ID 查找字段规则。
+ */
+ @Nullable
+ public CommonElementRule getElementRule(String fieldId) {
+ return elementRuleMap.get(fieldId);
+ }
+
+ /**
+ * 按子实体 ID 添加子实体规则。
+ */
+ public void addChildObjectRule(String childId, CommonObjectRule rule) {
+ childObjectRuleMap.put(childId, rule);
+ }
+
+ /**
+ * 按子实体 ID 查找子实体规则。
+ */
+ @Nullable
+ public CommonObjectRule getChildObjectRule(String childId) {
+ return childObjectRuleMap.get(childId);
+ }
+
+}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/parser/CommonDataTypeRuleParser.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/parser/CommonDataTypeRuleParser.java
deleted file mode 100644
index db3f1fb88963dda60d731ab828717e55950c2eb0..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/parser/CommonDataTypeRuleParser.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.parser.RangeRuleParser;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonDataTypeControlRule;
-
-/**
- * The Json Parser Of CommonDataTypeRule
- *
- * @ClassName: CommonDataTypeRuleParser
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class CommonDataTypeRuleParser extends RangeRuleParser {
-
- protected boolean readRangeExtendControlRuleProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- if (super.readRangeExtendControlRuleProperty(ruleDefinition, propName, jsonParser, deserializationContext))
- return true;
- return readCommonDataTypeRuleExtendProperty(ruleDefinition, propName, jsonParser, deserializationContext);
-
- }
-
- protected boolean readCommonDataTypeRuleExtendProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- return false;
- }
-
- @Override
- protected final T createControlRule() {
- return (T) createCommonDataTypeRule();
- }
-
- protected CommonDataTypeControlRule createCommonDataTypeRule() {
- return new CommonDataTypeControlRule();
- }
-}
\ No newline at end of file
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/parser/CommonFieldRuleParser.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/parser/CommonFieldRuleParser.java
deleted file mode 100644
index 3c8397b33385c392a9df78177faa5d8a40fdae0f..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/parser/CommonFieldRuleParser.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.parser.AbstractControlRuleParser;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonFieldControlRule;
-
-/**
- * The Json Parser Of CommonFieldRule
- *
- * @ClassName: CommonFieldRuleParser
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class CommonFieldRuleParser extends AbstractControlRuleParser {
- @Override
- protected final boolean readExtendControlRuleProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- if (super.readExtendControlRuleProperty(ruleDefinition, propName, jsonParser, deserializationContext))
- return true;
- return readCommonFieldRuleExtendProperty(ruleDefinition, propName, jsonParser, deserializationContext);
- }
-
- protected boolean readCommonFieldRuleExtendProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- return false;
- }
-
- @Override
- protected T createControlRule() {
- return (T) createCommonFieldRuleDefinition();
- }
-
- @Override
- protected JsonDeserializer getChildDeserializer(String childTypeName) {
- return null;
- }
-
- protected CommonFieldControlRule createCommonFieldRuleDefinition() {
- return new CommonFieldControlRule();
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/serializer/CommonDataTypeRuleSerializer.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/serializer/CommonDataTypeRuleSerializer.java
deleted file mode 100644
index e42579cdb572735911b32b75cbef5063724125a2..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/serializer/CommonDataTypeRuleSerializer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.serializer.RangeRuleSerializer;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonDataTypeControlRule;
-
-/**
- * The Json Serializer Of CommonDataTypeRule
- *
- * @ClassName: CommonDataTypeRuleSerializer
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class CommonDataTypeRuleSerializer extends RangeRuleSerializer {
- @Override
- protected final void writeRangeExtendInfos(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- super.writeRangeExtendInfos(controlRule, jsonGenerator, serializerProvider);
- writeCommonDataTypeRuleExtendInfos(controlRule, jsonGenerator, serializerProvider);
- }
-
- protected void writeCommonDataTypeRuleExtendInfos(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
-
- }
-}
\ No newline at end of file
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/serializer/CommonFieldRuleSerializer.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/serializer/CommonFieldRuleSerializer.java
deleted file mode 100644
index eaabdfe3616921fa1aa98492838e0550c85f5bb6..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlrule/cm/serializer/CommonFieldRuleSerializer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.serializer.AbstractControlRuleSerializer;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonFieldControlRule;
-
-/**
- * The Json Serializer Of CommonFieldRule
- *
- * @ClassName: CommonFieldRuleSerializer
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class CommonFieldRuleSerializer extends AbstractControlRuleSerializer {
- @Override
- protected final void writeExtendInfos(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- super.writeExtendInfos(controlRule, jsonGenerator, serializerProvider);
- writeCommonFieldRuleExtendInfos(controlRule, jsonGenerator, serializerProvider);
- }
-
- protected void writeCommonFieldRuleExtendInfos(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
-
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/entity/ControlRuleDefItem.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/entity/ControlRuleDefItem.java
index b6948fff6d5e4ba0f9f008e1d9440f5271708cc9..56da86e20141a772a43a0a07c6cb47ffa6639caf 100644
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/entity/ControlRuleDefItem.java
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/entity/ControlRuleDefItem.java
@@ -1,58 +1,49 @@
package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.parser.ControlDefItemParser;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.serializer.ControlRuleDefItemSerializer;
-
/**
* The Definition Of ControlRuleDefItem
*
+ * 不可变值对象:四个属性构造后不再改变。国际化解析由 be/vo 侧子类
+ * (BeRuleDefItem / VoRuleDefItem)完成后传入,本基类不依赖任何 i18n 工具。
+ *
* @ClassName: ControlRuleDefItem
* @Author: Benjamin Gong
* @Date: 2021/1/11 17:13
* @Version: V1.0
*/
-@JsonSerialize(using = ControlRuleDefItemSerializer.class)
-@JsonDeserialize(using = ControlDefItemParser.class)
public class ControlRuleDefItem {
- private String description;
- private String ruleDisplayName;
- private String ruleName;
- private ControlRuleValue defaultRuleValue;
-
- public ControlRuleDefItem() {
+ private final String description;
+ private final String ruleDisplayName;
+ private final String ruleName;
+ private final ControlRuleValue defaultRuleValue;
+
+ /**
+ * @param ruleName 规则名
+ * @param ruleDisplayName 已国际化的显示名
+ * @param description 已国际化的描述
+ * @param defaultRuleValue 默认规则值
+ */
+ public ControlRuleDefItem(String ruleName, String ruleDisplayName, String description,
+ ControlRuleValue defaultRuleValue) {
+ this.ruleName = ruleName;
+ this.ruleDisplayName = ruleDisplayName;
+ this.description = description;
+ this.defaultRuleValue = defaultRuleValue;
}
public String getDescription() {
return description;
}
- public void setDescription(String description) {
- this.description = description;
- }
-
public String getRuleDisplayName() {
return ruleDisplayName;
}
- public void setRuleDisplayName(String ruleDisplayName) {
- this.ruleDisplayName = ruleDisplayName;
- }
-
public String getRuleName() {
return ruleName;
}
- public void setRuleName(String ruleName) {
- this.ruleName = ruleName;
- }
-
public ControlRuleValue getDefaultRuleValue() {
return defaultRuleValue;
}
-
- public void setDefaultRuleValue(ControlRuleValue defaultRuleValue) {
- this.defaultRuleValue = defaultRuleValue;
- }
}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/entity/ControlRuleDefinition.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/entity/ControlRuleDefinition.java
index 14f501c042c708ec5838e83e70ec2ffd894c29cd..ef743a5ebae8c8949634648b3476aba6ba0c45e4 100644
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/entity/ControlRuleDefinition.java
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/entity/ControlRuleDefinition.java
@@ -1,91 +1,15 @@
package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.parser.ControlRuleDefParser;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.serializer.ControlRuleDefSerializer;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityErrorCodeEnum;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityException;
-import com.inspur.edp.cef.designtime.api.util.DataValidator;
-
-import java.util.HashMap;
-import java.util.Map;
-
/**
- * The Definition Of ControlRuleDefinition
+ * 控制规则定义(RuleDef)的公共基类;Model/Object/Element 三层 RuleDef 均继承本类。
*
* @ClassName: ControlRuleDefinition
* @Author: Benjamin Gong
* @Date: 2021/1/11 17:13
* @Version: V1.0
*/
-@JsonSerialize(using = ControlRuleDefSerializer.class)
-@JsonDeserialize(using = ControlRuleDefParser.class)
public class ControlRuleDefinition {
- private final Map childControlRules = new HashMap<>();
- private ControlRuleDefinition parentRuleDefinition;
- private String ruleObjectType;
- private final Map selfControlRules = new HashMap<>();
-
- public ControlRuleDefinition(ControlRuleDefinition parentRuleDefinition, String ruleObjectType) {
- this.parentRuleDefinition = parentRuleDefinition;
- this.ruleObjectType = ruleObjectType;
- }
public ControlRuleDefinition() {
}
-
- //region ChildRule
- public Map getChildControlRules() {
- return childControlRules;
- }
- //endregion
-
- //region ParentRule
- public boolean hasParentContrulRuleDef() {
- return parentRuleDefinition != null;
- }
-
- public ControlRuleDefinition getParentRuleDefinition() {
- return parentRuleDefinition;
- }
-
- public void setParentRuleDefinition(ControlRuleDefinition parentRuleDefinition) {
- this.parentRuleDefinition = parentRuleDefinition;
- }
- //endregion
-
- //region ObjectType
- public String getRuleObjectType() {
- return ruleObjectType;
- }
-
- public void setRuleObjectType(String ruleObjectType) {
- this.ruleObjectType = ruleObjectType;
- }
- //endregion
-
- //region ControlRuleDefItem
- public Map getSelfControlRules() {
- return selfControlRules;
- }
-
- public ControlRuleDefItem getControlRuleItem(String ruleName) {
- if (!getSelfControlRules().containsKey(ruleName)) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0007, ruleName);
- }
- ControlRuleDefItem ruleDefItem = getSelfControlRules().get(ruleName);
- if (ruleDefItem == null) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0008, ruleName);
- }
- return ruleDefItem;
- }
-
- public void setControlRuleItem(String ruleName, ControlRuleDefItem ruleItem) {
- DataValidator.checkForNullReference(ruleItem, "规则的值");
- DataValidator.checkForEmptyString(ruleName, "规则名称");
- getSelfControlRules().put(ruleName, ruleItem);
- }
-
- //endregion
}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/entity/ControlRuleValue.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/entity/ControlRuleValue.java
index 8f60aa945163e575d82d2034d1393eed5b402a6e..37139f99a395bfde8d7af2ec96f7b0731671c53e 100644
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/entity/ControlRuleValue.java
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/entity/ControlRuleValue.java
@@ -1,7 +1,8 @@
package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity;
/**
- * The Definition Of ControlRuleValue
+ * 规则控制值:Allow 允许扩展层修改该属性;Forbidden 禁止修改(保留基础层值);
+ * Default 走默认消解策略(当前实现回退为禁止,见 ControlRuleItem 构造)。
*
* @ClassName: ControlRuleValue
* @Author: Benjamin Gong
@@ -10,6 +11,6 @@ package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic
*/
public enum ControlRuleValue {
Allow,
- Forbiddon,
+ Forbidden,
Default
}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/entity/RangeRuleDefinition.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/entity/RangeRuleDefinition.java
deleted file mode 100644
index d606b9c01e53eb825a894f311b0bf0d1f03b08fb..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/entity/RangeRuleDefinition.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.parser.ControlRuleDefParser;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.serializer.ControlRuleDefSerializer;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * The Definition Of RangeRuleDefinition
- *
- * @ClassName: RangeRuleDefinition
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-@JsonSerialize(using = ControlRuleDefSerializer.class)
-@JsonDeserialize(using = ControlRuleDefParser.class)
-public class RangeRuleDefinition extends ControlRuleDefinition {
- private final Map> rangeRules = new HashMap<>();
-
- public RangeRuleDefinition(ControlRuleDefinition parentRuleDefinition, String ruleObjectType) {
- super(parentRuleDefinition, ruleObjectType);
- }
-
- public RangeRuleDefinition() {
- }
-
- public Map> getRangeRules() {
- return rangeRules;
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/parser/ControlDefItemParser.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/parser/ControlDefItemParser.java
deleted file mode 100644
index 10fa1d6a7f53d021aae1130176124b82dc353c16..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/parser/ControlDefItemParser.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleValue;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.serializer.ControlRuleDefNames;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityErrorCodeEnum;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityException;
-import com.inspur.edp.cef.designtime.api.json.SerializerUtils;
-
-import java.io.IOException;
-
-/**
- * The Json Parser Of ControlDefItem
- *
- * @ClassName: ControlDefItemParser
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class ControlDefItemParser extends JsonDeserializer {
- @Override
- public ControlRuleDefItem deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
- SerializerUtils.readStartObject(jsonParser);
- ControlRuleDefItem item = new ControlRuleDefItem();
- while (jsonParser.getCurrentToken() == JsonToken.FIELD_NAME) {
- String propertyName = SerializerUtils.readPropertyName(jsonParser);
- switch (propertyName) {
- case ControlRuleDefNames.Description:
- item.setDescription(SerializerUtils.readPropertyValue_String(jsonParser));
- break;
- case ControlRuleDefNames.DefaultRuleValue:
- item.setDefaultRuleValue(SerializerUtils.readPropertyValue_Enum(jsonParser, ControlRuleValue.class, ControlRuleValue.values()));
- break;
- case ControlRuleDefNames.RuleDisplayName:
- item.setRuleDisplayName(SerializerUtils.readPropertyValue_String(jsonParser));
- break;
- case ControlRuleDefNames.RuleName:
- item.setRuleName(SerializerUtils.readPropertyValue_String(jsonParser));
- break;
- default:
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0006, "ControlDefItemParser", propertyName);
- }
- }
- SerializerUtils.readEndObject(jsonParser);
- return item;
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/parser/ControlRuleDefParser.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/parser/ControlRuleDefParser.java
deleted file mode 100644
index 41a73e939de83aad3a1a82428f1c799d45bf04d3..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/parser/ControlRuleDefParser.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefinition;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.serializer.ControlRuleDefNames;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityErrorCodeEnum;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityException;
-import com.inspur.edp.cef.designtime.api.json.SerializerUtils;
-
-import java.io.IOException;
-
-import static com.fasterxml.jackson.core.JsonToken.END_ARRAY;
-import static com.fasterxml.jackson.core.JsonToken.FIELD_NAME;
-
-/**
- * The JsonParser Of ControlRuleDef
- *
- * @ClassName: ControlRuleDefParser
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class ControlRuleDefParser extends JsonDeserializer {
- @Override
- public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
- T ruleDefinition = createRuleDefinition();
- SerializerUtils.readStartObject(jsonParser);
- readSelfInfos(ruleDefinition, jsonParser, deserializationContext);
- SerializerUtils.readEndObject(jsonParser);
- return ruleDefinition;
- }
-
-
- private void readSelfInfos(T ruleDefinition, JsonParser jsonParser, DeserializationContext deserializationContext) {
- while (jsonParser.getCurrentToken() == FIELD_NAME) {
- String propName = SerializerUtils.readPropertyName(jsonParser);
- switch (propName) {
- case ControlRuleDefNames.RuleObjectType:
- ruleDefinition.setRuleObjectType(SerializerUtils.readPropertyValue_String(jsonParser));
- break;
- case ControlRuleDefNames.SelfControlRules:
- readSelfControlRules(ruleDefinition, jsonParser, deserializationContext);
- break;
- case ControlRuleDefNames.ChildControlRules:
- readChildControlRules(ruleDefinition, jsonParser, deserializationContext);
- break;
- default:
- if (!readExtendControlRuleProperty(ruleDefinition, propName, jsonParser, deserializationContext)) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0006, "ControlRuleDefParser", propName);
- }
- break;
- }
- }
- }
-
- private void readSelfControlRules(ControlRuleDefinition ruleDefinition, JsonParser jsonParser, DeserializationContext deserializationContext) {
- SerializerUtils.readStartArray(jsonParser);
- JsonToken tokentype = jsonParser.getCurrentToken();
- if (tokentype != END_ARRAY) {
- while (jsonParser.getCurrentToken() == tokentype || jsonParser.getLastClearedToken() == tokentype) {
- ControlDefItemParser deserializer = new ControlDefItemParser();
- try {
- ControlRuleDefItem item = deserializer.deserialize(jsonParser, null);
- ruleDefinition.getSelfControlRules().put(item.getRuleName(), item);
- } catch (IOException e) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_JSON_0001, e, "ControlRuleDefItem");
- }
-
- }
- }
- SerializerUtils.readEndArray(jsonParser);
- }
-
- private void readChildControlRules(ControlRuleDefinition ruleDefinition, JsonParser jsonParser, DeserializationContext deserializationContext) {
- SerializerUtils.readStartObject(jsonParser);
- while (jsonParser.getCurrentToken() == FIELD_NAME) {
- String childTypeName = SerializerUtils.readPropertyName(jsonParser);
- JsonDeserializer childDeserializer = getChildDeserializer(childTypeName);
- try {
- ControlRuleDefinition childRuleDefinition = (ControlRuleDefinition) childDeserializer.deserialize(jsonParser, null);
- ruleDefinition.getChildControlRules().put(childTypeName, childRuleDefinition);
- } catch (IOException e) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_JSON_0002, e, "ChildControlRule", childTypeName);
- }
- }
-
- SerializerUtils.readEndObject(jsonParser);
- }
-
- protected Class getChildTypes(String childTypeName) {
- return ControlRuleDefinition.class;
- }
-
- protected JsonDeserializer getChildDeserializer(String childTypeName) {
- return new ControlRuleDefParser();
- }
-
- protected boolean readExtendControlRuleProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- return false;
- }
-
- protected T createRuleDefinition() {
- return (T) new ControlRuleDefinition();
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/parser/RangeRuleDefParser.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/parser/RangeRuleDefParser.java
deleted file mode 100644
index 1d0935c13a499269c5902b361fe51ffd3683dd93..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/parser/RangeRuleDefParser.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.RangeRuleDefinition;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.serializer.ControlRuleDefNames;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityErrorCodeEnum;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityException;
-import com.inspur.edp.cef.designtime.api.json.SerializerUtils;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-import static com.fasterxml.jackson.core.JsonToken.END_ARRAY;
-
-/**
- * The Json Parser Of RangeRuleDefParser
- *
- * @ClassName: RangeRuleDefParser
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class RangeRuleDefParser extends ControlRuleDefParser {
- @Override
- protected T createRuleDefinition() {
- return (T) new RangeRuleDefinition();
- }
-
- @Override
- protected final boolean readExtendControlRuleProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- if (super.readExtendControlRuleProperty(ruleDefinition, propName, jsonParser, deserializationContext))
- return true;
- if (propName.equals(ControlRuleDefNames.RangeControlRules)) {
- SerializerUtils.readStartObject(jsonParser);
- innerReadRangeRules(ruleDefinition, jsonParser, deserializationContext);
- SerializerUtils.readEndObject(jsonParser);
- return true;
- }
- return readRangeExtendControlRuleProperty(ruleDefinition, propName, jsonParser, deserializationContext);
- }
-
- protected boolean readRangeExtendControlRuleProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- return false;
- }
-
- private void innerReadRangeRules(T ruleDefinition, JsonParser jsonParser, DeserializationContext deserializationContext) {
- while (jsonParser.getCurrentToken() == JsonToken.FIELD_NAME) {
- String properyName = SerializerUtils.readPropertyName(jsonParser);
- Map items = readRangeRuleItems(jsonParser, deserializationContext);
- ruleDefinition.getRangeRules().put(properyName, items);
- }
- }
-
- private Map readRangeRuleItems(JsonParser jsonParser, DeserializationContext deserializationContext) {
- Map map = new HashMap<>();
- SerializerUtils.readStartArray(jsonParser);
- JsonToken tokentype = jsonParser.getCurrentToken();
- if (tokentype != END_ARRAY) {
- while (jsonParser.getCurrentToken() == tokentype) {
- try {
- ControlRuleDefItem item = SerializerUtils.readPropertyValue_Object(ControlRuleDefItem.class, jsonParser);
- map.put(item.getRuleName(), item);
- jsonParser.nextToken();
- } catch (IOException e) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_JSON_0001, e, "ControlRuleDefItem");
- }
- }
- }
- SerializerUtils.readEndArray(jsonParser);
- return map;
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/serializer/ControlRuleDefItemSerializer.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/serializer/ControlRuleDefItemSerializer.java
deleted file mode 100644
index 550384254217b08cd3d4a7f7ac52ca12e8964d15..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/serializer/ControlRuleDefItemSerializer.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.JsonSerializer;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.json.SerializerUtils;
-
-import java.io.IOException;
-
-/**
- * The Json Serializer Of ControlRuleDefItem
- *
- * @ClassName: ControlRuleDefItemSerializer
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class ControlRuleDefItemSerializer extends JsonSerializer {
- @Override
- public void serialize(ControlRuleDefItem controlRuleDefItem, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
- SerializerUtils.writeStartObject(jsonGenerator);
- SerializerUtils.writePropertyValue(jsonGenerator, ControlRuleDefNames.Description, controlRuleDefItem.getDescription());
- SerializerUtils.writePropertyValue(jsonGenerator, ControlRuleDefNames.DefaultRuleValue, controlRuleDefItem.getDefaultRuleValue());
- SerializerUtils.writePropertyValue(jsonGenerator, ControlRuleDefNames.RuleDisplayName, controlRuleDefItem.getRuleDisplayName());
- SerializerUtils.writePropertyValue(jsonGenerator, ControlRuleDefNames.RuleName, controlRuleDefItem.getRuleName());
- SerializerUtils.writeEndObject(jsonGenerator);
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/serializer/ControlRuleDefNames.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/serializer/ControlRuleDefNames.java
deleted file mode 100644
index c417edc28018ca048a540a4d65c611f95b5e5cc7..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/serializer/ControlRuleDefNames.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.serializer;
-
-/**
- * The Serializer Names Of ControlRuleDef
- *
- * @ClassName: ControlRuleDefNames
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class ControlRuleDefNames {
- public static final String RuleObjectType = "RuleObjectType";
- public static final String SelfControlRules = "SelfControlRules";
- public static final String RangeControlRules = "RangeControlRules";
- public static final String Description = "Description";
- public static final String RuleDisplayName = "RuleDisplayName";
- public static final String RuleName = "RuleName";
- public static final String DefaultRuleValue = "DefaultRuleValue";
- public static final String ChildControlRules = "ChildControlRules";
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/serializer/ControlRuleDefSerializer.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/serializer/ControlRuleDefSerializer.java
deleted file mode 100644
index ae7552eb1f5f5a9e76d4666d5d350e491e9ff748..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/serializer/ControlRuleDefSerializer.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.JsonSerializer;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefinition;
-import com.inspur.edp.cef.designtime.api.json.SerializerUtils;
-
-import java.util.Map;
-
-/**
- * The Json Serializer Of ControlRuleDef
- *
- * @ClassName: ControlRuleDefSerializer
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class ControlRuleDefSerializer extends JsonSerializer {
- @Override
- public void serialize(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- SerializerUtils.writeStartObject(jsonGenerator);
- writeSelfInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
- writeExtendInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
- SerializerUtils.writeEndObject(jsonGenerator);
- }
-
- private void writeSelfInfos(ControlRuleDefinition controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- writeRuleObjectType(controlRuleDefinition, jsonGenerator, serializerProvider);
- writeSelfControlRules(controlRuleDefinition, jsonGenerator, serializerProvider);
- writeChildControlRules(controlRuleDefinition, jsonGenerator, serializerProvider);
- }
-
- private void writeRuleObjectType(ControlRuleDefinition controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- SerializerUtils.writePropertyValue(jsonGenerator, ControlRuleDefNames.RuleObjectType, controlRuleDefinition.getRuleObjectType());
- }
-
- private void writeSelfControlRules(ControlRuleDefinition controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- SerializerUtils.writePropertyName(jsonGenerator, ControlRuleDefNames.SelfControlRules);
- SerializerUtils.WriteStartArray(jsonGenerator);
- innerWriteSelfControlRules(controlRuleDefinition, jsonGenerator, serializerProvider);
- SerializerUtils.WriteEndArray(jsonGenerator);
- }
-
- private void innerWriteSelfControlRules(ControlRuleDefinition controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- if (controlRuleDefinition.getSelfControlRules() == null || controlRuleDefinition.getSelfControlRules().isEmpty())
- return;
- for (Map.Entry item : controlRuleDefinition.getSelfControlRules().entrySet()) {
- SerializerUtils.writePropertyValue_Object(jsonGenerator, item.getValue());
- }
- }
-
- private void writeChildControlRules(ControlRuleDefinition controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- SerializerUtils.writePropertyName(jsonGenerator, ControlRuleDefNames.ChildControlRules);
- SerializerUtils.writeStartObject(jsonGenerator);
- innerWriteChildRules(controlRuleDefinition, jsonGenerator, serializerProvider);
- SerializerUtils.writeEndObject(jsonGenerator);
- }
-
- private void innerWriteChildRules(ControlRuleDefinition controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- if (controlRuleDefinition.getChildControlRules() == null || controlRuleDefinition.getChildControlRules().isEmpty())
- return;
- for (Map.Entry item : controlRuleDefinition.getChildControlRules().entrySet()) {
- SerializerUtils.writePropertyName(jsonGenerator, item.getKey());
- SerializerUtils.writePropertyValue_Object(jsonGenerator, item.getValue());
- }
- }
-
- protected void writeExtendInfos(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- }
-
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/serializer/RangeRuleDefSerializer.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/serializer/RangeRuleDefSerializer.java
deleted file mode 100644
index 8a78fec88fbb05ba8174397a264ed728630adb26..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/basic/serializer/RangeRuleDefSerializer.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.RangeRuleDefinition;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityErrorCodeEnum;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityException;
-import com.inspur.edp.cef.designtime.api.json.SerializerUtils;
-
-import java.io.IOException;
-import java.util.Map;
-
-/**
- * The Json Serializer Of RangeRuleDef
- *
- * @ClassName: RangeRuleDefSerializer
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class RangeRuleDefSerializer extends ControlRuleDefSerializer {
- @Override
- protected final void writeExtendInfos(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- super.writeExtendInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
- writeRangeRules(controlRuleDefinition, jsonGenerator, serializerProvider);
- writeRangeExtendInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
- }
-
- protected void writeRangeExtendInfos(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
-//里面不填内容。
- }
-
- private void writeRangeRules(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- SerializerUtils.writePropertyName(jsonGenerator, ControlRuleDefNames.RangeControlRules);
- SerializerUtils.writeStartObject(jsonGenerator);
- innerWriteRangeRules(controlRuleDefinition, jsonGenerator, serializerProvider);
- SerializerUtils.writeEndObject(jsonGenerator);
- }
-
- private void innerWriteRangeRules(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- if (controlRuleDefinition.getRangeRules() == null || controlRuleDefinition.getRangeRules().isEmpty())
- return;
- for (Map.Entry> entry : controlRuleDefinition.getRangeRules().entrySet()) {
- SerializerUtils.writePropertyName(jsonGenerator, entry.getKey());
- SerializerUtils.writeStartObject(jsonGenerator);
- SerializerUtils.WriteStartArray(jsonGenerator);
- writeRangeRuleItems(entry.getValue(), jsonGenerator, serializerProvider);
- SerializerUtils.WriteEndArray(jsonGenerator);
- SerializerUtils.writeEndObject(jsonGenerator);
- }
- }
-
- private void writeRangeRuleItems(Map value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- if (value == null || value.isEmpty())
- return;
- for (Map.Entry item : value.entrySet()) {
- try {
- jsonGenerator.writeObject(item.getValue());
- } catch (IOException e) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_JSON_0004, e, "ControlRuleDefItem");
- }
- }
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonDataTypeControlRuleDef.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonDataTypeControlRuleDef.java
deleted file mode 100644
index 123da81c099c4546670cd892169df0c3a6500cec..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonDataTypeControlRuleDef.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefinition;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.RangeRuleDefinition;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.parser.CommonDataTypeRuleDefParser;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.serializer.CommonDataTypeRuleDefSerializer;
-
-/**
- * The Definition Of CommonDataTypeControlRuleDef
- *
- * @ClassName: CommonDataTypeControlRuleDef
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-@JsonSerialize(using = CommonDataTypeRuleDefSerializer.class)
-@JsonDeserialize(using = CommonDataTypeRuleDefParser.class)
-public class CommonDataTypeControlRuleDef extends RangeRuleDefinition {
- public CommonDataTypeControlRuleDef(ControlRuleDefinition parentRuleDefinition, String ruleObjectType) {
- super(parentRuleDefinition, ruleObjectType);
- }
-
- //region 名称规则
- public ControlRuleDefItem getNameControlRule() {
- return super.getControlRuleItem(CommonDataTypeRuleNames.Name);
- }
-
- public void setNameControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CommonDataTypeRuleNames.Name, ruleItem);
- }
- //endregion
-
- //region 子表新增规则
- public ControlRuleDefItem getAddChildEntityControlRule() {
- return super.getControlRuleItem(CommonDataTypeRuleNames.AddChildEntity);
- }
-
- public void setAddChildEntityControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CommonDataTypeRuleNames.AddChildEntity, ruleItem);
- }
- //endregion
-
- //region 子表修改规则
- public ControlRuleDefItem getModifyChildEntitiesControlRule() {
- return super.getControlRuleItem(CommonDataTypeRuleNames.ModifyChildEntities);
- }
-
- public void setModifyChildEntitiesControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CommonDataTypeRuleNames.ModifyChildEntities, ruleItem);
- }
- //endregion
-
- //region 字段新增规则
- public ControlRuleDefItem getAddFieldControlRule() {
- return super.getControlRuleItem(CommonDataTypeRuleNames.AddField);
- }
-
- public void setAddFieldControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CommonDataTypeRuleNames.AddField, ruleItem);
- }
- //endregion
-
- //region 字段修改规则
- public ControlRuleDefItem getModifyFieldsControlRule() {
- return super.getControlRuleItem(CommonDataTypeRuleNames.ModifyFields);
- }
-
- public void setModifyFieldsControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CommonDataTypeRuleNames.ModifyFields, ruleItem);
- }
- //endregion
-
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonDataTypeRuleNames.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonDataTypeRuleNames.java
deleted file mode 100644
index 806b33214959a23d21deeffe7fea352376c73e29..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonDataTypeRuleNames.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm;
-
-/**
- * The Serializer Names Of CommonDataTypeRule
- *
- * @ClassName: CommonDataTypeRuleNames
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class CommonDataTypeRuleNames {
- public static String Name = "Name";
- public static String AddChildEntity = "AddChildEntity";
- public static String ModifyChildEntities = "ModifyChildEntities";
- public static String AddField = "AddField";
- public static String ModifyFields = "ModifyFields";
- public static String RuleObjectType = "ModifyFields";
- public static String FieldsRules = "FieldsRules";
- public static String MainObjectRule = "MainObjectRule";
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonElementRuleDef.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonElementRuleDef.java
new file mode 100644
index 0000000000000000000000000000000000000000..672aa6f097440742cc7df5d9b418e1441f107115
--- /dev/null
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonElementRuleDef.java
@@ -0,0 +1,31 @@
+package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm;
+
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefinition;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * The Definition Of CommonElementRuleDef
+ *
+ * @ClassName: CommonElementRuleDef
+ * @Author: Benjamin Gong
+ * @Date: 2021/1/11 17:13
+ * @Version: V1.0
+ */
+@Getter
+@Setter
+public class CommonElementRuleDef extends ControlRuleDefinition {
+
+ private ControlRuleDefItem nameRuleDef;
+ private ControlRuleDefItem lengthRuleDef;
+ private ControlRuleDefItem precisionRuleDef;
+ private ControlRuleDefItem defaultValueRuleDef;
+ private ControlRuleDefItem requiredRuleDef;
+ private ControlRuleDefItem containEnumValuesRuleDef;
+ private ControlRuleDefItem isPersistentRuleDef;
+ private ControlRuleDefItem customizeRefRuleDef;
+ private ControlRuleDefItem encryptionRuleDef;
+ private ControlRuleDefItem isDefaultNullRuleDef;
+
+}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonElementRuleNames.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonElementRuleNames.java
new file mode 100644
index 0000000000000000000000000000000000000000..4f158870182596f094811ff69aee8740e58f1fe1
--- /dev/null
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonElementRuleNames.java
@@ -0,0 +1,22 @@
+package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm;
+
+/**
+ * CommonElementRule 各字段级规则的 ruleName 常量表。
+ *
+ * @ClassName: CommonElementRuleNames
+ * @Author: Benjamin Gong
+ * @Date: 2021/1/11 17:13
+ * @Version: V1.0
+ */
+public class CommonElementRuleNames {
+ public static String ElementName = "RULE_ELEMENT_NAME";
+ public static String Length = "RULE_ELEMENT_LENGTH";
+ public static String Precision = "RULE_ELEMENT_PRECISION";
+ public static String DefaultValue = "RULE_ELEMENT_DEFAULT_VALUE";
+ public static String Required = "RULE_ELEMENT_REQUIRED";
+ public static String ContainEnumValues = "RULE_ELEMENT_CONTAIN_ENUM_VALUES";
+ public static String IsPersistent = "RULE_ELEMENT_IS_PERSISTENT";
+ public static String CustomizeRef = "RULE_ELEMENT_CUSTOMIZE_REF";
+ public static String Encryption = "RULE_ELEMENT_ENCRYPTION";
+ public static String IsDefaultNull = "RULE_ELEMENT_IS_DEFAULT_NULL";
+}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonFieldContrulRuleDef.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonFieldContrulRuleDef.java
deleted file mode 100644
index 694e51bff0302787a30d9e429a7d3b2fa0c73f0c..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonFieldContrulRuleDef.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefinition;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.parser.CommonFieldRuleDefParser;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.serializer.CommonFieldRuleDefSerializer;
-
-/**
- * The Definition Of CommonFieldContrulRuleDef
- *
- * @ClassName: CommonFieldContrulRuleDef
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-@JsonSerialize(using = CommonFieldRuleDefSerializer.class)
-@JsonDeserialize(using = CommonFieldRuleDefParser.class)
-public class CommonFieldContrulRuleDef extends ControlRuleDefinition {
- public CommonFieldContrulRuleDef(ControlRuleDefinition parentRuleDefinition, String ruleObjectType) {
- super(parentRuleDefinition, ruleObjectType);
- }
-
- //region 名称规则
- public ControlRuleDefItem getNameControlRule() {
- return super.getControlRuleItem(CommonFieldRuleNames.Name);
- }
-
- public void setNameControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CommonFieldRuleNames.Name, ruleItem);
- }
- //endregion
-
- //region 长度规则
- public ControlRuleDefItem getLengthControlRule() {
- return super.getControlRuleItem(CommonFieldRuleNames.Length);
- }
-
- public void setLengthControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CommonFieldRuleNames.Length, ruleItem);
- }
- //endregion
-
- //region 精度规则
- public ControlRuleDefItem getPrecisionControlRule() {
- return super.getControlRuleItem(CommonFieldRuleNames.Precision);
- }
-
- public void setPrecisionControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CommonFieldRuleNames.Precision, ruleItem);
- }
- //endregion
-
- //region 默认值规则
- public ControlRuleDefItem getDefaultValueControlRule() {
- return super.getControlRuleItem(CommonFieldRuleNames.DefaultValue);
- }
-
- public void setDefaultValueControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CommonFieldRuleNames.DefaultValue, ruleItem);
- }
- //endregion
-
- //region 对象类型规则
- public ControlRuleDefItem getObjectTypeControlRule() {
- return super.getControlRuleItem(CommonFieldRuleNames.ObjectType);
- }
-
- public void setObjectTypeControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CommonFieldRuleNames.ObjectType, ruleItem);
- }
- //endregion
-
- //region 多语规则
- public ControlRuleDefItem getMultiLanFieldControlRule() {
- return super.getControlRuleItem(CommonFieldRuleNames.MultiLanField);
- }
-
- public void setMultiLanFieldControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CommonFieldRuleNames.MultiLanField, ruleItem);
- }
- //endregion
-
- //region 只读性规则
- public ControlRuleDefItem geReadonlyControlRule() {
- return super.getControlRuleItem(CommonFieldRuleNames.Readonly);
- }
-
- public void setReadonlyControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CommonFieldRuleNames.Readonly, ruleItem);
- }
- //endregion
-
- //region 唯一性规则
- public ControlRuleDefItem geRequiredControlRule() {
- return super.getControlRuleItem(CommonFieldRuleNames.Required);
- }
-
- public void setRequiredControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CommonFieldRuleNames.Required, ruleItem);
- }
- //endregion
-
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonFieldRuleNames.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonFieldRuleNames.java
deleted file mode 100644
index 83f008f90884c3f702e26cc69ac95fd7ea7986a8..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonFieldRuleNames.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm;
-
-/**
- * The Serlializer Names Of CommonFieldRule
- *
- * @ClassName: CommonFieldRuleNames
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class CommonFieldRuleNames {
- public static String Code = "Code";
- public static String Name = "Name";
- public static String Length = "Length";
- public static String Precision = "Precision";
- public static String DefaultValue = "DefaultValue";
- public static String ObjectType = "ObjectType";
- public static String MultiLanField = "MultiLanField";
- public static String Readonly = "Readonly";
- public static String Required = "Required";
- public static String RuleObjectType = "CommonField";
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonModelRuleDef.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonModelRuleDef.java
new file mode 100644
index 0000000000000000000000000000000000000000..42f4581d81180c7f4c126fcee188ea64ea53a915
--- /dev/null
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonModelRuleDef.java
@@ -0,0 +1,16 @@
+package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm;
+
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefinition;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonObjectRuleDef;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class CommonModelRuleDef extends ControlRuleDefinition {
+
+ private ControlRuleDefItem nameRuleDef;
+ private CommonObjectRuleDef mainObjectRuleDef;
+
+}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonObjectRuleDef.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonObjectRuleDef.java
new file mode 100644
index 0000000000000000000000000000000000000000..589dc1ca337b69100c9db9cb2c2eb3b6c212b409
--- /dev/null
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonObjectRuleDef.java
@@ -0,0 +1,27 @@
+package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm;
+
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefinition;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * The Definition Of CommonObjectRuleDef
+ *
+ * @ClassName: CommonObjectRuleDef
+ * @Author: Benjamin Gong
+ * @Date: 2021/1/11 17:13
+ * @Version: V1.0
+ */
+@Getter
+@Setter
+public class CommonObjectRuleDef extends ControlRuleDefinition {
+
+ private ControlRuleDefItem nameRuleDef;
+ private ControlRuleDefItem addElementRuleDef;
+ private ControlRuleDefItem deleteElementRuleDef;
+ private ControlRuleDefItem addChildObjectRuleDef;
+ private ControlRuleDefItem deleteChildObjectRuleDef;
+ private CommonElementRuleDef elementRuleDef;
+
+}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonObjectRuleNames.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonObjectRuleNames.java
new file mode 100644
index 0000000000000000000000000000000000000000..7b746d10e797aee58e615f04b82e7e46accb1dbb
--- /dev/null
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/CommonObjectRuleNames.java
@@ -0,0 +1,17 @@
+package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm;
+
+/**
+ * The Serializer Names Of CommonObjectRule
+ *
+ * @ClassName: CommonObjectRuleNames
+ * @Author: Benjamin Gong
+ * @Date: 2021/1/11 17:13
+ * @Version: V1.0
+ */
+public class CommonObjectRuleNames {
+ public static String ObjectName = "RULE_OBJECT_NAME";
+ public static String AddElement = "RULE_OBJECT_ADD_ELEMENT";
+ public static String DeleteElement = "RULE_OBJECT_DELETE_ELEMENT";
+ public static String DeleteChildObject = "RULE_OBJECT_DELETE_CHILD_OBJECT";
+ public static String AddChildObject = "RULE_OBJECT_ADD_CHILD_OBJECT";
+}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/parser/CommonDataTypeRuleDefParser.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/parser/CommonDataTypeRuleDefParser.java
deleted file mode 100644
index b810ba7cebd112715111015f1e81e7d2a75e5922..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/parser/CommonDataTypeRuleDefParser.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.parser.RangeRuleDefParser;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeControlRuleDef;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeRuleNames;
-
-/**
- * The Json Parser Of CommonDataTypeRuleDef
- *
- * @ClassName: CommonDataTypeRuleDefParser
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class CommonDataTypeRuleDefParser extends RangeRuleDefParser {
- @Override
- protected final boolean readRangeExtendControlRuleProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- if (super.readRangeExtendControlRuleProperty(ruleDefinition, propName, jsonParser, deserializationContext))
- return true;
- return readCommonDataTypeRuleExtendProperty(ruleDefinition, propName, jsonParser, deserializationContext);
- }
-
- protected boolean readCommonDataTypeRuleExtendProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- return false;
- }
-
- @Override
- protected final T createRuleDefinition() {
- return (T) createCommonDataTypeRuleDefinition();
- }
-
- protected CommonDataTypeControlRuleDef createCommonDataTypeRuleDefinition() {
- return new CommonDataTypeControlRuleDef(null, CommonDataTypeRuleNames.RuleObjectType);
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/parser/CommonFieldRuleDefParser.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/parser/CommonFieldRuleDefParser.java
deleted file mode 100644
index bdb8dca31c58d49e650090bcaad1b183d2875f3d..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/parser/CommonFieldRuleDefParser.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.parser.ControlRuleDefParser;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonFieldContrulRuleDef;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonFieldRuleNames;
-
-/**
- * The Json Parser Of CommonFieldRuleDef
- *
- * @ClassName: CommonFieldRuleDefParser
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class CommonFieldRuleDefParser extends ControlRuleDefParser {
- @Override
- protected final boolean readExtendControlRuleProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- if (super.readExtendControlRuleProperty(ruleDefinition, propName, jsonParser, deserializationContext))
- return true;
- return readCommonFieldRuleExtendProperty(ruleDefinition, propName, jsonParser, deserializationContext);
- }
-
- protected boolean readCommonFieldRuleExtendProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- return false;
- }
-
- @Override
- protected final T createRuleDefinition() {
- return (T) createCommonFieldRuleDefinition();
- }
-
- protected CommonFieldContrulRuleDef createCommonFieldRuleDefinition() {
- return new CommonFieldContrulRuleDef(null, CommonFieldRuleNames.RuleObjectType);
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/serializer/CommonDataTypeRuleDefSerializer.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/serializer/CommonDataTypeRuleDefSerializer.java
deleted file mode 100644
index 5ad712386d70089aa1436e022dc964b4e712f918..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/serializer/CommonDataTypeRuleDefSerializer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.serializer.RangeRuleDefSerializer;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeControlRuleDef;
-
-/**
- * The Json Serializer Of CommonDataTypeRuleDef
- *
- * @ClassName: CommonDataTypeRuleDefSerializer
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class CommonDataTypeRuleDefSerializer extends RangeRuleDefSerializer {
- @Override
- protected final void writeRangeExtendInfos(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- super.writeRangeExtendInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
- writeCommonDataTypeRuleExtendInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
- }
-
- protected void writeCommonDataTypeRuleExtendInfos(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
-
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/serializer/CommonFieldRuleDefSerializer.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/serializer/CommonFieldRuleDefSerializer.java
deleted file mode 100644
index 54ef02c9882d6372833d836b97d1e0ce3299739d..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/changecontrolrule/controlruledef/cm/serializer/CommonFieldRuleDefSerializer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.serializer.ControlRuleDefSerializer;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonFieldContrulRuleDef;
-
-/**
- * The Json Serializer Of CommonFieldRuleDef
- *
- * @ClassName: CommonFieldRuleDefSerializer
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class CommonFieldRuleDefSerializer extends ControlRuleDefSerializer {
- @Override
- protected final void writeExtendInfos(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- super.writeExtendInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
- writeCommonFieldRuleExtendInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
- }
-
- protected void writeCommonFieldRuleExtendInfos(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
-
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/collection/BaseList.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/collection/BaseList.java
index 2f055eb5269384c26939b9cb584ec420b1c41c72..5af90c94fc42e21b663e298ae4de716c4f171d0f 100644
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/collection/BaseList.java
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/collection/BaseList.java
@@ -6,7 +6,7 @@ import java.util.function.Predicate;
/**
* The BaseList Definition,All List Use This Class
*
- * @ClassName: CommonFieldRuleNames
+ * @ClassName: CommonElementRuleNames
* @Author: Benjamin Gong
* @Date: 2021/1/11 17:13
* @Version: V1.0
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/element/increment/extract/AddedFieldExtractor.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/element/increment/extract/AddedFieldExtractor.java
deleted file mode 100644
index 826b3641635a1d91543cc0f2ca32a3755219a5f0..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/element/increment/extract/AddedFieldExtractor.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.inspur.edp.cef.designtime.api.element.increment.extract;
-
-import com.inspur.edp.cef.designtime.api.element.increment.AddedFieldIncrement;
-import com.inspur.edp.cef.designtime.api.entity.GspCommonField;
-
-/**
- * The Definition Of DimensionInfo
- *
- * @ClassName: DimensionInfo
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class AddedFieldExtractor {
-
- public AddedFieldIncrement extract(GspCommonField field) {
- AddedFieldIncrement addedEntityIncrement = createIncrement();
- addedEntityIncrement.setField(field);
- return addedEntityIncrement;
- }
-
- protected AddedFieldIncrement createIncrement() {
- return new AddedFieldIncrement();
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/element/increment/extract/CommonFieldIncrementExtractor.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/element/increment/extract/CommonFieldIncrementExtractor.java
deleted file mode 100644
index 21dc6295be71d10ab279e3ee1dd4e28ebba3a9b4..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/element/increment/extract/CommonFieldIncrementExtractor.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package com.inspur.edp.cef.designtime.api.element.increment.extract;
-
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonFieldControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonFieldContrulRuleDef;
-import com.inspur.edp.cef.designtime.api.element.increment.GspCommonFieldIncrement;
-import com.inspur.edp.cef.designtime.api.entity.GspCommonField;
-import com.inspur.edp.cef.designtime.api.increment.extractor.AbstractIncrementExtractor;
-
-/**
- * The Definition Of DimensionInfo
- *
- * @ClassName: DimensionInfo
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class CommonFieldIncrementExtractor extends AbstractIncrementExtractor {
-
- protected boolean includeAll;
-
- public CommonFieldIncrementExtractor() {
-
- }
-
- public CommonFieldIncrementExtractor(boolean includeAll) {
- this.includeAll = includeAll;
- }
-
- public GspCommonFieldIncrement extractorIncrement(
- GspCommonField oldField, GspCommonField newField, CommonFieldControlRule rule, CommonFieldContrulRuleDef def) {
-
- if (oldField == null && newField == null)
- return null;
- if (oldField == null && newField != null)
- return getAddedFieldExtractor().extract(newField);
- if (oldField != null && newField == null)
- return getDeletedFieldExtractor().extract(oldField);
- return getModifyFieldExtractor().extract(oldField, newField, rule, def);
- }
-
-
- protected AddedFieldExtractor getAddedFieldExtractor() {
- return new AddedFieldExtractor();
- }
-
- protected DeletedFieldExtractor getDeletedFieldExtractor() {
- return new DeletedFieldExtractor();
- }
-
- protected ModifyFieldExtractor getModifyFieldExtractor() {
- return new ModifyFieldExtractor(includeAll);
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/element/increment/extract/DeletedFieldExtractor.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/element/increment/extract/DeletedFieldExtractor.java
deleted file mode 100644
index 11b8f1e124fc620f2c13b4645d716bccc49f857e..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/element/increment/extract/DeletedFieldExtractor.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.inspur.edp.cef.designtime.api.element.increment.extract;
-
-import com.inspur.edp.cef.designtime.api.element.increment.DeletedFieldIncrement;
-import com.inspur.edp.cef.designtime.api.entity.GspCommonField;
-
-/**
- * The Definition Of DimensionInfo
- *
- * @ClassName: DimensionInfo
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class DeletedFieldExtractor {
- public DeletedFieldIncrement extract(GspCommonField field) {
- DeletedFieldIncrement increment = createDeletedFieldIncrement(field.getID());
- increment.setId(field.getId());
- return increment;
- }
-
- protected DeletedFieldIncrement createDeletedFieldIncrement(String deleteId) {
- return new DeletedFieldIncrement(deleteId);
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/element/increment/extract/ModifyFieldExtractor.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/element/increment/extract/ModifyFieldExtractor.java
deleted file mode 100644
index f4eeda21960c933cecdea557b5a5111bc1e4de9c..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/element/increment/extract/ModifyFieldExtractor.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package com.inspur.edp.cef.designtime.api.element.increment.extract;
-
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonFieldControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonFieldContrulRuleDef;
-import com.inspur.edp.cef.designtime.api.element.increment.ModifyFieldIncrement;
-import com.inspur.edp.cef.designtime.api.entity.GspCommonField;
-import com.inspur.edp.cef.designtime.api.increment.extractor.ExtractUtils;
-import com.inspur.edp.cef.designtime.api.json.CefNames;
-import lombok.var;
-
-/**
- * The Definition Of DimensionInfo
- *
- * @ClassName: DimensionInfo
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class ModifyFieldExtractor {
-
- protected boolean includeAll = false;
-
- public ModifyFieldExtractor() {
-
- }
-
- public ModifyFieldExtractor(boolean includeAll) {
-
- this.includeAll = includeAll;
- }
-
- public ModifyFieldIncrement extract(GspCommonField oldField, GspCommonField newField, CommonFieldControlRule rule, CommonFieldContrulRuleDef def) {
-
- ModifyFieldIncrement increment = createModifyFieldIncrement();
- increment.setId(oldField.getId());
- //ChangeProperties()
- extractSelfInfo(increment, oldField, newField, rule, def);
- extractExtendInfo(increment, oldField, newField, rule, def);
-
- if (increment.getChangeProperties().isEmpty())
- return null;
- return increment;
- }
-
- //region BaseInfo
- private void extractSelfInfo(ModifyFieldIncrement increment, GspCommonField oldField, GspCommonField newField, CommonFieldControlRule rule, CommonFieldContrulRuleDef def) {
-
- if (includeAll) {
- extractSelfAllInfo(increment, oldField, newField);
- return;
- }
-
-// ExtractUtils.extractValue(increment.getChangeProperties(), oldField.getCode(), newField.getCode(), CefNames.Code, rule);
- ExtractUtils.extractValue(increment.getChangeProperties(), oldField.getName(), newField.getName(), CefNames.Name, rule == null ? null : rule.getNameControlRule(), def.getNameControlRule());
- ExtractUtils.extractValue(increment.getChangeProperties(), oldField.getDefaultValue(), newField.getDefaultValue(), CefNames.DefaultValue, rule == null ? null : rule.getDefaultValueControlRule(), def.getDefaultValueControlRule());
- ExtractUtils.extractValue(increment.getChangeProperties(), oldField.getDefaultValueType(), newField.getDefaultValueType(), CefNames.DefaultValueType, rule == null ? null : rule.getDefaultValueControlRule(), def.getDefaultValueControlRule());
- ExtractUtils.extracLengthtValue(increment.getChangeProperties(), oldField.getLength(), newField.getLength(), CefNames.Length, null, null);
- ExtractUtils.extractValueAllowShort(increment.getChangeProperties(), oldField.getPrecision(), newField.getPrecision(), CefNames.Precision, rule == null ? null : rule.getPrecisionControlRule(), def.getPrecisionControlRule());
- ExtractUtils.extractValue(increment.getChangeProperties(), oldField.getContainEnumValues(), newField.getContainEnumValues(), CefNames.ContainEnumValues, null, null);
- ExtractUtils.extractValue(increment.getChangeProperties(), oldField.getIsRequire(), newField.getIsRequire(), CefNames.IsRequire, null, null);
- }
-
- private void extractSelfAllInfo(ModifyFieldIncrement increment, GspCommonField oldField, GspCommonField newField) {
-
- var changes = increment.getChangeProperties();
-
- ExtractUtils.extractValue(changes, oldField.getName(), newField.getName(), CefNames.Name, null, null);
- ExtractUtils.extractValue(changes, oldField.getDefaultValue(), newField.getDefaultValue(), CefNames.DefaultValue, null, null);
- ExtractUtils.extracLengthtValue(changes, oldField.getLength(), newField.getLength(), CefNames.Length, null, null);
- ExtractUtils.extractValue(changes, oldField.getPrecision(), newField.getPrecision(), CefNames.Precision, null, null);
-
- ExtractUtils.extractValue(changes, oldField.getLabelID(), newField.getLabelID(), CefNames.LabelID, null, null);
- ExtractUtils.extractValue(changes, oldField.getIsRef(), newField.getIsRef(), CefNames.IsRef, null, null);
- ExtractUtils.extractValue(changes, oldField.getI18nResourceInfoPrefix(), newField.getI18nResourceInfoPrefix(), CefNames.I18nResourceInfoPrefix, null, null);
-
- ExtractUtils.extractValue(changes, oldField.getCode(), newField.getCode(), CefNames.Code, null, null);
- ExtractUtils.extractValue(changes, oldField.getIsRequire(), newField.getIsRequire(), CefNames.IsRequire, null, null);
- ExtractUtils.extractValue(changes, oldField.getIsMultiLanguage(), newField.getIsMultiLanguage(), CefNames.IsMultiLanguage, null, null);
- ExtractUtils.extractValue(changes, oldField.getIsRefElement(), newField.getIsRefElement(), CefNames.IsRefElement, null, null);
- ExtractUtils.extractValue(changes, oldField.getRefElementId(), newField.getRefElementId(), CefNames.RefElementID, null, null);
- ExtractUtils.extractValue(changes, oldField.getIsUdt(), newField.getIsUdt(), CefNames.IsUdt, null, null);
- ExtractUtils.extractValue(changes, oldField.getUdtPkgName(), newField.getUdtPkgName(), CefNames.UdtPkgName, null, null);
- ExtractUtils.extractValue(changes, oldField.getUdtID(), newField.getUdtID(), CefNames.UdtID, null, null);
- ExtractUtils.extractValue(changes, oldField.getUdtName(), newField.getUdtName(), CefNames.UdtName, null, null);
- ExtractUtils.extractValue(changes, oldField.getIsVirtual(), newField.getIsVirtual(), CefNames.IsVirtual, null, null);
- ExtractUtils.extractValue(changes, oldField.getRefBusinessFieldId(), newField.getRefBusinessFieldId(), CefNames.RefBusinessFieldId, null, null);
- ExtractUtils.extractValue(changes, oldField.getRefBusinessFieldName(), newField.getRefBusinessFieldName(), CefNames.RefBusinessFieldName, null, null);
- ExtractUtils.extractValue(changes, oldField.getBeLabel(), newField.getBeLabel(), CefNames.BeLabel, null, null);
- ExtractUtils.extractValue(changes, oldField.getIsFromAssoUdt(), newField.getIsFromAssoUdt(), CefNames.IsFromAssoUdt, null, null);
- ExtractUtils.extractValue(changes, oldField.getEnumIndexType(), newField.getEnumIndexType(), CefNames.EnumIndexType, null, null);
-
- ExtractUtils.extractValue(changes, oldField.getCollectionType(), newField.getCollectionType(), CefNames.CollectionType, null, null);
- ExtractUtils.extractValue(changes, oldField.getObjectType(), newField.getObjectType(), CefNames.ObjectType, null, null);
- ExtractUtils.extractValue(changes, oldField.getMDataType(), newField.getMDataType(), CefNames.MDataType, null, null);
- ExtractUtils.extractValue(changes, oldField.getDefaultValueType(), newField.getDefaultValueType(), CefNames.DefaultValueType, null, null);
-
-
- ExtractUtils.extractValue(changes, oldField.getMappingRelation(), newField.getMappingRelation(), CefNames.MappingRelation, null, null);
- ExtractUtils.extractValue(changes, oldField.getContainEnumValues(), newField.getContainEnumValues(), CefNames.ContainEnumValues, null, null);
- ExtractUtils.extractValue(changes, oldField.getChildElements(), newField.getChildElements(), CefNames.ChildElements, null, null);
- ExtractUtils.extractValue(changes, oldField.getChildAssociations(), newField.getChildAssociations(), CefNames.ChildAssociations, null, null);
-
- }
- //endregion
-
- protected void extractExtendInfo(ModifyFieldIncrement increment, GspCommonField oldField, GspCommonField newField, CommonFieldControlRule rule, CommonFieldContrulRuleDef def) {
-
- }
-
- protected ModifyFieldIncrement createModifyFieldIncrement() {
- return new ModifyFieldIncrement();
- }
-
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/element/increment/merger/CommonFieldIncrementMerger.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/element/increment/merger/CommonFieldIncrementMerger.java
deleted file mode 100644
index ed051b67c49cfaf19bede598aea655a5488ead96..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/element/increment/merger/CommonFieldIncrementMerger.java
+++ /dev/null
@@ -1,367 +0,0 @@
-package com.inspur.edp.cef.designtime.api.element.increment.merger;
-
-import com.inspur.edp.cef.designtime.api.IGspCommonField;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonFieldControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonFieldContrulRuleDef;
-import com.inspur.edp.cef.designtime.api.collection.GspAssociationCollection;
-import com.inspur.edp.cef.designtime.api.collection.GspEnumValueCollection;
-import com.inspur.edp.cef.designtime.api.element.ElementDefaultVauleType;
-import com.inspur.edp.cef.designtime.api.element.EnumIndexType;
-import com.inspur.edp.cef.designtime.api.element.FieldCollectionType;
-import com.inspur.edp.cef.designtime.api.element.GspElementDataType;
-import com.inspur.edp.cef.designtime.api.element.GspElementObjectType;
-import com.inspur.edp.cef.designtime.api.element.increment.GspCommonFieldIncrement;
-import com.inspur.edp.cef.designtime.api.element.increment.ModifyFieldIncrement;
-import com.inspur.edp.cef.designtime.api.entity.GspCommonField;
-import com.inspur.edp.cef.designtime.api.entity.MappingRelation;
-import com.inspur.edp.cef.designtime.api.increment.IncrementType;
-import com.inspur.edp.cef.designtime.api.increment.merger.AbstractIncrementMerger;
-import com.inspur.edp.cef.designtime.api.increment.merger.MergeUtils;
-import com.inspur.edp.cef.designtime.api.increment.property.BooleanPropertyIncrement;
-import com.inspur.edp.cef.designtime.api.increment.property.IntPropertyIncrement;
-import com.inspur.edp.cef.designtime.api.increment.property.ObjectPropertyIncrement;
-import com.inspur.edp.cef.designtime.api.increment.property.PropertyIncrement;
-import com.inspur.edp.cef.designtime.api.increment.property.StringPropertyIncrement;
-import com.inspur.edp.cef.designtime.api.json.CefNames;
-import lombok.var;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-/**
- * The Definition Of DimensionInfo
- *
- * @ClassName: DimensionInfo
- * @Author: Benjamin Gong
- * @Date: 2021/1/11 17:13
- * @Version: V1.0
- */
-public class CommonFieldIncrementMerger extends AbstractIncrementMerger {
-
- protected boolean includeAll;
-
- public CommonFieldIncrementMerger() {
-
- }
-
- public CommonFieldIncrementMerger(boolean includeAll) {
- this.includeAll = includeAll;
- }
-
- public GspCommonField merge(
- GspCommonField extendField,
- GspCommonFieldIncrement extendIncrement,
- GspCommonFieldIncrement baseIncrement,
- CommonFieldControlRule rule,
- CommonFieldContrulRuleDef def) {
-
- if (baseIncrement.getIncrementType() == IncrementType.Modify)
- return mergeModifyIncrement(extendField, (ModifyFieldIncrement) extendIncrement, (ModifyFieldIncrement) baseIncrement, rule, def);
- return null;
- }
-
-
- private GspCommonField mergeModifyIncrement(
- GspCommonField extendField,
- ModifyFieldIncrement extendIncrement,
- ModifyFieldIncrement baseIncrement,
- CommonFieldControlRule rule,
- CommonFieldContrulRuleDef def) {
-
- var propChanges = baseIncrement.getChangeProperties();
- if (!propChanges.isEmpty()) {
- mergeChangeProps(extendField, extendIncrement == null ? null : extendIncrement.getChangeProperties(), propChanges, rule, def);
- }
-
- mergeExtendField(extendField, extendIncrement, baseIncrement, rule, def);
- return extendField;
- }
-
-
- private void mergeChangeProps(
- GspCommonField extendField,
- HashMap extendIncrement,
- HashMap baseIncrement,
- CommonFieldControlRule rule,
- CommonFieldContrulRuleDef def) {
-
- if (includeAll) {
- mergeAllProps(extendField, extendIncrement, baseIncrement);
- return;
- }
- //todo 处理扩展字段属性修改后的同步,目前仅支持默认值以及默认值类型
- if (extendField.getCustomizationInfo() != null && extendField.getCustomizationInfo().isCustomized()) {
- mergeExtendField(extendField, extendIncrement, baseIncrement);
- return;
- }
- if (rule == null || def == null) {
- return;
- }
- if (baseIncrement.containsKey(CefNames.Name)) {
- String mergedName = MergeUtils.getStringValue(
- CefNames.Name,
- (StringPropertyIncrement) baseIncrement.get(CefNames.Name),
- extendIncrement,
- rule.getNameControlRule(),
- def.getNameControlRule());
- extendField.setName(mergedName);
- }
- if (baseIncrement.containsKey(CefNames.DefaultValue)) {
- String mergedName = MergeUtils.getStringValue(
- CefNames.DefaultValue,
- (StringPropertyIncrement) baseIncrement.get(CefNames.DefaultValue),
- extendIncrement,
- rule.getDefaultValueControlRule(),
- def.getDefaultValueControlRule());
- extendField.setDefaultValue(mergedName);
- dealChangedProperties(extendField, CefNames.DefaultValue);
- }
- if (baseIncrement.containsKey(CefNames.DefaultValueType)) {
- Object mergedValueType = MergeUtils.getObjectValue(
- CefNames.DefaultValueType,
- (ObjectPropertyIncrement) baseIncrement.get(CefNames.DefaultValueType),
- extendIncrement,
- rule.getDefaultValueControlRule(),
- def.getDefaultValueControlRule());
- if (mergedValueType instanceof String) {
- mergedValueType = ElementDefaultVauleType.valueOf(mergedValueType.toString());
- }
- extendField.setDefaultValueType((ElementDefaultVauleType) mergedValueType);
- }
- if (baseIncrement.containsKey(CefNames.Length)) {
- int intValue = (int) ((IntPropertyIncrement) baseIncrement.get(CefNames.Length)).getPropertyValue();
- extendField.setLength(intValue);
- }
-
- if (baseIncrement.containsKey(CefNames.Precision)) {
- int intValue = MergeUtils.getIntValueAllowShort(
- CefNames.Precision,
- (IntPropertyIncrement) baseIncrement.get(CefNames.Precision),
- extendIncrement,
- rule.getPrecisionControlRule(),
- def.getPrecisionControlRule());
- extendField.setPrecision(intValue);
- }
- if (baseIncrement.containsKey(CefNames.ContainEnumValues)) {
- mergeEnumValues(extendField, extendIncrement, baseIncrement, rule, def);
- }
-
- if (baseIncrement.containsKey(CefNames.IsRequire)) {
- boolean mergedIsRequire = MergeUtils.getBooleanValue(
- CefNames.IsRequire,
- (BooleanPropertyIncrement) baseIncrement.get(CefNames.IsRequire),
- extendIncrement,
- rule.getPrecisionControlRule(),
- def.getPrecisionControlRule());
- extendField.setIsRequire(mergedIsRequire);
- }
- }
-
- private void mergeEnumValues(GspCommonField extendField, HashMap extendIncrement, HashMap baseIncrement,
- CommonFieldControlRule rule, CommonFieldContrulRuleDef def) {
- {
- ObjectPropertyIncrement objectIncrement = (ObjectPropertyIncrement) baseIncrement.get(CefNames.ContainEnumValues);
- GspEnumValueCollection mergedEnums = MergeUtils.getObjectValue("ContainEnumValues", objectIncrement, null, null, null);
- extendField.setContainEnumValues(mergedEnums);
- }
- }
-
- private void mergeExtendField(GspCommonField extendField, HashMap extendIncrement, HashMap baseIncrement) {
- if (baseIncrement.containsKey(CefNames.DefaultValue)) {
- StringPropertyIncrement increment = ((StringPropertyIncrement) baseIncrement.get(CefNames.DefaultValue));
- if (increment != null) {
- Object mergedValue = increment.getPropertyValue();
- String value = mergedValue == null ? null : mergedValue.toString();
- extendField.setDefaultValue(value);
- }
- }
- if (baseIncrement.containsKey(CefNames.DefaultValueType)) {
- ObjectPropertyIncrement objectIncrement = (ObjectPropertyIncrement) baseIncrement.get(CefNames.DefaultValueType);
- Object mergedValueType = objectIncrement.getPropertyValue();
- if (mergedValueType instanceof String) {
- mergedValueType = ElementDefaultVauleType.valueOf(mergedValueType.toString());
- }
- extendField.setDefaultValueType((ElementDefaultVauleType) mergedValueType);
- }
- if (baseIncrement.containsKey(CefNames.ContainEnumValues)) {
- ObjectPropertyIncrement objectIncrement = (ObjectPropertyIncrement) baseIncrement.get(CefNames.ContainEnumValues);
- GspEnumValueCollection mergedEnums = MergeUtils.getObjectValue("ContainEnumValues", objectIncrement, null, null, null);
- extendField.setContainEnumValues(mergedEnums);
- }
-
- }
-
- private void mergeAllProps(
- GspCommonField extendField,
- HashMap extendIncrement,
- HashMap baseIncrement) {
- for (var incrementPair : baseIncrement.entrySet()) {
- String key = incrementPair.getKey();
- PropertyIncrement increment = incrementPair.getValue();
- dealChangeProp(extendField, extendIncrement, key, increment);
- }
- }
-
- private void dealChangedProperties(IGspCommonField field, String value) {
- if (field.getChangedProperties() == null)
- field.setChangedProperties(new ArrayList() {{
- add(value);
- }});
- if (!field.getChangedProperties().contains(value)) {
- field.getChangedProperties().add(value);
- }
- }
-
- private void dealChangeProp(GspCommonField extendField, HashMap extendIncrement, String key, PropertyIncrement increment) {
- switch (key) {
- case CefNames.Name:
- String mergedName = MergeUtils.getStringValue(CefNames.Name, (StringPropertyIncrement) increment, extendIncrement, null, null);
- extendField.setName(mergedName);
- return;
- case CefNames.DefaultValue:
- String mergedDefaultValue = MergeUtils.getStringValue(CefNames.DefaultValue, (StringPropertyIncrement) increment, extendIncrement, null, null);
- extendField.setDefaultValue(mergedDefaultValue);
- dealChangedProperties(extendField, CefNames.DefaultValue);
- return;
- case CefNames.Length:
- int mergedLength = (int) ((IntPropertyIncrement) increment).getPropertyValue();
- extendField.setLength(mergedLength);
- return;
- case CefNames.Precision:
- int mergedPrecision = MergeUtils.getIntValue(CefNames.Precision, (IntPropertyIncrement) increment, extendIncrement, null, null);
- extendField.setPrecision(mergedPrecision);
- return;
- case CefNames.LabelID:
- String mergedLabelID = MergeUtils.getStringValue(CefNames.LabelID, (StringPropertyIncrement) increment, null, null, null);
- extendField.setLabelID(mergedLabelID);
- return;
- case CefNames.IsRef:
- boolean mergedIsRef = MergeUtils.getBooleanValue(CefNames.IsRef, (BooleanPropertyIncrement) increment, null, null, null);
- extendField.setIsRef(mergedIsRef);
- return;
- case CefNames.I18nResourceInfoPrefix:
- String mergedI18n = MergeUtils.getStringValue(CefNames.I18nResourceInfoPrefix, (StringPropertyIncrement) increment, null, null, null);
- extendField.setI18nResourceInfoPrefix(mergedI18n);
- return;
- case CefNames.Code:
- String mergedCode = MergeUtils.getStringValue(CefNames.Code, (StringPropertyIncrement) increment, null, null, null);
- extendField.setCode(mergedCode);
- return;
- case CefNames.IsRequire:
- boolean mergedIsRequire = MergeUtils.getBooleanValue(CefNames.IsRequire, (BooleanPropertyIncrement) increment, null, null, null);
- extendField.setIsRequire(mergedIsRequire);
- return;
- case CefNames.IsMultiLanguage:
- boolean mergedMul = MergeUtils.getBooleanValue(CefNames.IsMultiLanguage, (BooleanPropertyIncrement) increment, null, null, null);
- extendField.setIsMultiLanguage(mergedMul);
- return;
- case CefNames.IsRefElement:
- boolean mergedRefEle = MergeUtils.getBooleanValue(CefNames.IsRefElement, (BooleanPropertyIncrement) increment, null, null, null);
- extendField.setIsRefElement(mergedRefEle);
- return;
- case CefNames.IsUdt:
- boolean mergedIsUdt = MergeUtils.getBooleanValue(CefNames.IsUdt, (BooleanPropertyIncrement) increment, null, null, null);
- extendField.setIsUdt(mergedIsUdt);
- return;
- case CefNames.UdtPkgName:
- String mergedUdtPkgName = MergeUtils.getStringValue(CefNames.UdtPkgName, (StringPropertyIncrement) increment, null, null, null);
- extendField.setUdtPkgName(mergedUdtPkgName);
- return;
- case CefNames.UdtID:
- String mergedUdtID = MergeUtils.getStringValue(CefNames.UdtID, (StringPropertyIncrement) increment, null, null, null);
- extendField.setUdtID(mergedUdtID);
- return;
- case CefNames.UdtName:
- String mergedUdtName = MergeUtils.getStringValue(CefNames.UdtName, (StringPropertyIncrement) increment, null, null, null);
- extendField.setUdtName(mergedUdtName);
- return;
- case CefNames.IsVirtual:
- boolean mergedIsVirtual = MergeUtils.getBooleanValue(CefNames.IsVirtual, (BooleanPropertyIncrement) increment, null, null, null);
- extendField.setIsVirtual(mergedIsVirtual);
- return;
- case CefNames.BeLabel:
- List mergedBeLabel = MergeUtils.getObjectValue(CefNames.BeLabel, (ObjectPropertyIncrement) increment, null, null, null);
- extendField.setBeLabel(mergedBeLabel);
- return;
- case CefNames.IsFromAssoUdt:
- boolean mergedIsFromAssoUdt = MergeUtils.getBooleanValue(CefNames.IsFromAssoUdt, (BooleanPropertyIncrement) increment, null, null, null);
- extendField.setIsUdt(mergedIsFromAssoUdt);
- return;
- case CefNames.EnumIndexType:
- Object enumIndexVal = MergeUtils.getObjectValue(CefNames.EnumIndexType, (ObjectPropertyIncrement) increment, null, null, null);
- EnumIndexType mergedEnumIndexType = null;
- if (enumIndexVal instanceof String)
- mergedEnumIndexType = EnumIndexType.valueOf(enumIndexVal.toString());
- else if (enumIndexVal instanceof EnumIndexType)
- mergedEnumIndexType = (EnumIndexType) enumIndexVal;
-
- extendField.setEnumIndexType(mergedEnumIndexType);
- return;
- case CefNames.CollectionType:
- Object colTypeVal = MergeUtils.getObjectValue(CefNames.CollectionType, (ObjectPropertyIncrement) increment, null, null, null);
- FieldCollectionType mergedCollectionType = null;
- if (colTypeVal instanceof String)
- mergedCollectionType = FieldCollectionType.valueOf(colTypeVal.toString());
- else if (colTypeVal instanceof FieldCollectionType)
- mergedCollectionType = (FieldCollectionType) colTypeVal;
- extendField.setCollectionType(mergedCollectionType);
- return;
- case CefNames.ObjectType:
- Object objectTypeVal = MergeUtils.getObjectValue(CefNames.ObjectType, (ObjectPropertyIncrement) increment, null, null, null);
- GspElementObjectType mergedObjectType = null;
- if (objectTypeVal instanceof String)
- mergedObjectType = GspElementObjectType.valueOf(objectTypeVal.toString());
- else if (objectTypeVal instanceof GspElementObjectType)
- mergedObjectType = (GspElementObjectType) objectTypeVal;
- extendField.setObjectType(mergedObjectType);
- return;
- case CefNames.MDataType:
- Object mdTypeVal = MergeUtils.getObjectValue(CefNames.MDataType, (ObjectPropertyIncrement) increment, null, null, null);
- GspElementDataType mergedMDataType = null;
- if (mdTypeVal instanceof String)
- mergedMDataType = GspElementDataType.valueOf(mdTypeVal.toString());
- else if (mdTypeVal instanceof GspElementDataType)
- mergedMDataType = (GspElementDataType) mdTypeVal;
- extendField.setMDataType(mergedMDataType);
- return;
- case CefNames.DefaultValueType:
- Object dvTypeVal = MergeUtils.getObjectValue(CefNames.DefaultValueType, (ObjectPropertyIncrement) increment, null, null, null);
- ElementDefaultVauleType mergedDefaultValueType = null;
- if (dvTypeVal instanceof String)
- mergedDefaultValueType = ElementDefaultVauleType.valueOf(dvTypeVal.toString());
- else if (dvTypeVal instanceof ElementDefaultVauleType)
- mergedDefaultValueType = (ElementDefaultVauleType) dvTypeVal;
- extendField.setDefaultValueType(mergedDefaultValueType);
-// dealChangedProperties(extendField,CefNames.DefaultValueType);
- return;
- case CefNames.MappingRelation:
- MappingRelation mergedMappingRelation = MergeUtils.getObjectValue(CefNames.MappingRelation, (ObjectPropertyIncrement) increment, null, null, null);
- extendField.setMappingRelation(mergedMappingRelation);
- return;
- case CefNames.ContainEnumValues:
- GspEnumValueCollection mergedEnums = MergeUtils.getObjectValue(CefNames.ContainEnumValues, (ObjectPropertyIncrement) increment, null, null, null);
- extendField.setContainEnumValues(mergedEnums);
- return;
- case CefNames.ChildAssociations:
- GspAssociationCollection mergedAsso = MergeUtils.getObjectValue(CefNames.ChildAssociations, (ObjectPropertyIncrement) increment, null, null, null);
- extendField.setChildAssociations(mergedAsso);
- return;
-
- }
- dealExtendChangeProp(extendField, extendIncrement, key, increment);
- }
-
- protected void dealExtendChangeProp(GspCommonField extendField, HashMap extendIncrement, String key, PropertyIncrement increment) {
-
- }
-
- protected void mergeExtendField(
- GspCommonField extendField,
- ModifyFieldIncrement extendIncrement,
- ModifyFieldIncrement baseIncrement,
- CommonFieldControlRule rule,
- CommonFieldContrulRuleDef def) {
-
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/entity/increment/extractor/AddedEntityExtractor.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/entity/increment/extractor/AddedEntityExtractor.java
deleted file mode 100644
index 3045ed90108c800d50bdfc65121524932927ca50..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/entity/increment/extractor/AddedEntityExtractor.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.inspur.edp.cef.designtime.api.entity.increment.extractor;
-
-import com.inspur.edp.cef.designtime.api.entity.GspCommonDataType;
-import com.inspur.edp.cef.designtime.api.entity.increment.AddedEntityIncrement;
-
-public class AddedEntityExtractor {
-
- public AddedEntityIncrement extract(GspCommonDataType newDataType) {
- AddedEntityIncrement addedEntityIncrement = createIncrement();
- addedEntityIncrement.setAddedDataType(newDataType);
- return addedEntityIncrement;
- }
-
- protected AddedEntityIncrement createIncrement() {
- return new AddedEntityIncrement();
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/entity/increment/extractor/DataTypeIncrementExtractor.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/entity/increment/extractor/DataTypeIncrementExtractor.java
deleted file mode 100644
index 7496b311e10d60de159c5d8cc5ee936e4971b510..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/entity/increment/extractor/DataTypeIncrementExtractor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.inspur.edp.cef.designtime.api.entity.increment.extractor;
-
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonDataTypeControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeControlRuleDef;
-import com.inspur.edp.cef.designtime.api.entity.GspCommonDataType;
-import com.inspur.edp.cef.designtime.api.entity.increment.CommonEntityIncrement;
-import com.inspur.edp.cef.designtime.api.increment.extractor.AbstractIncrementExtractor;
-
-public class DataTypeIncrementExtractor extends AbstractIncrementExtractor {
-
- protected boolean includeAll;
-
- public DataTypeIncrementExtractor() {
-
- }
-
- public DataTypeIncrementExtractor(boolean includeAll) {
-
- this.includeAll = includeAll;
- }
-
- public CommonEntityIncrement extractorIncrement(
- GspCommonDataType oldDataType,
- GspCommonDataType newDataType,
- CommonDataTypeControlRule rule,
- CommonDataTypeControlRuleDef def) {
-// CommonEntityIncrement increment = createCommonEntityIncrement();
-
- if (oldDataType == null && newDataType == null)
- return null;
- if (oldDataType == null && newDataType != null)
- return getAddedEntityExtractor().extract(newDataType);
- if (oldDataType != null && newDataType == null)
- return getDeletedEntityExtractor().extract(oldDataType);
- return getModifyEntityExtractor().extract(oldDataType, newDataType, rule, def);
-
- }
-
- protected AddedEntityExtractor getAddedEntityExtractor() {
- return new AddedEntityExtractor();
- }
-
- protected DeletedEntityExtractor getDeletedEntityExtractor() {
- return new DeletedEntityExtractor();
- }
-
- protected ModifyEntityExtractor getModifyEntityExtractor() {
- return new ModifyEntityExtractor(includeAll);
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/entity/increment/extractor/DeletedEntityExtractor.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/entity/increment/extractor/DeletedEntityExtractor.java
deleted file mode 100644
index f475b98eee6282bddac5750bd506c6a87d6d4b09..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/entity/increment/extractor/DeletedEntityExtractor.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.inspur.edp.cef.designtime.api.entity.increment.extractor;
-
-import com.inspur.edp.cef.designtime.api.entity.GspCommonDataType;
-import com.inspur.edp.cef.designtime.api.entity.increment.DeletedEntityIncrement;
-
-public class DeletedEntityExtractor {
-
- public DeletedEntityIncrement extract(GspCommonDataType oldDataType) {
- DeletedEntityIncrement increment = createDeletedEntityIncrement(oldDataType.getID());
- return increment;
- }
-
- protected DeletedEntityIncrement createDeletedEntityIncrement(String deleteId) {
- return new DeletedEntityIncrement(deleteId);
- }
-}
-
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/entity/increment/extractor/ModifyEntityExtractor.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/entity/increment/extractor/ModifyEntityExtractor.java
deleted file mode 100644
index 51597546e641dc50200256c85d12326e37fe8fdb..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/entity/increment/extractor/ModifyEntityExtractor.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package com.inspur.edp.cef.designtime.api.entity.increment.extractor;
-
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.AbstractControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonDataTypeControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonFieldControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleValue;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeControlRuleDef;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonFieldContrulRuleDef;
-import com.inspur.edp.cef.designtime.api.element.increment.extract.CommonFieldIncrementExtractor;
-import com.inspur.edp.cef.designtime.api.entity.GspCommonDataType;
-import com.inspur.edp.cef.designtime.api.entity.GspCommonField;
-import com.inspur.edp.cef.designtime.api.entity.increment.ModifyEntityIncrement;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityErrorCodeEnum;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityException;
-import com.inspur.edp.cef.designtime.api.increment.IncrementType;
-import com.inspur.edp.cef.designtime.api.increment.extractor.ExtractUtils;
-import com.inspur.edp.cef.designtime.api.json.CefNames;
-import lombok.var;
-
-import java.util.ArrayList;
-import java.util.Map;
-
-public class ModifyEntityExtractor {
-
- protected boolean includeAll;
-
- public ModifyEntityExtractor() {
-
- }
-
- public ModifyEntityExtractor(boolean includeAll) {
-
- this.includeAll = includeAll;
- }
-
- public ModifyEntityIncrement extract(
- GspCommonDataType oldDataType,
- GspCommonDataType newDataType,
- CommonDataTypeControlRule rule,
- CommonDataTypeControlRuleDef def) {
-
- ModifyEntityIncrement increment = createModifyEntityIncrement();
- increment.setId(oldDataType.getId());
- //ChangeProperties()
- extractSelfInfo(increment, oldDataType, newDataType, rule, def);
- //fields
- extractFieldsIncrement(increment, oldDataType, newDataType, rule, def);
- //Child
- extractExtendIncrement(increment, oldDataType, newDataType, rule, def);
-
- if (increment.isEmpty()) {
- return null;
- }
- return increment;
- }
-
- //region BaseInfo
- private void extractSelfInfo(
- ModifyEntityIncrement increment,
- GspCommonDataType oldDataType,
- GspCommonDataType newDataType,
- CommonDataTypeControlRule rule,
- CommonDataTypeControlRuleDef def) {
- if (includeAll) {
- extractSelfAllInfo(increment, oldDataType, newDataType);
- return;
- }
-
- ExtractUtils.extractValue(
- increment.getChangeProperties(),
- oldDataType.getName(),
- newDataType.getName(),
- CefNames.Name,
- rule.getNameControlRule(),
- def.getNameControlRule());
-
- }
-
- private void extractSelfAllInfo(
- ModifyEntityIncrement increment,
- GspCommonDataType oldDataType,
- GspCommonDataType newDataType) {
- ExtractUtils.extractValue(increment.getChangeProperties(), oldDataType.getCode(), newDataType.getCode(), CefNames.Code, null, null);
- ExtractUtils.extractValue(increment.getChangeProperties(), oldDataType.getName(), newDataType.getName(), CefNames.Name, null, null);
- ExtractUtils.extractValue(increment.getChangeProperties(), oldDataType.getIsRef(), newDataType.getIsRef(), CefNames.IsRef, null, null);
- ExtractUtils.extractValue(increment.getChangeProperties(), oldDataType.getI18nResourceInfoPrefix(), newDataType.getI18nResourceInfoPrefix(), CefNames.I18nResourceInfoPrefix, null, null);
- ExtractUtils.extractValue(increment.getChangeProperties(), oldDataType.getBeLabel(), newDataType.getBeLabel(), CefNames.BeLabel, null, null);
-// SerializerUtils.writePropertyValue(jsonGenerator,CefNames.CustomizationInfo,oldDataType.getCustomizationInfo());
- }
-
- //endregion
-
- //region Fields
- private void extractFieldsIncrement(
- ModifyEntityIncrement increment,
- GspCommonDataType oldDataType,
- GspCommonDataType newDataType,
- CommonDataTypeControlRule rule,
- CommonDataTypeControlRuleDef def) {
-
- var newElements = newDataType.getContainElements();
- if (newElements == null || newElements.isEmpty()) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0009, newDataType.getCode());
- }
-
- Map elementRules = rule.getChildRules().get(CefNames.Element);
- var fieldExtractor = createFieldExtractor();
- CommonFieldContrulRuleDef fieldContrulRuleDef = (CommonFieldContrulRuleDef) def.getChildControlRules().get(CefNames.Element);
- ArrayList updateEles = new ArrayList<>();
- for (var newElement : newElements) {
- var oldElement = oldDataType.findElement(newElement.getID());
- if (oldElement != null)
- updateEles.add(oldElement.getID());
-
-
- var fieldIncreament = fieldExtractor.extractorIncrement(
- (GspCommonField) oldElement,
- (GspCommonField) newElement,
- oldElement == null ? null : (CommonFieldControlRule) elementRules.get(oldElement.getID()),
- fieldContrulRuleDef);
- if (fieldIncreament == null)
- continue;
- if (fieldIncreament.getIncrementType() == IncrementType.Added && !isAllowAddFields(rule, def)) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0010, oldDataType.getCode());
- }
- increment.getFields().put(newElement.getID(), fieldIncreament);
-
- }
-
-
- for (var oldElement : oldDataType.getContainElements()) {
- if (updateEles.contains(oldElement.getID()))
- continue;
- var fieldIncrement = fieldExtractor.extractorIncrement(
- (GspCommonField) oldElement,
- null,
- (CommonFieldControlRule) elementRules.get(oldElement.getID()),
- fieldContrulRuleDef);
- increment.getFields().put(oldElement.getID(), fieldIncrement);
- }
-
- }
-
- protected CommonFieldIncrementExtractor createFieldExtractor() {
- return new CommonFieldIncrementExtractor(includeAll);
- }
-
-
- private boolean isAllowAddFields(CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
- switch (rule.getAddFieldControlRule().getControlRuleValue()) {
- case Allow:
- return true;
- case Forbiddon:
- return false;
- case Default:
- return def.getAddFieldControlRule().getDefaultRuleValue() == ControlRuleValue.Allow;
- }
-
- return false;
- }
- //endregion
-
-// //region ChildEntity
-
-// //endregion
-
- protected void extractExtendIncrement(
- ModifyEntityIncrement increment,
- GspCommonDataType oldDataType,
- GspCommonDataType newDataType,
- CommonDataTypeControlRule rule,
- CommonDataTypeControlRuleDef def) {
-
- }
-
- protected ModifyEntityIncrement createModifyEntityIncrement() {
- return new ModifyEntityIncrement();
- }
-
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/entity/increment/merger/DataTypeIncrementMerger.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/entity/increment/merger/DataTypeIncrementMerger.java
deleted file mode 100644
index 7cc6bdb32eb591d28a3bb90ed139157211478f46..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/entity/increment/merger/DataTypeIncrementMerger.java
+++ /dev/null
@@ -1,246 +0,0 @@
-package com.inspur.edp.cef.designtime.api.entity.increment.merger;
-
-import com.inspur.edp.cef.designtime.api.IGspCommonField;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.AbstractControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonDataTypeControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonFieldControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeControlRuleDef;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonFieldContrulRuleDef;
-import com.inspur.edp.cef.designtime.api.collection.GspFieldCollection;
-import com.inspur.edp.cef.designtime.api.element.increment.AddedFieldIncrement;
-import com.inspur.edp.cef.designtime.api.element.increment.GspCommonFieldIncrement;
-import com.inspur.edp.cef.designtime.api.element.increment.merger.CommonFieldIncrementMerger;
-import com.inspur.edp.cef.designtime.api.entity.GspCommonDataType;
-import com.inspur.edp.cef.designtime.api.entity.GspCommonField;
-import com.inspur.edp.cef.designtime.api.entity.increment.CommonEntityIncrement;
-import com.inspur.edp.cef.designtime.api.entity.increment.ModifyEntityIncrement;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityErrorCodeEnum;
-import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityException;
-import com.inspur.edp.cef.designtime.api.increment.IncrementType;
-import com.inspur.edp.cef.designtime.api.increment.merger.AbstractIncrementMerger;
-import com.inspur.edp.cef.designtime.api.increment.merger.MergeUtils;
-import com.inspur.edp.cef.designtime.api.increment.property.BooleanPropertyIncrement;
-import com.inspur.edp.cef.designtime.api.increment.property.ObjectPropertyIncrement;
-import com.inspur.edp.cef.designtime.api.increment.property.PropertyIncrement;
-import com.inspur.edp.cef.designtime.api.increment.property.StringPropertyIncrement;
-import com.inspur.edp.cef.designtime.api.json.CefNames;
-import lombok.var;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class DataTypeIncrementMerger extends AbstractIncrementMerger {
-
- protected boolean includeAll;
-
- public DataTypeIncrementMerger() {
- }
-
- private static final Logger logger = LoggerFactory.getLogger(DataTypeIncrementMerger.class);
-
- public DataTypeIncrementMerger(boolean includeAll) {
- this.includeAll = includeAll;
- }
-
- public GspCommonDataType merge(
- GspCommonDataType extendDataType,
- GspCommonDataType rootDataType,
- CommonEntityIncrement extendIncrement,
- CommonEntityIncrement baseIncrement,
- CommonDataTypeControlRule rule,
- CommonDataTypeControlRuleDef def) {
-
- if (baseIncrement.getIncrementType() == IncrementType.Modify)
- return mergeModifyIncrement(extendDataType, rootDataType, (ModifyEntityIncrement) extendIncrement, (ModifyEntityIncrement) baseIncrement, rule, def);
- return null;
- }
-
-
- private GspCommonDataType mergeModifyIncrement(
- GspCommonDataType extendDataType,
- GspCommonDataType rootDataType,
- ModifyEntityIncrement extendIncrement,
- ModifyEntityIncrement baseIncrement,
- CommonDataTypeControlRule rule,
- CommonDataTypeControlRuleDef def) {
-
- var propChanges = baseIncrement.getChangeProperties();
- if (!propChanges.isEmpty()) {
- mergeChangeProps(extendDataType, extendIncrement.getChangeProperties(), propChanges, rule, def);
- }
-
- var fieldChanges = baseIncrement.getFields();
- if (!fieldChanges.isEmpty()) {
- mergeFieldProps(extendDataType, rootDataType, extendIncrement.getFields(), fieldChanges, rule, def);
- }
-
- mergeExtendModifyIncrement(extendDataType, rootDataType, extendIncrement, baseIncrement, rule, def);
-
- return extendDataType;
- }
-
- private void mergeChangeProps(
- GspCommonDataType extendDataType,
- HashMap extendIncrement,
- HashMap baseIncrement,
- CommonDataTypeControlRule rule,
- CommonDataTypeControlRuleDef def) {
-
- if (includeAll) {
- mergeAllChange(extendDataType, extendIncrement, baseIncrement);
- return;
- }
- if (baseIncrement.containsKey(CefNames.Name)) {
- String mergedName = MergeUtils.getStringValue(
- CefNames.Name,
- (StringPropertyIncrement) baseIncrement.get(CefNames.Name),
- extendIncrement,
- rule.getNameControlRule(),
- def.getNameControlRule());
- extendDataType.setName(mergedName);
- }
- }
-
- private void mergeAllChange(
- GspCommonDataType extendDataType,
- HashMap extendIncrement,
- HashMap baseIncrement) {
- for (var incrementPair : baseIncrement.entrySet()) {
- String key = incrementPair.getKey();
- PropertyIncrement increment = incrementPair.getValue();
- dealChangeProp(extendDataType, extendIncrement, key, increment);
- }
- }
-
- private void dealChangeProp(GspCommonDataType extendDataType, HashMap extendIncrement, String key, PropertyIncrement increment) {
- switch (key) {
- case CefNames.Name:
- String mergedName = MergeUtils.getStringValue(CefNames.Name, (StringPropertyIncrement) increment, extendIncrement, null, null);
- extendDataType.setName(mergedName);
- return;
- case CefNames.Code:
- String mergedCode = MergeUtils.getStringValue(CefNames.Code, (StringPropertyIncrement) increment, null, null, null);
- extendDataType.setCode(mergedCode);
- return;
- case CefNames.IsRef:
- boolean mergedIsRef = MergeUtils.getBooleanValue(CefNames.IsRef, (BooleanPropertyIncrement) increment, null, null, null);
- extendDataType.setIsRef(mergedIsRef);
- return;
- case CefNames.I18nResourceInfoPrefix:
- String mergedI18n = MergeUtils.getStringValue(CefNames.I18nResourceInfoPrefix, (StringPropertyIncrement) increment, null, null, null);
- extendDataType.setI18nResourceInfoPrefix(mergedI18n);
- return;
- case CefNames.BeLabel:
- List mergedBeLabel = MergeUtils.getObjectValue(CefNames.BeLabel, (ObjectPropertyIncrement) increment, null, null, null);
- extendDataType.setBeLabel(mergedBeLabel);
- return;
- }
- dealExtendChangeProp(extendDataType, extendIncrement, key, increment);
- }
-
- protected void dealExtendChangeProp(GspCommonDataType extendDataType, HashMap extendIncrement, String key, PropertyIncrement increment) {
-
- }
-
- private void mergeFieldProps(
- GspCommonDataType extendDataType,
- GspCommonDataType rootDataType,
- HashMap extendIncrement,
- HashMap baseIncrement,
- CommonDataTypeControlRule rule,
- CommonDataTypeControlRuleDef def) {
- StringBuilder builder = new StringBuilder();
- builder.append("开始同步编号为:").append(extendDataType.getCode()).append(",名称为:").append(extendDataType.getName()).append("的节点对象上的字段信息");
- logger.info(builder.toString());
- logger.info("同步的字段数量:" + baseIncrement.size());
- for (var fieldPair : baseIncrement.entrySet()) {
-
- var fieldIncrement = fieldPair.getValue();
- switch (fieldIncrement.getIncrementType()) {
- case Added:
- var baseAddedField = ((AddedFieldIncrement) fieldIncrement).getAddedField();
- dealAddedField(baseAddedField, extendIncrement);
- //todo 字段列表中已有相同Id的字段时,不再添加
- if (isAddNewField(extendDataType, baseAddedField)) {
- extendDataType.getContainElements().add(baseAddedField);
- }
- break;
- case Deleted:
- extendDataType.getContainElements().remove(fieldIncrement.getId());
- break;
- case Modify:
- dealModifyField(extendDataType, rootDataType, fieldIncrement, extendIncrement, rule, def);
- }
-
- }
-
- }
-
- private boolean isAddNewField(GspCommonDataType extendDataType, IGspCommonField field) {
- GspFieldCollection containElements = extendDataType.getContainElements();
- IGspCommonField commonField = getCommonField(containElements, field.getID());
- if (commonField != null) {
- logger.info("当前名称为:" + extendDataType.getName() + "的节点对象上已经存在ID为:" + field.getID() + "的字段!");
- }
- return commonField == null;
- }
-
- private IGspCommonField getCommonField(GspFieldCollection containElements, String fieldId) {
- for (IGspCommonField commonField : containElements) {
- if (fieldId.equals(commonField.getID()))
- return commonField;
- }
- return null;
- }
-
- private void dealAddedField(GspCommonField field, HashMap extendIncrement) {
-
- //todo 同编号,同标签字段的处理策略
- }
-
- private void dealModifyField(
- GspCommonDataType extendDataType,
- GspCommonDataType rootDataType,
- GspCommonFieldIncrement baseFieldIncrement,
- HashMap extendIncrement,
- CommonDataTypeControlRule rule,
- CommonDataTypeControlRuleDef def) {
- var field = extendDataType.findElement(baseFieldIncrement.getId());
- if (field == null) {
- if (rootDataType != null) {
- IGspCommonField rootField = rootDataType.findElement(baseFieldIncrement.getId());
- if (rootField != null)
- field = rootField.clone(extendDataType, null);
- }
- if (field == null) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0011, extendDataType.getCode(), baseFieldIncrement.getId());
- }
- }
- GspCommonFieldIncrement extendFieldIncrement = null;
- if (extendIncrement.containsKey(baseFieldIncrement.getId()))
- extendFieldIncrement = extendIncrement.get(baseFieldIncrement.getId());
- var merger = getFieldMerger();
- CommonFieldContrulRuleDef fieldControlRuleDef = (CommonFieldContrulRuleDef) def.getChildControlRules().get(CefNames.Element);
- Map elementRules = rule.getChildRules().get(CefNames.Element);
- CommonFieldControlRule fieldRule = (CommonFieldControlRule) elementRules.get(field.getID());
- field = merger.merge((GspCommonField) field, extendFieldIncrement, baseFieldIncrement, fieldRule, fieldControlRuleDef);
-
- }
-
- protected CommonFieldIncrementMerger getFieldMerger() {
- return new CommonFieldIncrementMerger(includeAll);
- }
-
- protected void mergeExtendModifyIncrement(
- GspCommonDataType extendDataType,
- GspCommonDataType rootDataType,
- ModifyEntityIncrement extendIncrement,
- ModifyEntityIncrement baseIncrement,
- CommonDataTypeControlRule rule,
- CommonDataTypeControlRuleDef def) {
-
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/extractor/AbstractIncrementExtractor.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/extractor/AbstractIncrementExtractor.java
deleted file mode 100644
index 8954fe42d1d2dbdb1b93a5d55d6ab768f029b23b..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/extractor/AbstractIncrementExtractor.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package com.inspur.edp.cef.designtime.api.increment.extractor;
-
-public abstract class AbstractIncrementExtractor {
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/extractor/ExtractUtils.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/extractor/ExtractUtils.java
index cdc3f93e23e67c3e9ebcdb664293915c01ef23c2..2c02ae6170343e54c61cf29dd4ebc8e675278127 100644
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/extractor/ExtractUtils.java
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/extractor/ExtractUtils.java
@@ -1,38 +1,29 @@
package com.inspur.edp.cef.designtime.api.increment.extractor;
import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleValue;
-import com.inspur.edp.cef.designtime.api.collection.GspAssociationCollection;
import com.inspur.edp.cef.designtime.api.collection.GspEnumValueCollection;
-import com.inspur.edp.cef.designtime.api.entity.MappingRelation;
import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityErrorCodeEnum;
import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityException;
-import com.inspur.edp.cef.designtime.api.increment.property.AssoColPropIncrement;
import com.inspur.edp.cef.designtime.api.increment.property.BooleanPropertyIncrement;
import com.inspur.edp.cef.designtime.api.increment.property.EnumColIncrement;
import com.inspur.edp.cef.designtime.api.increment.property.IntPropertyIncrement;
-import com.inspur.edp.cef.designtime.api.increment.property.MappingDicPropIncrement;
import com.inspur.edp.cef.designtime.api.increment.property.ObjectPropertyIncrement;
import com.inspur.edp.cef.designtime.api.increment.property.PropertyIncrement;
import com.inspur.edp.cef.designtime.api.increment.property.StringPropertyIncrement;
import org.springframework.util.ObjectUtils;
-import java.util.HashMap;
+import java.util.Map;
public class ExtractUtils {
-
public static void extractValue(
- HashMap propChange,
+ Map propChange,
String oldValue,
String newValue,
String propName,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem) {
- if (isEqual(oldValue, newValue))
- return;
- if (!isAllow(propName, oldValue, newValue, rule, ruleDefItem))
+ ControlRuleItem rule) {
+ if (!isAllow(rule) || isEqual(oldValue, newValue)) {
return;
+ }
StringPropertyIncrement increment = new StringPropertyIncrement(true);
increment.setPropertyValue(newValue);
@@ -40,33 +31,14 @@ public class ExtractUtils {
}
public static void extractValue(
- HashMap propChange,
- int oldValue,
- int newValue,
- String propName,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem) {
- if (oldValue == newValue)
- return;
- if (!isAllow(propName, oldValue, newValue, rule, ruleDefItem))
- return;
-
- IntPropertyIncrement increment = new IntPropertyIncrement(true);
- increment.setPropertyValue(newValue);
- propChange.put(propName, increment);
- }
-
- public static void extractValue(
- HashMap propChange,
+ Map propChange,
boolean oldValue,
boolean newValue,
String propName,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem) {
- if (oldValue == newValue)
- return;
- if (!isAllow(propName, oldValue, newValue, rule, ruleDefItem))
+ ControlRuleItem rule) {
+ if (!isAllow(rule) || oldValue == newValue) {
return;
+ }
BooleanPropertyIncrement increment = new BooleanPropertyIncrement(true);
increment.setPropertyValue(newValue);
@@ -74,16 +46,14 @@ public class ExtractUtils {
}
public static void extractValue(
- HashMap propChange,
+ Map propChange,
Object oldValue,
Object newValue,
String propName,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem) {
- if (oldValue.equals(newValue))
- return;
- if (!isAllow(propName, oldValue, newValue, rule, ruleDefItem))
+ ControlRuleItem rule) {
+ if (!isAllow(rule) || isEqual(oldValue, newValue)) {
return;
+ }
ObjectPropertyIncrement increment = new ObjectPropertyIncrement(true);
increment.setPropertyValue(newValue);
@@ -91,88 +61,35 @@ public class ExtractUtils {
}
public static void extractValue(
- HashMap propChange,
+ Map propChange,
GspEnumValueCollection oldValue,
GspEnumValueCollection newValue,
String propName,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem) {
- if (oldValue.equals(newValue))
- return;
- if (!isAllow(propName, oldValue, newValue, rule, ruleDefItem))
+ ControlRuleItem rule) {
+ if (!isAllow(rule) || isEqual(oldValue, newValue)) {
return;
+ }
EnumColIncrement increment = new EnumColIncrement(true);
increment.setPropertyValue(newValue);
propChange.put(propName, increment);
}
- public static void extractValue(
- HashMap propChange,
- GspAssociationCollection oldValue,
- GspAssociationCollection newValue,
- String propName,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem) {
- if (oldValue.equals(newValue))
- return;
- if (!isAllow(propName, oldValue, newValue, rule, ruleDefItem))
- return;
-
- AssoColPropIncrement increment = new AssoColPropIncrement(true);
- increment.setPropertyValue(newValue);
- propChange.put(propName, increment);
- }
-
- public static void extractValue(
- HashMap propChange,
- MappingRelation oldValue,
- MappingRelation newValue,
- String propName,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem) {
- if (oldValue.equals(newValue))
- return;
- if (!isAllow(propName, oldValue, newValue, rule, ruleDefItem))
- return;
-
- MappingDicPropIncrement increment = new MappingDicPropIncrement(true);
- increment.setPropertyValue(newValue);
- propChange.put(propName, increment);
- }
-
- private static boolean isAllow(
- String propertyName, Object oldValue, Object newValue, ControlRuleItem rule, ControlRuleDefItem ruleDefItem) {
- if (rule == null && ruleDefItem == null)
- return true;
- if (rule == null)
- return ruleDefItem.getDefaultRuleValue() == ControlRuleValue.Allow;
- switch (rule.getControlRuleValue()) {
- case Allow:
- return true;
- case Forbiddon:
- return false;
- case Default:
- return ruleDefItem.getDefaultRuleValue() == ControlRuleValue.Allow;
- default:
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0019, rule.getControlRuleValue().toString());
- }
-
+ public static boolean isAllow(ControlRuleItem rule) {
+ return ControlRuleItem.isAllow(rule);
}
public static void extractValueAllowShort(
- HashMap propChange,
+ Map propChange,
int oldValue,
int newValue,
String propName,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem) {
+ ControlRuleItem rule) {
- if (oldValue == newValue)
- return;
- if (!isAllow(propName, oldValue, newValue, rule, ruleDefItem))
+ if (!isAllow(rule) || oldValue == newValue) {
return;
+ }
if (newValue > oldValue) {
throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0020, propName);
}
@@ -187,34 +104,10 @@ public class ExtractUtils {
* @param newValue
* @param propName
* @param rule
- * @param ruleDefItem
*/
- public static void extracLengthtValue(HashMap propChange, int oldValue, int newValue, String propName, ControlRuleItem rule, ControlRuleDefItem ruleDefItem) {
- if (oldValue == newValue)
+ public static void extractLengthValue(Map propChange, int oldValue, int newValue, String propName, ControlRuleItem rule) {
+ if (!isAllow(rule) || oldValue == newValue) {
return;
- if (!isAllow(propName, oldValue, newValue, rule, ruleDefItem))
- return;
- IntPropertyIncrement increment = new IntPropertyIncrement(true);
- increment.setPropertyValue(newValue);
- propChange.put(propName, increment);
- }
-
- public static void extractValueAllow2True(
- HashMap propChange,
- boolean oldValue,
- boolean newValue,
- String propName,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem) {
-
- if (oldValue == newValue) {
- return;
- }
- if (!isAllow(propName, oldValue, newValue, rule, ruleDefItem)) {
- return;
- }
- if (oldValue) {
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0021, propName);
}
IntPropertyIncrement increment = new IntPropertyIncrement(true);
increment.setPropertyValue(newValue);
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/extractor/MonkControlRule.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/extractor/MonkControlRule.java
deleted file mode 100644
index 4f72026f95d83d0449223a6c972e5154bbe7842d..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/extractor/MonkControlRule.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.inspur.edp.cef.designtime.api.increment.extractor;
-
-public class MonkControlRule {
-
- public boolean isAllow(String propName) {
- return true;
- }
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/merger/AbstractIncrementMerger.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/merger/AbstractIncrementMerger.java
deleted file mode 100644
index af86feee102adfa7e8f7343efa96552dff1c907c..0000000000000000000000000000000000000000
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/merger/AbstractIncrementMerger.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package com.inspur.edp.cef.designtime.api.increment.merger;
-
-public abstract class AbstractIncrementMerger {
-}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/merger/MergeUtils.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/merger/MergeUtils.java
index b02be8a19d04caabd435b4361dc75f91e5b2a6fe..26bc2fbe346a1e3e6ac0f0bb9cfc12f3dce8a62a 100644
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/merger/MergeUtils.java
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/increment/merger/MergeUtils.java
@@ -1,8 +1,6 @@
package com.inspur.edp.cef.designtime.api.increment.merger;
import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleValue;
import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityErrorCodeEnum;
import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityException;
import com.inspur.edp.cef.designtime.api.increment.property.BooleanPropertyIncrement;
@@ -11,16 +9,18 @@ import com.inspur.edp.cef.designtime.api.increment.property.ObjectPropertyIncrem
import com.inspur.edp.cef.designtime.api.increment.property.PropertyIncrement;
import com.inspur.edp.cef.designtime.api.increment.property.StringPropertyIncrement;
-import java.util.HashMap;
+import java.util.Map;
public class MergeUtils {
+ public static boolean isAllow(ControlRuleItem rule) {
+ return ControlRuleItem.isAllow(rule);
+ }
+
public static int getIntValueAllowShort(
String propName,
IntPropertyIncrement baseIncrement,
- HashMap extendIncrement,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem) {
+ Map extendIncrement) {
int baseValue = (int) baseIncrement.getPropertyValue();
int extendValue = 0;
@@ -33,15 +33,13 @@ public class MergeUtils {
if (extendValue > baseValue) {
throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0020, propName);
}
- return mergeValue(baseValue, extendValue, propName, rule, ruleDefItem, hasExtend);
+ return mergeValue(baseValue, extendValue, hasExtend);
}
public static int getIntValue(
String propName,
IntPropertyIncrement baseIncrement,
- HashMap extendIncrement,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem) {
+ Map extendIncrement) {
int baseValue = (int) baseIncrement.getPropertyValue();
int extendValue = 0;
boolean hasExtend = false;
@@ -50,15 +48,13 @@ public class MergeUtils {
hasExtend = true;
}
- return mergeValue(baseValue, extendValue, propName, rule, ruleDefItem, hasExtend);
+ return mergeValue(baseValue, extendValue, hasExtend);
}
public static String getStringValue(
String propName,
StringPropertyIncrement baseIncrement,
- HashMap extendIncrement,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem) {
+ Map extendIncrement) {
String baseName = baseIncrement.getPropertyValue().toString();
String extendName = null;
boolean hasExtend = false;
@@ -67,15 +63,13 @@ public class MergeUtils {
hasExtend = true;
}
- return mergeValue(baseName, extendName, propName, rule, ruleDefItem, hasExtend);
+ return mergeValue(baseName, extendName, hasExtend);
}
public static boolean getBooleanValue(
String propName,
BooleanPropertyIncrement baseIncrement,
- HashMap extendIncrement,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem) {
+ Map extendIncrement) {
boolean baseValue = (boolean) baseIncrement.getPropertyValue();
Boolean extendValue = null;
boolean hasExtend = false;
@@ -84,15 +78,13 @@ public class MergeUtils {
hasExtend = true;
}
- return mergeValue(baseValue, extendValue, propName, rule, ruleDefItem, hasExtend);
+ return mergeValue(baseValue, extendValue, hasExtend);
}
public static T getObjectValue(
String propName,
ObjectPropertyIncrement baseIncrement,
- HashMap extendIncrement,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem) {
+ Map extendIncrement) {
T baseValue = (T) baseIncrement.getPropertyValue();
T extendValue = null;
boolean hasExtend = false;
@@ -101,68 +93,19 @@ public class MergeUtils {
hasExtend = true;
}
- return mergeValue(baseValue, extendValue, propName, rule, ruleDefItem, hasExtend);
- }
-
- public static String mergeValue(
- String baseValue,
- String extendValue,
- String propName,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem,
- boolean hasExtend) {
-
- if (!isAllow(propName, baseValue, extendValue, rule, ruleDefItem))
- return baseValue;
- if (hasExtend)
- return extendValue;
- return baseValue;
+ return mergeValue(baseValue, extendValue, hasExtend);
}
- public static int mergeValue(
- int baseValue,
- int extendValue,
- String propName,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem,
- boolean hasExtend) {
-
- if (!isAllow(propName, baseValue, extendValue, rule, ruleDefItem))
- return baseValue;
- if (hasExtend)
- return extendValue;
- return baseValue;
+ public static String mergeValue(String baseValue, String extendValue, boolean hasExtend) {
+ return hasExtend ? extendValue : baseValue;
}
- public static T mergeValue(
- T baseValue,
- T extendValue,
- String propName,
- ControlRuleItem rule,
- ControlRuleDefItem ruleDefItem,
- boolean hasExtend) {
-
- if (!isAllow(propName, baseValue, extendValue, rule, ruleDefItem))
- return baseValue;
- if (hasExtend)
- return extendValue;
- return baseValue;
+ public static int mergeValue(int baseValue, int extendValue, boolean hasExtend) {
+ return hasExtend ? extendValue : baseValue;
}
- private static boolean isAllow(
- String propertyName, Object oldValue, Object newValue, ControlRuleItem rule, ControlRuleDefItem ruleDefItem) {
- if (rule == null && ruleDefItem == null)
- return true;
- switch (rule.getControlRuleValue()) {
- case Allow:
- return true;
- case Forbiddon:
- return false;
- case Default:
- return ruleDefItem.getDefaultRuleValue() == ControlRuleValue.Allow;
- default:
- throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0019, rule.getControlRuleValue().toString());
- }
+ public static T mergeValue(T baseValue, T extendValue, boolean hasExtend) {
+ return hasExtend ? extendValue : baseValue;
}
public static String getKeyPrefix(String currentKey, String preFix) {
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/validate/element/EunmFieldChecker.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/validate/element/EnumFieldChecker.java
similarity index 89%
rename from common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/validate/element/EunmFieldChecker.java
rename to common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/validate/element/EnumFieldChecker.java
index a66b274fbc6491cbe8c5a5775255ee8a67f54972..ff06f76c0f1d0ccc05006383840ec608c1e290c5 100644
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/validate/element/EunmFieldChecker.java
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/validate/element/EnumFieldChecker.java
@@ -19,17 +19,17 @@ import static com.inspur.edp.cef.designtime.api.validate.common.CheckUtil.isLega
* @Date: 2021/1/11 17:13
* @Version: V1.0
*/
-public class EunmFieldChecker {
- private static EunmFieldChecker eunmFieldChecker;
+public class EnumFieldChecker {
+ private static EnumFieldChecker enumFieldChecker;
- public static EunmFieldChecker getInstance() {
- if (eunmFieldChecker == null) {
- eunmFieldChecker = new EunmFieldChecker();
+ public static EnumFieldChecker getInstance() {
+ if (enumFieldChecker == null) {
+ enumFieldChecker = new EnumFieldChecker();
}
- return eunmFieldChecker;
+ return enumFieldChecker;
}
- public final void checkEunm(IGspCommonField field, IGspCommonDataType commonDataType) {
+ public final void checkEnum(IGspCommonField field, IGspCommonDataType commonDataType) {
if (field.getContainEnumValues() == null || field.getContainEnumValues().isEmpty()) {
CheckUtil.exception(MessageI18nUtils.getMessage("GSP_VALIDATE_ERROR_0002", commonDataType.getCode(), field.getName()));
}
diff --git a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/validate/element/FieldChecker.java b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/validate/element/FieldChecker.java
index e452126a724daab1df715726cfdb737e80672f4f..8c6fb727312cfd07aa1059519bdd583fe03372b8 100644
--- a/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/validate/element/FieldChecker.java
+++ b/common-entity-model/src/main/java/com/inspur/edp/cef/designtime/api/validate/element/FieldChecker.java
@@ -37,7 +37,7 @@ public abstract class FieldChecker {
AssociationFieldChecker.getInstance().checkAssociationField(field, commonDataType);
break;
case Enum:
- EunmFieldChecker.getInstance().checkEunm(field, commonDataType);
+ EnumFieldChecker.getInstance().checkEnum(field, commonDataType);
break;
case None:
break;
diff --git a/common-model-api/pom.xml b/common-model-api/pom.xml
index f2a1c55dbbcb1659c98fb76dfb638a759fe166d1..9f90c6a11b7b269a9458de6f2e774135d55cdf36 100644
--- a/common-model-api/pom.xml
+++ b/common-model-api/pom.xml
@@ -18,7 +18,7 @@
com.inspur.edp
business-entity-model1
- 0.2.2-SNAPSHOT
+ 0.2.3-SNAPSHOT
4.0.0
common-model-api
diff --git a/common-model/pom.xml b/common-model/pom.xml
index 44721a1df1fc475db5279600fe27da3249aa6e8c..ea65b257b75f540333938cb770c492dfbf1d684b 100644
--- a/common-model/pom.xml
+++ b/common-model/pom.xml
@@ -21,7 +21,7 @@
com.inspur.edp
business-entity-model1
- 0.2.2-SNAPSHOT
+ 0.2.3-SNAPSHOT
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/CmControlRule.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/CmControlRule.java
deleted file mode 100644
index 0db832a2340c72b954e0f18f0117ab3513385c46..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/CmControlRule.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlrule;
-
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.AbstractControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.RangeControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeRuleNames;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmRuleNames;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class CmControlRule extends RangeControlRule {
- public CmControlRule() {
- createMainEntityControlRule();
- }
-
- public ControlRuleItem getNameControlRule() {
- return super.getControlRule(CmRuleNames.Name);
- }
-
- public void setNameControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CmRuleNames.Name, ruleItem);
- }
-
- public ControlRuleItem getCodeControlRule() {
- return super.getControlRule(CmRuleNames.Code);
- }
-
- public void setCodeControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CmRuleNames.Code, ruleItem);
- }
-
- protected CmEntityControlRule createMainEntityControlRule() {
- return new CmEntityControlRule();
- }
-
- public CmEntityControlRule getMainEntityControlRule() {
- if (!getChildRules().containsKey(CommonDataTypeRuleNames.MainObjectRule)) {
- return null;
- }
- Map rules = getChildRules().get(CommonDataTypeRuleNames.MainObjectRule);
- if (rules == null) {
- rules = new HashMap<>();
- getChildRules().put(CommonDataTypeRuleNames.MainObjectRule, rules);
- }
- return (CmEntityControlRule) rules.get(CommonDataTypeRuleNames.MainObjectRule);
- }
-
- public void setMainEntityControlRule(CmEntityControlRule mainObjRule) {
- if (!getChildRules().containsKey(CommonDataTypeRuleNames.MainObjectRule)) {
- getChildRules().put(CommonDataTypeRuleNames.MainObjectRule, new HashMap<>());
- }
- getChildRules().get(CommonDataTypeRuleNames.MainObjectRule).put(CommonDataTypeRuleNames.MainObjectRule, mainObjRule);
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/CmEntityControlRule.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/CmEntityControlRule.java
deleted file mode 100644
index a1039de3df4d41b772b12d0642ed73c636715dcb..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/CmEntityControlRule.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlrule;
-
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.ControlRuleItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonDataTypeControlRule;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmEntityRuleNames;
-
-public class CmEntityControlRule extends CommonDataTypeControlRule {
-
- public ControlRuleItem getAddChildEntityControlRule() {
- return super.getControlRule(CmEntityRuleNames.AddChildEntity);
- }
-
- public void setAddChildEntityControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CmEntityRuleNames.AddChildEntity, ruleItem);
- }
-
- public ControlRuleItem getModifyChildEntitiesControlRule() {
- return super.getControlRule(CmEntityRuleNames.ModifyChildEntities);
- }
-
- public void setModifyChildEntitiesControlRule(ControlRuleItem ruleItem) {
- super.setControlRule(CmEntityRuleNames.ModifyChildEntities, ruleItem);
- }
-
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/CmFieldControlRule.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/CmFieldControlRule.java
deleted file mode 100644
index 4779d26fafc2ad6d7c4687ec9acffdb8f0ef8e18..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/CmFieldControlRule.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlrule;
-
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonFieldControlRule;
-
-public class CmFieldControlRule extends CommonFieldControlRule {
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/parser/CmControlRuleParser.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/parser/CmControlRuleParser.java
deleted file mode 100644
index bfba06d2df908adca73c2070023835dd824ee0b5..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/parser/CmControlRuleParser.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlrule.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.parser.RangeRuleParser;
-import com.inspur.edp.das.commonmodel.controlrule.CmControlRule;
-
-public class CmControlRuleParser extends RangeRuleParser {
- @Override
- protected final boolean readRangeExtendControlRuleProperty(T controlRule, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- if (super.readRangeExtendControlRuleProperty(controlRule, propName, jsonParser, deserializationContext))
- return true;
- return readCmRuleExtendProperty(controlRule, propName, jsonParser, deserializationContext);
- }
-
- protected boolean readCmRuleExtendProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- return false;
- }
-
- protected CmControlRule createCmRule() {
- return new CmControlRule();
- }
-
- @Override
- protected T createControlRule() {
- return (T) createCmRule();
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/parser/CmEntityControlRuleParser.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/parser/CmEntityControlRuleParser.java
deleted file mode 100644
index ed69b2ab6c4cb5d2e4d395ec7a6904b08e40faf3..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/parser/CmEntityControlRuleParser.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlrule.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonDataTypeControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.parser.CommonDataTypeRuleParser;
-import com.inspur.edp.das.commonmodel.controlrule.CmEntityControlRule;
-
-public class CmEntityControlRuleParser extends CommonDataTypeRuleParser {
-
- @Override
- protected final boolean readCommonDataTypeRuleExtendProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- if (super.readCommonDataTypeRuleExtendProperty(ruleDefinition, propName, jsonParser, deserializationContext))
- return true;
- return readCmEntityRuleExtendProperty(ruleDefinition, propName, jsonParser, deserializationContext);
- }
-
- protected boolean readCmEntityRuleExtendProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- return false;
- }
-
- @Override
- protected final CommonDataTypeControlRule createCommonDataTypeRule() {
- return createCmEntityRule();
- }
-
- protected CmEntityControlRule createCmEntityRule() {
- return new CmEntityControlRule();
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/parser/CmFieldRuleParser.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/parser/CmFieldRuleParser.java
deleted file mode 100644
index 89d67d79d27d60e3bb12b39915cf9dd205a5b811..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/parser/CmFieldRuleParser.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlrule.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.parser.CommonFieldRuleParser;
-import com.inspur.edp.das.commonmodel.controlrule.CmFieldControlRule;
-
-public class CmFieldRuleParser extends CommonFieldRuleParser {
-
- @Override
- protected final boolean readCommonFieldRuleExtendProperty(T controlRule, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- if (super.readCommonFieldRuleExtendProperty(controlRule, propName, jsonParser, deserializationContext))
- return true;
- return readCmFieldRuleExtendProperty(controlRule, propName, jsonParser, deserializationContext);
- }
-
- protected boolean readCmFieldRuleExtendProperty(T controlRule, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- return false;
- }
-
- @Override
- protected final CmFieldControlRule createCommonFieldRuleDefinition() {
- return createCmFieldRuleDefinition();
- }
-
- protected CmFieldControlRule createCmFieldRuleDefinition() {
- return new CmFieldControlRule();
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/serializer/CmEntityControlRuleSerializer.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/serializer/CmEntityControlRuleSerializer.java
deleted file mode 100644
index b0fe86193dc8138d341850dc711263cd62f1ac85..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/serializer/CmEntityControlRuleSerializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlrule.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.serializer.CommonDataTypeRuleSerializer;
-import com.inspur.edp.das.commonmodel.controlrule.CmEntityControlRule;
-
-public class CmEntityControlRuleSerializer extends CommonDataTypeRuleSerializer {
- @Override
- protected final void writeCommonDataTypeRuleExtendInfos(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- super.writeCommonDataTypeRuleExtendInfos(controlRule, jsonGenerator, serializerProvider);
- writeCmEntityRuleExtendInfos(controlRule, jsonGenerator, serializerProvider);
- }
-
- protected void writeCmEntityRuleExtendInfos(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
-
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/serializer/CmFieldControlRuleSerializer.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/serializer/CmFieldControlRuleSerializer.java
deleted file mode 100644
index cdcf19286a21666a202e2bd5490d77dbe27b0063..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/serializer/CmFieldControlRuleSerializer.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlrule.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.serializer.CommonFieldRuleSerializer;
-import com.inspur.edp.das.commonmodel.controlrule.CmFieldControlRule;
-
-public class CmFieldControlRuleSerializer extends CommonFieldRuleSerializer {
-
- @Override
- protected final void writeCommonFieldRuleExtendInfos(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- super.writeCommonFieldRuleExtendInfos(controlRule, jsonGenerator, serializerProvider);
- writeCmFieldRuleExtendInfos(controlRule, jsonGenerator, serializerProvider);
- }
-
- protected void writeCmFieldRuleExtendInfos(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
-
-
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/serializer/CmRuleSerializer.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/serializer/CmRuleSerializer.java
deleted file mode 100644
index 3dba0ba3c50e75ba0f532befbd565d5f1018b431..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlrule/serializer/CmRuleSerializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlrule.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.basic.serializer.RangeRuleSerializer;
-import com.inspur.edp.das.commonmodel.controlrule.CmControlRule;
-
-public class CmRuleSerializer extends RangeRuleSerializer {
- @Override
- protected final void writeRangeExtendInfos(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- super.writeRangeExtendInfos(controlRule, jsonGenerator, serializerProvider);
- writeCmRuleExtendInfos(controlRule, jsonGenerator, serializerProvider);
- }
-
- protected void writeCmRuleExtendInfos(T controlRule, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
-
- }
-}
\ No newline at end of file
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmControlRuleDef.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmControlRuleDef.java
deleted file mode 100644
index 90545ae61b98478541f3c039f53ee9ede3702d63..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmControlRuleDef.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlruledef.entity;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefinition;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.RangeRuleDefinition;
-import com.inspur.edp.das.commonmodel.controlruledef.parser.CmRuleDefParser;
-import com.inspur.edp.das.commonmodel.controlruledef.serializer.CmRuleDefSerializer;
-
-@JsonSerialize(using = CmRuleDefSerializer.class)
-@JsonDeserialize(using = CmRuleDefParser.class)
-public class CmControlRuleDef extends RangeRuleDefinition {
- public CmControlRuleDef(ControlRuleDefinition parentRuleDefinition, String ruleObjectType) {
- super(parentRuleDefinition, ruleObjectType);
- }
-
- public ControlRuleDefItem getNameControlRule() {
- return super.getControlRuleItem(CmRuleNames.Name);
- }
-
- public void setNameControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CmRuleNames.Name, ruleItem);
- }
-
- public ControlRuleDefItem getCodeControlRule() {
- return super.getControlRuleItem(CmRuleNames.Code);
- }
-
- public void setCodeControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CmRuleNames.Code, ruleItem);
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmEntityControlRuleDef.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmEntityControlRuleDef.java
deleted file mode 100644
index 5d983b9b36279d8c910f5ae564b7b1d93b659b83..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmEntityControlRuleDef.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlruledef.entity;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefItem;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefinition;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeControlRuleDef;
-import com.inspur.edp.das.commonmodel.controlruledef.parser.CmEntityControlRuleDefParser;
-import com.inspur.edp.das.commonmodel.controlruledef.serializer.CmEntityControlRuleDefSerializer;
-
-@JsonSerialize(using = CmEntityControlRuleDefSerializer.class)
-@JsonDeserialize(using = CmEntityControlRuleDefParser.class)
-public class CmEntityControlRuleDef extends CommonDataTypeControlRuleDef {
- public CmEntityControlRuleDef(ControlRuleDefinition parentRuleDefinition) {
- super(parentRuleDefinition, CmEntityRuleNames.CmEntityRuleObjectType);
- }
-
- public ControlRuleDefItem getAddChildEntityControlRule() {
- return super.getControlRuleItem(CmEntityRuleNames.AddChildEntity);
- }
-
- public void setAddChildEntityControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CmEntityRuleNames.AddChildEntity, ruleItem);
- }
-
- public ControlRuleDefItem getModifyChildEntitiesControlRule() {
- return super.getControlRuleItem(CmEntityRuleNames.ModifyChildEntities);
- }
-
- public void setModifyChildEntitiesControlRule(ControlRuleDefItem ruleItem) {
- super.setControlRuleItem(CmEntityRuleNames.ModifyChildEntities, ruleItem);
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmEntityRuleNames.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmEntityRuleNames.java
deleted file mode 100644
index a5ccebba365fcb42141c4e0fd688c335ba004d2e..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmEntityRuleNames.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlruledef.entity;
-
-public class CmEntityRuleNames {
- public static String CmEntityRuleObjectType = "GspCommonModelEntity";
- public static String AddChildEntity = "AddChildEntity";
- public static String ModifyChildEntities = "ModifyChildEntities";
-
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmFieldControlRuleDef.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmFieldControlRuleDef.java
deleted file mode 100644
index 134e3bd100c60542672e376976a28d4ab81dc579..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmFieldControlRuleDef.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlruledef.entity;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleDefinition;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonFieldContrulRuleDef;
-import com.inspur.edp.das.commonmodel.controlruledef.parser.CmFieldRuleDefParser;
-import com.inspur.edp.das.commonmodel.controlruledef.serializer.CmFieldControlRuleDefSerializer;
-
-@JsonSerialize(using = CmFieldControlRuleDefSerializer.class)
-@JsonDeserialize(using = CmFieldRuleDefParser.class)
-public class CmFieldControlRuleDef extends CommonFieldContrulRuleDef {
- public CmFieldControlRuleDef(ControlRuleDefinition parentRuleDefinition) {
- super(parentRuleDefinition, CmFieldRuleNames.CmFieldRuleObjectTypeName);
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmRuleNames.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmRuleNames.java
deleted file mode 100644
index d6f931c991cc87ada938638608e702b524bf66dd..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmRuleNames.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlruledef.entity;
-
-public class CmRuleNames {
- public static String Code = "Code";
- public static String CmRuleObjectType = "CommonModel";
- public static String Name = "Name";
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmFieldRuleNames.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CommonModelRuleNames.java
similarity index 37%
rename from common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmFieldRuleNames.java
rename to common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CommonModelRuleNames.java
index 3cfae6890fda50c3a4492ee1724247bc464137bf..561f37006216cda4e90d0330657b80feb7667949 100644
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CmFieldRuleNames.java
+++ b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/entity/CommonModelRuleNames.java
@@ -1,5 +1,5 @@
package com.inspur.edp.das.commonmodel.controlruledef.entity;
-public class CmFieldRuleNames {
- public static String CmFieldRuleObjectTypeName = "GspCommonModelField";
+public class CommonModelRuleNames {
+ public static String ModelName = "RULE_MODEL_NAME";
}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/parser/CmEntityControlRuleDefParser.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/parser/CmEntityControlRuleDefParser.java
deleted file mode 100644
index 3022e3b883df47c6fbd5fcce11e49bfb12d45d33..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/parser/CmEntityControlRuleDefParser.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlruledef.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeControlRuleDef;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.parser.CommonDataTypeRuleDefParser;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmEntityControlRuleDef;
-
-public class CmEntityControlRuleDefParser extends CommonDataTypeRuleDefParser {
-
- @Override
- protected final boolean readCommonDataTypeRuleExtendProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- if (super.readCommonDataTypeRuleExtendProperty(ruleDefinition, propName, jsonParser, deserializationContext))
- return true;
- return readCmEntityRuleExtendProperty(ruleDefinition, propName, jsonParser, deserializationContext);
- }
-
- protected boolean readCmEntityRuleExtendProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- return false;
- }
-
- @Override
- protected final CommonDataTypeControlRuleDef createCommonDataTypeRuleDefinition() {
- return createCmEntityRuleDef();
- }
-
- protected CmEntityControlRuleDef createCmEntityRuleDef() {
- return new CmEntityControlRuleDef(null);
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/parser/CmFieldRuleDefParser.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/parser/CmFieldRuleDefParser.java
deleted file mode 100644
index 05a4e2c1b5b30d4ca37053a8eda1b9da0d21b6ba..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/parser/CmFieldRuleDefParser.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlruledef.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonFieldContrulRuleDef;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.parser.CommonFieldRuleDefParser;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmFieldControlRuleDef;
-
-public class CmFieldRuleDefParser extends CommonFieldRuleDefParser {
-
- @Override
- protected final boolean readCommonFieldRuleExtendProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- if (super.readCommonFieldRuleExtendProperty(ruleDefinition, propName, jsonParser, deserializationContext))
- return true;
- return readCmFieldRuleExtendProperty(ruleDefinition, propName, jsonParser, deserializationContext);
- }
-
- protected boolean readCmFieldRuleExtendProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- return false;
- }
-
- @Override
- protected final CommonFieldContrulRuleDef createCommonFieldRuleDefinition() {
- return createCmFieldRuleDefinition();
- }
-
- protected CmFieldControlRuleDef createCmFieldRuleDefinition() {
- return new CmFieldControlRuleDef(null);
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/parser/CmRuleDefParser.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/parser/CmRuleDefParser.java
deleted file mode 100644
index 2835d77b9b678c887bf914788d675a52a4bca954..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/parser/CmRuleDefParser.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlruledef.parser;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.parser.RangeRuleDefParser;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmControlRuleDef;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmRuleNames;
-
-public class CmRuleDefParser extends RangeRuleDefParser {
- @Override
- protected final boolean readRangeExtendControlRuleProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- if (super.readRangeExtendControlRuleProperty(ruleDefinition, propName, jsonParser, deserializationContext))
- return true;
- return readCmRuleExtendProperty(ruleDefinition, propName, jsonParser, deserializationContext);
- }
-
- protected boolean readCmRuleExtendProperty(T ruleDefinition, String propName, JsonParser jsonParser, DeserializationContext deserializationContext) {
- return false;
- }
-
- @Override
- protected T createRuleDefinition() {
- return (T) createCmRuleDef();
- }
-
- protected CmControlRuleDef createCmRuleDef() {
- return new CmControlRuleDef(null, CmRuleNames.CmRuleObjectType);
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/serializer/CmEntityControlRuleDefSerializer.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/serializer/CmEntityControlRuleDefSerializer.java
deleted file mode 100644
index e493424652808e06ac5c1ae49fda99a9f5ea1d87..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/serializer/CmEntityControlRuleDefSerializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlruledef.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.serializer.CommonDataTypeRuleDefSerializer;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmEntityControlRuleDef;
-
-public class CmEntityControlRuleDefSerializer extends CommonDataTypeRuleDefSerializer {
- @Override
- protected final void writeCommonDataTypeRuleExtendInfos(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- super.writeCommonDataTypeRuleExtendInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
- writeCmEntityRuleExtendInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
- }
-
- protected void writeCmEntityRuleExtendInfos(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
-
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/serializer/CmFieldControlRuleDefSerializer.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/serializer/CmFieldControlRuleDefSerializer.java
deleted file mode 100644
index 14d32a01efe980ea64222aabdf1515cf1e1e490a..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/serializer/CmFieldControlRuleDefSerializer.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlruledef.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.serializer.CommonFieldRuleDefSerializer;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmFieldControlRuleDef;
-
-public class CmFieldControlRuleDefSerializer extends CommonFieldRuleDefSerializer {
-
- @Override
- protected final void writeCommonFieldRuleExtendInfos(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- super.writeCommonFieldRuleExtendInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
- writeCmFieldRuleExtendInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
- }
-
- protected void writeCmFieldRuleExtendInfos(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
-
-
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/serializer/CmRuleDefSerializer.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/serializer/CmRuleDefSerializer.java
deleted file mode 100644
index 820a6344ede6cb34f53bf03d448b4a0119ba581f..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/controlruledef/serializer/CmRuleDefSerializer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.inspur.edp.das.commonmodel.controlruledef.serializer;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.serializer.RangeRuleDefSerializer;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmControlRuleDef;
-
-public class CmRuleDefSerializer extends RangeRuleDefSerializer {
- @Override
- protected final void writeRangeExtendInfos(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
- super.writeRangeExtendInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
- writeCmRuleExtendInfos(controlRuleDefinition, jsonGenerator, serializerProvider);
- }
-
- protected void writeCmRuleExtendInfos(T controlRuleDefinition, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
-
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/element/increment/extract/CommonElementExtractor.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/element/increment/extract/CommonElementExtractor.java
index 1b5056f82c46682b997e14e8ada4391a80ee811b..60717728ddd1f07a5957c7a14beddaac7df09af1 100644
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/element/increment/extract/CommonElementExtractor.java
+++ b/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/element/increment/extract/CommonElementExtractor.java
@@ -1,25 +1,116 @@
package com.inspur.edp.das.commonmodel.entity.element.increment.extract;
-import com.inspur.edp.cef.designtime.api.element.increment.extract.CommonFieldIncrementExtractor;
-import com.inspur.edp.cef.designtime.api.element.increment.extract.ModifyFieldExtractor;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonObjectRule;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonElementRule;
+import com.inspur.edp.cef.designtime.api.element.increment.AddedFieldIncrement;
+import com.inspur.edp.cef.designtime.api.element.increment.DeletedFieldIncrement;
+import com.inspur.edp.cef.designtime.api.element.increment.GspCommonFieldIncrement;
+import com.inspur.edp.cef.designtime.api.element.increment.ModifyFieldIncrement;
+import com.inspur.edp.cef.designtime.api.entity.GspCommonField;
+import com.inspur.edp.cef.designtime.api.increment.extractor.ExtractUtils;
+import com.inspur.edp.cef.designtime.api.json.CefNames;
+import com.inspur.edp.das.commonmodel.entity.GspCommonElement;
+import com.inspur.edp.das.commonmodel.json.CommonModelNames;
+import lombok.var;
-public class CommonElementExtractor extends CommonFieldIncrementExtractor {
+/**
+ * CommonElementExtractor — 字段(Element)层增量抽取器。
+ *
+ * @ClassName: CommonElementExtractor
+ * @Author: Benjamin Gong
+ * @Date: 2021/1/11 17:13
+ * @Version: V1.0
+ */
+public class CommonElementExtractor {
public CommonElementExtractor() {
- super();
}
- public CommonElementExtractor(boolean includeAll) {
- super(includeAll);
+ // ── ADD / DELETE ─
+
+ public GspCommonFieldIncrement extractAddedField(GspCommonField newField) {
+ AddedFieldIncrement increment = new AddedFieldIncrement();
+ increment.setField(newField);
+ return increment;
+ }
+
+ public GspCommonFieldIncrement extractDeletedField(GspCommonField oldField) {
+ DeletedFieldIncrement increment = new DeletedFieldIncrement(oldField.getID());
+ increment.setId(oldField.getId());
+ return increment;
+ }
+
+ // ── 字段三元分流 ─
+
+ public GspCommonFieldIncrement extractorIncrement(
+ GspCommonField oldField, GspCommonField newField,
+ CommonObjectRule objectRule) {
+
+ if (oldField == null && newField == null) {
+ return null;
+ }
+
+ // ADD branch
+ if (oldField == null && newField != null) {
+ if (ExtractUtils.isAllow(objectRule.getAddElementRule())) {
+ return extractAddedField(newField);
+ }
+ return null;
+ }
+
+ // DELETE branch
+ if (oldField != null && newField == null) {
+ if (ExtractUtils.isAllow(objectRule.getDeleteElementRule())) {
+ return extractDeletedField(oldField);
+ }
+ return null;
+ }
+
+ // MODIFY branch: extract field-level rule from objectRule
+ CommonElementRule elementRule = objectRule.getElementRule(oldField.getID());
+ return extractModifyField(oldField, newField, elementRule);
}
- @Override
- protected final ModifyFieldExtractor getModifyFieldExtractor() {
- return getModifyElementExtractor();
+ // ── MODIFY 详情 ─
+
+ private ModifyFieldIncrement extractModifyField(GspCommonField oldField, GspCommonField newField, CommonElementRule rule) {
+
+ ModifyFieldIncrement increment = new ModifyFieldIncrement();
+ increment.setId(oldField.getId());
+ //ChangeProperties()
+ extractSelfInfo(increment, oldField, newField, rule);
+ extractCmExtendInfo(increment, (GspCommonElement) oldField, (GspCommonElement) newField, rule);
+
+ if (increment.getChangeProperties().isEmpty()) {
+ return null;
+ }
+ return increment;
}
- protected ModifyElementExtractor getModifyElementExtractor() {
- return new ModifyElementExtractor(includeAll);
+ // ── Base field info ─
+
+ private void extractSelfInfo(ModifyFieldIncrement increment, GspCommonField oldField, GspCommonField newField, CommonElementRule rule) {
+
+// ExtractUtils.extractValue(increment.getChangeProperties(), oldField.getCode(), newField.getCode(), CefNames.Code, rule);
+ ExtractUtils.extractValue(increment.getChangeProperties(), oldField.getName(), newField.getName(), CefNames.Name, rule == null ? null : rule.getNameRule());
+ ExtractUtils.extractValue(increment.getChangeProperties(), oldField.getDefaultValue(), newField.getDefaultValue(), CefNames.DefaultValue, rule == null ? null : rule.getDefaultValueRule());
+ ExtractUtils.extractValue(increment.getChangeProperties(), oldField.getDefaultValueType(), newField.getDefaultValueType(), CefNames.DefaultValueType, rule == null ? null : rule.getDefaultValueRule());
+ ExtractUtils.extractLengthValue(increment.getChangeProperties(), oldField.getLength(), newField.getLength(), CefNames.Length, rule == null ? null : rule.getLengthRule());
+ ExtractUtils.extractValueAllowShort(increment.getChangeProperties(), oldField.getPrecision(), newField.getPrecision(), CefNames.Precision, rule == null ? null : rule.getPrecisionRule());
+ ExtractUtils.extractValue(increment.getChangeProperties(), oldField.getContainEnumValues(), newField.getContainEnumValues(), CefNames.ContainEnumValues, rule == null ? null : rule.getContainEnumValuesRule());
+ ExtractUtils.extractValue(increment.getChangeProperties(), oldField.getIsRequire(), newField.getIsRequire(), CefNames.IsRequire, rule == null ? null : rule.getRequiredRule());
+ }
+
+ // ── CM extend info ─
+
+ private void extractCmExtendInfo(ModifyFieldIncrement increment, GspCommonElement oldField, GspCommonElement newField, CommonElementRule rule) {
+ var changes = increment.getChangeProperties();
+ ExtractUtils.extractValue(changes, oldField.getIsPersistent(), newField.getIsPersistent(), CommonModelNames.IsPersistent, rule == null ? null : rule.getIsPersistentRule());
+ ExtractUtils.extractValue(changes, oldField.getCustomizeRefObjectID(), newField.getCustomizeRefObjectID(), CommonModelNames.CustomizeRefObjectID, rule == null ? null : rule.getCustomizeRefRule());
+ ExtractUtils.extractValue(changes, oldField.getCustomizeRefElementID(), newField.getCustomizeRefElementID(), CommonModelNames.CustomizeRefElementID, rule == null ? null : rule.getCustomizeRefRule());
+ ExtractUtils.extractValue(changes, oldField.getIsEnableEncryption(), newField.getIsEnableEncryption(), CommonModelNames.IsEnableEncryption, rule == null ? null : rule.getEncryptionRule());
+ ExtractUtils.extractValue(changes, oldField.getEncryptionCode(), newField.getEncryptionCode(), CommonModelNames.EncryptionCode, rule == null ? null : rule.getEncryptionRule());
+ ExtractUtils.extractValue(changes, oldField.getIsDefaultNull(), newField.getIsDefaultNull(), CommonModelNames.IsDefaultNull, rule == null ? null : rule.getIsDefaultNullRule());
}
}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/element/increment/extract/ModifyElementExtractor.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/element/increment/extract/ModifyElementExtractor.java
deleted file mode 100644
index 2b49893a08dae22b88e3b0091a6fa84865ea9421..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/element/increment/extract/ModifyElementExtractor.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package com.inspur.edp.das.commonmodel.entity.element.increment.extract;
-
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonFieldControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonFieldContrulRuleDef;
-import com.inspur.edp.cef.designtime.api.element.increment.ModifyFieldIncrement;
-import com.inspur.edp.cef.designtime.api.element.increment.extract.ModifyFieldExtractor;
-import com.inspur.edp.cef.designtime.api.entity.GspCommonField;
-import com.inspur.edp.cef.designtime.api.increment.extractor.ExtractUtils;
-import com.inspur.edp.das.commonmodel.entity.GspCommonElement;
-import com.inspur.edp.das.commonmodel.json.CommonModelNames;
-import lombok.var;
-
-public class ModifyElementExtractor extends ModifyFieldExtractor {
- public ModifyElementExtractor() {
- super();
- }
-
- public ModifyElementExtractor(boolean includeAll) {
- super(includeAll);
- }
-
- protected void extractExtendInfo(ModifyFieldIncrement increment, GspCommonField oldField, GspCommonField newField, CommonFieldControlRule rule, CommonFieldContrulRuleDef def) {
-
- extractCmExtendInfo(increment, (GspCommonElement) oldField, (GspCommonElement) newField, rule, def);
- }
-
-
- private void extractCmExtendInfo(ModifyFieldIncrement increment, GspCommonElement oldField, GspCommonElement newField, CommonFieldControlRule rule, CommonFieldContrulRuleDef def) {
-
- if (includeAll)
- extractCmAllInfo(increment, oldField, newField);
- var changes = increment.getChangeProperties();
- ExtractUtils.extractValue(changes, oldField.getIsPersistent(), newField.getIsPersistent(), CommonModelNames.IsPersistent, null, null);
- ExtractUtils.extractValue(changes, oldField.getCustomizeRefObjectID(), newField.getCustomizeRefObjectID(), CommonModelNames.CustomizeRefObjectID, null, null);
- ExtractUtils.extractValue(changes, oldField.getCustomizeRefElementID(), newField.getCustomizeRefElementID(), CommonModelNames.CustomizeRefElementID, null, null);
- ExtractUtils.extractValue(changes, oldField.getIsEnableEncryption(), newField.getIsEnableEncryption(), CommonModelNames.IsEnableEncryption, null, null);
- ExtractUtils.extractValue(changes, oldField.getEncryptionCode(), newField.getEncryptionCode(), CommonModelNames.EncryptionCode, null, null);
- ExtractUtils.extractValue(changes, oldField.getIsDefaultNull(), newField.getIsDefaultNull(), CommonModelNames.IsDefaultNull, null, null);
- }
-
- private void extractCmAllInfo(ModifyFieldIncrement increment, GspCommonElement oldField, GspCommonElement newField) {
- var changes = increment.getChangeProperties();
- ExtractUtils.extractValue(changes, oldField.getColumnID(), newField.getColumnID(), CommonModelNames.ColumnID, null, null);
- ExtractUtils.extractValue(changes, oldField.getBelongModelID(), newField.getBelongModelID(), CommonModelNames.BelongModelID, null, null);
- ExtractUtils.extractValue(changes, oldField.getReadonly(), newField.getReadonly(), CommonModelNames.Readonly, null, null);
- ExtractUtils.extractValue(changes, oldField.getIsCustomItem(), newField.getIsCustomItem(), CommonModelNames.IsCustomItem, null, null);
- ExtractUtils.extractValue(changes, oldField.getIsPersistent(), newField.getIsPersistent(), CommonModelNames.IsPersistent, null, null);
- ExtractUtils.extractValue(changes, oldField.getCustomizeRefObjectID(), newField.getCustomizeRefObjectID(), CommonModelNames.CustomizeRefElementID, null, null);
- ExtractUtils.extractValue(changes, oldField.getCustomizeRefElementID(), newField.getCustomizeRefElementID(), CommonModelNames.CustomizeRefElementID, null, null); //
- ExtractUtils.extractValue(changes, oldField.getIsEnableEncryption(), newField.getIsEnableEncryption(), CommonModelNames.IsEnableEncryption, null, null);
- ExtractUtils.extractValue(changes, oldField.getEncryptionCode(), newField.getEncryptionCode(), CommonModelNames.EncryptionCode, null, null);
- ExtractUtils.extractValue(changes, oldField.getIsDefaultNull(), newField.getIsDefaultNull(), CommonModelNames.IsDefaultNull, null, null);
- }
-
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/element/increment/merger/CommonElementMerger.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/element/increment/merger/CommonElementMerger.java
index b1994b7be3e4844cb39758a5761fba0dbba36b0b..3ad2456c42490b44342c3601ac3f760668c02e30 100644
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/element/increment/merger/CommonElementMerger.java
+++ b/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/element/increment/merger/CommonElementMerger.java
@@ -1,84 +1,154 @@
package com.inspur.edp.das.commonmodel.entity.element.increment.merger;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonFieldControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonFieldContrulRuleDef;
+import com.inspur.edp.cef.designtime.api.IGspCommonField;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonElementRule;
+import com.inspur.edp.cef.designtime.api.collection.GspEnumValueCollection;
+import com.inspur.edp.cef.designtime.api.element.ElementDefaultVauleType;
+import com.inspur.edp.cef.designtime.api.element.increment.GspCommonFieldIncrement;
import com.inspur.edp.cef.designtime.api.element.increment.ModifyFieldIncrement;
-import com.inspur.edp.cef.designtime.api.element.increment.merger.CommonFieldIncrementMerger;
import com.inspur.edp.cef.designtime.api.entity.GspCommonField;
+import com.inspur.edp.cef.designtime.api.increment.IncrementType;
import com.inspur.edp.cef.designtime.api.increment.merger.MergeUtils;
import com.inspur.edp.cef.designtime.api.increment.property.BooleanPropertyIncrement;
+import com.inspur.edp.cef.designtime.api.increment.property.IntPropertyIncrement;
+import com.inspur.edp.cef.designtime.api.increment.property.ObjectPropertyIncrement;
import com.inspur.edp.cef.designtime.api.increment.property.PropertyIncrement;
import com.inspur.edp.cef.designtime.api.increment.property.StringPropertyIncrement;
+import com.inspur.edp.cef.designtime.api.json.CefNames;
import com.inspur.edp.das.commonmodel.entity.GspCommonElement;
import com.inspur.edp.das.commonmodel.json.CommonModelNames;
+import lombok.var;
+import java.util.ArrayList;
import java.util.HashMap;
-public class CommonElementMerger extends CommonFieldIncrementMerger {
+public class CommonElementMerger {
public CommonElementMerger() {
- super();
}
- public CommonElementMerger(boolean includeAll) {
- super(includeAll);
+ public GspCommonField merge(
+ GspCommonField extendField,
+ GspCommonFieldIncrement extendIncrement,
+ GspCommonFieldIncrement baseIncrement,
+ CommonElementRule rule) {
+
+ if (baseIncrement.getIncrementType() == IncrementType.Modify) {
+ return mergeModifyIncrement(extendField, (ModifyFieldIncrement) extendIncrement, (ModifyFieldIncrement) baseIncrement, rule);
+ }
+ return null;
}
- @Override
- protected void mergeExtendField(GspCommonField extendField, ModifyFieldIncrement extendIncrement, ModifyFieldIncrement baseIncrement, CommonFieldControlRule rule, CommonFieldContrulRuleDef def) {
+ private GspCommonField mergeModifyIncrement(
+ GspCommonField extendField,
+ ModifyFieldIncrement extendIncrement,
+ ModifyFieldIncrement baseIncrement,
+ CommonElementRule rule) {
+
+ var propChanges = baseIncrement.getChangeProperties();
+ if (!propChanges.isEmpty()) {
+ mergeChangeProps(extendField, extendIncrement == null ? null : extendIncrement.getChangeProperties(), propChanges, rule);
+ }
+
+ mergeExtendField(extendField, extendIncrement, baseIncrement, rule);
+ return extendField;
}
- protected final void dealExtendChangeProp(GspCommonField extendField, HashMap extendIncrement, String key, PropertyIncrement increment) {
+ /**
+ * 逐属性门控合并,与 CommonElementExtractor.extractSelfInfo()/extractCmExtendInfo() 对称:
+ * 属性有规则且 isAllow(rule) → 合并;Forbid 或无规则 → 跳过(保留旧值)。
+ */
+ private void mergeChangeProps(
+ GspCommonField extendField,
+ HashMap extendIncrement,
+ HashMap baseIncrement,
+ CommonElementRule rule) {
+
+ if (rule == null) {
+ return;
+ }
+ // ===== 基础属性(对称 extractSelfInfo)=====
+ if (baseIncrement.containsKey(CefNames.Name) && MergeUtils.isAllow(rule.getNameRule())) {
+ extendField.setName(MergeUtils.getStringValue(
+ CefNames.Name, (StringPropertyIncrement) baseIncrement.get(CefNames.Name), extendIncrement));
+ }
+ if (baseIncrement.containsKey(CefNames.DefaultValue) && MergeUtils.isAllow(rule.getDefaultValueRule())) {
+ extendField.setDefaultValue(MergeUtils.getStringValue(
+ CefNames.DefaultValue, (StringPropertyIncrement) baseIncrement.get(CefNames.DefaultValue), extendIncrement));
+ dealChangedProperties(extendField, CefNames.DefaultValue);
+ }
+ if (baseIncrement.containsKey(CefNames.DefaultValueType) && MergeUtils.isAllow(rule.getDefaultValueRule())) {
+ Object mergedValueType = MergeUtils.getObjectValue(
+ CefNames.DefaultValueType, (ObjectPropertyIncrement) baseIncrement.get(CefNames.DefaultValueType), extendIncrement);
+ if (mergedValueType instanceof String) {
+ mergedValueType = ElementDefaultVauleType.valueOf(mergedValueType.toString());
+ }
+ extendField.setDefaultValueType((ElementDefaultVauleType) mergedValueType);
+ }
+ if (baseIncrement.containsKey(CefNames.Length) && MergeUtils.isAllow(rule.getLengthRule())) {
+ extendField.setLength(MergeUtils.getIntValue(
+ CefNames.Length, (IntPropertyIncrement) baseIncrement.get(CefNames.Length), extendIncrement));
+ }
+ if (baseIncrement.containsKey(CefNames.Precision) && MergeUtils.isAllow(rule.getPrecisionRule())) {
+ extendField.setPrecision(MergeUtils.getIntValueAllowShort(
+ CefNames.Precision, (IntPropertyIncrement) baseIncrement.get(CefNames.Precision), extendIncrement));
+ }
+ if (baseIncrement.containsKey(CefNames.ContainEnumValues) && MergeUtils.isAllow(rule.getContainEnumValuesRule())) {
+ GspEnumValueCollection mergedEnums = MergeUtils.getObjectValue(
+ CefNames.ContainEnumValues, (ObjectPropertyIncrement) baseIncrement.get(CefNames.ContainEnumValues), extendIncrement);
+ extendField.setContainEnumValues(mergedEnums);
+ }
+ if (baseIncrement.containsKey(CefNames.IsRequire) && MergeUtils.isAllow(rule.getRequiredRule())) {
+ extendField.setIsRequire(MergeUtils.getBooleanValue(
+ CefNames.IsRequire, (BooleanPropertyIncrement) baseIncrement.get(CefNames.IsRequire), extendIncrement));
+ }
+
+ // ===== CM 扩展属性(对称 extractCmExtendInfo)=====
GspCommonElement element = (GspCommonElement) extendField;
- switch (key) {
- case CommonModelNames.ColumnID:
- String mergedColumnID = MergeUtils.getStringValue(CommonModelNames.ColumnID, (StringPropertyIncrement) increment, extendIncrement, null, null);
- element.setColumnID(mergedColumnID);
- return;
- case CommonModelNames.BelongModelID:
- String mergedBelongModelID = MergeUtils.getStringValue(CommonModelNames.BelongModelID, (StringPropertyIncrement) increment, extendIncrement, null, null);
- element.setBelongModelID(mergedBelongModelID);
- return;
- case CommonModelNames.Readonly:
- boolean mergedReadonly = MergeUtils.getBooleanValue(CommonModelNames.Readonly, (BooleanPropertyIncrement) increment, extendIncrement, null, null);
- element.setReadonly(mergedReadonly);
- return;
- case CommonModelNames.IsCustomItem:
- boolean mergedIsCustomItem = MergeUtils.getBooleanValue(CommonModelNames.IsCustomItem, (BooleanPropertyIncrement) increment, extendIncrement, null, null);
- element.setIsCustomItem(mergedIsCustomItem);
- return;
- case CommonModelNames.IsPersistent:
- boolean isPersistent = MergeUtils.getBooleanValue(CommonModelNames.IsPersistent, (BooleanPropertyIncrement) increment, extendIncrement, null, null);
- element.setIsPersistent(isPersistent);
- return;
- case CommonModelNames.CustomizeRefObjectID:
- String customizeRefObjectID = MergeUtils.getStringValue(CommonModelNames.CustomizeRefObjectID, (StringPropertyIncrement) increment, extendIncrement, null, null);
- element.setCustomizeRefObjectID(customizeRefObjectID);
- return;
- case CommonModelNames.CustomizeRefElementID:
- String customizeRefElementID = MergeUtils.getStringValue(CommonModelNames.CustomizeRefElementID, (StringPropertyIncrement) increment, extendIncrement, null, null);
- element.setCustomizeRefElementID(customizeRefElementID);
- return;
- case CommonModelNames.IsEnableEncryption:
- boolean isEnableEncryption = MergeUtils.getBooleanValue(CommonModelNames.IsEnableEncryption, (BooleanPropertyIncrement) increment, extendIncrement, null, null);
- element.setIsEnableEncryption(isEnableEncryption);
- return;
- case CommonModelNames.EncryptionCode:
- String EncryptionCode = MergeUtils.getStringValue(CommonModelNames.EncryptionCode, (StringPropertyIncrement) increment, extendIncrement, null, null);
- element.setEncryptionCode(EncryptionCode);
- return;
- case CommonModelNames.IsDefaultNull:
- boolean isDefaultNull = MergeUtils.getBooleanValue(CommonModelNames.IsDefaultNull, (BooleanPropertyIncrement) increment, extendIncrement, null, null);
- element.setIsDefaultNull(isDefaultNull);
- return;
- }
-
- dealCommonElementChangeProp(element, extendIncrement, key, increment);
+ if (baseIncrement.containsKey(CommonModelNames.IsPersistent) && MergeUtils.isAllow(rule.getIsPersistentRule())) {
+ element.setIsPersistent(MergeUtils.getBooleanValue(
+ CommonModelNames.IsPersistent, (BooleanPropertyIncrement) baseIncrement.get(CommonModelNames.IsPersistent), extendIncrement));
+ }
+ if (baseIncrement.containsKey(CommonModelNames.CustomizeRefObjectID) && MergeUtils.isAllow(rule.getCustomizeRefRule())) {
+ element.setCustomizeRefObjectID(MergeUtils.getStringValue(
+ CommonModelNames.CustomizeRefObjectID, (StringPropertyIncrement) baseIncrement.get(CommonModelNames.CustomizeRefObjectID), extendIncrement));
+ }
+ if (baseIncrement.containsKey(CommonModelNames.CustomizeRefElementID) && MergeUtils.isAllow(rule.getCustomizeRefRule())) {
+ element.setCustomizeRefElementID(MergeUtils.getStringValue(
+ CommonModelNames.CustomizeRefElementID, (StringPropertyIncrement) baseIncrement.get(CommonModelNames.CustomizeRefElementID), extendIncrement));
+ }
+ if (baseIncrement.containsKey(CommonModelNames.IsEnableEncryption) && MergeUtils.isAllow(rule.getEncryptionRule())) {
+ element.setIsEnableEncryption(MergeUtils.getBooleanValue(
+ CommonModelNames.IsEnableEncryption, (BooleanPropertyIncrement) baseIncrement.get(CommonModelNames.IsEnableEncryption), extendIncrement));
+ }
+ if (baseIncrement.containsKey(CommonModelNames.EncryptionCode) && MergeUtils.isAllow(rule.getEncryptionRule())) {
+ element.setEncryptionCode(MergeUtils.getStringValue(
+ CommonModelNames.EncryptionCode, (StringPropertyIncrement) baseIncrement.get(CommonModelNames.EncryptionCode), extendIncrement));
+ }
+ if (baseIncrement.containsKey(CommonModelNames.IsDefaultNull) && MergeUtils.isAllow(rule.getIsDefaultNullRule())) {
+ element.setIsDefaultNull(MergeUtils.getBooleanValue(
+ CommonModelNames.IsDefaultNull, (BooleanPropertyIncrement) baseIncrement.get(CommonModelNames.IsDefaultNull), extendIncrement));
+ }
+ }
+
+ private void dealChangedProperties(IGspCommonField field, String value) {
+ if (field.getChangedProperties() == null) {
+ field.setChangedProperties(new ArrayList() {{
+ add(value);
+ }});
+ }
+ if (!field.getChangedProperties().contains(value)) {
+ field.getChangedProperties().add(value);
+ }
}
- protected void dealCommonElementChangeProp(GspCommonElement element, HashMap extendIncrement, String key, PropertyIncrement increment) {
+ protected void mergeExtendField(
+ GspCommonField extendField,
+ ModifyFieldIncrement extendIncrement,
+ ModifyFieldIncrement baseIncrement,
+ CommonElementRule rule) {
}
}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/increment/extract/CommonModelExtractor.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/increment/extract/CommonModelExtractor.java
index 845bb5b0308fb0c89688ae23ac8d969aa2dd31a8..f59fc9b81c04f4c54e072ef8c0ca424c06af0363 100644
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/increment/extract/CommonModelExtractor.java
+++ b/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/increment/extract/CommonModelExtractor.java
@@ -1,27 +1,19 @@
package com.inspur.edp.das.commonmodel.entity.increment.extract;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeControlRuleDef;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonModelRule;
import com.inspur.edp.cef.designtime.api.entity.increment.ModifyEntityIncrement;
-import com.inspur.edp.cef.designtime.api.increment.extractor.AbstractIncrementExtractor;
import com.inspur.edp.cef.designtime.api.increment.extractor.ExtractUtils;
import com.inspur.edp.cef.designtime.api.json.CefNames;
-import com.inspur.edp.das.commonmodel.controlrule.CmControlRule;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmControlRuleDef;
import com.inspur.edp.das.commonmodel.entity.GspCommonModel;
import com.inspur.edp.das.commonmodel.entity.increment.CommonModelIncrement;
import com.inspur.edp.das.commonmodel.entity.object.increment.extract.CommonObjectIncrementExtractor;
-import com.inspur.edp.das.commonmodel.json.CommonModelNames;
import lombok.var;
import org.apache.commons.lang3.StringUtils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-
-public abstract class CommonModelExtractor extends AbstractIncrementExtractor {
-
- protected boolean includeAll = false;
-
+public abstract class CommonModelExtractor {
/**
* 版本正则匹配
* 公共版本和扩展版本仅支持1-4位数字,以{@code .}连接
@@ -31,16 +23,11 @@ public abstract class CommonModelExtractor extends AbstractIncrementExtractor {
/*
* 公共抽取器版本
*/
- private static final short commonVersion = 1;
+ private static final short commonVersion = 2;
public CommonModelExtractor() {
}
-
- public CommonModelExtractor(boolean includeAll) {
- this.includeAll = includeAll;
- }
-
/**
* 抽取器扩展版本,支持四位十进制数字
* @return 扩展版本号
@@ -84,19 +71,19 @@ public abstract class CommonModelExtractor extends AbstractIncrementExtractor {
return Short.compare(extendVersion, anotherExtendVersion);
}
- public CommonModelIncrement extract(GspCommonModel oldModel, GspCommonModel newModel, CmControlRule rule, CmControlRuleDef def) {
+ public CommonModelIncrement extract(GspCommonModel oldModel, GspCommonModel newModel, CommonModelRule rule) {
CommonModelIncrement increment = createCommonModelIncrement();
increment.setVersion(getVersion());
//ChangeProperties()
- extractSelfInfo(increment, oldModel, newModel, rule, def);
+ extractSelfInfo(increment, oldModel, newModel, rule);
//MainObject
- extractMainObjectInfo(increment, oldModel, newModel, rule, def);
+ extractMainObjectInfo(increment, oldModel, newModel, rule);
//extendInfo
- extractExtendInfo(increment, oldModel, newModel, rule, def);
+ extractExtendInfo(increment, oldModel, newModel, rule);
return increment;
}
@@ -105,46 +92,23 @@ public abstract class CommonModelExtractor extends AbstractIncrementExtractor {
CommonModelIncrement increment,
GspCommonModel oldModel,
GspCommonModel newModel,
- CmControlRule rule,
- CmControlRuleDef def) {
-
- if (includeAll) {
- extractSelfAllInfo(increment, oldModel, newModel);
- return;
- }
+ CommonModelRule rule) {
ExtractUtils.extractValue(
increment.getChangeProperties(),
oldModel.getName(),
newModel.getName(),
CefNames.Name,
- rule.getNameControlRule(),
- def.getNameControlRule());
- }
-
- private void extractSelfAllInfo(CommonModelIncrement increment,
- GspCommonModel oldModel,
- GspCommonModel newModel) {
- ExtractUtils.extractValue(increment.getChangeProperties(), oldModel.getName(), newModel.getName(), CefNames.Name, null, null);
- ExtractUtils.extractValue(increment.getChangeProperties(), oldModel.getCode(), newModel.getCode(), CefNames.Code, null, null);
- ExtractUtils.extractValue(increment.getChangeProperties(), oldModel.getI18nResourceInfoPrefix(), newModel.getI18nResourceInfoPrefix(), CefNames.I18nResourceInfoPrefix, null, null);
- ExtractUtils.extractValue(increment.getChangeProperties(), oldModel.getIsVirtual(), newModel.getIsVirtual(), CefNames.IsVirtual, null, null);
- ExtractUtils.extractValue(increment.getChangeProperties(), oldModel.getEntityType(), newModel.getEntityType(), CommonModelNames.EntityType, null, null);
- ExtractUtils.extractValue(increment.getChangeProperties(), oldModel.getDotnetGeneratingAssembly(), newModel.getDotnetGeneratingAssembly(), CommonModelNames.GeneratingAssembly, null, null);
- ExtractUtils.extractValue(increment.getChangeProperties(), oldModel.getIsUseNamespaceConfig(), newModel.getIsUseNamespaceConfig(), CommonModelNames.IsUseNamespaceConfig, null, null);
- ExtractUtils.extractValue(increment.getChangeProperties(), oldModel.getVersionContronInfo().getVersionControlElementId(), newModel.getVersionContronInfo().getVersionControlElementId(), CommonModelNames.VersionControlElementId, null, null);
- ExtractUtils.extractValue(increment.getChangeProperties(), oldModel.getBeLabel(), newModel.getBeLabel(), CommonModelNames.BeLabel, null, null);
-
+ rule.getNameRule());
}
private void extractMainObjectInfo(
CommonModelIncrement increment,
GspCommonModel oldModel,
GspCommonModel newModel,
- CmControlRule rule,
- CmControlRuleDef def) {
+ CommonModelRule rule) {
var objExtractor = getCommonObjectIncrementExtractor();
- var objIncrement = objExtractor.extractorIncrement(oldModel.getMainObject(), newModel.getMainObject(), rule.getMainEntityControlRule(), (CommonDataTypeControlRuleDef) def.getChildControlRules().get(CommonModelNames.MainObject));
+ var objIncrement = objExtractor.extractModify(oldModel.getMainObject(), newModel.getMainObject(), rule.getMainObjectRule());
increment.setMainEntityIncrement((ModifyEntityIncrement) objIncrement);
}
@@ -156,12 +120,11 @@ public abstract class CommonModelExtractor extends AbstractIncrementExtractor {
CommonModelIncrement increment,
GspCommonModel oldModel,
GspCommonModel newModel,
- CmControlRule rule,
- CmControlRuleDef def) {
+ CommonModelRule rule) {
}
protected CommonObjectIncrementExtractor getCommonObjectIncrementExtractor() {
- return new CommonObjectIncrementExtractor(includeAll);
+ return new CommonObjectIncrementExtractor();
}
}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/increment/merger/CommonModelMerger.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/increment/merger/CommonModelMerger.java
index 03224b8475782b3d31c4ba6cea2474fbecb1c919..4012cc575339b84544fc142cdf63625f8ec45d54 100644
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/increment/merger/CommonModelMerger.java
+++ b/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/increment/merger/CommonModelMerger.java
@@ -1,57 +1,42 @@
package com.inspur.edp.das.commonmodel.entity.increment.merger;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeControlRuleDef;
import com.inspur.edp.cef.designtime.api.entity.increment.ModifyEntityIncrement;
-import com.inspur.edp.cef.designtime.api.increment.merger.AbstractIncrementMerger;
import com.inspur.edp.cef.designtime.api.increment.merger.MergeUtils;
-import com.inspur.edp.cef.designtime.api.increment.property.BooleanPropertyIncrement;
-import com.inspur.edp.cef.designtime.api.increment.property.ObjectPropertyIncrement;
import com.inspur.edp.cef.designtime.api.increment.property.PropertyIncrement;
import com.inspur.edp.cef.designtime.api.increment.property.StringPropertyIncrement;
import com.inspur.edp.cef.designtime.api.json.CefNames;
-import com.inspur.edp.das.commonmodel.controlrule.CmControlRule;
-import com.inspur.edp.das.commonmodel.controlruledef.entity.CmControlRuleDef;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonModelRule;
import com.inspur.edp.das.commonmodel.entity.GspCommonModel;
-import com.inspur.edp.das.commonmodel.entity.VersionControlInfo;
import com.inspur.edp.das.commonmodel.entity.increment.CommonModelIncrement;
import com.inspur.edp.das.commonmodel.entity.object.increment.merger.CommonObjectIncrementMerger;
-import com.inspur.edp.das.commonmodel.json.CommonModelNames;
import lombok.var;
import java.util.HashMap;
-import java.util.List;
-public class CommonModelMerger extends AbstractIncrementMerger {
-
- protected boolean includeAll = false;
+public class CommonModelMerger {
public CommonModelMerger() {
}
- public CommonModelMerger(boolean includeAll) {
- this.includeAll = includeAll;
- }
-
public GspCommonModel merge(
GspCommonModel extendModel,
GspCommonModel rootModel,
CommonModelIncrement extendIncrement,
CommonModelIncrement baseIncrement,
- CmControlRule rule,
- CmControlRuleDef def) {
+ CommonModelRule rule) {
//region ChangeProperties
var propChanges = baseIncrement.getChangeProperties();
if (!propChanges.isEmpty()) {
- mergeChangeProps(extendModel, extendIncrement.getChangeProperties(), propChanges, rule, def);
+ mergeChangeProps(extendModel, extendIncrement.getChangeProperties(), propChanges, rule);
}
//endregion
//MainObject
- mergeMainObject(extendModel, rootModel, extendIncrement.getMainEntityIncrement(), baseIncrement.getMainEntityIncrement(), rule, def);
+ mergeMainObject(extendModel, rootModel, extendIncrement.getMainEntityIncrement(), baseIncrement.getMainEntityIncrement(), rule);
//extendInfo
- mergeExtendInfo(extendModel, extendIncrement, baseIncrement, rule, def);
+ mergeExtendInfo(extendModel, extendIncrement, baseIncrement, rule);
return extendModel;
}
@@ -60,79 +45,15 @@ public class CommonModelMerger extends AbstractIncrementMerger {
GspCommonModel extendModel,
HashMap extendIncrement,
HashMap baseIncrement,
- CmControlRule rule,
- CmControlRuleDef def) {
-
- if (baseIncrement.containsKey(CefNames.Name)) {
- String mergedName = MergeUtils.getStringValue(
- CefNames.Name,
- (StringPropertyIncrement) baseIncrement.get(CefNames.Name),
- extendIncrement,
- rule.getNameControlRule(),
- def.getNameControlRule());
- extendModel.setName(mergedName);
- }
+ CommonModelRule rule) {
- }
-
- private void mergeAllChange(
- GspCommonModel extendModel,
- HashMap extendIncrement,
- HashMap baseIncrement) {
- for (var incrementPair : baseIncrement.entrySet()) {
- String key = incrementPair.getKey();
- PropertyIncrement increment = incrementPair.getValue();
- dealChangeProp(extendModel, extendIncrement, key, increment);
+ if (rule == null) {
+ return;
}
- }
-
- private void dealChangeProp(GspCommonModel extendModel, HashMap extendIncrement, String key, PropertyIncrement increment) {
- switch (key) {
- case CefNames.Name:
- String mergedName = MergeUtils.getStringValue(CefNames.Name, (StringPropertyIncrement) increment, extendIncrement, null, null);
- extendModel.setName(mergedName);
- return;
- case CefNames.Code:
- String mergedCode = MergeUtils.getStringValue(CefNames.Code, (StringPropertyIncrement) increment, null, null, null);
- extendModel.setCode(mergedCode);
- return;
- case CefNames.IsVirtual:
- boolean mergedIsVirtual = MergeUtils.getBooleanValue(CefNames.IsVirtual, (BooleanPropertyIncrement) increment, null, null, null);
- extendModel.setIsVirtual(mergedIsVirtual);
- return;
- case CefNames.I18nResourceInfoPrefix:
- String mergedI18n = MergeUtils.getStringValue(CefNames.I18nResourceInfoPrefix, (StringPropertyIncrement) increment, null, null, null);
- extendModel.setI18nResourceInfoPrefix(mergedI18n);
- return;
- case CefNames.BeLabel:
- List mergedBeLabel = MergeUtils.getObjectValue(CefNames.BeLabel, (ObjectPropertyIncrement) increment, null, null, null);
- extendModel.setBeLabel(mergedBeLabel);
- return;
- case CommonModelNames.EntityType:
- String mergedEntityType = MergeUtils.getStringValue(CommonModelNames.EntityType, (StringPropertyIncrement) increment, null, null, null);
- extendModel.setEntityType(mergedEntityType);
- return;
- case CommonModelNames.GeneratingAssembly:
- String mergedAssembly = MergeUtils.getStringValue(CommonModelNames.GeneratingAssembly, (StringPropertyIncrement) increment, null, null, null);
- extendModel.setDotnetGeneratingAssembly(mergedAssembly);
- return;
- case CommonModelNames.IsUseNamespaceConfig:
- boolean mergedIsUseNamespace = MergeUtils.getBooleanValue(CommonModelNames.IsUseNamespaceConfig, (BooleanPropertyIncrement) increment, null, null, null);
- extendModel.setIsUseNamespaceConfig(mergedIsUseNamespace);
- return;
- case CommonModelNames.VersionControlElementId:
- String mergedVersion = MergeUtils.getStringValue(CommonModelNames.VersionControlElementId, (StringPropertyIncrement) increment, null, null, null);
- if (extendModel.getVersionContronInfo() == null)
- extendModel.setVersionContronInfo(new VersionControlInfo());
- extendModel.getVersionContronInfo().setVersionControlElementId(mergedVersion);
- return;
+ if (baseIncrement.containsKey(CefNames.Name) && MergeUtils.isAllow(rule.getNameRule())) {
+ extendModel.setName(MergeUtils.getStringValue(
+ CefNames.Name, (StringPropertyIncrement) baseIncrement.get(CefNames.Name), extendIncrement));
}
-
- dealExtendChangeProp(extendModel, extendIncrement, key, increment);
- }
-
- protected void dealExtendChangeProp(GspCommonModel extendModel, HashMap extendIncrement, String key, PropertyIncrement increment) {
-
}
@@ -141,12 +62,12 @@ public class CommonModelMerger extends AbstractIncrementMerger {
GspCommonModel rootModel,
ModifyEntityIncrement extendIncrement,
ModifyEntityIncrement baseIncrement,
- CmControlRule rule,
- CmControlRuleDef def) {
- if (baseIncrement == null)
+ CommonModelRule rule) {
+ if (baseIncrement == null) {
return;
+ }
var objMerger = getCommonObjectIncrementMerger();
- objMerger.merge(extendModel.getMainObject(), rootModel.getMainObject(), extendIncrement, baseIncrement, rule.getMainEntityControlRule(), (CommonDataTypeControlRuleDef) def.getChildControlRules().get(CommonModelNames.MainObject));
+ objMerger.merge(extendModel.getMainObject(), rootModel.getMainObject(), extendIncrement, baseIncrement, rule.getMainObjectRule());
}
@@ -158,8 +79,7 @@ public class CommonModelMerger extends AbstractIncrementMerger {
GspCommonModel extendModel,
CommonModelIncrement extendIncrement,
CommonModelIncrement baseIncrement,
- CmControlRule rule,
- CmControlRuleDef def) {
+ CommonModelRule rule) {
}
}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/object/increment/extract/CommonObjectIncrementExtractor.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/object/increment/extract/CommonObjectIncrementExtractor.java
index 61b8755517b475e99c455789d1a24ae41f62e740..7078047229ddc748adae06fa52a60808ac93e901 100644
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/object/increment/extract/CommonObjectIncrementExtractor.java
+++ b/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/object/increment/extract/CommonObjectIncrementExtractor.java
@@ -1,24 +1,211 @@
package com.inspur.edp.das.commonmodel.entity.object.increment.extract;
-import com.inspur.edp.cef.designtime.api.entity.increment.extractor.DataTypeIncrementExtractor;
-import com.inspur.edp.cef.designtime.api.entity.increment.extractor.ModifyEntityExtractor;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonObjectRule;
+import com.inspur.edp.cef.designtime.api.entity.GspCommonDataType;
+import com.inspur.edp.cef.designtime.api.entity.GspCommonField;
+import com.inspur.edp.cef.designtime.api.entity.increment.AddedEntityIncrement;
+import com.inspur.edp.cef.designtime.api.entity.increment.CommonEntityIncrement;
+import com.inspur.edp.cef.designtime.api.entity.increment.DeletedEntityIncrement;
+import com.inspur.edp.cef.designtime.api.entity.increment.ModifyEntityIncrement;
+import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityErrorCodeEnum;
+import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityException;
+import com.inspur.edp.cef.designtime.api.increment.extractor.ExtractUtils;
+import com.inspur.edp.cef.designtime.api.json.CefNames;
+import com.inspur.edp.das.commonmodel.entity.GspCommonObject;
+import com.inspur.edp.das.commonmodel.entity.element.increment.extract.CommonElementExtractor;
+import lombok.var;
-public class CommonObjectIncrementExtractor extends DataTypeIncrementExtractor {
+import java.util.ArrayList;
+
+public class CommonObjectIncrementExtractor {
public CommonObjectIncrementExtractor() {
- super();
}
- public CommonObjectIncrementExtractor(boolean includeAll) {
- super(includeAll);
+ // ── ADD / DELETE ─
+
+ private CommonEntityIncrement extractAddedEntity(GspCommonDataType newDataType) {
+ AddedEntityIncrement increment = new AddedEntityIncrement();
+ increment.setAddedDataType(newDataType);
+ return increment;
+ }
+
+ private CommonEntityIncrement extractDeletedEntity(String deleteId) {
+ return new DeletedEntityIncrement(deleteId);
+ }
+
+ // ── 实体 MODIFY 入口(纯 MODIFY,无 ADD/DELETE 分流) ─
+
+ public ModifyEntityIncrement extractModify(
+ GspCommonDataType oldDataType,
+ GspCommonDataType newDataType,
+ CommonObjectRule rule) {
+
+ ModifyEntityIncrement increment = createModifyEntityIncrement();
+ increment.setId(oldDataType.getId());
+ //ChangeProperties()
+ extractSelfInfo(increment, oldDataType, newDataType, rule);
+ //fields
+ extractFieldsIncrement(increment, oldDataType, newDataType, rule);
+ //Child
+ extractChildObjs(increment, (GspCommonObject) oldDataType, (GspCommonObject) newDataType, rule);
+
+ extractExtendEntityIncrement(increment, oldDataType, newDataType, rule);
+
+ if (increment.isEmpty()) {
+ return null;
+ }
+ return increment;
+ }
+
+ // ── Name ─
+
+ private void extractSelfInfo(
+ ModifyEntityIncrement increment,
+ GspCommonDataType oldDataType,
+ GspCommonDataType newDataType,
+ CommonObjectRule rule) {
+
+ ExtractUtils.extractValue(
+ increment.getChangeProperties(),
+ oldDataType.getName(),
+ newDataType.getName(),
+ CefNames.Name,
+ rule.getNameRule());
+
}
- protected final ModifyEntityExtractor getModifyEntityExtractor() {
- return getModifyCommonObjectExtractor();
+ // ── Fields ─
+
+ private void extractFieldsIncrement(
+ ModifyEntityIncrement increment,
+ GspCommonDataType oldDataType,
+ GspCommonDataType newDataType,
+ CommonObjectRule rule) {
+
+ var newElements = newDataType.getContainElements();
+ if (newElements == null || newElements.isEmpty()) {
+ throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0009, newDataType.getCode());
+ }
+
+ var fieldExtractor = createFieldExtractor();
+ ArrayList updateEles = new ArrayList<>();
+ for (var newElement : newElements) {
+ var oldElement = oldDataType.findElement(newElement.getID());
+ if (oldElement != null) {
+ updateEles.add(oldElement.getID());
+ }
+
+ var fieldIncrement = fieldExtractor.extractorIncrement(
+ (GspCommonField) oldElement,
+ (GspCommonField) newElement,
+ rule);
+ if (fieldIncrement == null) {
+ continue;
+ }
+ increment.getFields().put(newElement.getID(), fieldIncrement);
+
+ }
+
+ for (var oldElement : oldDataType.getContainElements()) {
+ if (updateEles.contains(oldElement.getID())) {
+ continue;
+ }
+ var fieldIncrement = fieldExtractor.extractorIncrement(
+ (GspCommonField) oldElement,
+ null,
+ rule);
+ if (fieldIncrement != null) {
+ increment.getFields().put(oldElement.getID(), fieldIncrement);
+ }
+ }
+
}
- protected ModifyCommonObjectExtractor getModifyCommonObjectExtractor() {
- return new ModifyCommonObjectExtractor(includeAll);
+ // ── Child Objects ─
+
+ private void extractChildObjs(ModifyEntityIncrement increment, GspCommonObject oldObj, GspCommonObject newObj, CommonObjectRule rule) {
+ var newChildObjs = newObj.getContainChildObjects();
+ var oldChildObjs = oldObj.getContainChildObjects();
+ if (newChildObjs.isEmpty() && oldChildObjs.isEmpty()) {
+ return;
+ }
+ var extractor = createChildExtractor();
+
+ if (newChildObjs.isEmpty()) {
+ extractAllDeleteIncrement(increment, oldObj, extractor, rule);
+ return;
+ }
+
+ ArrayList updateObjs = new ArrayList<>();
+
+ for (var newChildObj : newChildObjs) {
+ var oldChildObj = oldObj.getChildObjectById(newChildObj.getID());
+ if (oldChildObj != null) {
+ // MODIFY: delegate to child entity's own rule
+ updateObjs.add(oldChildObj.getID());
+ CommonObjectRule childObjRule = rule.getChildObjectRule(oldChildObj.getID());
+ var childIncrement = extractor.extractModify((GspCommonDataType) oldChildObj, (GspCommonDataType) newChildObj, childObjRule);
+ if (childIncrement == null) {
+ continue;
+ }
+ increment.getChildEntitis().put(((GspCommonDataType) newChildObj).getId(), childIncrement);
+ } else {
+ // ADD: 父节点决策子节点新增
+ if (ExtractUtils.isAllow(rule.getAddChildObjectRule())) {
+ var childIncrement = extractor.extractAddedEntity((GspCommonDataType) newChildObj);
+ increment.getChildEntitis().put(((GspCommonDataType) newChildObj).getId(), childIncrement);
+ }
+ }
+ }
+
+ for (var oldChildObj : oldChildObjs) {
+ if (updateObjs.contains(oldChildObj.getID())) {
+ continue;
+ }
+ // DELETE: 父节点决策子节点删除
+ if (ExtractUtils.isAllow(rule.getDeleteChildObjectRule())) {
+ var childIncrement = extractor.extractDeletedEntity(oldChildObj.getID());
+ increment.getChildEntitis().put(oldChildObj.getID(), childIncrement);
+ }
+ }
+
+ }
+
+ private void extractAllDeleteIncrement(ModifyEntityIncrement increment, GspCommonObject oldObj, CommonObjectIncrementExtractor extractor, CommonObjectRule rule) {
+
+ for (var childObj : oldObj.getContainChildObjects()) {
+ // DELETE: 父节点决策子节点删除
+ if (ExtractUtils.isAllow(rule.getDeleteChildObjectRule())) {
+ var childIncrement = extractor.extractDeletedEntity(childObj.getID());
+ increment.getChildEntitis().put(childObj.getID(), childIncrement);
+ }
+ }
+
+ }
+
+ // ── Factory methods ─
+
+ protected CommonElementExtractor createFieldExtractor() {
+ return new CommonElementExtractor();
+ }
+
+ protected CommonObjectIncrementExtractor createChildExtractor() {
+ return new CommonObjectIncrementExtractor();
+ }
+
+ protected ModifyEntityIncrement createModifyEntityIncrement() {
+ return new ModifyEntityIncrement();
+ }
+
+ // ── Extension hook (overridden by BE for Dtm/Val) ─
+
+ protected void extractExtendEntityIncrement(
+ ModifyEntityIncrement increment,
+ GspCommonDataType oldDataType,
+ GspCommonDataType newDataType,
+ CommonObjectRule rule) {
+
}
}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/object/increment/extract/ModifyCommonObjectExtractor.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/object/increment/extract/ModifyCommonObjectExtractor.java
deleted file mode 100644
index aba76f79579b5f7058c9471028c32335096e24f5..0000000000000000000000000000000000000000
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/object/increment/extract/ModifyCommonObjectExtractor.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package com.inspur.edp.das.commonmodel.entity.object.increment.extract;
-
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonDataTypeControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeControlRuleDef;
-import com.inspur.edp.cef.designtime.api.element.increment.extract.CommonFieldIncrementExtractor;
-import com.inspur.edp.cef.designtime.api.entity.GspCommonDataType;
-import com.inspur.edp.cef.designtime.api.entity.increment.ModifyEntityIncrement;
-import com.inspur.edp.cef.designtime.api.entity.increment.extractor.ModifyEntityExtractor;
-import com.inspur.edp.cef.designtime.api.increment.extractor.ExtractUtils;
-import com.inspur.edp.das.commonmodel.controlrule.CmEntityControlRule;
-import com.inspur.edp.das.commonmodel.entity.GspCommonObject;
-import com.inspur.edp.das.commonmodel.entity.element.increment.extract.CommonElementExtractor;
-import com.inspur.edp.das.commonmodel.json.CommonModelNames;
-import lombok.var;
-
-import java.util.ArrayList;
-
-public class ModifyCommonObjectExtractor extends ModifyEntityExtractor {
-
- public ModifyCommonObjectExtractor() {
- super();
- }
-
- public ModifyCommonObjectExtractor(boolean includeAll) {
- super(includeAll);
- }
-
- @Override
- protected void extractExtendIncrement(ModifyEntityIncrement increment, GspCommonDataType oldDataType, GspCommonDataType newDataType, CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
- extractBaseInfo(increment, (GspCommonObject) oldDataType, (GspCommonObject) newDataType, rule, def);
- extractChildObjs(increment, (GspCommonObject) oldDataType, (GspCommonObject) newDataType, rule, def);
- extractExtendObjectIncrement(increment, oldDataType, newDataType, rule, def);
- }
-
- private void extractBaseInfo(ModifyEntityIncrement increment, GspCommonObject oldDataType, GspCommonObject newDataType, CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
- if (includeAll)
- extractAllIncrement(increment, oldDataType, newDataType);
- }
-
- private void extractAllIncrement(ModifyEntityIncrement increment, GspCommonObject oldObj, GspCommonObject newObj) {
- var changes = increment.getChangeProperties();
- ExtractUtils.extractValue(changes, oldObj.getRefObjectName(), newObj.getRefObjectName(), CommonModelNames.RefObjectName, null, null);
- ExtractUtils.extractValue(changes, oldObj.getObjectType(), newObj.getObjectType(), CommonModelNames.ObjectType, null, null);
- ExtractUtils.extractValue(changes, oldObj.getOrderbyCondition(), newObj.getOrderbyCondition(), CommonModelNames.OrderbyCondition, null, null);
- ExtractUtils.extractValue(changes, oldObj.getFilterCondition(), newObj.getFilterCondition(), CommonModelNames.FilterCondition, null, null);
- ExtractUtils.extractValue(changes, oldObj.getIsReadOnly(), newObj.getIsReadOnly(), CommonModelNames.IsReadOnly, null, null);
- ExtractUtils.extractValue(changes, oldObj.getIsVirtual(), newObj.getIsVirtual(), CommonModelNames.IsVirtual, null, null);
- ExtractUtils.extractValue(changes, oldObj.getBelongModelID(), newObj.getBelongModelID(), CommonModelNames.BelongModelID, null, null);
- ExtractUtils.extractValue(changes, oldObj.getStateElementID(), newObj.getStateElementID(), CommonModelNames.StateElementID, null, null);
- }
-
-
- //region ChildObjs
- private void extractChildObjs(ModifyEntityIncrement increment, GspCommonObject oldObj, GspCommonObject newObj, CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
- var newChildObjs = newObj.getContainChildObjects();
- var oldChildObjs = oldObj.getContainChildObjects();
- if (newChildObjs.isEmpty() && oldChildObjs.isEmpty())
- return;
- var extractor = createChildExtractor();
-
- if (newChildObjs.isEmpty()) {
- extractAllDeleteIncrement(increment, oldObj, extractor, rule, def);
- return;
- }
-
- ArrayList updateObjs = new ArrayList<>();
-
- for (var newChildObj : newChildObjs) {
- var oldChildObj = oldObj.getChildObjectById(newChildObj.getID());
- if (oldChildObj != null)
- updateObjs.add(oldChildObj.getID());
- CmEntityControlRule childObjRule = oldChildObj == null ? null : (CmEntityControlRule) rule.getChildRules().get(CommonModelNames.ChildObject).get(oldChildObj.getID());
- var childIncrement = extractor.extractorIncrement((GspCommonDataType) oldChildObj, (GspCommonDataType) newChildObj, childObjRule, def);
- if (childIncrement == null)
- continue;
- increment.getChildEntitis().put(((GspCommonDataType) newChildObj).getId(), childIncrement);
- }
-
- for (var oldChildObj : oldChildObjs) {
- if (updateObjs.contains(oldChildObj.getID()))
- continue;
- CmEntityControlRule childObjRule = (CmEntityControlRule) rule.getChildRules().get(CommonModelNames.ChildObject).get(oldChildObj.getID());
- var childIncrement = extractor.extractorIncrement((GspCommonDataType) oldChildObj, null, childObjRule, def);
- increment.getChildEntitis().put(oldChildObj.getID(), childIncrement);
- }
-
- }
-
- private void extractAllChildObjs(ModifyEntityIncrement increment, GspCommonObject oldObj, GspCommonObject newObj, CommonObjectIncrementExtractor extractor) {
- extractAllDeleteIncrement(increment, oldObj, extractor, null, null);
- for (var newChildObj : newObj.getContainChildObjects()) {
- var childIncrement = extractor.extractorIncrement(null, (GspCommonDataType) newChildObj, null, null);
- increment.getChildEntitis().put(((GspCommonDataType) newChildObj).getId(), childIncrement);
- }
-
- }
-
- private void extractAllDeleteIncrement(ModifyEntityIncrement increment, GspCommonObject oldObj, CommonObjectIncrementExtractor extractor, CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
-
- for (var childObj : oldObj.getContainChildObjects()) {
- CmEntityControlRule childObjRule = (CmEntityControlRule) rule.getChildRules().get(CommonModelNames.ChildObject).get(childObj.getID());
- var childIncrement = extractor.extractorIncrement((GspCommonDataType) childObj, null, childObjRule, def);
- increment.getChildEntitis().put(childObj.getID(), childIncrement);
- }
-
- }
-
- //endregion
-
- protected CommonObjectIncrementExtractor createChildExtractor() {
- return new CommonObjectIncrementExtractor(includeAll);
- }
-
-
- protected void extractExtendObjectIncrement(ModifyEntityIncrement increment, GspCommonDataType oldDataType, GspCommonDataType newDataType, CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
-
- }
-
- @Override
- protected final CommonFieldIncrementExtractor createFieldExtractor() {
- return getCommonElementExtractor();
- }
-
- protected CommonElementExtractor getCommonElementExtractor() {
- return new CommonElementExtractor(includeAll);
- }
-}
diff --git a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/object/increment/merger/CommonObjectIncrementMerger.java b/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/object/increment/merger/CommonObjectIncrementMerger.java
index b45eb6855b470526a0ba30919879866bf8c75775..d1bbdf779e11dbb71a18ce376b8e5f2f9267b359 100644
--- a/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/object/increment/merger/CommonObjectIncrementMerger.java
+++ b/common-model/src/main/java/com/inspur/edp/das/commonmodel/entity/object/increment/merger/CommonObjectIncrementMerger.java
@@ -1,29 +1,30 @@
package com.inspur.edp.das.commonmodel.entity.object.increment.merger;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonDataTypeControlRule;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.basic.entity.ControlRuleValue;
-import com.inspur.edp.cef.designtime.api.changecontrolrule.controlruledef.cm.CommonDataTypeControlRuleDef;
-import com.inspur.edp.cef.designtime.api.element.increment.merger.CommonFieldIncrementMerger;
+import com.inspur.edp.cef.designtime.api.IGspCommonField;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonElementRule;
+import com.inspur.edp.cef.designtime.api.changecontrolrule.controlrule.cm.CommonObjectRule;
+import com.inspur.edp.cef.designtime.api.collection.GspFieldCollection;
+import com.inspur.edp.cef.designtime.api.element.increment.AddedFieldIncrement;
+import com.inspur.edp.cef.designtime.api.element.increment.GspCommonFieldIncrement;
import com.inspur.edp.cef.designtime.api.entity.GspCommonDataType;
+import com.inspur.edp.cef.designtime.api.entity.GspCommonField;
import com.inspur.edp.cef.designtime.api.entity.increment.AddedEntityIncrement;
import com.inspur.edp.cef.designtime.api.entity.increment.CommonEntityIncrement;
import com.inspur.edp.cef.designtime.api.entity.increment.ModifyEntityIncrement;
-import com.inspur.edp.cef.designtime.api.entity.increment.merger.DataTypeIncrementMerger;
+import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityErrorCodeEnum;
+import com.inspur.edp.cef.designtime.api.exceptions.CommonEntityException;
+import com.inspur.edp.cef.designtime.api.increment.IncrementType;
import com.inspur.edp.cef.designtime.api.increment.merger.MergeUtils;
-import com.inspur.edp.cef.designtime.api.increment.property.BooleanPropertyIncrement;
-import com.inspur.edp.cef.designtime.api.increment.property.ObjectPropertyIncrement;
import com.inspur.edp.cef.designtime.api.increment.property.PropertyIncrement;
import com.inspur.edp.cef.designtime.api.increment.property.StringPropertyIncrement;
+import com.inspur.edp.cef.designtime.api.json.CefNames;
import com.inspur.edp.das.commonmodel.IGspCommonModel;
import com.inspur.edp.das.commonmodel.IGspCommonObject;
import com.inspur.edp.das.commonmodel.collection.GspObjectCollection;
-import com.inspur.edp.das.commonmodel.controlrule.CmEntityControlRule;
import com.inspur.edp.das.commonmodel.entity.GspCommonObject;
import com.inspur.edp.das.commonmodel.entity.element.increment.merger.CommonElementMerger;
-import com.inspur.edp.das.commonmodel.entity.object.GspCommonObjectType;
import com.inspur.edp.das.commonmodel.exception.CommonModelErrorCodeEnum;
import com.inspur.edp.das.commonmodel.exception.CommonModelException;
-import com.inspur.edp.das.commonmodel.json.CommonModelNames;
import lombok.var;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -31,51 +32,188 @@ import org.slf4j.LoggerFactory;
import java.util.HashMap;
import java.util.Map;
-public class CommonObjectIncrementMerger extends DataTypeIncrementMerger {
+public class CommonObjectIncrementMerger {
+
private static final Logger logger = LoggerFactory.getLogger(CommonObjectIncrementMerger.class);
public CommonObjectIncrementMerger() {
- super();
}
- public CommonObjectIncrementMerger(boolean includeAll) {
- super(includeAll);
+ public GspCommonDataType merge(
+ GspCommonDataType extendDataType,
+ GspCommonDataType rootDataType,
+ CommonEntityIncrement extendIncrement,
+ CommonEntityIncrement baseIncrement,
+ CommonObjectRule rule) {
+
+ if (baseIncrement.getIncrementType() == IncrementType.Modify) {
+ return mergeModifyIncrement(extendDataType, rootDataType, (ModifyEntityIncrement) extendIncrement, (ModifyEntityIncrement) baseIncrement, rule);
+ }
+ return null;
+ }
+
+
+ private GspCommonDataType mergeModifyIncrement(
+ GspCommonDataType extendDataType,
+ GspCommonDataType rootDataType,
+ ModifyEntityIncrement extendIncrement,
+ ModifyEntityIncrement baseIncrement,
+ CommonObjectRule rule) {
+
+ var propChanges = baseIncrement.getChangeProperties();
+ if (!propChanges.isEmpty()) {
+ mergeChangeProps(extendDataType, extendIncrement.getChangeProperties(), propChanges, rule);
+ }
+
+ var fieldChanges = baseIncrement.getFields();
+ if (!fieldChanges.isEmpty()) {
+ mergeFieldProps(extendDataType, rootDataType, extendIncrement.getFields(), fieldChanges, rule);
+ }
+
+ mergeExtendModifyIncrement(extendDataType, rootDataType, extendIncrement, baseIncrement, rule);
+
+ return extendDataType;
}
- @Override
- protected void mergeExtendModifyIncrement(GspCommonDataType extendDataType, GspCommonDataType rootDataType, ModifyEntityIncrement extendIncrement, ModifyEntityIncrement baseIncrement, CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
+ private void mergeChangeProps(
+ GspCommonDataType extendDataType,
+ HashMap extendIncrement,
+ HashMap baseIncrement,
+ CommonObjectRule rule) {
+
+ if (rule == null) {
+ return;
+ }
+ if (baseIncrement.containsKey(CefNames.Name) && MergeUtils.isAllow(rule.getNameRule())) {
+ extendDataType.setName(MergeUtils.getStringValue(
+ CefNames.Name, (StringPropertyIncrement) baseIncrement.get(CefNames.Name), extendIncrement));
+ }
+ }
+
+ private void mergeFieldProps(
+ GspCommonDataType extendDataType,
+ GspCommonDataType rootDataType,
+ HashMap extendIncrement,
+ HashMap baseIncrement,
+ CommonObjectRule rule) {
+ StringBuilder builder = new StringBuilder();
+ builder.append("开始同步编号为:").append(extendDataType.getCode()).append(",名称为:").append(extendDataType.getName()).append("的节点对象上的字段信息");
+ logger.info(builder.toString());
+ logger.info("同步的字段数量:" + baseIncrement.size());
+ for (var fieldPair : baseIncrement.entrySet()) {
+
+ var fieldIncrement = fieldPair.getValue();
+ switch (fieldIncrement.getIncrementType()) {
+ case Added:
+ if (MergeUtils.isAllow(rule.getAddElementRule())) {
+ var baseAddedField = ((AddedFieldIncrement) fieldIncrement).getAddedField();
+ dealAddedField(baseAddedField, extendIncrement);
+ //todo 字段列表中已有相同Id的字段时,不再添加
+ if (isAddNewField(extendDataType, baseAddedField)) {
+ extendDataType.getContainElements().add(baseAddedField);
+ }
+ }
+ break;
+ case Deleted:
+ if (MergeUtils.isAllow(rule.getDeleteElementRule())) {
+ extendDataType.getContainElements().remove(fieldIncrement.getId());
+ }
+ break;
+ case Modify:
+ dealModifyField(extendDataType, rootDataType, fieldIncrement, extendIncrement, rule);
+ }
+
+ }
+
+ }
+
+ private boolean isAddNewField(GspCommonDataType extendDataType, IGspCommonField field) {
+ GspFieldCollection containElements = extendDataType.getContainElements();
+ IGspCommonField commonField = getCommonField(containElements, field.getID());
+ if (commonField != null) {
+ logger.info("当前名称为:" + extendDataType.getName() + "的节点对象上已经存在ID为:" + field.getID() + "的字段!");
+ }
+ return commonField == null;
+ }
+
+ private IGspCommonField getCommonField(GspFieldCollection containElements, String fieldId) {
+ for (IGspCommonField commonField : containElements) {
+ if (fieldId.equals(commonField.getID())) {
+ return commonField;
+ }
+ }
+ return null;
+ }
+
+ private void dealAddedField(GspCommonField field, HashMap extendIncrement) {
+
+ //todo 同编号,同标签字段的处理策略
+ }
+
+ private void dealModifyField(
+ GspCommonDataType extendDataType,
+ GspCommonDataType rootDataType,
+ GspCommonFieldIncrement baseFieldIncrement,
+ HashMap extendIncrement,
+ CommonObjectRule rule) {
+ var field = extendDataType.findElement(baseFieldIncrement.getId());
+ if (field == null) {
+ if (rootDataType != null) {
+ IGspCommonField rootField = rootDataType.findElement(baseFieldIncrement.getId());
+ if (rootField != null) {
+ field = rootField.clone(extendDataType, null);
+ }
+ }
+ if (field == null) {
+ throw CommonEntityException.createException(CommonEntityErrorCodeEnum.GSP_BEMODEL_COMMON_ENTITY_0011, extendDataType.getCode(), baseFieldIncrement.getId());
+ }
+ }
+ GspCommonFieldIncrement extendFieldIncrement = null;
+ if (extendIncrement.containsKey(baseFieldIncrement.getId())) {
+ extendFieldIncrement = extendIncrement.get(baseFieldIncrement.getId());
+ }
+ var merger = getFieldMerger();
+ CommonElementRule elementRule = rule.getElementRule(field.getID());
+ field = merger.merge((GspCommonField) field, extendFieldIncrement, baseFieldIncrement, elementRule);
+
+ }
+
+ protected void mergeExtendModifyIncrement(GspCommonDataType extendDataType, GspCommonDataType rootDataType, ModifyEntityIncrement extendIncrement, ModifyEntityIncrement baseIncrement, CommonObjectRule rule) {
GspCommonObject extendObj = (GspCommonObject) extendDataType;
GspCommonObject rootObj = (GspCommonObject) rootDataType;
//region child entity
- mergeChildObjs(extendObj, rootObj, extendIncrement, baseIncrement, rule, def);
+ mergeChildObjs(extendObj, rootObj, extendIncrement, baseIncrement, rule);
//endregion
//region extendInfo
- mergeExtendObjectInfo(extendObj, extendIncrement, baseIncrement, rule, def);
+ mergeExtendObjectInfo(extendObj, extendIncrement, baseIncrement, rule);
//endregion
}
//region child entity
- private void mergeChildObjs(GspCommonObject extendObj, GspCommonObject rootObj, ModifyEntityIncrement extendIncrement, ModifyEntityIncrement baseIncrement, CommonDataTypeControlRule rule, CommonDataTypeControlRuleDef def) {
+ private void mergeChildObjs(GspCommonObject extendObj, GspCommonObject rootObj, ModifyEntityIncrement extendIncrement, ModifyEntityIncrement baseIncrement, CommonObjectRule rule) {
HashMap extendChildObjs = extendIncrement.getChildEntitis();
HashMap baseChildObjs = baseIncrement.getChildEntitis();
- if (extendChildObjs.isEmpty() && baseChildObjs.isEmpty())
+ if (extendChildObjs.isEmpty() && baseChildObjs.isEmpty()) {
return;
+ }
logger.info(getMessage(extendObj));
logger.info("同步的子表数量为:" + baseChildObjs.size());
for (Map.Entry childObjPair : baseChildObjs.entrySet()) {
CommonEntityIncrement childEntityIncrement = childObjPair.getValue();
switch (childEntityIncrement.getIncrementType()) {
case Added:
- mergeAddedObj(extendObj, (AddedEntityIncrement) childEntityIncrement, extendChildObjs, rule, def);
+ mergeAddedObj(extendObj, (AddedEntityIncrement) childEntityIncrement, extendChildObjs, rule);
break;
case Deleted:
- extendObj.getContainChildObjects().remove(childEntityIncrement.getId());
+ if (MergeUtils.isAllow(rule.getDeleteChildObjectRule())) {
+ extendObj.getContainChildObjects().remove(childEntityIncrement.getId());
+ }
break;
case Modify:
- dealModifyChild(extendObj, rootObj, (ModifyEntityIncrement) childEntityIncrement, extendChildObjs, rule, def);
+ dealModifyChild(extendObj, rootObj, (ModifyEntityIncrement) childEntityIncrement, extendChildObjs, rule);
}
}
@@ -97,10 +235,9 @@ public class CommonObjectIncrementMerger extends DataTypeIncrementMerger {
GspCommonObject extendObj,
AddedEntityIncrement childEntityIncrement,
HashMap extendChildEntitis,
- CommonDataTypeControlRule rule,
- CommonDataTypeControlRuleDef def) {
+ CommonObjectRule rule) {
- if (isAllowAddChildObj(rule, def)) {
+ if (MergeUtils.isAllow(rule.getAddChildObjectRule())) {
IGspCommonObject commonObject = (IGspCommonObject) childEntityIncrement.getAddedDataType();
if (isAddNewChildObject(extendObj, commonObject)) {
extendObj.getContainChildObjects().add(commonObject);
@@ -129,31 +266,16 @@ public class CommonObjectIncrementMerger extends DataTypeIncrementMerger {
return null;
}
- private boolean isAllowAddChildObj(CommonDataTypeControlRule rule,
- CommonDataTypeControlRuleDef def) {
- switch (rule.getAddChildEntityControlRule().getControlRuleValue()) {
- case Allow:
- return true;
- case Forbiddon:
- return false;
- case Default:
- return def.getAddChildEntityControlRule().getDefaultRuleValue() == ControlRuleValue.Allow;
- default:
- throw CommonModelException.createException(CommonModelErrorCodeEnum.GSP_BEMODEL_COMMON_MODEL_0003, rule.getAddChildEntityControlRule().getControlRuleValue().toString());
- }
- }
-
-
private void dealModifyChild(
GspCommonObject extendObj,
GspCommonObject rootObj, ModifyEntityIncrement baseChildIncrement,
HashMap extendIncrement,
- CommonDataTypeControlRule rule,
- CommonDataTypeControlRuleDef def) {
+ CommonObjectRule rule) {
var childObj = extendObj.getChildObjectById(baseChildIncrement.getId());
IGspCommonObject rootChildObj = null;
- if (rootObj != null)
+ if (rootObj != null) {
rootChildObj = rootObj.getChildObjectById(baseChildIncrement.getId());
+ }
if (childObj == null) {
if (rootChildObj != null) {
childObj = rootChildObj.clone(extendObj);
@@ -164,76 +286,29 @@ public class CommonObjectIncrementMerger extends DataTypeIncrementMerger {
extendObj.getContainChildObjects().add(childObj);
}
ModifyEntityIncrement extendObjIncrement = null;
- if (extendIncrement.containsKey(baseChildIncrement.getId()))
+ if (extendIncrement.containsKey(baseChildIncrement.getId())) {
extendObjIncrement = (ModifyEntityIncrement) extendIncrement.get(baseChildIncrement.getId());
+ }
var merger = getChildObjectMerger();
- if (extendObjIncrement == null)
+ if (extendObjIncrement == null) {
extendObjIncrement = new ModifyEntityIncrement();
- CmEntityControlRule childObjRule = null;
- if (rule.getChildRules().get(CommonModelNames.ChildObject) != null) {
- childObjRule = (CmEntityControlRule) rule.getChildRules().get(CommonModelNames.ChildObject).get(baseChildIncrement.getId());
}
- merger.merge((GspCommonDataType) childObj, (GspCommonDataType) rootChildObj, extendObjIncrement, baseChildIncrement, childObjRule, def);
+ CommonObjectRule childObjRule = rule.getChildObjectRule(baseChildIncrement.getId());
+ merger.merge((GspCommonDataType) childObj, (GspCommonDataType) rootChildObj, extendObjIncrement, baseChildIncrement, childObjRule);
}
protected CommonObjectIncrementMerger getChildObjectMerger() {
- return new CommonObjectIncrementMerger(includeAll);
+ return new CommonObjectIncrementMerger();
}
//endregion
- protected void mergeExtendObjectInfo(GspCommonObject extendObj, ModifyEntityIncrement extendIncrement, ModifyEntityIncrement baseIncrement, CommonDataTypeControlRule rule,
- CommonDataTypeControlRuleDef def) {
-
- }
-
-
- @Override
- protected void dealExtendChangeProp(GspCommonDataType extendDataType, HashMap extendIncrement, String key, PropertyIncrement increment) {
-
- GspCommonObject obj = (GspCommonObject) extendDataType;
- switch (key) {
- case CommonModelNames.RefObjectName:
- String mergedRefObjectName = MergeUtils.getStringValue(CommonModelNames.RefObjectName, (StringPropertyIncrement) increment, extendIncrement, null, null);
- obj.setRefObjectName(mergedRefObjectName);
- return;
- case CommonModelNames.ObjectType:
- GspCommonObjectType mergedObjectType = MergeUtils.getObjectValue(CommonModelNames.ObjectType, (ObjectPropertyIncrement) increment, extendIncrement, null, null);
- obj.setObjectType(mergedObjectType);
- return;
- case CommonModelNames.OrderbyCondition:
- String mergedOrderbyCondition = MergeUtils.getStringValue(CommonModelNames.OrderbyCondition, (StringPropertyIncrement) increment, extendIncrement, null, null);
- obj.setOrderbyCondition(mergedOrderbyCondition);
- return;
- case CommonModelNames.FilterCondition:
- String mergedFilterCondition = MergeUtils.getStringValue(CommonModelNames.FilterCondition, (StringPropertyIncrement) increment, extendIncrement, null, null);
- obj.setFilterCondition(mergedFilterCondition);
- return;
- case CommonModelNames.IsReadOnly:
- boolean mergedReadonly = MergeUtils.getBooleanValue(CommonModelNames.IsReadOnly, (BooleanPropertyIncrement) increment, extendIncrement, null, null);
- obj.setIsReadOnly(mergedReadonly);
- return;
- case CommonModelNames.IsVirtual:
- boolean mergedIsVirtual = MergeUtils.getBooleanValue(CommonModelNames.IsVirtual, (BooleanPropertyIncrement) increment, extendIncrement, null, null);
- obj.setIsVirtual(mergedIsVirtual);
- return;
- case CommonModelNames.BelongModelID:
- String mergedBelongModelID = MergeUtils.getStringValue(CommonModelNames.BelongModelID, (StringPropertyIncrement) increment, extendIncrement, null, null);
- obj.setBelongModelID(mergedBelongModelID);
- return;
- case CommonModelNames.StateElementID:
- String mergedStateElementID = MergeUtils.getStringValue(CommonModelNames.StateElementID, (StringPropertyIncrement) increment, extendIncrement, null, null);
- obj.setStateElementID(mergedStateElementID);
- return;
- }
- dealCommonObjChangeProp(obj, extendIncrement, key, increment);
- }
-
-
- protected void dealCommonObjChangeProp(GspCommonObject obj, HashMap extendIncrement, String key, PropertyIncrement increment) {
- }
-
- protected CommonFieldIncrementMerger getFieldMerger() {
- return new CommonElementMerger(includeAll);
+ protected void mergeExtendObjectInfo(GspCommonObject extendObj, ModifyEntityIncrement extendIncrement, ModifyEntityIncrement baseIncrement, CommonObjectRule rule) {
+
+ }
+
+
+ protected CommonElementMerger getFieldMerger() {
+ return new CommonElementMerger();
}
}
diff --git a/i18nresources/business_entity_model_exception.properties b/i18nresources/business_entity_model_exception.properties
index ea763fbda354875a27fea7c3821fc4359c312cb4..8524c415c801d3562f3c2a6e99532adc83f948fd 100644
--- a/i18nresources/business_entity_model_exception.properties
+++ b/i18nresources/business_entity_model_exception.properties
@@ -389,34 +389,46 @@ Approved=\u5BA1\u6279\u901A\u8FC7
ApprovalNotPassed=\u5BA1\u6279\u4E0D\u901A\u8FC7
ProcessInstance=\u6D41\u7A0B\u5B9E\u4F8B
code=\u7F16\u53F7
-entityCode=\u5B9E\u4F53\u7F16\u53F7
name=\u540D\u79F0
-entityName=\u5B9E\u4F53\u540D\u79F0
-addCustomAction=\u6DFB\u52A0\u81EA\u5B9A\u4E49\u52A8\u4F5C
-modifyCustomAction=\u4FEE\u6539\u81EA\u5B9A\u4E49\u52A8\u4F5C
-addVariableDtm=\u6DFB\u52A0\u81EA\u5B9A\u4E49\u53D8\u91CF
-modifyVariableDtm=\u4FEE\u6539\u81EA\u5B9A\u4E49\u53D8\u91CF
-nodeName=\u8282\u70B9\u540D\u79F0
-addUQConstraint=\u6DFB\u52A0\u552F\u4E00\u6027\u7EA6\u675F
-modifyUQConstraint=\u4FEE\u6539\u552F\u4E00\u6027\u7EA6\u675F
-addDtermination=\u6DFB\u52A0\u8054\u52A8\u8BA1\u7B97
-modifyDetermination=\u4FEE\u6539\u8054\u52A8\u8BA1\u7B97
-addValidation=\u6DFB\u52A0\u6821\u9A8C\u89C4\u5219
-modifyValidation=\u4FEE\u6539\u6821\u9A8C\u89C4\u5219
-addChildEntity=\u6DFB\u52A0\u5B50\u8282\u70B9
-modifyChildEntities=\u4FEE\u6539\u5B50\u8282\u70B9\u4FE1\u606F
-addField=\u6DFB\u52A0\u5B57\u6BB5
-modifyField=\u4FEE\u6539\u5B57\u6BB5\u4FE1\u606F
-fieldName=\u5B57\u6BB5\u540D\u79F0
-length=\u957F\u5EA6
-fieldLength=\u5B57\u6BB5\u957F\u5EA6
-precision=\u7CBE\u5EA6
-fieldPrecision=\u5B57\u6BB5\u7CBE\u5EA6
-defaultValue=\u9ED8\u8BA4\u503C
-fieldDefaultValue=\u5B57\u6BB5\u9ED8\u8BA4\u503C
-multiLanField=\u662F\u5426\u591A\u8BED
-fieldMultiLanField=\u5B57\u6BB5\u591A\u8BED\u8BBE\u7F6E
-readonly=\u662F\u5426\u53EA\u8BFB
-readonlySetting=\u5B57\u6BB5\u53EA\u8BFB\u8BBE\u7F6E
-required=\u662F\u5426\u5FC5\u586B
-requiredSetting=\u5B57\u6BB5\u5FC5\u586B\u8BBE\u7F6E
+
+# derived rule keys
+RULE_MODEL_NAME=\u540D\u79F0
+RULE_MODEL_NAME_DESCRIPTION=\u5B9E\u4F53\u540D\u79F0
+RULE_OBJECT_NAME=\u540D\u79F0
+RULE_OBJECT_NAME_DESCRIPTION=\u8282\u70B9\u540D\u79F0
+RULE_ELEMENT_NAME=\u540D\u79F0
+RULE_ELEMENT_NAME_DESCRIPTION=\u5B57\u6BB5\u540D\u79F0
+RULE_ELEMENT_LENGTH=\u957F\u5EA6
+RULE_ELEMENT_LENGTH_DESCRIPTION=\u5B57\u6BB5\u957F\u5EA6
+RULE_ELEMENT_PRECISION=\u7CBE\u5EA6
+RULE_ELEMENT_PRECISION_DESCRIPTION=\u5B57\u6BB5\u7CBE\u5EA6
+RULE_ELEMENT_DEFAULT_VALUE=\u9ED8\u8BA4\u503C
+RULE_ELEMENT_DEFAULT_VALUE_DESCRIPTION=\u5B57\u6BB5\u9ED8\u8BA4\u503C
+RULE_ELEMENT_REQUIRED=\u662F\u5426\u5FC5\u586B
+RULE_ELEMENT_REQUIRED_DESCRIPTION=\u5B57\u6BB5\u5FC5\u586B\u8BBE\u7F6E
+RULE_ELEMENT_CONTAIN_ENUM_VALUES=\u662F\u5426\u5305\u542B\u679A\u4E3E\u503C
+RULE_ELEMENT_CONTAIN_ENUM_VALUES_DESCRIPTION=\u5B57\u6BB5\u679A\u4E3E\u503C\u8BBE\u7F6E
+RULE_ELEMENT_IS_PERSISTENT=\u662F\u5426\u6301\u4E45\u5316
+RULE_ELEMENT_IS_PERSISTENT_DESCRIPTION=\u5B57\u6BB5\u6301\u4E45\u5316\u8BBE\u7F6E
+RULE_ELEMENT_CUSTOMIZE_REF=\u81EA\u5B9A\u4E49\u5F15\u7528
+RULE_ELEMENT_CUSTOMIZE_REF_DESCRIPTION=\u5B57\u6BB5\u81EA\u5B9A\u4E49\u5F15\u7528\u8BBE\u7F6E
+RULE_ELEMENT_ENCRYPTION=\u662F\u5426\u52A0\u5BC6
+RULE_ELEMENT_ENCRYPTION_DESCRIPTION=\u5B57\u6BB5\u52A0\u5BC6\u8BBE\u7F6E
+RULE_ELEMENT_IS_DEFAULT_NULL=\u662F\u5426\u9ED8\u8BA4\u7A7A
+RULE_ELEMENT_IS_DEFAULT_NULL_DESCRIPTION=\u5B57\u6BB5\u9ED8\u8BA4\u7A7A\u8BBE\u7F6E
+RULE_OBJECT_ADD_CHILD_OBJECT=\u6DFB\u52A0\u5B50\u8282\u70B9
+RULE_OBJECT_ADD_CHILD_OBJECT_DESCRIPTION=\u6DFB\u52A0\u5B50\u8282\u70B9
+RULE_OBJECT_ADD_ELEMENT=\u6DFB\u52A0\u5B57\u6BB5
+RULE_OBJECT_ADD_ELEMENT_DESCRIPTION=\u6DFB\u52A0\u5B57\u6BB5
+RULE_OBJECT_DELETE_ELEMENT=\u5220\u9664\u5B57\u6BB5
+RULE_OBJECT_DELETE_ELEMENT_DESCRIPTION=\u5220\u9664\u5B57\u6BB5
+RULE_OBJECT_DELETE_CHILD_OBJECT=\u5220\u9664\u5B50\u8282\u70B9
+RULE_OBJECT_DELETE_CHILD_OBJECT_DESCRIPTION=\u5220\u9664\u5B50\u8282\u70B9
+RULE_MODEL_ADD_CUSTOM_ACTION=\u6DFB\u52A0\u81EA\u5B9A\u4E49\u52A8\u4F5C
+RULE_MODEL_ADD_CUSTOM_ACTION_DESCRIPTION=\u6DFB\u52A0\u81EA\u5B9A\u4E49\u52A8\u4F5C
+RULE_MODEL_MODIFY_CUSTOM_ACTION=\u4FEE\u6539\u81EA\u5B9A\u4E49\u52A8\u4F5C
+RULE_MODEL_MODIFY_CUSTOM_ACTION_DESCRIPTION=\u4FEE\u6539\u81EA\u5B9A\u4E49\u52A8\u4F5C
+RULE_OBJECT_ADD_DETERMINATION=\u6DFB\u52A0\u8054\u52A8\u8BA1\u7B97
+RULE_OBJECT_ADD_DETERMINATION_DESCRIPTION=\u6DFB\u52A0\u8054\u52A8\u8BA1\u7B97
+RULE_OBJECT_ADD_VALIDATION=\u6DFB\u52A0\u6821\u9A8C\u89C4\u5219
+RULE_OBJECT_ADD_VALIDATION_DESCRIPTION=\u6DFB\u52A0\u6821\u9A8C\u89C4\u5219
diff --git a/i18nresources/en/business_entity_model_exception.en.properties b/i18nresources/en/business_entity_model_exception.en.properties
index c0f9741da391d069f26fb4012eee3f902303c783..c10b070a3ecdfbb506929d813ab9b6c7b28f94ab 100644
--- a/i18nresources/en/business_entity_model_exception.en.properties
+++ b/i18nresources/en/business_entity_model_exception.en.properties
@@ -389,34 +389,46 @@ Approved=Approved
ApprovalNotPassed=ApprovalNotPassed
ProcessInstance=ProcessInstance
code=Code
-entityCode=Entity Code
name=Name
-entityName=Entity Name
-addCustomAction=Add Custom Action
-modifyCustomAction=Modify Custom Action
-addVariableDtm=Add Custom Variable
-modifyVariableDtm=Modify Custom Variable
-nodeName=Node Name
-addUQConstraint=Add Unique Constraint
-modifyUQConstraint=Modify Unique Constraint
-addDtermination=Add Linked Calculation
-modifyDetermination=Modify Linked Calculation
-addValidation=Add Validation Rule
-modifyValidation=Modify Validation Rule
-addChildEntity=Add Child Entity
-modifyChildEntities=Modify Child Entities Information
-addField=Add Field
-modifyField=Modify Field Information
-fieldName=Field Name
-length=Length
-fieldLength=Field Length
-precision=Precision
-fieldPrecision=Field Precision
-defaultValue=Default Value
-fieldDefaultValue=Field Default Value
-multiLanField=Multilingual Support
-fieldMultiLanField=Field Multilingual Settings
-readonly=Read-Only
-readonlySetting=Field Read-Only Setting
-required=Required
-requiredSetting=Field Required Setting
+
+# derived rule keys
+RULE_MODEL_NAME=Name
+RULE_MODEL_NAME_DESCRIPTION=Entity Name
+RULE_OBJECT_NAME=Name
+RULE_OBJECT_NAME_DESCRIPTION=Node Name
+RULE_ELEMENT_NAME=Name
+RULE_ELEMENT_NAME_DESCRIPTION=Field Name
+RULE_ELEMENT_LENGTH=Length
+RULE_ELEMENT_LENGTH_DESCRIPTION=Field Length
+RULE_ELEMENT_PRECISION=Precision
+RULE_ELEMENT_PRECISION_DESCRIPTION=Field Precision
+RULE_ELEMENT_DEFAULT_VALUE=Default Value
+RULE_ELEMENT_DEFAULT_VALUE_DESCRIPTION=Field Default Value
+RULE_ELEMENT_REQUIRED=Required Field
+RULE_ELEMENT_REQUIRED_DESCRIPTION=Field Required Setting
+RULE_ELEMENT_CONTAIN_ENUM_VALUES=Contains Enum Values
+RULE_ELEMENT_CONTAIN_ENUM_VALUES_DESCRIPTION=Field Enum Values Setting
+RULE_ELEMENT_IS_PERSISTENT=Persistent
+RULE_ELEMENT_IS_PERSISTENT_DESCRIPTION=Field Persistent Setting
+RULE_ELEMENT_CUSTOMIZE_REF=Customize Reference
+RULE_ELEMENT_CUSTOMIZE_REF_DESCRIPTION=Field Customize Reference Setting
+RULE_ELEMENT_ENCRYPTION=Encryption
+RULE_ELEMENT_ENCRYPTION_DESCRIPTION=Field Encryption Setting
+RULE_ELEMENT_IS_DEFAULT_NULL=Default Null
+RULE_ELEMENT_IS_DEFAULT_NULL_DESCRIPTION=Field Default Null Setting
+RULE_OBJECT_ADD_CHILD_OBJECT=Add Child Node
+RULE_OBJECT_ADD_CHILD_OBJECT_DESCRIPTION=Add Child Node
+RULE_OBJECT_ADD_ELEMENT=Add Field
+RULE_OBJECT_ADD_ELEMENT_DESCRIPTION=Add Field
+RULE_OBJECT_DELETE_ELEMENT=Delete Field
+RULE_OBJECT_DELETE_ELEMENT_DESCRIPTION=Delete Field
+RULE_OBJECT_DELETE_CHILD_OBJECT=Delete Child Node
+RULE_OBJECT_DELETE_CHILD_OBJECT_DESCRIPTION=Delete Child Node
+RULE_MODEL_ADD_CUSTOM_ACTION=Add Custom Action
+RULE_MODEL_ADD_CUSTOM_ACTION_DESCRIPTION=Add Custom Action
+RULE_MODEL_MODIFY_CUSTOM_ACTION=Modify Custom Action
+RULE_MODEL_MODIFY_CUSTOM_ACTION_DESCRIPTION=Modify Custom Action
+RULE_OBJECT_ADD_DETERMINATION=Add Determination
+RULE_OBJECT_ADD_DETERMINATION_DESCRIPTION=Add Determination
+RULE_OBJECT_ADD_VALIDATION=Add Validation
+RULE_OBJECT_ADD_VALIDATION_DESCRIPTION=Add Validation
diff --git a/i18nresources/zh-CHT/business_entity_model_exception.zh-CHT.properties b/i18nresources/zh-CHT/business_entity_model_exception.zh-CHT.properties
index ac95a677bb432b85be43df79380fa1f3f6b20c52..342ab23381a257e7e7facd572507ab61777dc6d1 100644
--- a/i18nresources/zh-CHT/business_entity_model_exception.zh-CHT.properties
+++ b/i18nresources/zh-CHT/business_entity_model_exception.zh-CHT.properties
@@ -389,34 +389,46 @@ Approved=\u5BE9\u6279\u901A\u904E
ApprovalNotPassed=\u5BE9\u6279\u4E0D\u901A\u904E
ProcessInstance=\u6D41\u7A0B\u5BE6\u4F8B
code=\u7DE8\u865F
-entityCode=\u5BE6\u9AD4\u7DE8\u865F
name=\u540D\u7A31
-entityName=\u5BE6\u9AD4\u540D\u7A31
-addCustomAction=\u6DFB\u52A0\u81EA\u5B9A\u7FA9\u52D5\u4F5C
-modifyCustomAction=\u4FEE\u6539\u81EA\u5B9A\u7FA9\u52D5\u4F5C
-addVariableDtm=\u6DFB\u52A0\u81EA\u5B9A\u7FA9\u8B8A\u91CF
-modifyVariableDtm=\u4FEE\u6539\u81EA\u5B9A\u7FA9\u8B8A\u91CF
-nodeName=\u7BC0\u9EDE\u540D\u7A31
-addUQConstraint=\u6DFB\u52A0\u552F\u4E00\u6027\u7D04\u675F
-modifyUQConstraint=\u4FEE\u6539\u552F\u4E00\u6027\u7D04\u675F
-addDtermination=\u6DFB\u52A0\u806F\u52D5\u8A08\u7B97
-modifyDetermination=\u4FEE\u6539\u806F\u52D5\u8A08\u7B97
-addValidation=\u6DFB\u52A0\u6821\u9A57\u898F\u5247
-modifyValidation=\u4FEE\u6539\u6821\u9A57\u898F\u5247
-addChildEntity=\u6DFB\u52A0\u5B50\u7BC0\u9EDE
-modifyChildEntities=\u4FEE\u6539\u5B50\u7BC0\u9EDE\u4FE1\u606F
-addField=\u6DFB\u52A0\u5B57\u6BB5
-modifyField=\u4FEE\u6539\u5B57\u6BB5\u4FE1\u606F
-fieldName=\u5B57\u6BB5\u540D\u7A31
-length=\u9577\u5EA6
-fieldLength=\u5B57\u6BB5\u9577\u5EA6
-precision=\u7CBE\u5EA6
-fieldPrecision=\u5B57\u6BB5\u7CBE\u5EA6
-defaultValue=\u9ED8\u8A8D\u503C
-fieldDefaultValue=\u5B57\u6BB5\u9ED8\u8A8D\u503C
-multiLanField=\u662F\u5426\u591A\u8A9E
-fieldMultiLanField=\u5B57\u6BB5\u591A\u8A9E\u8A2D\u7F6E
-readonly=\u662F\u5426\u53EA\u8B80
-readonlySetting=\u5B57\u6BB5\u53EA\u8B80\u8A2D\u7F6E
-required=\u662F\u5426\u5FC5\u586B
-requiredSetting=\u5B57\u6BB5\u5FC5\u586B\u8A2D\u7F6E
+
+# derived rule keys
+RULE_MODEL_NAME=\u540D\u7A31
+RULE_MODEL_NAME_DESCRIPTION=\u5BE6\u9AD4\u540D\u7A31
+RULE_OBJECT_NAME=\u540D\u7A31
+RULE_OBJECT_NAME_DESCRIPTION=\u7BC0\u9EDE\u540D\u7A31
+RULE_ELEMENT_NAME=\u540D\u7A31
+RULE_ELEMENT_NAME_DESCRIPTION=\u6B04\u4F4D\u540D\u7A31
+RULE_ELEMENT_LENGTH=\u9577\u5EA6
+RULE_ELEMENT_LENGTH_DESCRIPTION=\u6B04\u4F4D\u9577\u5EA6
+RULE_ELEMENT_PRECISION=\u7CBE\u78BA\u5EA6
+RULE_ELEMENT_PRECISION_DESCRIPTION=\u6B04\u4F4D\u7CBE\u78BA\u5EA6
+RULE_ELEMENT_DEFAULT_VALUE=\u9810\u8A2D\u503C
+RULE_ELEMENT_DEFAULT_VALUE_DESCRIPTION=\u6B04\u4F4D\u9810\u8A2D\u503C
+RULE_ELEMENT_REQUIRED=\u662F\u5426\u5FC5\u586B
+RULE_ELEMENT_REQUIRED_DESCRIPTION=\u6B04\u4F4D\u5FC5\u586B\u8A2D\u5B9A
+RULE_ELEMENT_CONTAIN_ENUM_VALUES=\u662F\u5426\u5305\u542B\u5217\u8209\u503C
+RULE_ELEMENT_CONTAIN_ENUM_VALUES_DESCRIPTION=\u6B04\u4F4D\u5217\u8209\u503C\u8A2D\u5B9A
+RULE_ELEMENT_IS_PERSISTENT=\u662F\u5426\u6301\u4E45\u5316
+RULE_ELEMENT_IS_PERSISTENT_DESCRIPTION=\u6B04\u4F4D\u6301\u4E45\u5316\u8A2D\u5B9A
+RULE_ELEMENT_CUSTOMIZE_REF=\u81EA\u8A02\u5F15\u7528
+RULE_ELEMENT_CUSTOMIZE_REF_DESCRIPTION=\u6B04\u4F4D\u81EA\u8A02\u5F15\u7528\u8A2D\u5B9A
+RULE_ELEMENT_ENCRYPTION=\u662F\u5426\u52A0\u5BC6
+RULE_ELEMENT_ENCRYPTION_DESCRIPTION=\u6B04\u4F4D\u52A0\u5BC6\u8A2D\u5B9A
+RULE_ELEMENT_IS_DEFAULT_NULL=\u662F\u5426\u9810\u8A2D\u7A7A
+RULE_ELEMENT_IS_DEFAULT_NULL_DESCRIPTION=\u6B04\u4F4D\u9810\u8A2D\u7A7A\u8A2D\u5B9A
+RULE_OBJECT_ADD_CHILD_OBJECT=\u65B0\u589E\u5B50\u7BC0\u9EDE
+RULE_OBJECT_ADD_CHILD_OBJECT_DESCRIPTION=\u65B0\u589E\u5B50\u7BC0\u9EDE
+RULE_OBJECT_ADD_ELEMENT=\u65B0\u589E\u6B04\u4F4D
+RULE_OBJECT_ADD_ELEMENT_DESCRIPTION=\u65B0\u589E\u6B04\u4F4D
+RULE_OBJECT_DELETE_ELEMENT=\u522A\u9664\u6B04\u4F4D
+RULE_OBJECT_DELETE_ELEMENT_DESCRIPTION=\u522A\u9664\u6B04\u4F4D
+RULE_OBJECT_DELETE_CHILD_OBJECT=\u522A\u9664\u5B50\u7BC0\u9EDE
+RULE_OBJECT_DELETE_CHILD_OBJECT_DESCRIPTION=\u522A\u9664\u5B50\u7BC0\u9EDE
+RULE_MODEL_ADD_CUSTOM_ACTION=\u65B0\u589E\u81EA\u5B9A\u7FA9\u52D5\u4F5C
+RULE_MODEL_ADD_CUSTOM_ACTION_DESCRIPTION=\u65B0\u589E\u81EA\u5B9A\u7FA9\u52D5\u4F5C
+RULE_MODEL_MODIFY_CUSTOM_ACTION=\u4FEE\u6539\u81EA\u5B9A\u7FA9\u52D5\u4F5C
+RULE_MODEL_MODIFY_CUSTOM_ACTION_DESCRIPTION=\u4FEE\u6539\u81EA\u5B9A\u7FA9\u52D5\u4F5C
+RULE_OBJECT_ADD_DETERMINATION=\u65B0\u589E\u806F\u52D5\u8A08\u7B97
+RULE_OBJECT_ADD_DETERMINATION_DESCRIPTION=\u65B0\u589E\u806F\u52D5\u8A08\u7B97
+RULE_OBJECT_ADD_VALIDATION=\u65B0\u589E\u6821\u9A57\u898F\u5247
+RULE_OBJECT_ADD_VALIDATION_DESCRIPTION=\u65B0\u589E\u6821\u9A57\u898F\u5247
diff --git a/pom.xml b/pom.xml
index 66ac1b2aa04bd185cde4ddcd6fcd2030295821ed..8725e2994fa87f7828027a855feee12c0579045e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
com.inspur.edp
business-entity-model1
pom
- 0.2.2-SNAPSHOT
+ 0.2.3-SNAPSHOT
scm:git:git://git.iec.io/gsp-cloud-ds/bef/ubml/business-entity-model.git
scm:git:ssh://git@git.iec.io:6060/gsp-cloud-ds/bef/ubml/business-entity-model.git
diff --git a/unified-datatype-manager/pom.xml b/unified-datatype-manager/pom.xml
index ac05b78d5117304f2bb106830e30eeb0eb3b5af6..bd8ac103e5a70e5b81dc2941f1ab94d655b6816b 100644
--- a/unified-datatype-manager/pom.xml
+++ b/unified-datatype-manager/pom.xml
@@ -21,7 +21,7 @@
com.inspur.edp
business-entity-model1
- 0.2.2-SNAPSHOT
+ 0.2.3-SNAPSHOT
unified-datatype-manager
diff --git a/unified-datatype-model/pom.xml b/unified-datatype-model/pom.xml
index 1c70b1102cd15d07b7dc88896355b6d225a6b00f..1b16748eaf098b9541cf8c310c5684d70ab7d9b7 100644
--- a/unified-datatype-model/pom.xml
+++ b/unified-datatype-model/pom.xml
@@ -21,7 +21,7 @@
com.inspur.edp
business-entity-model1
- 0.2.2-SNAPSHOT
+ 0.2.3-SNAPSHOT
unified-datatype-model
diff --git a/unified-datatype-webapi/pom.xml b/unified-datatype-webapi/pom.xml
index 14f2c44be459b5c84c55fba33413c0eae0fa4767..4d3334bc064681fd6cb31066e53aa2618af5edc4 100644
--- a/unified-datatype-webapi/pom.xml
+++ b/unified-datatype-webapi/pom.xml
@@ -21,7 +21,7 @@
com.inspur.edp
business-entity-model1
- 0.2.2-SNAPSHOT
+ 0.2.3-SNAPSHOT
unified-datatype-webapi