master
zhang chengzhi 2024-09-03 10:46:52 +08:00
parent 86c28e286a
commit 236e4ecefd
9 changed files with 122 additions and 22 deletions

View File

@ -19,15 +19,18 @@ public class Main {
static Map<String,BasicEngine<DataValue[]>> engineRowMap = new ConcurrentHashMap<>();
static Map<String,BasicEngine<DataValue[][]>> engineDataSetMap = new ConcurrentHashMap<>();
static {
try {
Class<?> aClass = Class.forName("com.muyu.rule.server.basic.engine.value.ENGINE_VALUE_VFD1000_V1");
Class<?> aClass2 = Class.forName("com.muyu.rule.server.basic.engine.value.ENGINE_VALUE_VFD1000_V2");
Class<?> aClass3 = Class.forName("com.muyu.rule.server.basic.engine.row.ENGINE_ROW_HANG_R1");
Class<?> aClass4 = Class.forName("com.muyu.rule.server.basic.engine.dataSet.ENGINE_DataSet_asdf_S1");
try {
engineMap.put("ENGINE_VALUE_VFD1000_V1", (BasicEngine<DataValue>) aClass.newInstance());
engineMap.put("ENGINE_VALUE_VFD1000_V2", (BasicEngine<DataValue>) aClass2.newInstance());
engineRowMap.put("ENGINE_ROW_HANG_R1",(BasicEngine<DataValue[]>) aClass3.newInstance());
engineDataSetMap.put("ENGINE_DataSet_asdf_S1",(BasicEngine<DataValue[][]>) aClass4.newInstance());
} catch (InstantiationException e) {
throw new RuntimeException(e);
} catch (IllegalAccessException e) {
@ -41,19 +44,8 @@ public class Main {
public static void main(String[] args) {
DataValue[] dataValues = new DataValue[]{
new DataValue("name","String",null,"张三"),
new DataValue("name","String",null,"李四"),
new DataValue("name","String",null,"王五"),
new DataValue("name","String",null,"张三")
};
BasicEngine<DataValue[]> engineRowHangR1 = engineRowMap.get("ENGINE_ROW_HANG_R1");
engineRowHangR1.set(dataValues);
engineRowHangR1.execution();
System.out.println("字段规则测试:");
DataValue dataValue = DataValue.builder()
.type("String")
.label("姓名")
@ -67,6 +59,37 @@ public class Main {
engineValue.execution();
System.out.println("记录规则测试:");
DataValue[] dataValues = new DataValue[]{
new DataValue("name","String",null,"张三"),
new DataValue("name","String",null,"李四"),
new DataValue("name","String",null,"王五"),
new DataValue("name","String",null,"张三")
};
BasicEngine<DataValue[]> engineRowHangR1 = engineRowMap.get("ENGINE_ROW_HANG_R1");
engineRowHangR1.set(dataValues);
engineRowHangR1.execution();
System.out.println("数据集规则测试:");
DataValue[][] dataValuesSet = new DataValue[3][3];
dataValuesSet[0][0] = new DataValue("name","String","姓名","张三");
dataValuesSet[0][1] = new DataValue("age","int","年龄",22);
dataValuesSet[0][2] = new DataValue("sex","String","性别","张三");
dataValuesSet[1][0] = new DataValue("name","String",null,"张三");
BasicEngine<DataValue[][]> engineDataSetAsdfS1 = engineDataSetMap.get("ENGINE_DataSet_asdf_S1");
engineDataSetAsdfS1.set(dataValuesSet);
engineDataSetAsdfS1.execution();
}

View File

@ -22,9 +22,12 @@ public DataValue[][] get(){
return DataEngineDataSetHandler.get();
}
@Override
public void execution() {
this.run();
this.remove();
}
public abstract void run();
}

View File

@ -22,9 +22,11 @@ public DataValue[] get(){
return DataEngineRowHandler.get();
}
@Override
public void execution() {
this.run();
this.remove();
}
public abstract void run();
}

View File

@ -0,0 +1,33 @@
package com.muyu.rule.server.basic.engine.dataSet;
import com.muyu.rule.common.domain.DataValue;
import com.muyu.rule.server.basic.abstracts.DataEngineDataSetActuator;
import com.muyu.rule.server.basic.abstracts.DataEngineRowActuator;
import com.muyu.rule.server.exception.ActionDiscard;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/**
* @Author
* @Packagecom.muyu.rule.server.basic.engine.row
* @Projectcloud-etl-rule
* @nameENGINE_ROW_HANG_R1
* @Date2024/8/30 11:13
*/
public class ENGINE_DataSet_asdf_S1 extends DataEngineDataSetActuator {
@Override
public void run() {
DataValue[][] dataValues = get();
if (dataValues == null || "".equals(dataValues) || "null".equals(dataValues)) {
throw new ActionDiscard();
}else {
System.out.println("数据检测无异常");
}
}
}

View File

@ -21,9 +21,8 @@ public class ENGINE_ROW_HANG_R1 extends DataEngineRowActuator {
/**
*
*/
@Override
public void execution() {
public void run() {
DataValue[] dataValues = get();
// 使用 HashSet 去重
@ -33,7 +32,6 @@ public class ENGINE_ROW_HANG_R1 extends DataEngineRowActuator {
DataValue[] uniqueArray = uniquePeople.toArray(new DataValue[0]);
System.out.println(Arrays.toString(uniqueArray));
}
}

View File

@ -1,6 +1,7 @@
package com.muyu.rule.server.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.rule.common.domain.DataValue;
import com.muyu.rule.server.service.SourceDisposeService;
import io.swagger.v3.oas.annotations.Operation;
import lombok.extern.log4j.Log4j2;
@ -50,4 +51,22 @@ public class DataSourceDisposeController {
return Result.success();
}
/**
*
* @param dataValue
* @return
*/
@PostMapping("/valueTest")
public Result valueTest(DataValue dataValue){
return Result.success();
}
}

View File

@ -110,6 +110,10 @@ public class RuleEngineVersionController {
return Result.success();
}
/**
* OSS
* @param

View File

@ -8,5 +8,23 @@ package com.muyu.rule.server.exception;
* @Date2024/8/26 22:08
*/
public class ActionDiscard extends RuntimeException {
public ActionDiscard() {
super();
}
public ActionDiscard(String message) {
super(message);
}
public ActionDiscard(String message, Throwable cause) {
super(message, cause);
}
public ActionDiscard(Throwable cause) {
super(cause);
}
protected ActionDiscard(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace);
}
}