package foundation.icall; import foundation.dao.DataPackageMeta; import foundation.data.entity.Entity; import foundation.icall.callout.Fields; import foundation.json.IJSONProvider; import foundation.json.IJSONWriter; import foundation.util.Util; public class ICallMeta implements IJSONProvider { private String id; private String name; private String route; private String sourceName; private String url; private String remoteFilter; private DataPackageMeta packageMeta; private String dataName; private String actionName; private boolean permitEmptyStamp; private String historyTableName; private Fields idFields; private String stampField; private String orderByField; private boolean pageActive; private String ioTaskName; private String monitorId; private String title; public ICallMeta() { } public void load(Entity entity) throws Exception { id = entity.getString("id"); name = entity.getString("name"); title = entity.getString("title"); sourceName = entity.getString("source_name"); dataName = entity.getString("dataname"); url = entity.getString("url"); remoteFilter = entity.getString("remote_filter"); historyTableName = entity.getString("history_table_name"); idFields = new Fields(entity.getString("id_field")); stampField = entity.getString("stamp_field"); orderByField = entity.getString("orderby_field"); pageActive = entity.getBoolean("is_page_active", true); ioTaskName = entity.getString("io_task_name"); actionName = entity.getString("action_name"); monitorId = entity.getString("sys_interface_step__monitor_id"); if (Util.isEmpty(remoteFilter)) { remoteFilter = " 1=1 "; } } public String getDataName() { return dataName; } public String getId() { return id; } public String getName() { return name; } public String getSourceName() { return sourceName; } public String getURL() { return url; } public String getRemoteFilter() { return remoteFilter; } public String getRoute() { return route; } public String getActionName() { return actionName; } public String getHistoryTableName() { return historyTableName; } public DataPackageMeta getPackageMeta() { return packageMeta; } public boolean isPermitEmptyStamp() { return permitEmptyStamp; } public Fields getIdFields() { return idFields; } public String getStampField() { return stampField; } public String getOrderByField() { if (!Util.isEmpty(orderByField)) { return orderByField; } return stampField; } public String getIOTaskName() { return ioTaskName; } public boolean isPageActive() { return pageActive; } public String getMonitorId() { return monitorId; } public String getTitle() { return title; } @Override public void writeJSON(IJSONWriter writer) { writer.beginObject("jcall"); writeJSONBody(writer); writer.endObject(); } private void writeJSONBody(IJSONWriter writer) { //1. body writer.write("name", name); //2. mappings writer.beginArray("fields"); // for (FieldMapping fieldMapping: mappings) { // fieldMapping.writeOnProvider(writer); // } writer.endArray(); } }