@@ -335,7 +335,8 @@ protected static void onServerError(String msg, boolean shutdown) throws ServerE
335335 public static void test () throws Exception {
336336 test (null );
337337 }
338- public static <T , M extends Map <String , Object >, L extends List <Object >> void test (APIJSONFunctionParser <T , M , L > function ) throws Exception {
338+ public static <T , M extends Map <String , Object >, L extends List <Object >> void test (
339+ APIJSONFunctionParser <T , M , L > functionParser ) throws Exception {
339340 int i0 = 1 , i1 = -2 ;
340341 M request = JSON .createJSONObject ();
341342 request .put ("id" , 10 );
@@ -360,25 +361,41 @@ public static <T, M extends Map<String, Object>, L extends List<Object>> void te
360361 object .put ("key" , "success" );
361362 request .put ("object" , object );
362363
363- if (function == null ) {
364- function = new APIJSONFunctionParser <>(null , null , 1 , null , null );
364+ APIJSONParser <T , M , L > parser = (APIJSONParser <T , M , L >) APIJSON_CREATOR .createParser ();
365+ parser .setRequest (request );
366+ if (functionParser == null ) {
367+ functionParser = (APIJSONFunctionParser <T , M , L >) APIJSON_CREATOR .createFunctionParser ();
368+ functionParser .setParser (parser );
369+ functionParser .setMethod (parser .getMethod ());
370+ functionParser .setTag (parser .getTag ());
371+ functionParser .setVersion (parser .getVersion ());
372+ functionParser .setRequest (parser .getRequest ());
373+
374+ //if (functionParser instanceof APIJSONFunctionParser) {
375+ ((APIJSONFunctionParser ) functionParser ).setSession (parser .getSession ());
376+ //}
365377 }
366378
379+ // functionParser.setKey(null);
380+ // functionParser.setParentPath(null);
381+ // functionParser.setCurrentName(null);
382+ functionParser .setCurrentObject (request );
383+
367384 // 等数据库 Function 表加上 plus 配置再过两个以上迭代(应该是到 5.0)后再取消注释
368385 // Log.i(TAG, "plus(1,-2) = " + function.invoke("plus(i0,i1)", request));
369386 // AssertUtil.assertEqual(-1, function.invoke("plus(i0,i1)", request));
370387
371- Log .i (TAG , "count([1,2,4,10]) = " + function .invoke ("countArray(array)" , request ));
372- AssertUtil .assertEqual (4 , function .invoke ("countArray(array)" , request ));
388+ Log .i (TAG , "count([1,2,4,10]) = " + functionParser .invoke ("countArray(array)" , request ));
389+ AssertUtil .assertEqual (4 , functionParser .invoke ("countArray(array)" , request ));
373390
374- Log .i (TAG , "isContain([1,2,4,10], 10) = " + function .invoke ("isContain(array,id)" , request ));
375- AssertUtil .assertEqual (true , function .invoke ("isContain(array,id)" , request ));
391+ Log .i (TAG , "isContain([1,2,4,10], 10) = " + functionParser .invoke ("isContain(array,id)" , request ));
392+ AssertUtil .assertEqual (true , functionParser .invoke ("isContain(array,id)" , request ));
376393
377- Log .i (TAG , "getFromArray([1,2,4,10], 0) = " + function .invoke ("getFromArray(array,@position)" , request ));
378- AssertUtil .assertEqual (1 , function .invoke ("getFromArray(array,@position)" , request ));
394+ Log .i (TAG , "getFromArray([1,2,4,10], 0) = " + functionParser .invoke ("getFromArray(array,@position)" , request ));
395+ AssertUtil .assertEqual (1 , functionParser .invoke ("getFromArray(array,@position)" , request ));
379396
380- Log .i (TAG , "getFromObject({key:\" success\" }, key) = " + function .invoke ("getFromObject(object,key)" , request ));
381- AssertUtil .assertEqual ("success" , function .invoke ("getFromObject(object,key)" , request ));
397+ Log .i (TAG , "getFromObject({key:\" success\" }, key) = " + functionParser .invoke ("getFromObject(object,key)" , request ));
398+ AssertUtil .assertEqual ("success" , functionParser .invoke ("getFromObject(object,key)" , request ));
382399
383400 }
384401
0 commit comments