Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibizlab-generator
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibizlab-generator
提交
179755fb
提交
179755fb
编写于
2月 08, 2022
作者:
sq3536
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
统计
上级
98fefceb
变更
4
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
361 行增加
和
4 行删除
+361
-4
pom.xml
modules/ibizlab-generator-cli/pom.xml
+15
-0
logback.xml
modules/ibizlab-generator-cli/src/main/resources/logback.xml
+60
-0
HandlebarsEngineAdapter.java
...n/ibizlab/codegen/templating/HandlebarsEngineAdapter.java
+2
-2
BaseModelValueResolver.java
...codegen/templating/handlebars/BaseModelValueResolver.java
+284
-2
未找到文件。
modules/ibizlab-generator-cli/pom.xml
浏览文件 @
179755fb
...
...
@@ -103,6 +103,21 @@
<artifactId>
logback-classic
</artifactId>
<version>
1.2.3
</version>
</dependency>
<dependency>
<groupId>
ch.qos.logback
</groupId>
<artifactId>
logback-access
</artifactId>
<version>
1.2.3
</version>
</dependency>
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
<version>
8.0.19
</version>
</dependency>
<dependency>
<groupId>
c3p0
</groupId>
<artifactId>
c3p0
</artifactId>
<version>
0.9.1.2
</version>
</dependency>
<dependency>
<groupId>
org.codehaus.janino
</groupId>
<artifactId>
janino
</artifactId>
...
...
modules/ibizlab-generator-cli/src/main/resources/logback.xml
0 → 100644
浏览文件 @
179755fb
<?xml version="1.0" encoding="UTF-8"?>
<configuration
debug=
"false"
>
<property
name=
"LOG_PATH"
value=
"logs"
/>
<property
name=
"LOG_PATTERN"
value=
"%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %-40.40logger{39} : %msg%n"
/>
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule
conversionWord=
"clr"
converterClass=
"org.springframework.boot.logging.logback.ColorConverter"
/>
<conversionRule
conversionWord=
"wex"
converterClass=
"org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"
/>
<conversionRule
conversionWord=
"wEx"
converterClass=
"org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"
/>
<!-- 彩色日志格式 -->
<property
name=
"LOG_PATTERN2"
value=
"${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr([${LOG_LEVEL_PATTERN:-%5p}]) %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"
/>
<!-- 控制台输出 -->
<appender
name=
"Console"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<pattern>
${LOG_PATTERN}
</pattern>
</encoder>
</appender>
<!-- 按照每天生成日志文件 -->
<appender
name=
"file"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<!--日志文件输出的文件名-->
<FileNamePattern>
${LOG_PATH}/ibizlab-generator-cli.%d{yyyy-MM-dd}.log
</FileNamePattern>
<!--日志文件保留天数-->
<MaxHistory>
30
</MaxHistory>
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<pattern>
${LOG_PATTERN}
</pattern>
</encoder>
<!--日志文件最大的大小-->
<triggeringPolicy
class=
"ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"
>
<MaxFileSize>
100MB
</MaxFileSize>
</triggeringPolicy>
</appender>
<appender
name=
"DB-CLASSIC-MYSQL-POOL"
class=
"ch.qos.logback.classic.db.DBAppender"
>
<connectionSource
class=
"ch.qos.logback.core.db.DriverManagerConnectionSource"
>
<dataSource
class=
"com.mchange.v2.c3p0.ComboPooledDataSource"
>
<driverClass>
com.mysql.cj.jdbc.Driver
</driverClass>
<url>
jdbc:mysql://127.0.0.1:3306/logback
</url>
<user>
root
</user>
<password>
root
</password>
<sqlDialect
class=
"ch.qos.logback.core.db.dialect.MySQLDialect"
/>
</dataSource>
</connectionSource>
<sqlDialect
class=
"ch.qos.logback.core.db.dialect.MySQLDialect"
/>
</appender>
<!-- 异步日志记录 -->
<appender
name=
"ASYNC_APPENDER"
class=
"ch.qos.logback.classic.AsyncAppender"
>
<appender-ref
ref=
"DB-CLASSIC-MYSQL-POOL"
/>
<includeCallerData>
true
</includeCallerData>
</appender>
<!-- 日志输出级别 -->
<root
level=
"INFO"
>
<appender-ref
ref=
"Console"
/>
<appender-ref
ref=
"file"
/>
</root>
</configuration>
modules/ibizlab-generator-core/src/main/java/cn/ibizlab/codegen/templating/HandlebarsEngineAdapter.java
浏览文件 @
179755fb
...
...
@@ -81,7 +81,7 @@ public class HandlebarsEngineAdapter extends AbstractTemplatingEngineAdapter {
}
else
{
LOGGER
.
warn
(
String
.
format
(
Locale
.
ROOT
,
"Unregistered helper name '%s', processing template:%n%s"
,
options
.
helperName
,
options
.
fn
.
text
()));
LOGGER
.
debug
(
String
.
format
(
Locale
.
ROOT
,
"Unregistered helper name '%s', processing template:%n%s"
,
options
.
helperName
,
options
.
fn
.
text
()));
return
""
;
}
...
...
@@ -112,7 +112,7 @@ public class HandlebarsEngineAdapter extends AbstractTemplatingEngineAdapter {
Handlebars
handlebars
=
new
Handlebars
();
handlebars
.
registerHelperMissing
((
obj
,
options
)
->
{
LOGGER
.
warn
(
String
.
format
(
Locale
.
ROOT
,
"Unregistered helper name '%s', processing template:%n%s"
,
options
.
helperName
,
options
.
fn
.
text
()));
LOGGER
.
debug
(
String
.
format
(
Locale
.
ROOT
,
"Unregistered helper name '%s', processing template:%n%s"
,
options
.
helperName
,
options
.
fn
.
text
()));
return
""
;
});
handlebars
.
registerHelper
(
"json"
,
Jackson2Helper
.
INSTANCE
);
...
...
modules/ibizlab-generator-core/src/main/java/cn/ibizlab/codegen/templating/handlebars/BaseModelValueResolver.java
浏览文件 @
179755fb
...
...
@@ -21,6 +21,9 @@ import cn.ibizlab.codegen.model.BaseModel;
import
cn.ibizlab.codegen.model.IModel
;
import
com.github.jknack.handlebars.ValueResolver
;
import
com.github.jknack.handlebars.context.MethodValueResolver
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.util.StringUtils
;
import
java.lang.reflect.*
;
import
java.util.*
;
...
...
@@ -36,12 +39,236 @@ import static org.apache.commons.lang3.Validate.notNull;
*/
public
class
BaseModelValueResolver
implements
ValueResolver
{
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
BaseModelValueResolver
.
class
);
/**
* A concurrent and thread-safe cache for {@link Member}.
*/
private
final
Map
<
Class
<?>,
Map
<
String
,
Method
>>
cache
=
new
ConcurrentHashMap
<>();
private
static
Map
<
String
,
String
>
classMap
=
new
HashMap
<
String
,
String
>(){{
put
(
"net.ibizsys.model.codelist.PSCodeListImpl"
,
"net.ibizsys.model.codelist.IPSCodeList"
);
put
(
"net.ibizsys.model.wf.PSWorkflowImpl"
,
"net.ibizsys.model.wf.IPSWorkflow"
);
put
(
"net.ibizsys.model.wf.PSWFDEImpl"
,
"net.ibizsys.model.wf.IPSWFDE"
);
put
(
"net.ibizsys.model.dataentity.PSDataEntityImpl"
,
"net.ibizsys.model.dataentity.IPSDataEntity"
);
put
(
"net.ibizsys.model.dataentity.defield.PSDEFieldImpl"
,
"net.ibizsys.model.dataentity.defield.IPSDEField"
);
put
(
"net.ibizsys.model.wf.StartPSWFProcessImpl"
,
"net.ibizsys.model.wf.IPSWFProcess"
);
put
(
"net.ibizsys.model.wf.EndPSWFProcessImpl"
,
"net.ibizsys.model.wf.IPSWFProcess"
);
put
(
"net.ibizsys.model.wf.PSWFInteractiveProcessImpl"
,
"net.ibizsys.model.wf.IPSWFProcess"
);
put
(
"net.ibizsys.model.wf.PSWFDEActionProcessImpl"
,
"net.ibizsys.model.wf.IPSWFProcess"
);
put
(
"net.ibizsys.model.dataentity.action.PSDEUserCustomActionImpl"
,
"net.ibizsys.model.dataentity.action.IPSDEAction"
);
put
(
"net.ibizsys.model.wf.PSWFExclusiveGatewayProcessImpl"
,
"net.ibizsys.model.wf.IPSWFProcess"
);
put
(
"net.ibizsys.model.security.PSSysUniResImpl"
,
"net.ibizsys.model.security.IPSSysUniRes"
);
put
(
"net.ibizsys.model.app.appmenu.PSAppMenuModelImpl"
,
"net.ibizsys.model.app.appmenu.IPSAppMenuModel"
);
put
(
"net.ibizsys.model.control.menu.PSAppMenuItemImpl"
,
"net.ibizsys.model.control.menu.IPSAppMenuItem"
);
put
(
"net.ibizsys.model.system.PSSystemModuleImpl"
,
"net.ibizsys.model.system.IPSSystemModule"
);
put
(
"net.ibizsys.model.wf.PSWFVersionImpl"
,
"net.ibizsys.model.wf.IPSWFVersion"
);
put
(
"net.ibizsys.model.dataentity.defield.PSDEFSearchModeImpl"
,
"net.ibizsys.model.dataentity.defield.IPSDEFSearchMode"
);
put
(
"net.ibizsys.model.app.func.PSAppFuncImpl"
,
"net.ibizsys.model.app.func.IPSAppFunc"
);
put
(
"net.ibizsys.model.app.view.PSAppDEGridViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.IPSAppDEView"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEEditViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.IPSAppIndexView"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppIndexViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.codelist.IPSAppCodeList"
,
"net.ibizsys.model.app.codelist.IPSCodeList"
);
put
(
"net.ibizsys.model.app.codelist.PSAppCodeListImpl"
,
"net.ibizsys.model.codelist.IPSCodeList"
);
put
(
"net.ibizsys.model.codelist.PSCodeItemImpl"
,
"net.ibizsys.model.codelist.IPSCodeItem"
);
put
(
"net.ibizsys.model.app.dataentity.PSAppDataEntityImpl"
,
"net.ibizsys.model.app.dataentity.IPSAppDataEntity"
);
put
(
"net.ibizsys.model.app.dataentity.PSAppDEFieldImpl2"
,
"net.ibizsys.model.app.dataentity.IPSAppDEField"
);
put
(
"net.ibizsys.model.app.dataentity.PSAppDEMethodImpl"
,
"net.ibizsys.model.app.dataentity.IPSAppDEMethod"
);
put
(
"net.ibizsys.model.dataentity.service.PSDEServiceAPIMethodImpl"
,
"net.ibizsys.model.dataentity.service.IPSDEServiceAPIMethod"
);
put
(
"net.ibizsys.model.control.ajax.PSAjaxControlHandlerActionImpl"
,
"net.ibizsys.model.control.IPSControlHandlerAction"
);
put
(
"net.ibizsys.model.control.ajax.PSMDAjaxControlHandlerImpl"
,
"net.ibizsys.model.control.IPSControlHandler"
);
put
(
"net.ibizsys.model.app.view.PSAppViewLogicImpl"
,
"net.ibizsys.model.app.view.IPSAppViewLogic"
);
put
(
"net.ibizsys.model.app.logic.BuiltinPSAppUINewDataLogicImpl"
,
"net.ibizsys.model.app.logic.IPSAppUILogic"
);
put
(
"net.ibizsys.model.app.logic.PSAppUILogicRefViewImpl"
,
"net.ibizsys.model.app.logic.IPSAppUILogicRefView"
);
put
(
"net.ibizsys.model.app.logic.BuiltinPSAppUIOpenDataLogicImpl"
,
"net.ibizsys.model.app.logic.IPSAppUILogic"
);
put
(
"net.ibizsys.model.app.view.PSAppViewNavParamImpl"
,
"net.ibizsys.model.control.IPSNavigateParam"
);
put
(
"net.ibizsys.model.app.view.PSAppDERedirectViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.control.layout.PSGridLayoutPosImpl"
,
"net.ibizsys.model.control.layout.IPSLayoutPos"
);
put
(
"net.ibizsys.model.control.form.PSDEFormPageImpl"
,
"net.ibizsys.model.control.form.IPSDEFormPage"
);
put
(
"net.ibizsys.model.control.editor.PSTextBoxImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.form.PSDEFormGroupPanelImpl"
,
"net.ibizsys.model.control.form.IPSDEFormDetail"
);
put
(
"net.ibizsys.model.control.layout.PSGrid24LayoutImpl"
,
"net.ibizsys.model.control.layout.IPSLayout"
);
put
(
"net.ibizsys.model.control.editor.PSDatePickerImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSTextAreaImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSHiddenImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSSpanImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSFileUploaderImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSDropDownListImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSPictureImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSPickerImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.form.PSDEFormDRUIPartImpl"
,
"net.ibizsys.model.control.form.IPSDEFormDetail"
);
put
(
"net.ibizsys.model.app.PSAppModuleImpl"
,
"net.ibizsys.model.app.IPSAppModule"
);
put
(
"net.ibizsys.model.control.form.PSDEFDCatGroupLogicImpl"
,
"net.ibizsys.model.control.form.IPSDEFDCatGroupLogic"
);
put
(
"net.ibizsys.model.control.form.PSDEFDSingleLogicImpl"
,
"net.ibizsys.model.control.form.IPSDEFDLogic"
);
put
(
"net.ibizsys.model.app.view.PSAppDEPickupGridViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.control.grid.PSDEGridDataItemImpl"
,
"net.ibizsys.model.control.grid.IPSDEGridDataItem"
);
put
(
"net.ibizsys.model.control.grid.PSDEGridFieldColumnImpl"
,
"net.ibizsys.model.control.grid.IPSDEGridColumn"
);
put
(
"net.ibizsys.model.control.grid.HiddenPSDEGridEditItemImpl"
,
"net.ibizsys.model.control.grid.IPSDEGridEditItem"
);
put
(
"net.ibizsys.model.app.view.PSAppDEWFDynaEditViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEWFDynaActionViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEWFDynaStartViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMPickupViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.dataentity.service.PSDEServiceAPIMethodInputImpl"
,
"net.ibizsys.model.dataentity.service.IPSDEServiceAPIMethodInput"
);
put
(
"net.ibizsys.model.dataentity.service.PSDEMethodDTOImpl"
,
"net.ibizsys.model.dataentity.service.IPSDEMethodDTO"
);
put
(
"net.ibizsys.model.dataentity.service.PSDEServiceAPIMethodReturnImpl"
,
"net.ibizsys.model.dataentity.service.IPSDEServiceAPIMethodReturn"
);
put
(
"net.ibizsys.model.dataentity.ds.PSDEDataSetImpl"
,
"net.ibizsys.model.dataentity.ds.IPSDEDataSet"
);
put
(
"net.ibizsys.model.app.view.PSAppDETreeExplorerViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDETabExplorerViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEDashboardViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEHtmlViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEListViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEWizardViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppPortalViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.res.PSLanguageResImpl"
,
"net.ibizsys.model.res.IPSLanguageRes"
);
put
(
"net.ibizsys.model.res.PSSysImageImpl"
,
"net.ibizsys.model.res.IPSSysImage"
);
put
(
"net.ibizsys.model.app.view.PSAppViewNavContextImpl"
,
"net.ibizsys.model.control.IPSNavigateContext"
);
put
(
"net.ibizsys.model.res.PSSysCssImpl"
,
"net.ibizsys.model.res.IPSSysCss"
);
put
(
"net.ibizsys.model.app.view.PSAppViewRefImpl"
,
"net.ibizsys.model.app.view.IPSAppViewRef"
);
put
(
"net.ibizsys.model.app.view.PSAppDETreeViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEGridExplorerViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.control.PSNavigateContextImpl"
,
"net.ibizsys.model.control.IPSNavigateContext"
);
put
(
"net.ibizsys.model.control.IPSNavigateParam"
,
"net.ibizsys.model.control.IPSNavigateContext"
);
put
(
"net.ibizsys.model.control.PSNavigateParamImpl"
,
"net.ibizsys.model.control.IPSNavigateParam"
);
put
(
"net.ibizsys.model.control.form.PSDEFormRawItemImpl"
,
"net.ibizsys.model.control.form.IPSDEFormDetail"
);
put
(
"net.ibizsys.model.control.editor.PSCheckBoxImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSNumberEditorImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.form.PSDEFormItemUpdateImpl"
,
"net.ibizsys.model.control.form.IPSDEFormItemUpdate"
);
put
(
"net.ibizsys.model.control.form.PSDEFIUpdateDetailImpl"
,
"net.ibizsys.model.control.form.IPSDEFIUpdateDetail"
);
put
(
"net.ibizsys.model.app.view.PSAppDEKanbanViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDECalendarExplorerViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEChartViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEGanttViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.control.dashboard.PSDBAppViewPortletPartImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.dashboard.PSDBPortletPartImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.dashboard.PSDBContainerPortletPartImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.layout.PSFlexLayoutImpl"
,
"net.ibizsys.model.control.layout.IPSLayout"
);
put
(
"net.ibizsys.model.control.dashboard.PSDBChartPortletPartImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.dataentity.ac.PSDEACModeImpl"
,
"net.ibizsys.model.app.dataentity.IPSAppDEACMode"
);
put
(
"net.ibizsys.model.control.editor.PSMDropDownListImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSHtmlImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSPasswordImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.app.view.PSAppDEGridView9Impl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.control.form.PSDEFormButtonImpl"
,
"net.ibizsys.model.control.form.IPSDEFormDetail"
);
put
(
"net.ibizsys.model.control.editor.PSCheckBoxListImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMEditViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.control.editor.PSRadioButtonListImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.layout.PSFlexLayoutPosImpl"
,
"net.ibizsys.model.control.layout.IPSLayoutPos"
);
put
(
"net.ibizsys.model.app.view.PSAppDEEditView9Impl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.control.form.PSDEFormTabPanelImpl"
,
"net.ibizsys.model.control.form.IPSDEFormDetail"
);
put
(
"net.ibizsys.model.control.PSEditorImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSRawImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.form.PSDEFormItemVRImpl"
,
"net.ibizsys.model.control.form.IPSDEFormItemVR"
);
put
(
"net.ibizsys.model.dataentity.uiaction.PSDEUIActionImpl"
,
"net.ibizsys.model.view.IPSUIAction"
);
put
(
"net.ibizsys.model.control.form.PSDEFDGroupLogicImpl"
,
"net.ibizsys.model.control.form.IPSDEFDLogic"
);
put
(
"net.ibizsys.model.valuerule.PSSysValueRuleImpl"
,
"net.ibizsys.model.valuerule.IPSSysValueRule"
);
put
(
"net.ibizsys.model.dataentity.uiaction.IPSDEUIActionGroup"
,
"net.ibizsys.model.view.IPSUIActionGroup"
);
put
(
"net.ibizsys.model.dataentity.uiaction.PSDEUIActionGroupImpl"
,
"net.ibizsys.model.view.IPSUIActionGroup"
);
put
(
"net.ibizsys.model.dataentity.uiaction.PSDEUIActionGroupDetailImpl"
,
"net.ibizsys.model.view.IPSUIActionGroupDetail"
);
put
(
"net.ibizsys.model.app.view.PSAppDEListExplorerViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEIndexPickupDataViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.control.viewpanel.PSDETabViewPanelImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.tree.PSDETreeDataSetNodeImpl"
,
"net.ibizsys.model.control.tree.IPSDETreeNode"
);
put
(
"net.ibizsys.model.control.tree.PSDETreeStaticNodeImpl"
,
"net.ibizsys.model.control.tree.IPSDETreeNode"
);
put
(
"net.ibizsys.model.control.tree.PSDETreeNodeRSImpl"
,
"net.ibizsys.model.control.tree.IPSDETreeNodeRS"
);
put
(
"net.ibizsys.model.dataentity.der.PSDER1NImpl"
,
"net.ibizsys.model.dataentity.der.IPSDER1N"
);
put
(
"net.ibizsys.model.control.searchbar.PSSysSearchBarFilterImpl"
,
"net.ibizsys.model.control.searchbar.IPSSearchBarFilter"
);
put
(
"net.ibizsys.model.control.grid.PSDEGridUAColumnImpl"
,
"net.ibizsys.model.control.grid.IPSDEGridColumn"
);
put
(
"net.ibizsys.model.control.grid.PSDEGridEditItemVRImpl"
,
"net.ibizsys.model.control.grid.IPSDEGridEditItemVR"
);
put
(
"net.ibizsys.model.app.view.PSAppDEPickupViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDECalendarViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.service.PSSubSysServiceAPIImpl"
,
"net.ibizsys.model.service.IPSSubSysServiceAPI"
);
put
(
"net.ibizsys.model.service.PSSysServiceAPIImpl"
,
"net.ibizsys.model.service.IPSSysServiceAPI"
);
put
(
"net.ibizsys.model.PSSystemImpl"
,
"net.ibizsys.model.IPSSystem"
);
put
(
"net.ibizsys.model.wf.PSWFInteractiveLinkImpl"
,
"net.ibizsys.model.wf.IPSWFLink"
);
put
(
"net.ibizsys.model.wf.PSWFRouteLinkImpl"
,
"net.ibizsys.model.wf.IPSWFLink"
);
put
(
"net.ibizsys.model.msg.PSSysMsgTemplImpl"
,
"net.ibizsys.model.wf.IPSSysMsgTempl"
);
put
(
"net.ibizsys.model.dataentity.mainstate.PSDEMainStateImpl"
,
"net.ibizsys.model.dataentity.mainstate.IPSDEMainState"
);
put
(
"net.ibizsys.model.app.PSApplicationImpl"
,
"net.ibizsys.model.app.IPSApplication"
);
put
(
"net.ibizsys.model.app.view.PSAppDEChartExplorerViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDECustomViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEDataViewExplorerViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEDataViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMapExplorerViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMapViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMobCalendarViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMobChartViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMobDashboardViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMobEditViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMobHtmlViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMobMapViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMobMDViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMobMEditViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMobMPickupViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMobPanelViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMobPickupMDViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMobPickupTreeViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMobPickupViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMobTabExplorerViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEMobTreeViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEPanelViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEPickupTreeViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEReportViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDETreeGridExViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.app.view.PSAppDEWFGridViewImpl"
,
"net.ibizsys.model.app.view.IPSAppView"
);
put
(
"net.ibizsys.model.control.dashboard.PSDBAppMenuPortletPartImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.dashboard.PSDBHtmlPortletPartImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.dashboard.PSDBListPortletPartImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.dashboard.PSDBRawItemPortletPartImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.dashboard.PSDBToolbarPortletPartImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.dashboard.PSSysDashboardImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.editor.PSAutoCompleteImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSCodeImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSIPAddressImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSListBoxImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSListBoxPickerImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSMailAddressImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSMarkdownImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSMPickerImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSPickupViewImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSRatingImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSSliderImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.editor.PSStepperImpl"
,
"net.ibizsys.model.control.IPSEditor"
);
put
(
"net.ibizsys.model.control.expbar.PSTabExpPanelImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.expbar.PSTreeExpBarImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.form.PSDEEditFormImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.form.PSDEFormIFrameImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.form.PSDEFormItemImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.form.PSDESearchFormImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.grid.PSDEGridGroupColumnImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.grid.PSDEGridImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.menu.PSAppMenuImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.searchbar.PSSysSearchBarImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.toolbar.PSDEToolbarImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.tree.PSDETreeCodeListNodeImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.tree.PSDETreeGridExImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.tree.PSDETreeImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.tree.PSDETreeNodeDataItemImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.control.viewpanel.PSDEPickupViewPanelImpl"
,
"net.ibizsys.model.control.IPSControl"
);
put
(
"net.ibizsys.model.dataentity.action.PSDELogicActionImpl"
,
"net.ibizsys.model.dataentity.action.IPSDEAction"
);
put
(
"net.ibizsys.model.dataentity.action.PSDEScriptActionImpl"
,
"net.ibizsys.model.dataentity.action.IPSDEAction"
);
put
(
"net.ibizsys.model.dataentity.datasync.PSDEDataSyncImpl"
,
"net.ibizsys.model.dataentity.datasync.IPSDEDataSync"
);
put
(
"net.ibizsys.model.dataentity.defield.PSFormulaDEFieldImpl"
,
"net.ibizsys.model.dataentity.defield.IPSDEField"
);
put
(
"net.ibizsys.model.dataentity.defield.PSLinkDEFieldImpl"
,
"net.ibizsys.model.dataentity.defield.IPSDEField"
);
put
(
"net.ibizsys.model.dataentity.defield.PSOne2ManyDataDEFieldImpl"
,
"net.ibizsys.model.dataentity.defield.IPSDEField"
);
put
(
"net.ibizsys.model.dataentity.defield.PSPickupDEFieldImpl"
,
"net.ibizsys.model.dataentity.defield.IPSDEField"
);
}};
private
static
Set
<
String
>
checkSet
=
new
HashSet
<>();
public
static
String
getSimpleName
(
String
fileName
)
{
if
((
fileName
!=
null
)
&&
(
fileName
.
length
()
>
0
))
{
int
dot
=
fileName
.
lastIndexOf
(
'.'
);
if
((
dot
>
-
1
)
&&
(
dot
<
(
fileName
.
length
()
-
1
)))
{
return
fileName
.
substring
(
dot
+
1
);
}
}
return
fileName
;
}
@Override
public
final
Object
resolve
(
final
Object
context
,
String
name
)
{
Class
<?>
key
=
context
.
getClass
();
...
...
@@ -51,16 +278,71 @@ public class BaseModelValueResolver implements ValueResolver {
if
(
member
==
null
)
{
if
(
context
instanceof
IModel
)
{
mcache
=
cache
(((
IModel
)
context
).
getOpt
().
getClass
());
Class
<?>
subKey
=((
IModel
)
context
).
getOpt
().
getClass
();
mcache
=
cache
(
subKey
);
member
=
mcache
.
get
(
name
);
if
(
member
==
null
)
{
return
UNRESOLVED
;
}
else
{
String
rtType
=
null
;
Type
genericReturnType
=
member
.
getGenericReturnType
();
//获取返回值的泛型参数
if
(
genericReturnType
!=
null
&&
genericReturnType
instanceof
ParameterizedType
){
Type
[]
actualTypeArguments
=
((
ParameterizedType
)
genericReturnType
).
getActualTypeArguments
();
if
(
actualTypeArguments
!=
null
&&
actualTypeArguments
.
length
>
0
)
rtType
=
actualTypeArguments
[
0
].
getTypeName
();
}
if
(
StringUtils
.
isEmpty
(
rtType
))
rtType
=
member
.
getReturnType
().
getName
();
String
mainType
=
key
.
getName
();
String
subType
=
subKey
.
getName
();
if
(
classMap
.
containsKey
(
mainType
))
mainType
=
classMap
.
get
(
mainType
);
if
(
classMap
.
containsKey
(
rtType
))
rtType
=
classMap
.
get
(
rtType
);
if
(
classMap
.
containsKey
(
subType
))
subType
=
classMap
.
get
(
subType
);
String
id
=
mainType
+
"-"
+
name
+
"-"
+
rtType
;
if
(!
checkSet
.
contains
(
id
))
{
checkSet
.
add
(
id
);
LOGGER
.
trace
(
"{}-{}-{}"
,
getSimpleName
(
mainType
),
name
,
getSimpleName
(
rtType
));
}
id
=
subType
+
"-"
+
name
+
"-"
+
rtType
;
if
(!
checkSet
.
contains
(
id
))
{
checkSet
.
add
(
id
);
LOGGER
.
trace
(
"{}-{}-{}"
,
getSimpleName
(
subType
),
name
,
getSimpleName
(
rtType
));
}
return
invokeMember
(
member
,
((
IModel
)
context
).
getOpt
());
}
}
return
UNRESOLVED
;
}
else
{
String
rtType
=
null
;
Type
genericReturnType
=
member
.
getGenericReturnType
();
//获取返回值的泛型参数
if
(
genericReturnType
!=
null
&&
genericReturnType
instanceof
ParameterizedType
){
Type
[]
actualTypeArguments
=
((
ParameterizedType
)
genericReturnType
).
getActualTypeArguments
();
if
(
actualTypeArguments
!=
null
&&
actualTypeArguments
.
length
>
0
)
rtType
=
actualTypeArguments
[
0
].
getTypeName
();
}
if
(
StringUtils
.
isEmpty
(
rtType
))
rtType
=
member
.
getReturnType
().
getName
();
String
mainType
=
key
.
getName
();
if
(
classMap
.
containsKey
(
mainType
))
mainType
=
classMap
.
get
(
mainType
);
if
(
classMap
.
containsKey
(
rtType
))
rtType
=
classMap
.
get
(
rtType
);
String
id
=
mainType
+
"-"
+
name
+
"-"
+
rtType
;
if
(!
checkSet
.
contains
(
id
))
{
checkSet
.
add
(
id
);
LOGGER
.
trace
(
"{}-{}-{}"
,
getSimpleName
(
mainType
),
name
,
getSimpleName
(
rtType
));
}
return
invokeMember
(
member
,
context
);
}
}
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录