Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ghsby
o2oa
提交
84f4bb55
o2oa
项目概览
ghsby
/
o2oa
落后 Fork 源项目 2880 个版本
Fork自
浙江兰德纵横网络技术股份有限公司 / o2oa
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
o2oa
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
84f4bb55
编写于
4月 07, 2022
作者:
R
Ray
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update Meta
上级
45f4c6ce
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
520 addition
and
317 deletion
+520
-317
o2server/x_base_core_project/src/main/java/com/x/base/core/entity/JpaObject.java
...oject/src/main/java/com/x/base/core/entity/JpaObject.java
+3
-3
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/validation/ActionMeta.java
...ava/com/x/program/center/jaxrs/validation/ActionMeta.java
+200
-154
o2server/x_program_center_core_entity/src/main/java/com/x/program/center/core/entity/validation/Meta.java
...ava/com/x/program/center/core/entity/validation/Meta.java
+276
-114
o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/jaxrs/table/ActionUpdate.java
.../x/query/service/processing/jaxrs/table/ActionUpdate.java
+41
-46
未找到文件。
o2server/x_base_core_project/src/main/java/com/x/base/core/entity/JpaObject.java
浏览文件 @
84f4bb55
...
...
@@ -336,14 +336,14 @@ public abstract class JpaObject extends GsonPropertyObject implements Serializab
}
public
static
<
T
extends
JpaObject
>
T
cast
(
Class
<
T
>
cls
,
List
<
String
>
fields
,
Object
[]
objects
)
throws
Exception
{
T
t
=
cls
.
newInstance
();
T
t
=
cls
.
getDeclaredConstructor
().
newInstance
();
for
(
int
i
=
0
;
i
<
fields
.
size
();
i
++)
{
PropertyUtils
.
setProperty
(
t
,
fields
.
get
(
i
),
objects
[
i
]);
}
return
t
;
}
public
abstract
static
class
EntityProperties
{
}
//
public abstract static class EntityProperties {
//
}
}
\ No newline at end of file
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/validation/ActionMeta.java
浏览文件 @
84f4bb55
...
...
@@ -4,44 +4,99 @@ import java.util.ArrayList;
import
java.util.Date
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map.Entry
;
import
java.util.Objects
;
import
org.apache.commons.lang3.StringUtils
;
import
org.jblas.util.Logger
;
import
com.x.base.core.container.EntityManagerContainer
;
import
com.x.base.core.container.factory.EntityManagerContainerFactory
;
import
com.x.base.core.entity.annotation.CheckPersistType
;
import
com.x.base.core.project.gson.GsonPropertyObject
;
import
com.x.base.core.project.gson.XGsonBuilder
;
import
com.x.base.core.project.http.ActionResult
;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.base.core.project.logger.Logger
;
import
com.x.base.core.project.logger.LoggerFactory
;
import
com.x.base.core.project.tools.DateTools
;
import
com.x.base.core.project.tools.StringTools
;
import
com.x.program.center.core.entity.validation.Meta
;
class
ActionMeta
extends
BaseAction
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
ActionMeta
.
class
);
public
static
final
String
DATETIMESTRING1
=
"2021-01-01 01:01:01"
;
public
static
final
String
DATETIMESTRING2
=
"2022-02-02 02:02:02"
;
public
static
final
String
DATESTRING1
=
"2021-01-01"
;
public
static
final
String
DATESTRING2
=
"2022-02-02"
;
public
static
final
String
TIMESTRING1
=
"01:01:01"
;
public
static
final
String
TIMESTRING2
=
"02:02:02"
;
public
static
final
String
STRING1
=
"o2oa"
;
public
static
final
String
STRING2
=
"o2server"
;
public
static
final
Integer
INTEGER1
=
1
;
public
static
final
Integer
INTEGER2
=
2
;
public
static
final
Long
LONG1
=
10000000000L
;
public
static
final
Long
LONG2
=
20000000000L
;
public
static
final
Float
FLOAT1
=
1.1f
;
public
static
final
Float
FLOAT2
=
2.2f
;
public
static
final
Double
DOUBLE1
=
3.3d
;
public
static
final
Double
DOUBLE2
=
4.4d
;
protected
static
Date
dateTime1
=
null
;
protected
static
Date
dateTime2
=
null
;
protected
static
Date
date1
=
null
;
protected
static
Date
date2
=
null
;
protected
static
Date
time1
=
null
;
protected
static
Date
time2
=
null
;
public
static
final
Boolean
BOOLEAN1
=
true
;
public
static
final
Boolean
BOOLEAN2
=
false
;
static
{
try
{
dateTime1
=
DateTools
.
parse
(
DATETIMESTRING1
,
DateTools
.
format_yyyyMMddHHmmss
);
dateTime2
=
DateTools
.
parse
(
DATETIMESTRING2
,
DateTools
.
format_yyyyMMddHHmmss
);
date1
=
DateTools
.
parse
(
DATESTRING1
,
DateTools
.
format_yyyyMMdd
);
date2
=
DateTools
.
parse
(
DATESTRING2
,
DateTools
.
format_yyyyMMdd
);
time1
=
DateTools
.
parse
(
TIMESTRING1
,
DateTools
.
format_HHmmss
);
time2
=
DateTools
.
parse
(
TIMESTRING2
,
DateTools
.
format_HHmmss
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
e
);
}
}
ActionResult
<
Wo
>
execute
(
EffectivePerson
effectivePerson
)
throws
Exception
{
LOGGER
.
debug
(
"execute:{}."
,
effectivePerson:
:
getDistinguishedName
);
String
id
=
StringTools
.
uniqueToken
();
Meta
meta
=
new
Meta
();
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
meta
.
setId
(
id
);
assignmentStringValue
(
meta
);
assignmentStringLobValue
(
meta
);
assignmentBooleanValue
(
meta
);
assignmentDateTimeValue
(
meta
);
assignmentDateValue
(
meta
);
assignmentTimeValue
(
meta
);
assignmentIntegerValue
(
meta
);
assignmentLongValue
(
meta
);
assignmentFloatValue
(
meta
);
assignmentDoubleValue
(
meta
);
assignmentListValue
(
meta
);
assignmentProperties
(
meta
);
assignmentDateTimeValue
(
meta
);
assignmentDateValue
(
meta
);
assignmentTimeValue
(
meta
);
assignmentBooleanValue
(
meta
);
assignmentStringValueList
(
meta
);
assignmentIntegerValueList
(
meta
);
assignmentLongValueList
(
meta
);
assignmentFloatValueList
(
meta
);
assignmentDoubleValueList
(
meta
);
assignmentDateTimeValueList
(
meta
);
assignmentBooleanValueList
(
meta
);
assignmentStringValueMap
(
meta
);
assignmentDateValueMap
(
meta
);
assignmentIntegerValueMap
(
meta
);
assignmentLongValueMap
(
meta
);
assignmentFloatValueMap
(
meta
);
assignmentDoubleValueMap
(
meta
);
assignmentDateTimeValueMap
(
meta
);
assignmentBooleanValueMap
(
meta
);
assignmentProperties
(
meta
);
emc
.
beginTransaction
(
Meta
.
class
);
emc
.
persist
(
meta
,
CheckPersistType
.
all
);
emc
.
commit
();
...
...
@@ -51,17 +106,14 @@ class ActionMeta extends BaseAction {
Meta
o
=
emc
.
find
(
id
,
Meta
.
class
);
wo
.
setAssertStringValue
(
assertStringValue
(
o
,
meta
));
wo
.
setAssertStringLobValue
(
assertStringLobValue
(
o
,
meta
));
wo
.
setAssertBooleanValue
(
assertBooleanValue
(
o
,
meta
));
wo
.
setAssertDateTimeValue
(
assertDateTimeValue
(
o
,
meta
));
wo
.
setAssertDateValue
(
assertDateValue
(
o
,
meta
));
wo
.
setAssertTimeValue
(
assertTimeValue
(
o
,
meta
));
wo
.
setAssertIntegerValue
(
assertIntegerValue
(
o
,
meta
));
wo
.
setAssertLongValue
(
assertLongValue
(
o
,
meta
));
wo
.
setAssertFloatValue
(
assertFloatValue
(
o
,
meta
));
wo
.
setAssertDoubleValue
(
assertDoubleValue
(
o
,
meta
));
wo
.
setAssertListValue
(
assertListValue
(
o
,
meta
));
wo
.
setAssertMapValue
(
assertMapValue
(
o
,
meta
));
wo
.
setAssertProperties
(
assertProperties
(
o
,
meta
));
wo
.
setAssertDateTimeValue
(
assertDateTimeValue
(
o
,
meta
));
wo
.
setAssertDateValue
(
assertDateValue
(
o
,
meta
));
wo
.
setAssertTimeValue
(
assertTimeValue
(
o
,
meta
));
wo
.
setAssertBooleanValue
(
assertBooleanValue
(
o
,
meta
));
}
ActionResult
<
Wo
>
result
=
new
ActionResult
<>();
result
.
setData
(
wo
);
...
...
@@ -76,14 +128,6 @@ class ActionMeta extends BaseAction {
private
String
assertStringLobValue
;
private
String
assertBooleanValue
;
private
String
assertDateTimeValue
;
private
String
assertDateValue
;
private
String
assertTimeValue
;
private
String
assertIntegerValue
;
private
String
assertLongValue
;
...
...
@@ -92,11 +136,12 @@ class ActionMeta extends BaseAction {
private
String
assertDoubleValue
;
private
String
assert
List
Value
;
private
String
assert
DateTime
Value
;
private
String
assert
Map
Value
;
private
String
assert
Date
Value
;
private
String
assertProperties
;
private
String
assertTimeValue
;
private
String
assertBooleanValue
;
public
String
getAssertStringValue
()
{
return
assertStringValue
;
...
...
@@ -178,105 +223,149 @@ class ActionMeta extends BaseAction {
this
.
assertDoubleValue
=
assertDoubleValue
;
}
public
String
getAssertListValue
()
{
return
assertListValue
;
}
public
void
setAssertListValue
(
String
assertListValue
)
{
this
.
assertListValue
=
assertListValue
;
}
public
String
getAssertMapValue
()
{
return
assertMapValue
;
}
public
void
setAssertMapValue
(
String
assertMapValue
)
{
this
.
assertMapValue
=
assertMapValue
;
}
}
public
String
getAssertProperties
(
)
{
return
assertProperties
;
}
private
static
void
assignmentStringValue
(
Meta
persistObject
)
{
persistObject
.
setStringValue
(
STRING1
)
;
}
public
void
setAssertProperties
(
String
assertProperties
)
{
this
.
assertProperties
=
assertProperties
;
}
private
static
void
assignmentStringLobValue
(
Meta
persistObject
)
{
persistObject
.
setStringLobValue
(
StringUtils
.
repeat
(
STRING2
,
40
))
;
}
private
static
void
assignmentIntegerValue
(
Meta
persistObject
)
{
persistObject
.
setIntegerValue
(
INTEGER1
);
}
private
static
void
assignment
Stri
ngValue
(
Meta
persistObject
)
{
persistObject
.
set
StringValue
(
"123456789"
);
private
static
void
assignment
Lo
ngValue
(
Meta
persistObject
)
{
persistObject
.
set
LongValue
(
LONG1
);
}
private
static
void
assignment
StringLob
Value
(
Meta
persistObject
)
{
persistObject
.
set
StringLobValue
(
StringUtils
.
repeat
(
"123456789"
,
40
)
);
private
static
void
assignment
Float
Value
(
Meta
persistObject
)
{
persistObject
.
set
FloatValue
(
FLOAT1
);
}
private
static
void
assignment
Boolean
Value
(
Meta
persistObject
)
{
persistObject
.
set
BooleanValue
(
true
);
private
static
void
assignment
Double
Value
(
Meta
persistObject
)
{
persistObject
.
set
DoubleValue
(
DOUBLE1
);
}
private
static
void
assignmentDateTimeValue
(
Meta
persistObject
)
{
persistObject
.
setDateTimeValue
(
new
Date
()
);
persistObject
.
setDateTimeValue
(
dateTime1
);
}
private
static
void
assignmentDateValue
(
Meta
persistObject
)
{
persistObject
.
setDateValue
(
new
Date
()
);
persistObject
.
setDateValue
(
date1
);
}
private
static
void
assignmentTimeValue
(
Meta
persistObject
)
{
persistObject
.
setTimeValue
(
new
Date
()
);
persistObject
.
setTimeValue
(
time1
);
}
private
static
void
assignment
Integer
Value
(
Meta
persistObject
)
{
persistObject
.
set
IntegerValue
(
123456789
);
private
static
void
assignment
Boolean
Value
(
Meta
persistObject
)
{
persistObject
.
set
BooleanValue
(
BOOLEAN1
);
}
private
static
void
assignmentLongValue
(
Meta
persistObject
)
{
persistObject
.
setLongValue
(
Integer
.
MAX_VALUE
*
10L
);
private
static
void
assignmentStringValueList
(
Meta
persistObject
)
{
List
<
String
>
list
=
new
ArrayList
<>();
list
.
add
(
STRING1
);
list
.
add
(
STRING2
);
persistObject
.
setStringValueList
(
list
);
}
private
static
void
assignmentFloatValue
(
Meta
persistObject
)
{
persistObject
.
setFloatValue
(
12345.6789
);
private
static
void
assignmentIntegerValueList
(
Meta
persistObject
)
{
List
<
Integer
>
list
=
new
ArrayList
<>();
list
.
add
(
INTEGER1
);
list
.
add
(
INTEGER2
);
persistObject
.
setIntegerValueList
(
list
);
}
private
static
void
assignmentDoubleValue
(
Meta
persistObject
)
{
persistObject
.
setDoubleValue
(
12345.6789
);
private
static
void
assignmentLongValueList
(
Meta
persistObject
)
{
List
<
Long
>
list
=
new
ArrayList
<>();
list
.
add
(
LONG1
);
list
.
add
(
LONG2
);
persistObject
.
setLongValueList
(
list
);
}
private
static
void
assignmentListValue
(
Meta
persistObject
)
{
List
<
String
>
list
=
new
ArrayList
<>();
list
.
add
(
"aaaa"
);
list
.
add
(
"bbbb"
);
list
.
add
(
"cccc"
);
list
.
add
(
"dddd"
);
persistObject
.
setListValueList
(
list
);
private
static
void
assignmentFloatValueList
(
Meta
persistObject
)
{
List
<
Float
>
list
=
new
ArrayList
<>();
list
.
add
(
FLOAT1
);
list
.
add
(
FLOAT2
);
persistObject
.
setFloatValueList
(
list
);
}
private
static
void
assignmentDoubleValueList
(
Meta
persistObject
)
{
List
<
Double
>
list
=
new
ArrayList
<>();
list
.
add
(
DOUBLE1
);
list
.
add
(
DOUBLE2
);
persistObject
.
setDoubleValueList
(
list
);
}
private
static
void
assignmentDateTimeValueList
(
Meta
persistObject
)
{
List
<
Date
>
list
=
new
ArrayList
<>();
list
.
add
(
dateTime1
);
list
.
add
(
dateTime2
);
persistObject
.
setDateTimeValueList
(
list
);
}
private
static
void
assignmentBooleanValueList
(
Meta
persistObject
)
{
List
<
Boolean
>
list
=
new
ArrayList
<>();
list
.
add
(
BOOLEAN1
);
list
.
add
(
BOOLEAN1
);
persistObject
.
setBooleanValueList
(
list
);
}
private
static
void
assignmentStringValueMap
(
Meta
persistObject
)
{
LinkedHashMap
<
String
,
String
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
"1"
,
"aaaa"
);
map
.
put
(
"2"
,
"bbbb"
);
map
.
put
(
"3"
,
"cccc"
);
map
.
put
(
"4"
,
"dddd"
);
map
.
put
(
STRING1
,
STRING1
);
map
.
put
(
STRING2
,
STRING2
);
persistObject
.
setStringValueMap
(
map
);
}
private
static
void
assignmentDateValueMap
(
Meta
persistObject
)
{
try
{
private
static
void
assignmentIntegerValueMap
(
Meta
persistObject
)
{
LinkedHashMap
<
String
,
Integer
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
STRING1
,
INTEGER1
);
map
.
put
(
STRING2
,
INTEGER2
);
persistObject
.
setIntegerValueMap
(
map
);
}
private
static
void
assignmentLongValueMap
(
Meta
persistObject
)
{
LinkedHashMap
<
String
,
Long
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
STRING1
,
LONG1
);
map
.
put
(
STRING2
,
LONG2
);
persistObject
.
setLongValueMap
(
map
);
}
private
static
void
assignmentFloatValueMap
(
Meta
persistObject
)
{
LinkedHashMap
<
String
,
Float
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
STRING1
,
FLOAT1
);
map
.
put
(
STRING2
,
FLOAT2
);
persistObject
.
setFloatValueMap
(
map
);
}
private
static
void
assignmentDoubleValueMap
(
Meta
persistObject
)
{
LinkedHashMap
<
String
,
Double
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
STRING1
,
DOUBLE1
);
map
.
put
(
STRING2
,
DOUBLE2
);
persistObject
.
setDoubleValueMap
(
map
);
}
private
static
void
assignmentDateTimeValueMap
(
Meta
persistObject
)
{
LinkedHashMap
<
String
,
Date
>
map
=
new
LinkedHashMap
<>();
Date
date
=
DateTools
.
parse
(
"2020-01-01 12:13:14"
,
DateTools
.
format_yyyyMMddHHmm
);
map
.
put
(
"date"
,
date
);
persistObject
.
setDateValueMap
(
map
);
}
catch
(
Exception
e
)
{
Logger
}
map
.
put
(
STRING1
,
dateTime1
);
map
.
put
(
STRING2
,
dateTime2
);
persistObject
.
setDateTimeValueMap
(
map
);
}
private
static
void
assignmentBooleanValueMap
(
Meta
persistObject
)
{
LinkedHashMap
<
String
,
Boolean
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
STRING1
,
BOOLEAN1
);
map
.
put
(
STRING2
,
BOOLEAN2
);
persistObject
.
setBooleanValueMap
(
map
);
}
private
static
void
assignmentProperties
(
Meta
persistObject
)
{
persistObject
.
getProperties
().
setName
(
"aaaa"
);
persistObject
.
getProperties
().
setConut
(
1
);
persistObject
.
getProperties
().
setName
(
STRING1
);
persistObject
.
getProperties
().
setConut
(
INTEGER
1
);
}
private
String
assertStringValue
(
Meta
fromDbObject
,
Meta
persistObject
)
{
...
...
@@ -295,38 +384,6 @@ class ActionMeta extends BaseAction {
return
message
;
}
private
String
assertBooleanValue
(
Meta
fromDbObject
,
Meta
persistObject
)
{
String
message
=
"booleanValue %s formDbObject:%s, persistObject:%s."
;
message
=
String
.
format
(
message
,
Objects
.
equals
(
fromDbObject
.
getBooleanValue
(),
persistObject
.
getBooleanValue
()),
fromDbObject
.
getBooleanValue
(),
persistObject
.
getBooleanValue
());
return
message
;
}
private
String
assertDateTimeValue
(
Meta
fromDbObject
,
Meta
persistObject
)
{
String
message
=
"dateTimeValue %s formDbObject:%s, persistObject:%s."
;
message
=
String
.
format
(
message
,
Objects
.
equals
(
fromDbObject
.
getDateTimeValue
().
getTime
(),
persistObject
.
getDateTimeValue
().
getTime
()),
fromDbObject
.
getDateTimeValue
(),
persistObject
.
getDateTimeValue
());
return
message
;
}
private
String
assertDateValue
(
Meta
fromDbObject
,
Meta
persistObject
)
{
String
message
=
"dateValue %s formDbObject:%s, persistObject:%s."
;
message
=
String
.
format
(
message
,
Objects
.
equals
(
fromDbObject
.
getDateValue
().
getTime
(),
persistObject
.
getDateValue
().
getTime
()),
fromDbObject
.
getDateValue
(),
persistObject
.
getDateValue
());
return
message
;
}
private
String
assertTimeValue
(
Meta
fromDbObject
,
Meta
persistObject
)
{
String
message
=
"timeValue %s formDbObject:%s, persistObject:%s."
;
message
=
String
.
format
(
message
,
Objects
.
equals
(
fromDbObject
.
getTimeValue
().
getTime
(),
persistObject
.
getTimeValue
().
getTime
()),
fromDbObject
.
getTimeValue
(),
persistObject
.
getTimeValue
());
return
message
;
}
private
String
assertIntegerValue
(
Meta
fromDbObject
,
Meta
persistObject
)
{
String
message
=
"integerValue %s formDbObject:%s, persistObject:%s."
;
message
=
String
.
format
(
message
,
...
...
@@ -356,46 +413,35 @@ class ActionMeta extends BaseAction {
return
message
;
}
private
String
assertListValue
(
Meta
fromDbObject
,
Meta
persistObject
)
{
String
message
=
"listValue %s formDbObject:%s, persistObject:%s."
;
boolean
check
=
true
;
for
(
int
i
=
0
;
i
<
fromDbObject
.
getListValueList
().
size
();
i
++)
{
if
(!
StringUtils
.
equals
(
fromDbObject
.
getListValueList
().
get
(
i
),
persistObject
.
getListValueList
().
get
(
i
)))
{
check
=
false
;
}
}
for
(
int
i
=
0
;
i
<
persistObject
.
getListValueList
().
size
();
i
++)
{
if
(!
StringUtils
.
equals
(
persistObject
.
getListValueList
().
get
(
i
),
fromDbObject
.
getListValueList
().
get
(
i
)))
{
check
=
false
;
}
}
message
=
String
.
format
(
message
,
check
,
XGsonBuilder
.
toJson
(
fromDbObject
.
getListValueList
()),
XGsonBuilder
.
toJson
(
persistObject
.
getListValueList
()));
private
String
assertDateTimeValue
(
Meta
fromDbObject
,
Meta
persistObject
)
{
String
message
=
"dateTimeValue %s formDbObject:%s, persistObject:%s."
;
message
=
String
.
format
(
message
,
Objects
.
equals
(
fromDbObject
.
getDateTimeValue
().
getTime
(),
persistObject
.
getDateTimeValue
().
getTime
()),
fromDbObject
.
getDateTimeValue
(),
persistObject
.
getDateTimeValue
());
return
message
;
}
private
String
assertMapValue
(
Meta
fromDbObject
,
Meta
persistObject
)
{
String
message
=
"mapValue %s formDbObject:%s, persistObject:%s."
;
boolean
check
=
true
;
for
(
Entry
<
String
,
String
>
en
:
fromDbObject
.
getMapValueMap
().
entrySet
())
{
if
(!
StringUtils
.
equals
(
en
.
getValue
(),
persistObject
.
getMapValueMap
().
get
(
en
.
getKey
())))
{
check
=
false
;
}
}
for
(
Entry
<
String
,
String
>
en
:
persistObject
.
getMapValueMap
().
entrySet
())
{
if
(!
StringUtils
.
equals
(
en
.
getValue
(),
fromDbObject
.
getMapValueMap
().
get
(
en
.
getKey
())))
{
check
=
false
;
}
}
message
=
String
.
format
(
message
,
check
,
XGsonBuilder
.
toJson
(
fromDbObject
.
getMapValueMap
()),
XGsonBuilder
.
toJson
(
persistObject
.
getMapValueMap
()));
private
String
assertDateValue
(
Meta
fromDbObject
,
Meta
persistObject
)
{
String
message
=
"dateValue %s formDbObject:%s, persistObject:%s."
;
message
=
String
.
format
(
message
,
Objects
.
equals
(
fromDbObject
.
getDateValue
().
getTime
(),
persistObject
.
getDateValue
().
getTime
()),
fromDbObject
.
getDateValue
(),
persistObject
.
getDateValue
());
return
message
;
}
private
String
assertTimeValue
(
Meta
fromDbObject
,
Meta
persistObject
)
{
String
message
=
"timeValue %s formDbObject:%s, persistObject:%s."
;
message
=
String
.
format
(
message
,
Objects
.
equals
(
fromDbObject
.
getTimeValue
().
getTime
(),
persistObject
.
getTimeValue
().
getTime
()),
fromDbObject
.
getTimeValue
(),
persistObject
.
getTimeValue
());
return
message
;
}
private
String
assertProperties
(
Meta
fromDbObject
,
Meta
persistObject
)
{
String
message
=
"properties %s formDbObject:%s, persistObject:%s."
;
message
=
String
.
format
(
message
,
Objects
.
equals
(
fromDbObject
.
getProperties
(),
persistObject
.
getProperties
()),
fromDbObject
.
getProperties
(),
persistObject
.
getProperties
());
private
String
assertBooleanValue
(
Meta
fromDbObject
,
Meta
persistObject
)
{
String
message
=
"booleanValue %s formDbObject:%s, persistObject:%s."
;
message
=
String
.
format
(
message
,
Objects
.
equals
(
fromDbObject
.
getBooleanValue
(),
persistObject
.
getBooleanValue
()),
fromDbObject
.
getBooleanValue
(),
persistObject
.
getBooleanValue
());
return
message
;
}
...
...
o2server/x_program_center_core_entity/src/main/java/com/x/program/center/core/entity/validation/Meta.java
浏览文件 @
84f4bb55
此差异已折叠。
点击以展开。
o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/jaxrs/table/ActionUpdate.java
浏览文件 @
84f4bb55
...
...
@@ -11,6 +11,7 @@ import javax.persistence.Column;
import
org.apache.commons.beanutils.PropertyUtilsBean
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.reflect.FieldUtils
;
import
org.apache.openjpa.persistence.jdbc.ElementColumn
;
import
com.google.gson.JsonArray
;
import
com.google.gson.JsonElement
;
...
...
@@ -29,7 +30,7 @@ import com.x.base.core.project.jaxrs.WrapBoolean;
import
com.x.base.core.project.logger.Logger
;
import
com.x.base.core.project.logger.LoggerFactory
;
import
com.x.base.core.project.tools.DateTools
;
import
com.x.
processplatform.core.entity.content.Data
;
import
com.x.
base.core.project.tools.StringTools
;
import
com.x.query.core.entity.schema.Table
;
import
com.x.query.service.processing.Business
;
...
...
@@ -86,78 +87,64 @@ class ActionUpdate extends BaseAction {
IllegalArgumentException
,
SecurityException
{
List
<
Field
>
fields
=
FieldUtils
.
getFieldsListWithAnnotation
(
cls
,
Column
.
class
);
T
t
=
cls
.
getConstructor
().
newInstance
();
JsonObject
data
=
null
;
JsonObject
work
=
null
;
JsonObject
jsonObject
=
null
;
if
((
jsonElement
!=
null
)
&&
jsonElement
.
isJsonObject
())
{
data
=
jsonElement
.
getAsJsonObject
();
if
(
data
.
has
(
Data
.
WORK_PROPERTY
))
{
JsonElement
jsonElementWork
=
data
.
get
(
Data
.
WORK_PROPERTY
);
if
((
null
!=
jsonElementWork
)
&&
jsonElementWork
.
isJsonObject
())
{
work
=
jsonElementWork
.
getAsJsonObject
();
}
}
jsonObject
=
jsonElement
.
getAsJsonObject
();
}
for
(
Field
field
:
fields
)
{
switch
(
JpaObjectTools
.
type
(
field
))
{
case
JpaObject
.
TYPE_STRING
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractStringOrDistinguishedName
(
processPlatformGetJsonElement
(
data
,
work
,
field
)));
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractStringOrDistinguishedName
(
getJsonElement
(
jsonObject
,
field
),
getColumnDefinedStringLength
(
field
)));
break
;
case
JpaObject
.
TYPE_INTEGER
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractInteger
(
processPlatformGetJsonElement
(
data
,
work
,
field
)));
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractInteger
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_LONG
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractLong
(
processPlatformGetJsonElement
(
data
,
work
,
field
)));
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractLong
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_FLOAT
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractFloat
(
processPlatformGetJsonElement
(
data
,
work
,
field
)));
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractFloat
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_DOUBLE
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDouble
(
processPlatformGetJsonElement
(
data
,
work
,
field
)));
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDouble
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_DATETIME
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDateTime
(
processPlatformGetJsonElement
(
data
,
work
,
field
)));
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDateTime
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_DATE
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDate
(
processPlatformGetJsonElement
(
data
,
work
,
field
)));
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDate
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_BOOLEAN
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractBoolean
(
processPlatformGetJsonElement
(
data
,
work
,
field
)));
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractBoolean
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_STRINGLIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractStringOrDistinguishedNameList
(
processPlatformGetJsonElement
(
data
,
work
,
field
)));
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractStringOrDistinguishedNameList
(
getJsonElement
(
jsonObject
,
field
),
getElementColumnDefinedStringLength
(
field
)));
break
;
case
JpaObject
.
TYPE_INTEGERLIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractIntegerList
(
processPlatformGetJsonElement
(
data
,
work
,
field
)));
extractIntegerList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_LONGLIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractLongList
(
processPlatformGetJsonElement
(
data
,
work
,
field
)));
extractLongList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_FLOATLIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractFloatList
(
processPlatformGetJsonElement
(
data
,
work
,
field
)));
extractFloatList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_DOUBLELIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDoubleList
(
processPlatformGetJsonElement
(
data
,
work
,
field
)));
extractDoubleList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_DATETIMELIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractDateTimeList
(
processPlatformGetJsonElement
(
data
,
work
,
field
)));
extractDateTimeList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
case
JpaObject
.
TYPE_BOOLEANLIST
:
propertyUtilsBean
.
setProperty
(
t
,
field
.
getName
(),
extractBooleanList
(
processPlatformGetJsonElement
(
data
,
work
,
field
)));
extractBooleanList
(
getJsonElement
(
jsonObject
,
field
)));
break
;
default
:
break
;
...
...
@@ -166,17 +153,25 @@ class ActionUpdate extends BaseAction {
return
t
;
}
private
JsonElement
processPlatformGetJsonElement
(
JsonObject
data
,
JsonObject
work
,
Field
field
)
{
private
int
getColumnDefinedStringLength
(
Field
field
)
{
Column
column
=
field
.
getAnnotation
(
Column
.
class
);
return
(
null
!=
column
)
?
column
.
length
()
:
JpaObject
.
length_255B
;
}
private
int
getElementColumnDefinedStringLength
(
Field
field
)
{
ElementColumn
elementColumn
=
field
.
getAnnotation
(
ElementColumn
.
class
);
return
(
null
!=
elementColumn
)
?
elementColumn
.
length
()
:
JpaObject
.
length_255B
;
}
private
JsonElement
getJsonElement
(
JsonObject
jsonObject
,
Field
field
)
{
JsonElement
element
=
null
;
if
((
null
!=
work
)
&&
work
.
has
(
field
.
getName
()))
{
element
=
work
.
get
(
field
.
getName
());
}
else
if
((
null
!=
data
)
&&
data
.
has
(
field
.
getName
()))
{
element
=
data
.
get
(
field
.
getName
());
if
((
null
!=
jsonObject
)
&&
jsonObject
.
has
(
field
.
getName
()))
{
element
=
jsonObject
.
get
(
field
.
getName
());
}
return
element
;
}
private
String
extractStringOrDistinguishedName
(
JsonElement
jsonElement
)
{
private
String
extractStringOrDistinguishedName
(
JsonElement
jsonElement
,
int
maxLength
)
{
String
value
=
null
;
if
(
null
!=
jsonElement
)
{
if
(
jsonElement
.
isJsonPrimitive
())
{
...
...
@@ -189,27 +184,27 @@ class ActionUpdate extends BaseAction {
}
else
if
(
jsonElement
.
isJsonArray
())
{
JsonArray
os
=
jsonElement
.
getAsJsonArray
();
if
(
os
.
size
()
>
0
)
{
value
=
extractStringOrDistinguishedName
(
os
.
get
(
0
));
value
=
extractStringOrDistinguishedName
(
os
.
get
(
0
)
,
maxLength
);
}
}
}
return
value
;
return
StringTools
.
utf8SubString
(
value
,
maxLength
)
;
}
private
List
<
String
>
extractStringOrDistinguishedNameList
(
JsonElement
jsonElement
)
{
private
List
<
String
>
extractStringOrDistinguishedNameList
(
JsonElement
jsonElement
,
int
maxLength
)
{
List
<
String
>
values
=
new
ArrayList
<>();
if
(
null
!=
jsonElement
)
{
if
(
jsonElement
.
isJsonPrimitive
())
{
values
.
add
(
jsonElement
.
getAsString
(
));
values
.
add
(
StringTools
.
utf8SubString
(
jsonElement
.
getAsString
(),
maxLength
));
}
else
if
(
jsonElement
.
isJsonObject
())
{
JsonObject
o
=
jsonElement
.
getAsJsonObject
();
if
(
o
.
has
(
JpaObject
.
DISTINGUISHEDNAME
))
{
values
.
add
(
o
.
get
(
JpaObject
.
DISTINGUISHEDNAME
).
getAsString
(
));
values
.
add
(
StringTools
.
utf8SubString
(
o
.
get
(
JpaObject
.
DISTINGUISHEDNAME
).
getAsString
(),
maxLength
));
}
}
else
if
(
jsonElement
.
isJsonArray
())
{
JsonArray
os
=
jsonElement
.
getAsJsonArray
();
for
(
JsonElement
o
:
os
)
{
values
.
add
(
extractStringOrDistinguishedName
(
o
));
values
.
add
(
extractStringOrDistinguishedName
(
o
,
maxLength
));
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录