67 lines
2.3 KiB
Java
67 lines
2.3 KiB
Java
package rule.data.engine;
|
|
|
|
import org.springframework.stereotype.Component;
|
|
import rule.domain.Rule;
|
|
import rule.domain.RuleEdition;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Date;
|
|
|
|
|
|
@Component
|
|
public class GenerateConstant {
|
|
|
|
public static final String DATA_FIELD = "DataEngineValueActuator";
|
|
public static final String DATA_RECORD = "DataEngineRecordActuator";
|
|
public static final String DATA_SET = "DataEngineSetActuator";
|
|
public static final String ACTION_IMPORT = "import com.muyu.rule.engine.action.ActionDiscard;\n";
|
|
public static final String SCOPE_IMPORT = "import com.muyu.rule.engine.scope.DataModelEngine";
|
|
public static final String PACKAGE_PATH = "package com.muyu.generate;";
|
|
|
|
public static String getClassName(String versionCode){
|
|
String[] splits = versionCode.split("_");
|
|
String className="";
|
|
for (String split : splits) {
|
|
className += split.substring(0,1).toUpperCase()+split.substring(1);
|
|
}
|
|
return className;
|
|
}
|
|
|
|
public static String generateConstant(Rule rule, RuleEdition ruleEdition){
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
|
String format = simpleDateFormat.format(new Date());
|
|
String level = selectType(rule.getRuleType());
|
|
return PACKAGE_PATH + "\n" +
|
|
ACTION_IMPORT + "\n" +
|
|
SCOPE_IMPORT+level+";\n" +
|
|
"\n" +
|
|
"/**\n" +
|
|
" * @date: "+format+"\n" +
|
|
" * @Description: "+ruleEdition.getName()+"_"+ruleEdition.getRuleKind()+"\n" +
|
|
" * @Version: 1.0\n" +
|
|
" */\n" +
|
|
"public class "+getClassName(ruleEdition.getRuleCoding()) + " extends "+level+" {\n" +
|
|
" @Override\n" +
|
|
" public void run () {\n" +
|
|
" }\n" +
|
|
"}";
|
|
}
|
|
|
|
public static String selectType(String level){
|
|
String type = "";
|
|
switch (level) {
|
|
case "F":
|
|
type = DATA_FIELD;
|
|
break;
|
|
case "R":
|
|
type = DATA_RECORD;
|
|
break;
|
|
case "C":
|
|
type = DATA_SET;
|
|
break;
|
|
}
|
|
return type;
|
|
}
|
|
|
|
}
|