예제 #1
0
        /**
         * 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);
        }
예제 #2
0
        /**
         * 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);
        }
예제 #3
0
        public static TDBXReader createFrom(TJSONObject value)
        {
            TParams parameters = TParams.CreateParametersFromMetadata(value
                                                                      .getJSONArray("table"));
            TDBXReader rdr = new TDBXReader(parameters, value);

            return(rdr);
        }
예제 #4
0
        /**
         *
         * @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);
        }
예제 #5
0
 public bool next()
 {
     currentPosition++;
     try {
         return(TParams.LoadParametersValues(this.columns,
                                             this.internalDataStore, (int)currentPosition));
     } catch (Exception) {
         return(false);
     }
 }
예제 #6
0
        /**
         * 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;
        }
예제 #7
0
 /**
  * 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;
 }
예제 #8
0
        /**
         * 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);
        }
예제 #9
0
 /**
  * @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");
 }
예제 #10
0
 public TDBXReader(TParams parameters, TJSONObject value) : base()
 {
     internalDataStore = value;
     setParameters(parameters);
 }
예제 #11
0
        /**
         * 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;
        }
예제 #12
0
 /**
  * invokes LoadParametersValues with offset setting to 0.
  * @param params
  * @param value
  */
 public static void LoadParametersValues(TParams parameters, TJSONObject value)
 {
     LoadParametersValues(parameters, value, 0);
 }
예제 #13
0
 protected void setParameters(TParams parameters)
 {
     columns = parameters;
 }
예제 #14
0
 public TDBXReader(TParams parameters, TJSONObject value)
     : base()
 {
     internalDataStore = value;
     setParameters(parameters);
 }
예제 #15
0
 /**
  * invokes LoadParametersValues with offset setting to 0.
  * @param params
  * @param value
  */
 public static void LoadParametersValues(TParams parameters, TJSONObject value)
 {
     LoadParametersValues(parameters, value, 0);
 }
예제 #16
0
        /**
         * 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);
        }
예제 #17
0
 protected void setParameters(TParams parameters)
 {
     columns = parameters;
 }