Browse Source

前端核心发布: 8.2.80

基础框架发布: 8.2.18
  1) 规则引擎中,支持对资源和模型不同的深度复制策略:
     a. 资源深度复制, 只创建代码和名称不同的资源,不修改其模型的代码和名称
     b. 模型和子模型的深度复制, 其下的所有实体均修改代码和名称
     c. 对于模型参数为指标的参数, 不修改器代码和名称。
main
wangshaoping 2 weeks ago
parent
commit
1ac8fe883e
  1. 2
      app.platform/build.gradle
  2. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/dictionary/entity/DictionaryEntity.java
  3. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/dictionary/entity/EnumDictionaryEntity.java
  4. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/dictionary/entity/EnumItemEntity.java
  5. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/dictionary/entity/UserDefinedJavaClassDictionaryEntity.java
  6. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/dictionary/entity/UserDefinedJavaClassFieldEntity.java
  7. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/function/entity/FunctionEntity.java
  8. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/entity/IndicatorEntity.java
  9. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/entity/IndicatorLibEntity.java
  10. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/entity/IndicatorProcessorEntity.java
  11. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/entity/IndicatorValidatorEntity.java
  12. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/entity/LibEntity.java
  13. 12
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ModelEntity.java
  14. 9
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterEntity.java
  15. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterInOptionAdditionEntity.java
  16. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterInOptionItemEntity.java
  17. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterProcessorEntity.java
  18. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterValidatorEntity.java
  19. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/parameter/InOptionParameterEntity.java
  20. 15
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/parameter/IndicatorParameterEntity.java
  21. 4
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/resource/entity/ModelResourceEntity.java
  22. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/resource/entity/ResourceEntity.java
  23. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/testcase/entity/TestCaseEntity.java
  24. 2
      io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/testcase/entity/TestCaseParameterEntity.java
  25. 2
      io.sc.platform.orm/src/main/java/io/sc/platform/orm/DeepClone.java

2
app.platform/build.gradle

@ -1,4 +1,4 @@
apply plugin: 'war'
yapply plugin: 'war'
apply plugin: 'com.google.cloud.tools.jib'
apply from: "build-common.gradle"

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/dictionary/entity/DictionaryEntity.java

@ -216,7 +216,7 @@ public class DictionaryEntity extends CorporationAuditorEntity<DictionaryVo> imp
}
@Override
public Object deepClone() throws Exception{
public Object deepClone(Object... args) throws Exception{
DictionaryEntity entity =this.getClass().newInstance();
BeanUtils.copyProperties(this, entity, "children");
//children

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/dictionary/entity/EnumDictionaryEntity.java

@ -73,7 +73,7 @@ public class EnumDictionaryEntity extends DictionaryEntity {
}
@Override
public Object deepClone() throws Exception {
public Object deepClone(Object... args) throws Exception {
EnumDictionaryEntity entity =new EnumDictionaryEntity();
BeanUtils.copyProperties(this, entity, "children","items");

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/dictionary/entity/EnumItemEntity.java

@ -140,7 +140,7 @@ public class EnumItemEntity extends CorporationAuditorEntity<EnumItemVo> impleme
this.dictionary = dictionary;
}
public Object deepClone() {
public Object deepClone(Object... args) {
EnumItemEntity entity =new EnumItemEntity();
BeanUtils.copyProperties(this, entity);
return entity;

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/dictionary/entity/UserDefinedJavaClassDictionaryEntity.java

@ -76,7 +76,7 @@ public class UserDefinedJavaClassDictionaryEntity extends DictionaryEntity {
}
@Override
public Object deepClone() throws Exception {
public Object deepClone(Object... args) throws Exception {
UserDefinedJavaClassDictionaryEntity entity =new UserDefinedJavaClassDictionaryEntity();
BeanUtils.copyProperties(this, entity, "children","fields");

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/dictionary/entity/UserDefinedJavaClassFieldEntity.java

@ -253,7 +253,7 @@ public class UserDefinedJavaClassFieldEntity extends CorporationAuditorEntity<Us
}
@Override
public Object deepClone() throws Exception {
public Object deepClone(Object... args) throws Exception {
UserDefinedJavaClassFieldEntity entity =new UserDefinedJavaClassFieldEntity();
BeanUtils.copyProperties(this, entity);
return entity;

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/function/entity/FunctionEntity.java

@ -124,7 +124,7 @@ public class FunctionEntity extends CorporationAuditorEntity<FunctionVo> impleme
}
@Override
public Object deepClone() throws Exception {
public Object deepClone(Object... args) throws Exception {
FunctionEntity entity =new FunctionEntity();
BeanUtils.copyProperties(this, entity);
return entity;

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/entity/IndicatorEntity.java

@ -224,7 +224,7 @@ public class IndicatorEntity extends CorporationAuditorEntity<IndicatorVo> imple
this.lib = lib;
}
@Override
public Object deepClone() throws Exception {
public Object deepClone(Object... args) throws Exception {
IndicatorEntity entity =this.getClass().newInstance();
BeanUtils.copyProperties(this, entity,"validators","processors");

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/entity/IndicatorLibEntity.java

@ -48,7 +48,7 @@ public class IndicatorLibEntity extends LibEntity {
}
@Override
public Object deepClone() throws Exception {
public Object deepClone(Object... args) throws Exception {
IndicatorLibEntity entity =new IndicatorLibEntity();
BeanUtils.copyProperties(this, entity, "children","indicators","testCases");

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/entity/IndicatorProcessorEntity.java

@ -122,7 +122,7 @@ public class IndicatorProcessorEntity extends CorporationAuditorEntity<Indicator
}
@Override
public Object deepClone() throws Exception{
public Object deepClone(Object... args) throws Exception{
IndicatorProcessorEntity entity =this.getClass().newInstance();
BeanUtils.copyProperties(this, entity);
return entity;

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/entity/IndicatorValidatorEntity.java

@ -133,7 +133,7 @@ public class IndicatorValidatorEntity extends CorporationAuditorEntity<Indicator
this.indicator = indicator;
}
public Object deepClone() throws Exception{
public Object deepClone(Object... args) throws Exception{
IndicatorValidatorEntity entity =this.getClass().newInstance();
BeanUtils.copyProperties(this, entity);
return entity;

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/entity/LibEntity.java

@ -226,7 +226,7 @@ public class LibEntity extends CorporationAuditorEntity<LibVo> implements DeepCl
}
@Override
public Object deepClone() throws Exception{
public Object deepClone(Object... args) throws Exception{
LibEntity entity =this.getClass().newInstance();
BeanUtils.copyProperties(this, entity, "children");
//children

12
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ModelEntity.java

@ -234,14 +234,14 @@ public class ModelEntity extends CorporationAuditorEntity<ModelVo> implements De
}
@Override
public Object deepClone() throws Exception{
public Object deepClone(Object... args) throws Exception{
ModelEntity entity =this.getClass().newInstance();
BeanUtils.copyProperties(this, entity, "children","parameters");
//深度拷贝 children
List<ModelEntity> children =this.getChildren();
if(children!=null && children.size()>0) {
for(ModelEntity child : children) {
ModelEntity clone =(ModelEntity)child.deepClone();
ModelEntity clone =(ModelEntity)child.deepClone(args);
clone.setParent(entity);
entity.getChildren().add(clone);
}
@ -252,15 +252,17 @@ public class ModelEntity extends CorporationAuditorEntity<ModelVo> implements De
List<ParameterEntity> parameters =this.getParameters();
if(parameters!=null && parameters.size()>0) {
for(ParameterEntity parameter : parameters) {
ParameterEntity clone =(ParameterEntity)parameter.deepClone();
ParameterEntity clone =(ParameterEntity)parameter.deepClone(args);
clone.setModel(entity);
entity.getParameters().add(clone);
parameterCodeMapping.put(parameter.getCode(),clone.getCode());
}
}
entity.clearId();
entity.setCode("M"+System.currentTimeMillis());
entity.setName(entity.getName() + "_NEW");
if(args==null || args.length==0 || !ResourceEntity.class.equals(args[0])) {
entity.setCode("M" + System.currentTimeMillis());
entity.setName(entity.getName() + "_NEW");
}
List<ParameterEntity> clonedParameters =entity.getParameters();
if(clonedParameters!=null && clonedParameters.size()>0) {

9
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterEntity.java

@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
import io.sc.engine.rule.core.enums.ParameterType;
import io.sc.engine.rule.server.model.entity.parameter.*;
import io.sc.engine.rule.server.model.vo.ParameterVo;
import io.sc.engine.rule.server.resource.entity.ResourceEntity;
import io.sc.engine.rule.server.testcase.annotation.TestCaseParameterAble;
import io.sc.engine.rule.server.testcase.wrapper.TestCaseParameterWrapper;
import io.sc.platform.orm.DeepClone;
@ -253,7 +254,7 @@ public class ParameterEntity extends CorporationAuditorEntity<ParameterVo> imple
}
@Override
public Object deepClone() throws Exception{
public Object deepClone(Object... args) throws Exception{
ParameterEntity entity =this.getClass().newInstance();
BeanUtils.copyProperties(this, entity,"validators","processors");
@ -278,8 +279,10 @@ public class ParameterEntity extends CorporationAuditorEntity<ParameterVo> imple
}
entity.clearId();
entity.setCode("P"+System.currentTimeMillis());
entity.setName(entity.getName() + "_NEW");
if(args==null || args.length==0 || !ResourceEntity.class.equals(args[0])) {
entity.setCode("P" + System.currentTimeMillis());
entity.setName(entity.getName() + "_NEW");
}
return entity;
}

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterInOptionAdditionEntity.java

@ -247,7 +247,7 @@ public class ParameterInOptionAdditionEntity extends CorporationAuditorEntity<Pa
this.attachmentMaxCount = attachmentMaxCount;
}
public Object deepClone() {
public Object deepClone(Object... args) {
ParameterInOptionAdditionEntity entity =new ParameterInOptionAdditionEntity();
BeanUtils.copyProperties(this, entity);
return entity;

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterInOptionItemEntity.java

@ -133,7 +133,7 @@ public class ParameterInOptionItemEntity extends CorporationAuditorEntity<Parame
this.config = config;
}
public Object deepClone() {
public Object deepClone(Object... args) {
ParameterInOptionItemEntity entity =new ParameterInOptionItemEntity();
BeanUtils.copyProperties(this, entity);
return entity;

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterProcessorEntity.java

@ -143,7 +143,7 @@ public class ParameterProcessorEntity extends CorporationAuditorEntity<Parameter
}
@Override
public Object deepClone() throws Exception{
public Object deepClone(Object... args) throws Exception{
ParameterProcessorEntity entity =this.getClass().newInstance();
BeanUtils.copyProperties(this, entity);

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterValidatorEntity.java

@ -136,7 +136,7 @@ public class ParameterValidatorEntity extends CorporationAuditorEntity<Parameter
this.tip = tip;
}
public Object deepClone() throws Exception{
public Object deepClone(Object... args) throws Exception{
ParameterValidatorEntity entity =this.getClass().newInstance();
BeanUtils.copyProperties(this, entity);

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/parameter/InOptionParameterEntity.java

@ -59,7 +59,7 @@ public class InOptionParameterEntity extends ParameterEntity {
}
@Override
public Object deepClone() throws Exception {
public Object deepClone(Object... args) throws Exception {
InOptionParameterEntity entity =new InOptionParameterEntity();
BeanUtils.copyProperties(this, entity,"validators","processors","options","additions");

15
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/parameter/IndicatorParameterEntity.java

@ -3,11 +3,15 @@ package io.sc.engine.rule.server.model.entity.parameter;
import com.fasterxml.jackson.annotation.JsonTypeName;
import io.sc.engine.rule.core.enums.ParameterType;
import io.sc.engine.rule.server.model.entity.ParameterEntity;
import io.sc.engine.rule.server.model.entity.ParameterProcessorEntity;
import io.sc.engine.rule.server.model.entity.ParameterValidatorEntity;
import io.sc.engine.rule.server.model.vo.parameter.IndicatorParameterVo;
import org.springframework.beans.BeanUtils;
import javax.persistence.Column;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import java.util.List;
/**
* 模型参数(指标)实体类
@ -67,6 +71,17 @@ public class IndicatorParameterEntity extends ParameterEntity {
public void setIndicatorCode(String indicatorCode) {
this.indicatorCode = indicatorCode;
}
@Override
public Object deepClone(Object... args) throws Exception {
IndicatorParameterEntity entity =this.getClass().newInstance();
BeanUtils.copyProperties(this, entity,"validators","processors");
// 对于指标参数, 深度复制时不能更改参数的代码和名称, 只清除ID
entity.clearId();
return entity;
}
@Override
public String toString() {
return "IndicatorParameterEntity ["

4
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/resource/entity/ModelResourceEntity.java

@ -129,14 +129,14 @@ public class ModelResourceEntity extends ResourceEntity {
}
@Override
public Object deepClone() throws Exception {
public Object deepClone(Object... args) throws Exception {
ModelResourceEntity entity =new ModelResourceEntity();
ResourceEntity cloned =(ResourceEntity)super.deepClone();
BeanUtils.copyProperties(cloned, entity, "model");
//model
ModelEntity model =this.getModel();
if(model!=null) {
ModelEntity clone =(ModelEntity)model.deepClone();
ModelEntity clone =(ModelEntity)model.deepClone(ResourceEntity.class);
clone.setResource(entity);
entity.setModel(clone);
}

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/resource/entity/ResourceEntity.java

@ -253,7 +253,7 @@ public class ResourceEntity extends CorporationAuditorEntity<ResourceVo> impleme
}
@Override
public Object deepClone() throws Exception{
public Object deepClone(Object... args) throws Exception{
ResourceEntity entity =this.getClass().newInstance();
BeanUtils.copyProperties(this, entity, "children","testCases","roles");
//children

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/testcase/entity/TestCaseEntity.java

@ -165,7 +165,7 @@ public class TestCaseEntity extends CorporationAuditorEntity<TestCaseVo> impleme
}
@Override
public Object deepClone() throws Exception{
public Object deepClone(Object... args) throws Exception{
TestCaseEntity entity =this.getClass().newInstance();
BeanUtils.copyProperties(this, entity, "parameters");

2
io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/testcase/entity/TestCaseParameterEntity.java

@ -144,7 +144,7 @@ public class TestCaseParameterEntity extends CorporationAuditorEntity<TestCasePa
}
@Override
public Object deepClone() {
public Object deepClone(Object... args) {
TestCaseParameterEntity entity =new TestCaseParameterEntity();
BeanUtils.copyProperties(this, entity);
return entity;

2
io.sc.platform.orm/src/main/java/io/sc/platform/orm/DeepClone.java

@ -6,5 +6,5 @@ package io.sc.platform.orm;
* 当实体类实现此接口时通过覆盖 deepClone 方法实现对实体的复制
*/
public interface DeepClone {
public Object deepClone() throws Exception;
public Object deepClone(Object... args) throws Exception;
}

Loading…
Cancel
Save