Skip to content

Commit

Permalink
format project
Browse files Browse the repository at this point in the history
  • Loading branch information
zhuxiujia committed Jan 26, 2019
1 parent b7d2d77 commit 1ae1874
Show file tree
Hide file tree
Showing 30 changed files with 179 additions and 161 deletions.
8 changes: 4 additions & 4 deletions ExpressionEngineExpr.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,9 @@ func (this *ExpressionEngineExpr) split(str string) (stringItems []string) {

//Lexer缓存,可不提供。
func (this *ExpressionEngineExpr) LexerCache() ExpressionEngineLexerCache {
if this.mapCache==nil{
var cache= ExpressionEngineLexerMapCache{}.New()
this.mapCache=&cache
if this.mapCache == nil {
var cache = ExpressionEngineLexerMapCache{}.New()
this.mapCache = &cache
}
return this.mapCache
}
}
10 changes: 5 additions & 5 deletions ExpressionEngineExpr_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ func TestExpressionEngineExpr_Struct(t *testing.T) {
var evaluateParameters = make(map[string]interface{})
//var p=1
var age = 1
evaluateParameters["obj"]=&TestPtr{
Age:&age,
evaluateParameters["obj"] = &TestPtr{
Age: &age,
}
var expression = "obj.Age"
evalExpression, err := engine.Lexer(expression)
Expand All @@ -58,10 +58,10 @@ func TestExpressionEngineExpr_Nil_Null(t *testing.T) {
var engine = ExpressionEngineExpr{}
var evaluateParameters = make(map[string]SqlArg)
//var p=1
evaluateParameters["startTime"]=SqlArg{
Value:nil,
evaluateParameters["startTime"] = SqlArg{
Value: nil,
}
var nmap=makeArgInterfaceMap(evaluateParameters)
var nmap = makeArgInterfaceMap(evaluateParameters)
var expression = "startTime == nil"
evalExpression, err := engine.Lexer(expression)
if err != nil {
Expand Down
4 changes: 2 additions & 2 deletions ExpressionEngineGovaluate.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,6 @@ func (this *ExpressionEngineGovaluate) split(str string) (stringItems []string)
}

//Lexer缓存,可不提供。
func (this *ExpressionEngineGovaluate) LexerCache() ExpressionEngineLexerCache{
func (this *ExpressionEngineGovaluate) LexerCache() ExpressionEngineLexerCache {
return nil
}
}
20 changes: 10 additions & 10 deletions ExpressionEngineGovaluate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ func TestExpress(t *testing.T) {
if err != nil {
t.Fatal(err)
}
result, err := engine.Eval(evalExpression,evaluateParameters,0)
result, err := engine.Eval(evalExpression, evaluateParameters, 0)
if err != nil {
t.Fatal(err)
}
fmt.Println(result)
}

func TestExpressionEngineGovaluateTakeValue(t *testing.T) {
func TestExpressionEngineGovaluateTakeValue(t *testing.T) {
var activity = example.Activity{
Id: "1",
DeleteFlag: 1,
Expand All @@ -45,7 +45,7 @@ func TestExpressionEngineGovaluateTakeValue(t *testing.T) {
if err != nil {
t.Fatal(err)
}
result, err := engine.Eval(evalExpression,evaluateParameters,0)
result, err := engine.Eval(evalExpression, evaluateParameters, 0)
if err != nil {
t.Fatal(err)
}
Expand All @@ -71,17 +71,17 @@ func BenchmarkExpress(b *testing.B) {
if err != nil {
b.Fatal(err)
}
result, err := engine.Eval(evalExpression,evaluateParameters,0)
result, err := engine.Eval(evalExpression, evaluateParameters, 0)
if err != nil {
b.Fatal(err)
}
if result.(bool){
if result.(bool) {

}
}
}

func TestTpsExpressionEngineGovaluate(t *testing.T) {
func TestTpsExpressionEngineGovaluate(t *testing.T) {

var activity = example.Activity{
Id: "1",
Expand All @@ -93,19 +93,19 @@ func TestTpsExpressionEngineGovaluate(t *testing.T) {

evaluateParameters["activity"] = &activity

defer utils.CountMethodTps(10000,time.Now(),"ExpressionEngineGovaluate")
defer utils.CountMethodTps(10000, time.Now(), "ExpressionEngineGovaluate")
for i := 0; i < 10000; i++ {
var expression = "activity.DeleteFlag == 1 || activity.DeleteFlag > 0 "
evalExpression, err := engine.Lexer(expression)
if err != nil {
t.Fatal(err)
}
result, err := engine.Eval(evalExpression,evaluateParameters,0)
result, err := engine.Eval(evalExpression, evaluateParameters, 0)
if err != nil {
t.Fatal(err)
}
if result.(bool){
if result.(bool) {

}
}
}
}
4 changes: 2 additions & 2 deletions ExpressionEngineJee.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,6 @@ func (this *ExpressionEngineJee) LexerAndOrSupport(lexerArg string) string {
}

//Lexer缓存,可不提供。
func (this *ExpressionEngineJee) LexerCache() ExpressionEngineLexerCache{
func (this *ExpressionEngineJee) LexerCache() ExpressionEngineLexerCache {
return nil
}
}
2 changes: 1 addition & 1 deletion ExpressionEngineLexerCache.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ package GoMybatis

//Lexer 结果缓存
type ExpressionEngineLexerCache interface {
Set(expression string,lexer interface{}) error
Set(expression string, lexer interface{}) error
Get(expression string) (interface{}, error)
}
26 changes: 13 additions & 13 deletions ExpressionEngineProxy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,27 @@ import (
)

func TestExpressionEngineProxy_Eval(t *testing.T) {
var engine=ExpressionEngineProxy{}.New(&ExpressionEngineExpr{},false)
var lexer,err=engine.Lexer("foo")
if err!= nil{
var engine = ExpressionEngineProxy{}.New(&ExpressionEngineExpr{}, false)
var lexer, err = engine.Lexer("foo")
if err != nil {
t.Fatal(err)
}
var arg=make(map[string]interface{})
arg["foo"]="Bar"
result,err:=engine.Eval(lexer,arg,0)
if err!= nil{
var arg = make(map[string]interface{})
arg["foo"] = "Bar"
result, err := engine.Eval(lexer, arg, 0)
if err != nil {
t.Fatal(err)
}
if result.(string) != "Bar"{
if result.(string) != "Bar" {
t.Fatal("result != 'Bar'")
}
fmt.Println(result)
}

func TestExpressionEngineProxy_Lexer(t *testing.T) {
var engine=ExpressionEngineProxy{}.New(&ExpressionEngineExpr{},false)
var _,err=engine.Lexer("foo")
if err!= nil{
var engine = ExpressionEngineProxy{}.New(&ExpressionEngineExpr{}, false)
var _, err = engine.Lexer("foo")
if err != nil {
t.Fatal(err)
}
}
Expand All @@ -39,7 +39,7 @@ func BenchmarkExpressionEngineProxy_Eval(b *testing.B) {
DeleteFlag: 1,
}

var engine = ExpressionEngineProxy{}.New(&ExpressionEngineExpr{},false)
var engine = ExpressionEngineProxy{}.New(&ExpressionEngineExpr{}, false)
var evaluateParameters = make(map[string]interface{})

evaluateParameters["activity"] = &activity
Expand All @@ -59,4 +59,4 @@ func BenchmarkExpressionEngineProxy_Eval(b *testing.B) {

}
}
}
}
6 changes: 6 additions & 0 deletions ExpressionTypeConvert.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package GoMybatis

//表达式类型(基本类型)转换函数
type ExpressionTypeConvert interface {
Convert(arg SqlArg) interface{}
}
2 changes: 1 addition & 1 deletion GoMybatisEngine_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,6 @@ func InitMapperByLocalSession() ExampleActivityMapperImpl {
</select>`)
var exampleActivityMapperImpl ExampleActivityMapperImpl
//设置对应的mapper xml文件,禁止输出日志
WriteMapperPtrByEngine(&exampleActivityMapperImpl, bytes, engine, false,nil)
WriteMapperPtrByEngine(&exampleActivityMapperImpl, bytes, engine, false, nil)
return exampleActivityMapperImpl
}
20 changes: 20 additions & 0 deletions GoMybatisExpressionTypeConvert.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package GoMybatis

import (
"reflect"
"time"
)

const Adapter_DateType = `time.Time`

//表达式类型转换器
type GoMybatisExpressionTypeConvert struct {
}

//表达式类型转换器
func (this GoMybatisExpressionTypeConvert) Convert(arg SqlArg) interface{} {
if arg.Type.Kind() == reflect.Struct && arg.Type.String() == Adapter_DateType {
return arg.Value.(time.Time).Nanosecond()
}
return arg.Value
}
59 changes: 59 additions & 0 deletions GoMybatisExpressionTypeConvert_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package GoMybatis

import (
"fmt"
"reflect"
"testing"
"time"
)

func Test_ExpressionTypeConvert(t *testing.T) {
var a = true
var convertResult = GoMybatisExpressionTypeConvert{}.Convert(SqlArg{
Value: a,
Type: reflect.TypeOf(a),
})
if convertResult != true {
t.Fatal(`Test_ExpressionTypeConvert fail`)
}
fmt.Println(convertResult)
convertResult = GoMybatisExpressionTypeConvert{}.Convert(SqlArg{
Value: 1,
Type: reflect.TypeOf(1),
})
if convertResult == nil {
t.Fatal(`Test_ExpressionTypeConvert fail`)
}
fmt.Println(convertResult)
convertResult = GoMybatisExpressionTypeConvert{}.Convert(SqlArg{
Value: time.Now(),
Type: reflect.TypeOf(time.Now()),
})
if convertResult == nil {
t.Fatal(`Test_ExpressionTypeConvert fail`)
}
fmt.Println(convertResult)
convertResult = GoMybatisExpressionTypeConvert{}.Convert(SqlArg{
Value: "string",
Type: reflect.TypeOf("string"),
})
if convertResult == nil {
t.Fatal(`Test_ExpressionTypeConvert fail`)
}
fmt.Println(convertResult)
}

func BenchmarkGoMybatisExpressionTypeConvert_Convert(b *testing.B) {
b.StopTimer()
var convertType = reflect.TypeOf(1)
b.StartTimer()
for i := 0; i < b.N; i++ {
var convertResult = GoMybatisExpressionTypeConvert{}.Convert(SqlArg{
Value: 1,
Type: convertType,
})
if convertResult == nil {
b.Fatal("convert fail!")
}
}
}
25 changes: 1 addition & 24 deletions TypeConvertAdapter.go → GoMybatisSqlArgTypeConvert.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,31 +8,8 @@ import (
"time"
)

const Adapter_DateType = `time.Time`
const Adapter_FormateDate = `2006-01-02 15:04:05`

//表达式类型(基本类型)转换函数
type ExpressionTypeConvert interface {
Convert(arg SqlArg) interface{}
}

//表达式类型(基本类型)转换函数
type SqlArgTypeConvert interface {
Convert(arg SqlArg) string
}

//表达式类型转换器
type GoMybatisExpressionTypeConvert struct {
}

//表达式类型转换器
func (this GoMybatisExpressionTypeConvert) Convert(arg SqlArg) interface{} {
if arg.Type.Kind() == reflect.Struct && arg.Type.String() == Adapter_DateType {
return arg.Value.(time.Time).Nanosecond()
}
return arg.Value
}

//Sql内容类型转换器
type GoMybatisSqlArgTypeConvert struct {
}
Expand Down Expand Up @@ -76,5 +53,5 @@ func (this GoMybatisSqlArgTypeConvert) toString(value *SqlArg) string {
return ""
}
//return fmt.Sprint(value.Value)
return utils.GetValue(value.Value,value.Type)
return utils.GetValue(value.Value, value.Type)
}
51 changes: 0 additions & 51 deletions TypeConvertAdapter_test.go → GoMybatisSqlArgTypeConvert_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,42 +7,6 @@ import (
"time"
)

func Test_ExpressionTypeConvert(t *testing.T) {
var a = true
var convertResult = GoMybatisExpressionTypeConvert{}.Convert(SqlArg{
Value: a,
Type: reflect.TypeOf(a),
})
if convertResult != true {
t.Fatal(`Test_ExpressionTypeConvert fail`)
}
fmt.Println(convertResult)
convertResult = GoMybatisExpressionTypeConvert{}.Convert(SqlArg{
Value: 1,
Type: reflect.TypeOf(1),
})
if convertResult == nil {
t.Fatal(`Test_ExpressionTypeConvert fail`)
}
fmt.Println(convertResult)
convertResult = GoMybatisExpressionTypeConvert{}.Convert(SqlArg{
Value: time.Now(),
Type: reflect.TypeOf(time.Now()),
})
if convertResult == nil {
t.Fatal(`Test_ExpressionTypeConvert fail`)
}
fmt.Println(convertResult)
convertResult = GoMybatisExpressionTypeConvert{}.Convert(SqlArg{
Value: "string",
Type: reflect.TypeOf("string"),
})
if convertResult == nil {
t.Fatal(`Test_ExpressionTypeConvert fail`)
}
fmt.Println(convertResult)
}

func Test_SqlArgTypeConvert(t *testing.T) {
var a = true
var convertResult = GoMybatisSqlArgTypeConvert{}.Convert(SqlArg{
Expand Down Expand Up @@ -79,21 +43,6 @@ func Test_SqlArgTypeConvert(t *testing.T) {
fmt.Println(convertResult)
}

func BenchmarkGoMybatisExpressionTypeConvert_Convert(b *testing.B) {
b.StopTimer()
var convertType = reflect.TypeOf(1)
b.StartTimer()
for i := 0; i < b.N; i++ {
var convertResult = GoMybatisExpressionTypeConvert{}.Convert(SqlArg{
Value: 1,
Type: convertType,
})
if convertResult == nil {
b.Fatal("convert fail!")
}
}
}

func BenchmarkGoMybatisSqlArgTypeConvert_Convert(b *testing.B) {
b.StopTimer()
var convertType = reflect.TypeOf(1)
Expand Down
Loading

0 comments on commit 1ae1874

Please sign in to comment.