|
|
|
@ -5,11 +5,19 @@ import com.fanruan.api.util.AssistKit;
|
|
|
|
|
import com.fr.base.Parameter; |
|
|
|
|
import com.fr.base.ParameterHelper; |
|
|
|
|
import com.fr.base.ParameterMapNameSpace; |
|
|
|
|
import com.fr.base.ParameterTypeHandler; |
|
|
|
|
import com.fr.data.impl.TableColumn; |
|
|
|
|
import com.fr.general.DateUtils; |
|
|
|
|
import com.fr.json.JSON; |
|
|
|
|
import com.fr.json.JSONArray; |
|
|
|
|
import com.fr.json.JSONFactory; |
|
|
|
|
import com.fr.json.JSONObject; |
|
|
|
|
import com.fr.stable.ArrayUtils; |
|
|
|
|
import com.fr.stable.ParameterProvider; |
|
|
|
|
import com.fr.stable.script.NameSpace; |
|
|
|
|
import org.jetbrains.annotations.NotNull; |
|
|
|
|
|
|
|
|
|
import java.util.Date; |
|
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -135,4 +143,57 @@ public class ParameterKit {
|
|
|
|
|
|
|
|
|
|
return parameters; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 从JSON中解析出来参数信息 |
|
|
|
|
* |
|
|
|
|
* @param jsonObject JSON文本 |
|
|
|
|
* @return 参数信息 |
|
|
|
|
*/ |
|
|
|
|
public static ParameterProvider json2Parameter(JSONObject jsonObject) { |
|
|
|
|
Parameter parameter = new Parameter(); |
|
|
|
|
parameter.setName(jsonObject.getString("name")); |
|
|
|
|
String type = jsonObject.getString("type"); |
|
|
|
|
if (jsonObject.has("value")) { |
|
|
|
|
ParameterTypeHandler handler = ParameterTypeHandler.valueOf(type); |
|
|
|
|
return handler.parseJson(jsonObject, parameter); |
|
|
|
|
} |
|
|
|
|
return parameter; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 将多个参数转化为JSON数组 |
|
|
|
|
* |
|
|
|
|
* @param parameters 参数数组 |
|
|
|
|
* @return JSON数组 |
|
|
|
|
*/ |
|
|
|
|
public static JSONArray parameters2Json(ParameterProvider[] parameters) { |
|
|
|
|
JSONArray jsonArray = JSONFactory.createJSON(JSON.ARRAY); |
|
|
|
|
for (int i = 0; i < parameters.length; i++) { |
|
|
|
|
JSONObject jsonObject = JSONFactory.createJSON(JSON.OBJECT); |
|
|
|
|
ParameterProvider parameter = parameters[i]; |
|
|
|
|
|
|
|
|
|
jsonObject.put("name", parameter.getName()); |
|
|
|
|
|
|
|
|
|
if (parameter.getValue() instanceof Date) { |
|
|
|
|
String dateString = DateUtils.DATEFORMAT2.format(parameter.getValue()); |
|
|
|
|
jsonObject.put("value", dateString); |
|
|
|
|
} else if (parameter.getValue() instanceof TableColumn) { |
|
|
|
|
jsonObject.put("value", JSONFactory.createJSON(JSON.OBJECT, parameter.valueToString())); |
|
|
|
|
} else { |
|
|
|
|
jsonObject.put("value", parameter.getValue()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
String type = parameter.getValue().getClass().getName(); |
|
|
|
|
int firstChar = type.lastIndexOf('.') + 1; |
|
|
|
|
if (firstChar > 0) { |
|
|
|
|
type = type.substring(firstChar); |
|
|
|
|
} |
|
|
|
|
jsonObject.put("type", type); |
|
|
|
|
|
|
|
|
|
jsonArray.put(jsonObject); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return jsonArray; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|