/******************************************************************************* * Created by Orlando Aliaga * Copyright 2015 Prey Inc. All rights reserved. * License: GPLv3 * Full license at "/LICENSE" ******************************************************************************/ package com.prey.util; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import org.json.JSONObject; import android.content.Context; import com.prey.PreyLogger; import com.prey.actions.HttpDataService; import com.prey.actions.observer.ActionResult; public class ClassUtil { @SuppressWarnings({ "unchecked", "rawtypes" }) public static List<HttpDataService> execute(Context ctx,List<ActionResult> lista,String nameAction, String methodAction, JSONObject parametersAction,List<HttpDataService> listData) { PreyLogger.d("name:" + nameAction); PreyLogger.d("target:" + methodAction); PreyLogger.d("options:" + parametersAction); nameAction = StringUtil.classFormat(nameAction); try { Class actionClass = Class.forName("com.prey.json.actions." + nameAction); Object actionObject = actionClass.newInstance(); Method method = actionClass.getMethod(methodAction, new Class[] {Context.class, List.class, JSONObject.class }); Object[] params = new Object[] { ctx,lista,parametersAction }; List<HttpDataService> listDataTmp=(ArrayList<HttpDataService>)method.invoke(actionObject, params); for (int i=0;listDataTmp!=null&&i<listDataTmp.size();i++){ HttpDataService httpDataService=listDataTmp.get(i); if(httpDataService!=null) listData.add(httpDataService); } } catch (Exception e) { //PreyLogger.e("Error, causa:" + e.getMessage(), e); } return listData; } }