wuxw
2019-09-04 9c914bf8219a9d059192b53e4ecd222a00a7fe4e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package com.java110.service;
 
import bsh.Interpreter;
import com.alibaba.fastjson.JSONObject;
import com.java110.service.smo.impl.QueryServiceSMOImpl;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.apache.ibatis.ognl.OgnlException;
import org.dom4j.DocumentException;
 
import java.util.HashMap;
import java.util.Map;
 
/**
 * Created by wuxw on 2018/4/23.
 */
public class InterpreterTest extends TestCase {
 
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public InterpreterTest( String testName )
    {
        super( testName );
    }
 
    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( InterpreterTest.class );
    }
 
    /**
     * Rigourous Test :-)
     */
    public void testInterpreter() throws Exception
    {
        String javaCode = "public int add(int a, int b){" +
                "return a+b;" +
                "}" +
                "" +
                "public int execute(int a,int b){" +
                "return add(a,b);" +
                "}";
        Interpreter interpreter = new Interpreter();
        interpreter.eval(javaCode);
        String param = "9,4";
        System.out.println(interpreter.eval("execute("+param+")").toString());
    }
 
 
    public void testDealSqlIf() throws OgnlException, DocumentException {
 
        String oldSql = "select * from s_a a\n" +
                "                  where <if test=\"name != null and name != ''\">\n" +
                "                          a.name = #name#\n" +
                "                      </if>" +
                "                       and a.sex = #name#" +
                "                       <if test=\"id != null and id!= ''\"> and a.id = #id# </if>";
 
        QueryServiceSMOImpl queryServiceSMO = new QueryServiceSMOImpl();
        JSONObject params = new JSONObject();
        params.put("id","123213");
        params.put("name","123213");
 
        System.out.println((queryServiceSMO.dealSqlIf(oldSql, params)));
    }
}