/** * Loads parameter values from a json object specifying the offset * @param params * @param value * @param Offset * @return bool */ public static bool LoadParametersValues(TParams parameters, TJSONObject value, int Offset) { JArray parValue; JObject jvalue = (JObject)value.getInternalObject(); DBXParameter par; if (parameters.size() <= 0) { return(false); } for (int i = 0; i < parameters.size(); i++) { par = parameters.getParameter(i); parValue = jvalue.Value <JArray>(par.getName()); if (parValue.Count < Offset + 1) { return(false); } if (parValue[Offset] is JArray) { DBXJSONTools.JSONtoDBX(parValue[Offset].Value <JArray>(), par.getValue(), ""); } else { DBXJSONTools.JSONtoDBX(parValue[Offset].Value <object>(), par.getValue(), ""); } } return(true); }
/** * Create a JSONObject from a DBXReader * @param dbxReader * @return JSONObject */ public static TJSONObject DBXReaderToJSONObject(TDBXReader dbxReader) { TJSONObject json = new TJSONObject(); TJSONArray arr2; TParams columns = dbxReader.getColumns(); try { arr2 = new TJSONArray(); for (int i = 0; i < columns.size(); i++) { arr2.add(columns.getParameter(i).tojson()); // Create the empty JArray for the data. Will be filled after json.addPairs(columns.getParameter(i).getName(), new TJSONArray()); } while (dbxReader.next()) { for (int c = 0; c < columns.size(); c++) { dbxReader.getColumns().getParameter(c).getValue().appendTo( json.getJSONArray(columns.getParameter(c) .getName())); } } json.addPairs("table", arr2); } catch (Exception) { } return(json); }
public static TDBXReader createFrom(TJSONObject value) { TParams parameters = TParams.CreateParametersFromMetadata(value .getJSONArray("table")); TDBXReader rdr = new TDBXReader(parameters, value); return(rdr); }
/** * * @param value * a compatible JSONObject that describe a DBXParameters * @return a fully configured DBXParameters */ public static TParams CreateFrom(TJSONObject value) { TParams parameters = CreateParametersFromMetadata(value .getJSONArray("table")); LoadParametersValues(parameters, value); return(parameters); }
public bool next() { currentPosition++; try { return(TParams.LoadParametersValues(this.columns, this.internalDataStore, (int)currentPosition)); } catch (Exception) { return(false); } }
/** * Create a JSONObject from a DBXParameters * @param dbxParameters * @return JSONObject */ public static TJSONObject DBXParametersToJSONObject(TParams dbxParameters) { TJSONObject json = new TJSONObject(); TJSONObject jsonobj = new TJSONObject(); for (int i = 0; i < dbxParameters.size(); i++) { TJSONArray arr3; try { arr3 = new TJSONArray(); arr3.add(new TJSONString(dbxParameters.getParameter(i).getValue().ToString())); json.addPairs(dbxParameters.getParameter(i).getName(), arr3); } catch (Exception) { } } TJSONArray arr2; arr2 = new TJSONArray(); for (int i = 0; i < dbxParameters.size(); i++) { TJSONArray arr; arr = new TJSONArray(); arr.add(new TJSONString(dbxParameters.getParameter(i).getName())); arr.add(new TJSONNumber(dbxParameters.getParameter(i).getDataType())); arr.add(new TJSONNumber(dbxParameters.getParameter(i).getOrdinal())); arr.add(new TJSONNumber(dbxParameters.getParameter(i).getSubType())); arr.add(new TJSONNumber(dbxParameters.getParameter(i).getScale())); arr.add(new TJSONNumber(dbxParameters.getParameter(i).getSize())); arr.add(new TJSONNumber(dbxParameters.getParameter(i).getPrecision())); arr.add(new TJSONNumber(dbxParameters.getParameter(i).getChildPosition())); if (dbxParameters.getParameter(i).getNullable()) arr.add(new TJSONTrue()); else arr.add(new TJSONFalse()); if (dbxParameters.getParameter(i).getHidden()) arr.add(new TJSONTrue()); else arr.add(new TJSONFalse()); arr.add(new TJSONNumber(dbxParameters.getParameter(i).getParameterDirection())); if (dbxParameters.getParameter(i).getValueParameter()) arr.add(new TJSONTrue()); else arr.add(new TJSONFalse()); if (dbxParameters.getParameter(i).getLiteral()) arr.add(new TJSONTrue()); else arr.add(new TJSONFalse()); arr2.add(arr); } try { json.addPairs("table", arr2); } catch (Exception) { } return json; }
/** * Returns a new TParams created by the metadata represented in the specified {@link JSONArray} * @param paramsMetadata * @return TParams */ public static TParams CreateParametersFromMetadata(TJSONArray parametersMetadata) { TParams o = new TParams(); JArray paramMetadata; JArray paramsMetadata = parametersMetadata.asJSONArray(); DBXParameter parameter; try { for (int i = 0; i < paramsMetadata.Count; i++) { paramMetadata = paramsMetadata.Value<JArray>(i); parameter = new DBXParameter(); DBXJSONTools.JSONToValueType(new TJSONArray(paramMetadata), parameter); o.addParameter(parameter); } } catch (Exception e) { throw new DBXException(e.Message); } return o; }
/** * Returns a new TParams created by the metadata represented in the specified {@link JSONArray} * @param paramsMetadata * @return TParams */ public static TParams CreateParametersFromMetadata(TJSONArray parametersMetadata) { TParams o = new TParams(); JArray paramMetadata; JArray paramsMetadata = parametersMetadata.asJSONArray(); DBXParameter parameter; try { for (int i = 0; i < paramsMetadata.Count; i++) { paramMetadata = paramsMetadata.Value <JArray>(i); parameter = new DBXParameter(); DBXJSONTools.JSONToValueType(new TJSONArray(paramMetadata), parameter); o.addParameter(parameter); } } catch (Exception e) { throw new DBXException(e.Message); } return(o); }
/** * @param param is an InputOutput, Output or ReturnValue (JSONValueType) * @param value is a generic object readed from the json result array * @return an Object that rapresent the result JSON or the JSONObject itself */ public static Object JSONToTableType(Object value, String DBXTypeName) { if (DBXTypeName.Equals("TParams")) { return(TParams.CreateFrom(new TJSONObject((JObject)value))); } else { if ((DBXTypeName.Equals("TDBXReader")) || (DBXTypeName.Equals("TDBXReaderValue"))) { return(TDBXReader.createFrom(new TJSONObject((JObject)value))); } else { if (DBXTypeName.Equals("TDataSet")) { return(TDataSet.createFrom(new TJSONObject((JObject)value))); } } } throw new DBXException(DBXTypeName + " is not a table type"); }
public TDBXReader(TParams parameters, TJSONObject value) : base() { internalDataStore = value; setParameters(parameters); }
/** * Loads parameter values from a json object specifying the offset * @param params * @param value * @param Offset * @return bool */ public static bool LoadParametersValues(TParams parameters, TJSONObject value, int Offset) { JArray parValue; JObject jvalue = (JObject)value.getInternalObject(); DBXParameter par; if (parameters.size() <= 0) { return false; } for (int i = 0; i < parameters.size(); i++) { par = parameters.getParameter(i); parValue = jvalue.Value<JArray>(par.getName()); if (parValue.Count < Offset + 1) return false; if (parValue[Offset] is JArray) DBXJSONTools.JSONtoDBX(parValue[Offset].Value<JArray>(), par.getValue(), ""); else DBXJSONTools.JSONtoDBX(parValue[Offset].Value<object>(), par.getValue(), ""); } return true; }
/** * invokes LoadParametersValues with offset setting to 0. * @param params * @param value */ public static void LoadParametersValues(TParams parameters, TJSONObject value) { LoadParametersValues(parameters, value, 0); }
protected void setParameters(TParams parameters) { columns = parameters; }
/** * Create a JSONObject from a DBXParameters * @param dbxParameters * @return JSONObject */ public static TJSONObject DBXParametersToJSONObject(TParams dbxParameters) { TJSONObject json = new TJSONObject(); TJSONObject jsonobj = new TJSONObject(); for (int i = 0; i < dbxParameters.size(); i++) { TJSONArray arr3; try { arr3 = new TJSONArray(); arr3.add(new TJSONString(dbxParameters.getParameter(i).getValue().ToString())); json.addPairs(dbxParameters.getParameter(i).getName(), arr3); } catch (Exception) { } } TJSONArray arr2; arr2 = new TJSONArray(); for (int i = 0; i < dbxParameters.size(); i++) { TJSONArray arr; arr = new TJSONArray(); arr.add(new TJSONString(dbxParameters.getParameter(i).getName())); arr.add(new TJSONNumber(dbxParameters.getParameter(i).getDataType())); arr.add(new TJSONNumber(dbxParameters.getParameter(i).getOrdinal())); arr.add(new TJSONNumber(dbxParameters.getParameter(i).getSubType())); arr.add(new TJSONNumber(dbxParameters.getParameter(i).getScale())); arr.add(new TJSONNumber(dbxParameters.getParameter(i).getSize())); arr.add(new TJSONNumber(dbxParameters.getParameter(i).getPrecision())); arr.add(new TJSONNumber(dbxParameters.getParameter(i).getChildPosition())); if (dbxParameters.getParameter(i).getNullable()) { arr.add(new TJSONTrue()); } else { arr.add(new TJSONFalse()); } if (dbxParameters.getParameter(i).getHidden()) { arr.add(new TJSONTrue()); } else { arr.add(new TJSONFalse()); } arr.add(new TJSONNumber(dbxParameters.getParameter(i).getParameterDirection())); if (dbxParameters.getParameter(i).getValueParameter()) { arr.add(new TJSONTrue()); } else { arr.add(new TJSONFalse()); } if (dbxParameters.getParameter(i).getLiteral()) { arr.add(new TJSONTrue()); } else { arr.add(new TJSONFalse()); } arr2.add(arr); } try { json.addPairs("table", arr2); } catch (Exception) { } return(json); }