From 83631887527a514e5ebd12bbfc1b5a48afdc33d1 Mon Sep 17 00:00:00 2001 From: wangshaoping Date: Sun, 4 Feb 2024 14:04:55 +0800 Subject: [PATCH] update --- .../java/io/sc/engine/mv/ExecuteMode.java | 11 ++ .../main/java/io/sc/engine/mv/Executor.java | 50 ++++++++ .../java/io/sc/engine/mv/ExecutorManager.java | 79 ++++++++++++ .../ExecuteValidatorWebController.java | 115 ++++++++++++++++++ .../mv/executor/support/ExecutorUtil.java | 28 +++++ .../mv/executor/support/ExecutorWrapper.java | 39 ++++++ .../platform/plugins/directories.json | 0 .../io/sc/engine/mv/i18n/enums.properties | 2 + .../sc/engine/mv/i18n/enums_tw_CN.properties | 2 + .../sc/engine/mv/i18n/enums_zh_CN.properties | 2 + .../io/sc/platform/core/i18n/enums.properties | 10 +- .../platform/core/i18n/enums_tw_CN.properties | 10 +- .../platform/core/i18n/enums_zh_CN.properties | 10 +- .../io/sc/platform/data/db/FieldMapper.java | 49 ++++++++ .../springboot/EnvironmentWrapper.java | 33 +++++ .../wrapper/springboot/FilterWrapper.java | 48 ++++++++ 16 files changed, 485 insertions(+), 3 deletions(-) create mode 100644 io.sc.engine.mv/src/main/java/io/sc/engine/mv/ExecuteMode.java create mode 100644 io.sc.engine.mv/src/main/java/io/sc/engine/mv/Executor.java create mode 100644 io.sc.engine.mv/src/main/java/io/sc/engine/mv/ExecutorManager.java create mode 100644 io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/ExecuteValidatorWebController.java create mode 100644 io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ExecutorUtil.java create mode 100644 io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ExecutorWrapper.java create mode 100644 io.sc.engine.mv/src/main/resources/META-INF/platform/plugins/directories.json create mode 100644 io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/enums.properties create mode 100644 io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/enums_tw_CN.properties create mode 100644 io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/enums_zh_CN.properties create mode 100644 io.sc.platform.data/src/main/java/io/sc/platform/data/db/FieldMapper.java create mode 100644 io.sc.platform.developer/src/main/java/io/sc/platform/developer/wrapper/springboot/EnvironmentWrapper.java create mode 100644 io.sc.platform.developer/src/main/java/io/sc/platform/developer/wrapper/springboot/FilterWrapper.java diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ExecuteMode.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ExecuteMode.java new file mode 100644 index 00000000..c70d4a81 --- /dev/null +++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ExecuteMode.java @@ -0,0 +1,11 @@ +package io.sc.engine.mv; + +/** + * 模型验证执行模式 + * @author wangshaoping + * + */ +public enum ExecuteMode { + MANUAL, //手工执行 + BATCH; //自动跑批执行 +} diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/Executor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/Executor.java new file mode 100644 index 00000000..0589c6cb --- /dev/null +++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/Executor.java @@ -0,0 +1,50 @@ +package io.sc.engine.mv; + +import java.util.Locale; + +import io.sc.platform.core.support.ProgressInfo; +import org.springframework.core.Ordered; + +/** + * 模型验证执行者 + * @author wangshaoping + * + */ +public interface Executor extends Ordered,ProgressTracker{ + /** + * 获取执行器类名称 + * @return 执行器类名称 + */ + public String getClassName(); + + /** + * 获取执行器名称的多语言消息Key + * @return 执行器名称的多语言消息Key + */ + public String getNameI18nKey(); + + /** + * 获取执行器描述的多语言消息Key + * @return 执行器描述的多语言消息Key + */ + public String getDescriptionI18nKey(); + + /** + * 获取是否可用 + * @return 是否可用 + */ + public boolean isEnable(); + + /** + * 设置是否可用 + * @param enable 是否可用 + */ + public void setEnable(boolean enable); + + /** + * 执行验证 + * @param runtimeContext 模型验证执行上下文对象 + * @param progressInfo 执行进度信息对象 + */ + public void execute(RuntimeContext runtimeContext, ProgressInfo progressInfo); +} diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ExecutorManager.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ExecutorManager.java new file mode 100644 index 00000000..8d356eb5 --- /dev/null +++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ExecutorManager.java @@ -0,0 +1,79 @@ +package io.sc.engine.mv; + +import io.sc.platform.core.support.OrderedItemRegister; +import io.sc.platform.core.support.ProgressInfo; +import io.sc.platform.jdbc.util.SqlUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Locale; + +/** + * 模型验证执行者管理器 + * @author wangshaoping + * + */ +@Component("mvExecutorManager") +public class ExecutorManager extends OrderedItemRegister { + private static final Logger log =LoggerFactory.getLogger(ExecutorManager.class); + @Autowired protected JdbcTemplate jdbcTemplate; + + public int getTotalWeight(){ + int totalExecuteTimeWeight =0; + List executors =this.getItems(); + if(executors!=null && executors.size()>0){ + for(Executor executor : executors){ + if(executor.isEnable()){ + totalExecuteTimeWeight +=executor.getExecuteTimeWeight(); + } + } + } + return totalExecuteTimeWeight; + } + + public void execute(RuntimeContext runtimeContext, ProgressInfo progressInfo, Locale locale){ + checkConfiguration(runtimeContext); + List executors =this.getItems(); + if(executors!=null && executors.size()>0){ + for(Executor executor : executors){ + if(executor.isEnable()){ + String name =executor.getNameI18nKey(); + String message ="开始执行模型验证[" + name + "]..."; + log.info(message); + progressInfo.setMessageKey(message); + executor.execute(runtimeContext,progressInfo); + message ="结束执行模型验证[" + name + "]"; + log.info(message); + progressInfo.setMessageKey(message); + progressInfo.addWeight(executor.getExecuteTimeWeight()); + } + } + } + } + + /** + * 检查是否存在必须的配置 + * @return 是否通过检查 + */ + private boolean checkConfiguration(RuntimeContext runtimeContext){ + return checkCutOffPointConfiguration(runtimeContext); + } + + /** + * 检查截断点是否已经配置 + * @return 是否通过检查 + */ + private boolean checkCutOffPointConfiguration(RuntimeContext runtimeContext){ + String sql ="select count(*) count from MV_CFG_CUT_OFF_POINT"; + long count = SqlUtil.count(jdbcTemplate, "count", sql); + if(count>0){ + return true; + }else{ + throw new RuntimeException("未找到截断点配置信息,请通过“系统管理”菜单的“系统参数配置”菜单中的“模型验证参数配置”的“截断点配置”功能进行配置后,再重试."); + } + } +} diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/ExecuteValidatorWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/ExecuteValidatorWebController.java new file mode 100644 index 00000000..6350a40b --- /dev/null +++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/ExecuteValidatorWebController.java @@ -0,0 +1,115 @@ +package io.sc.engine.mv.controller; + +import java.util.Date; +import java.util.Locale; + +import io.sc.engine.mv.RuntimeContext; +import io.sc.engine.mv.Validator; +import io.sc.platform.core.support.ProgressInfo; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.MessageSource; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * 模型验证执行控制器 + * @author wangshaoping + * + */ +@Controller +@RequestMapping("/api/mv") +public class ExecuteValidatorWebController { + @Autowired private Validator validator; + @Autowired private MessageSource messageSource; + private ValidateThread thread =null; + + /** + * 菜单贡献项(手工执行模型验证) + * @return 视图名称 + * @throws Exception 违例 + */ + @RequestMapping("execute.html") + public String execute() throws Exception{ + return "org/wsp/model/validator/view/execute.html"; + } + + /** + * 执行模型验证 + * @param runtimeContext 模型验证执行上下文对象 + * @param locale 区域 + * @throws Exception 违例 + */ + @RequestMapping(value="execute",method=RequestMethod.POST) + @ResponseBody + public void execute(@RequestBody RuntimeContext runtimeContext, Locale locale) throws Exception{ + //检查有当前用户启动的执行线程是否正在运行 + if(thread!=null && thread.isAlive()){ + String message =messageSource.getMessage("org.wsp.model.validator.i18n.execute.exception.running", null, locale); + throw new Exception(message); + } + //启动新线程 + runtimeContext.setValidateDate(new Date()); + thread =new ValidateThread(runtimeContext,locale); + thread.start(); + } + + /** + * 查询模型验证执行进度 + * @param locale 区域 + * @return 模型验证执行进度 + * @throws Exception 违例 + */ + @RequestMapping(value="traceExecuteProgress") + @ResponseBody + public ProgressInfo traceExecuteProgress(Locale locale) throws Exception{ + if(thread!=null){ + if(thread.getException()!=null){ + throw thread.getException(); + } + return thread.getProgressInfo(); + }else{ + String message =messageSource.getMessage("org.wsp.model.validator.i18n.execute.exception.notExsists", null, locale); + throw new Exception(message); + } + } + + /** + * 模型验证执行线程 + * @author wangshaoping + * + */ + class ValidateThread extends Thread{ + private Logger log =LoggerFactory.getLogger(ValidateThread.class); + private RuntimeContext runtimeContext; + private Locale locale; + private ProgressInfo progressInfo =new ProgressInfo(); + private Exception exception; + + public ValidateThread(RuntimeContext runtimeContext,Locale locale){ + this.runtimeContext =runtimeContext; + this.locale =locale; + } + @Override + public void run() { + if(validator!=null){ + try { + validator.validate(runtimeContext,progressInfo,locale); + } catch (Exception e) { + this.exception =e; + log.error("",e); + } + } + } + public ProgressInfo getProgressInfo(){ + return progressInfo; + } + public Exception getException() { + return exception; + } + } +} diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ExecutorUtil.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ExecutorUtil.java new file mode 100644 index 00000000..c1006cf2 --- /dev/null +++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ExecutorUtil.java @@ -0,0 +1,28 @@ +package io.sc.engine.mv.executor.support; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.HashMap; +import java.util.Map; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.RowCallbackHandler; + +public class ExecutorUtil{ + public static Map getAllModels(JdbcTemplate jdbcTemplate){ + final Map result =new HashMap(); + String sql ="" + + " select" + + " FD_MODEL_ID," + + " max(FD_MODEL_NAME) FD_MODEL_NAME" + + " from MV_GENERAL_SAMPLE" + + " group by FD_MODEL_ID"; + jdbcTemplate.query(sql, new RowCallbackHandler() { + @Override + public void processRow(ResultSet rs) throws SQLException { + result.put(rs.getString("FD_MODEL_ID"), rs.getString("FD_MODEL_NAME")); + } + }); + return result; + } +} diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ExecutorWrapper.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ExecutorWrapper.java new file mode 100644 index 00000000..167981df --- /dev/null +++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ExecutorWrapper.java @@ -0,0 +1,39 @@ +package io.sc.engine.mv.executor.support; + +public class ExecutorWrapper { + private String clazz; + private String name; + private String description; + private Boolean enable; + private Integer order; + public String getClazz() { + return clazz; + } + public void setClazz(String clazz) { + this.clazz = clazz; + } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getDescription() { + return description; + } + public void setDescription(String description) { + this.description = description; + } + public Boolean getEnable() { + return enable; + } + public void setEnable(Boolean enable) { + this.enable = enable; + } + public Integer getOrder() { + return order; + } + public void setOrder(Integer order) { + this.order = order; + } +} diff --git a/io.sc.engine.mv/src/main/resources/META-INF/platform/plugins/directories.json b/io.sc.engine.mv/src/main/resources/META-INF/platform/plugins/directories.json new file mode 100644 index 00000000..e69de29b diff --git a/io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/enums.properties b/io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/enums.properties new file mode 100644 index 00000000..3715608e --- /dev/null +++ b/io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/enums.properties @@ -0,0 +1,2 @@ +io.sc.engine.mv.ModelType.IMPORT_FROM_SCORE_RECORD=Import From Score Record +io.sc.engine.mv.ModelType.MANUAL=Manual \ No newline at end of file diff --git a/io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/enums_tw_CN.properties b/io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/enums_tw_CN.properties new file mode 100644 index 00000000..82b01b05 --- /dev/null +++ b/io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/enums_tw_CN.properties @@ -0,0 +1,2 @@ +io.sc.engine.mv.ModelType.IMPORT_FROM_SCORE_RECORD=\u5F9E\u8A55\u5206\u8A18\u9304\u8868\u4E2D\u5C0E\u5165 +io.sc.engine.mv.ModelType.MANUAL=\u624B\u5DE5\u5275\u5EFA \ No newline at end of file diff --git a/io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/enums_zh_CN.properties b/io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/enums_zh_CN.properties new file mode 100644 index 00000000..d1b1b0e8 --- /dev/null +++ b/io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/enums_zh_CN.properties @@ -0,0 +1,2 @@ +io.sc.engine.mv.ModelType.IMPORT_FROM_SCORE_RECORD=\u4ECE\u8BC4\u5206\u8BB0\u5F55\u8868\u4E2D\u5BFC\u5165 +io.sc.engine.mv.ModelType.MANUAL=\u624B\u5DE5\u521B\u5EFA \ No newline at end of file diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums.properties index b1c75c30..2bf33d9f 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums.properties @@ -19,4 +19,12 @@ io.sc.platform.core.enums.AuditLogAction.LOGOUT=Logout io.sc.platform.core.enums.Language.en=English io.sc.platform.core.enums.Language.zh_CN=\u7B80\u4F53\u4E2D\u6587 -io.sc.platform.core.enums.Language.tw_CN=\u7E41\u4F53\u4E2D\u6587 \ No newline at end of file +io.sc.platform.core.enums.Language.tw_CN=\u7E41\u4F53\u4E2D\u6587 + +io.sc.platform.core.enums.RoundingMode.UP=Up +io.sc.platform.core.enums.RoundingMode.DOWN=Down +io.sc.platform.core.enums.RoundingMode.CEILING=Ceiling +io.sc.platform.core.enums.RoundingMode.FLOOR=floor +io.sc.platform.core.enums.RoundingMode.HALF_UP=Half Up +io.sc.platform.core.enums.RoundingMode.HALF_DOWN=Half Down +io.sc.platform.core.enums.RoundingMode.HALF_EVEN=Half Even \ No newline at end of file diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_tw_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_tw_CN.properties index 66baece5..b7de62c5 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_tw_CN.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_tw_CN.properties @@ -19,4 +19,12 @@ io.sc.platform.core.enums.AuditLogAction.LOGOUT=\u9000\u51FA io.sc.platform.core.enums.Language.en=English io.sc.platform.core.enums.Language.zh_CN=\u7B80\u4F53\u4E2D\u6587 -io.sc.platform.core.enums.Language.tw_CN=\u7E41\u4F53\u4E2D\u6587 \ No newline at end of file +io.sc.platform.core.enums.Language.tw_CN=\u7E41\u4F53\u4E2D\u6587 + +io.sc.platform.core.enums.RoundingMode.UP=\u9060\u96E2\u96F6\u65B9\u5411\u820D\u5165 +io.sc.platform.core.enums.RoundingMode.DOWN=\u8DA8\u5411\u96F6\u65B9\u5411\u820D\u5165 +io.sc.platform.core.enums.RoundingMode.CEILING=\u5411\u6B63\u7121\u7AAE\u65B9\u5411\u820D\u5165 +io.sc.platform.core.enums.RoundingMode.FLOOR=\u5411\u8CA0\u7121\u7AAE\u65B9\u5411\u820D\u5165 +io.sc.platform.core.enums.RoundingMode.HALF_UP=\u7D93\u5178\u7684\u56DB\u820D\u4E94\u5165 +io.sc.platform.core.enums.RoundingMode.HALF_DOWN=\u6700\u8FD1\u6578\u5B57\u820D\u5165(5\u820D) +io.sc.platform.core.enums.RoundingMode.HALF_EVEN=\u9280\u884C\u5BB6\u820D\u5165\u6CD5 \ No newline at end of file diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_zh_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_zh_CN.properties index cc3cebf7..39841a0a 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_zh_CN.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_zh_CN.properties @@ -19,4 +19,12 @@ io.sc.platform.core.enums.AuditLogAction.LOGOUT=\u9000\u51FA io.sc.platform.core.enums.Language.en=English io.sc.platform.core.enums.Language.zh_CN=\u7B80\u4F53\u4E2D\u6587 -io.sc.platform.core.enums.Language.tw_CN=\u7E41\u4F53\u4E2D\u6587 \ No newline at end of file +io.sc.platform.core.enums.Language.tw_CN=\u7E41\u4F53\u4E2D\u6587 + +io.sc.platform.core.enums.RoundingMode.UP=\u8FDC\u79BB\u96F6\u65B9\u5411\u820D\u5165 +io.sc.platform.core.enums.RoundingMode.DOWN=\u8D8B\u5411\u96F6\u65B9\u5411\u820D\u5165 +io.sc.platform.core.enums.RoundingMode.CEILING=\u5411\u6B63\u65E0\u7A77\u65B9\u5411\u820D\u5165 +io.sc.platform.core.enums.RoundingMode.FLOOR=\u5411\u8D1F\u65E0\u7A77\u65B9\u5411\u820D\u5165 +io.sc.platform.core.enums.RoundingMode.HALF_UP=\u7ECF\u5178\u7684\u56DB\u820D\u4E94\u5165 +io.sc.platform.core.enums.RoundingMode.HALF_DOWN=\u6700\u8FD1\u6570\u5B57\u820D\u5165(5\u820D) +io.sc.platform.core.enums.RoundingMode.HALF_EVEN=\u94F6\u884C\u5BB6\u820D\u5165\u6CD5 \ No newline at end of file diff --git a/io.sc.platform.data/src/main/java/io/sc/platform/data/db/FieldMapper.java b/io.sc.platform.data/src/main/java/io/sc/platform/data/db/FieldMapper.java new file mode 100644 index 00000000..e677715b --- /dev/null +++ b/io.sc.platform.data/src/main/java/io/sc/platform/data/db/FieldMapper.java @@ -0,0 +1,49 @@ +package io.sc.platform.data.db; + +public class FieldMapper { + private String sourceName; + private Class sourceType; + private String targetName; + private Class targetType; + + public FieldMapper(){} + public FieldMapper(String sourceName,Class sourceType,String targetName,Class targetType){ + this.sourceName =sourceName; + this.sourceType =sourceType; + this.targetName =targetName; + this.targetType =targetType; + } + + + public String getSourceName() { + return sourceName; + } + + public void setSourceName(String sourceName) { + this.sourceName = sourceName; + } + + public Class getSourceType() { + return sourceType; + } + + public void setSourceType(Class sourceType) { + this.sourceType = sourceType; + } + + public String getTargetName() { + return targetName; + } + + public void setTargetName(String targetName) { + this.targetName = targetName; + } + + public Class getTargetType() { + return targetType; + } + + public void setTargetType(Class targetType) { + this.targetType = targetType; + } +} diff --git a/io.sc.platform.developer/src/main/java/io/sc/platform/developer/wrapper/springboot/EnvironmentWrapper.java b/io.sc.platform.developer/src/main/java/io/sc/platform/developer/wrapper/springboot/EnvironmentWrapper.java new file mode 100644 index 00000000..051703fd --- /dev/null +++ b/io.sc.platform.developer/src/main/java/io/sc/platform/developer/wrapper/springboot/EnvironmentWrapper.java @@ -0,0 +1,33 @@ +package io.sc.platform.developer.wrapper.springboot; + +public class EnvironmentWrapper { + private String propertySourceName; + private String propertyName; + private String origin; + private Object value; + + public String getPropertySourceName() { + return propertySourceName; + } + public void setPropertySourceName(String propertySourceName) { + this.propertySourceName = propertySourceName; + } + public String getPropertyName() { + return propertyName; + } + public void setPropertyName(String propertyName) { + this.propertyName = propertyName; + } + public String getOrigin() { + return origin; + } + public void setOrigin(String origin) { + this.origin = origin; + } + public Object getValue() { + return value; + } + public void setValue(Object value) { + this.value = value; + } +} diff --git a/io.sc.platform.developer/src/main/java/io/sc/platform/developer/wrapper/springboot/FilterWrapper.java b/io.sc.platform.developer/src/main/java/io/sc/platform/developer/wrapper/springboot/FilterWrapper.java new file mode 100644 index 00000000..6834f350 --- /dev/null +++ b/io.sc.platform.developer/src/main/java/io/sc/platform/developer/wrapper/springboot/FilterWrapper.java @@ -0,0 +1,48 @@ +package io.sc.platform.developer.wrapper.springboot; + +import io.sc.platform.core.util.StringUtil; +import org.springframework.boot.actuate.web.mappings.HandlerMethodDescription; +import org.springframework.boot.actuate.web.mappings.servlet.RequestMappingConditionsDescription.MediaTypeExpressionDescription; +import org.springframework.boot.actuate.web.mappings.servlet.RequestMappingConditionsDescription.NameValueExpressionDescription; +import org.springframework.web.bind.annotation.RequestMethod; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Set; + +public class FilterWrapper { + private String className; + private String patterns; + private String registeredName; + + public FilterWrapper(String registeredName,Collection patterns,String className) { + this.registeredName = registeredName; + this.patterns = StringUtil.combine(",", patterns); + this.className = className; + } + + public String getClassName() { + return className; + } + + public void setClassName(String className) { + this.className = className; + } + + public String getPatterns() { + return patterns; + } + + public void setPatterns(String patterns) { + this.patterns = patterns; + } + + public String getRegisteredName() { + return registeredName; + } + + public void setRegisteredName(String registeredName) { + this.registeredName = registeredName; + } +}