Close() public method

Closes this stream and the underlying stream.
public Close ( ) : void
return void
Esempio n. 1
0
        /// <summary>
        /// Serializes an object to an XML string. Unlike the other SerializeObject overloads
        /// this methods *returns a string* rather than a bool result!
        /// </summary>
        /// <param name="value">Value to serialize</param>
        /// <param name="throwExceptions">Determines if a failure throws or returns null</param>
        /// <returns>
        /// null on error otherwise the Xml String.
        /// </returns>
        /// <remarks>
        /// If null is passed in null is also returned so you might want
        /// to check for null before calling this method.
        /// </remarks>
        public static string Serialize(object value, bool throwExceptions = false, bool formatJsonOutput = false)
        {
            string  jsonResult = null;
            Type    type       = value.GetType();
            dynamic writer     = null;

            try
            {
                var json = new JsonSerializer();


                StringWriter sw = new StringWriter();

                writer = new Newtonsoft.Json.JsonTextWriter(sw);

                if (formatJsonOutput)
                {
                    writer.Formatting = Formatting.Indented;
                }
                else
                {
                    writer.Formatting = Formatting.None;
                }

                writer.QuoteChar = '"';
                json.Serialize(writer, value);

                jsonResult = sw.ToString();
                writer.Close();
            }
            catch (Exception ex)
            {
                if (throwExceptions)
                {
                    throw ex;
                }

                jsonResult = null;
            }
            finally
            {
                if (writer != null)
                {
                    writer.Close();
                }
            }

            return(jsonResult);
        }
Esempio n. 2
0
        public static void SaveToFile()
        {
            try
            {

                JsonSerializer serializer = new JsonSerializer();
                var prices = dataAccess.GetAllPrices();
                var sales = dataAccess.GetAllSales();
                var priceChanges = dataAccess.GetPriceChanges();

                string path = DataDir + "\\Prices.json";
                var writer = new JsonTextWriter(File.CreateText(path));
                serializer.Serialize(writer, prices);
                writer.Close();

                path = DataDir + "\\Sales.json";
                writer = new JsonTextWriter(File.CreateText(path));
                serializer.Serialize(writer, sales);
                writer.Close();

                path = DataDir + "\\priceChanges.json ";
                writer = new JsonTextWriter(File.CreateText(path));
                serializer.Serialize(writer, priceChanges);
                writer.Close();

            }
            catch (Exception iException)
            {
                int x = 10;
                throw;
            }
        }
Esempio n. 3
0
    public static string DataTableToJSON(DataTable dt, string dtName)
    {
        StringBuilder sb = new StringBuilder();
        StringWriter sw = new StringWriter(sb);

        using (JsonWriter jw = new JsonTextWriter(sw))
        {
            JsonSerializer ser = new JsonSerializer();
            jw.WriteStartObject();
            jw.WritePropertyName(dtName);
            jw.WriteStartArray();
            foreach (DataRow dr in dt.Rows)
            {
                jw.WriteStartObject();

                foreach (DataColumn dc in dt.Columns)
                {
                    jw.WritePropertyName(dc.ColumnName);
                    ser.Serialize(jw, dr[dc].ToString());
                }

                jw.WriteEndObject();
            }
            jw.WriteEndArray();
            jw.WriteEndObject();

            sw.Close();
            jw.Close();

        }

        return sb.ToString();
    }
Esempio n. 4
0
    //Serializar para obter lista de objetos
    private string Serialize(object value)
    {
        Type type = value.GetType();

        Newtonsoft.Json.JsonSerializer json = new Newtonsoft.Json.JsonSerializer();
        if (type == typeof(DataTable))
        {
            json.Converters.Add(new DataTableConverter());
        }
        if (type == typeof(DataSet))
        {
            json.Converters.Add(new DataSetConverter());
        }
        StringWriter sw = new StringWriter();

        Newtonsoft.Json.JsonTextWriter write = new Newtonsoft.Json.JsonTextWriter(sw);
        write.Formatting = Formatting.None;
        write.QuoteChar  = '"';
        json.Serialize(write, value);
        string output = sw.ToString();

        write.Close();
        sw.Close();
        return(output);
    }
        protected void btnSend_Click(object sender, EventArgs e)
        {
            StringBuilder sb = new StringBuilder();
            StringWriter sw = new StringWriter(sb);
            JsonWriter jsonWriter = new JsonTextWriter(sw);

            jsonWriter.Formatting = Formatting.Indented;
            jsonWriter.WriteStartObject();
            jsonWriter.WritePropertyName("name");
            jsonWriter.WriteValue(txtName.Text);

            jsonWriter.WritePropertyName("description");
            jsonWriter.WriteValue(txtDesc.Text);

            jsonWriter.WritePropertyName("priority");
            jsonWriter.WriteValue((dpdPri.Text).ToUpper());

            jsonWriter.WriteEndObject();
            string output = sw.ToString();
            jsonWriter.Close();
            sw.Close();

            //string[] args = new string[3];
            //args[0] = txtName.Text;
            //args[1] = txtDesc.Text;
            //args[2] = txtPri.Text;
            //string message = string.Join(" ", args);
            byte[] body = System.Text.Encoding.UTF8.GetBytes(output);
            producer.SendMessage(body);
        }
        static void Main(string[] args)
        {
            // Set connection parameters
            var parameters = new RfcConfigParameters();
            parameters[RfcConfigParameters.Client] = "050";
            parameters[RfcConfigParameters.Language] = "DE";
            parameters[RfcConfigParameters.User] = "SCHUENGE";
            parameters[RfcConfigParameters.Password] = "";
            parameters[RfcConfigParameters.MessageServerHost] = "sawitk80.ceu.heidelberg.com";
            parameters[RfcConfigParameters.MessageServerService] = "3641";
            parameters[RfcConfigParameters.Name] = "K80";
            parameters[RfcConfigParameters.SystemID] = "K80";
            parameters[RfcConfigParameters.LogonGroup] = "K80001";

            // Get destination (i.e. connection to SAP ERP system)
            var destination = RfcDestinationManager.GetDestination(parameters);

            JsonWriter writer = new JsonTextWriter(new StreamWriter("test.json"));
            writer.Formatting = Formatting.Indented;
            writer.WriteStartObject();

            var customerNumber = "0080300010";

            ReadCustomerContacts(customerNumber, destination, writer);

            ReadCustomerEquipments(customerNumber, destination, writer);

            writer.WriteEndObject();
            writer.Close();
        }
Esempio n. 7
0
        public static string ToJson(object value)
        {
            Newtonsoft.Json.JsonSerializer json = new Newtonsoft.Json.JsonSerializer()
            {
                ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore,
                ObjectCreationHandling = Newtonsoft.Json.ObjectCreationHandling.Auto,
                NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore
            };

            StringWriter sw = new StringWriter();
            Newtonsoft.Json.JsonTextWriter writer = new JsonTextWriter(sw);

            writer.Formatting = Formatting.None;

            //writer.QuoteChar = '"';

            json.Serialize(writer, value);

            string output = sw.ToString();
            writer.Close();
            sw.Close();

            return output;

            //JavaScriptSerializer jss = new JavaScriptSerializer();
            //return jss.Serialize(value);
        }
        public override void ExecuteResult(ControllerContext context)
        {
            JsonSerializer json = new JsonSerializer();

            json.NullValueHandling = NullValueHandling.Ignore;

            json.ObjectCreationHandling = ObjectCreationHandling.Replace;
            json.MissingMemberHandling = MissingMemberHandling.Ignore;
            json.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;

            String output = String.Empty;

            StringWriter sw = new StringWriter();
            JsonTextWriter writer = new JsonTextWriter(sw);

            writer.Formatting = Formatting.Indented;

            writer.QuoteChar = '"';
            json.Serialize(writer, this.Data);

            output = sw.ToString();
            writer.Close();
            sw.Close();

            context.HttpContext.Response.ContentType = "application/json";
            context.HttpContext.Response.Write(output);
        }
 public string Serialize(object @object )
 {
     var serializer = new JsonSerializer();
     var stringWriter = new StringWriter();
     var writer = new JsonTextWriter(stringWriter) {QuoteName = false, Formatting = Formatting.None};
     serializer.Serialize(writer, @object);
     writer.Close();
     return stringWriter.ToString();
 }
Esempio n. 10
0
 private static string NewtonsoftEncode(string input)
 {
     var sb = new StringBuilder();
     var sw = new StringWriter(sb);
     JsonWriter writer = new JsonTextWriter(sw);
     writer.WriteValue(input);
     writer.Close();
     return sb.ToString();
 }
Esempio n. 11
0
 public static string ToEmitString(this object data)
 {
     var serializer = new JsonSerializer();
     var stringWriter = new StringWriter();
     var writer = new JsonTextWriter(stringWriter) { QuoteName = false };
     serializer.Serialize(writer, data);
     writer.Close();
     return stringWriter.ToString();
 }
Esempio n. 12
0
        public static void File(string fileName, eventVar _eventVar)
        {
            try
            {
                //Import config variables
                Config.softwareConfig cfg = new Config.softwareConfig();

                if (System.IO.File.Exists(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted"))
                {
                    System.IO.File.Delete(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted");

                    using (FileStream fs = System.IO.File.Open(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted", FileMode.CreateNew))
                    using (StreamWriter sw = new StreamWriter(fs))
                    using (JsonWriter jw = new JsonTextWriter(sw))
                    {
                        jw.Formatting = Formatting.Indented;

                        JsonSerializer serializer = new JsonSerializer();
                        serializer.Serialize(jw, _eventVar);
                        jw.Close();
                        sw.Close();
                        fs.Close();
                    }

                    string json = System.IO.File.ReadAllText(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted");
                    string encryptJson = CryptoService.Load.Encrypt(json, cfg.cipherKey);
                    System.IO.File.WriteAllText(MainWindow.workingDir + "\\Config\\" + fileName, encryptJson);
                    System.IO.File.Delete(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted");
                }
                else
                {
                    using (FileStream fs = System.IO.File.Open(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted", FileMode.CreateNew))
                    using (StreamWriter sw = new StreamWriter(fs))
                    using (JsonWriter jw = new JsonTextWriter(sw))
                    {
                        jw.Formatting = Formatting.Indented;

                        JsonSerializer serializer = new JsonSerializer();
                        serializer.Serialize(jw, _eventVar);
                        jw.Close();
                        sw.Close();
                        fs.Close();

                        string json = System.IO.File.ReadAllText(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted");
                        string encryptJson = CryptoService.Load.Encrypt(json, cfg.cipherKey);
                        System.IO.File.WriteAllText(MainWindow.workingDir + "\\Config\\" + fileName, encryptJson);
                        System.IO.File.Delete(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted");
                    }

                }
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
Esempio n. 13
0
        static void Main(string[] args)
        {
            String connectionString =
                //"user id=mes;" +
                //"password=mes;" +
                "Trusted_Connection=True;" +
                "server=marcus-pc\\SQLEXPRESS;" +
                "database=isdata; " +
                "connection timeout=5";

            Console.WriteLine("start exporting");
            try
            {
                using (FileStream fs = new FileStream("\\\\VBOXSVR\\Shared\\export.json", FileMode.Create, FileAccess.Write))
                {
                    StreamWriter sw = new StreamWriter(fs);
                    JsonWriter writer = new JsonTextWriter(sw);
                    writer.Formatting = Formatting.Indented;

                    writer.WriteStartObject();

                    writer.WritePropertyName("customers");
                    BaseExporter export = new ExportCustomer(connectionString, writer);
                    export.Export();

                    writer.WritePropertyName("parts");
                    export = new ExportParts(connectionString, writer);
                    export.Export();

                    writer.WritePropertyName("offerings");
                    export = new ExportOfferings(connectionString, writer);
                    export.Export();

                    writer.WritePropertyName("orders");
                    export = new ExportOrders(connectionString, writer);
                    export.Export();

                    writer.WritePropertyName("deliveries");
                    export = new ExportDeliveries(connectionString, writer);
                    export.Export();
                    writer.WritePropertyName("invoices");
                    export = new ExportInvoices(connectionString, writer);
                    export.Export();

                    writer.WriteEndObject();

                    writer.Close();
                    sw.Close();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("ohh shit: " + e.ToString());
            }
        }
Esempio n. 14
0
        /// <summary>
        /// Serialize current problem document as JSON representation
        /// </summary>
        /// <param name="stream"></param>
        public void Save(System.IO.MemoryStream stream)
        {
            var sb = new StringBuilder();
            var sw = new StringWriter(sb);
            var jsonWriter = new JsonTextWriter(sw) {Formatting = Formatting.Indented};

            WriteProblem(jsonWriter);

            var stw = new StreamWriter(stream);
            stw.Write(sb.ToString());
            stw.Flush();
            jsonWriter.Close();

        }
Esempio n. 15
0
        private void SerializeStream(Stream stream, object value)
        {
            JsonSerializer jsonSerializer = JsonSerializer.Create(_jsonSerializerSettings);

            using (var streamWriter = new StreamWriter(stream, Encoding.UTF8))
            {
                using (var jsonTextWriter = new JsonTextWriter(streamWriter))
                {

                    jsonSerializer.Serialize(jsonTextWriter, value);
                    jsonTextWriter.Flush();
                    jsonTextWriter.Close();
                }
            }
        }
Esempio n. 16
0
        public static void Save(string path)
        {
            if (instance == null)
            {
                instance = new BotConfig();
            }

            JsonTextWriter writer = new JsonTextWriter(new StreamWriter(path));

            JsonSerializer serializer = new JsonSerializer();
            serializer.Formatting = Formatting.Indented;
            serializer.Serialize(writer, instance);
            writer.Close();

        }
    public void CloseOutput()
    {
      MemoryStream ms = new MemoryStream();
      JsonTextWriter writer = new JsonTextWriter(new StreamWriter(ms));

      Assert.IsTrue(ms.CanRead);
      writer.Close();
      Assert.IsFalse(ms.CanRead);

      ms = new MemoryStream();
      writer = new JsonTextWriter(new StreamWriter(ms)) { CloseOutput = false };

      Assert.IsTrue(ms.CanRead);
      writer.Close();
      Assert.IsTrue(ms.CanRead);
    }
Esempio n. 18
0
        /// <summary>
        ///     执行与释放或重置非托管资源相关的应用程序定义的任务。
        /// </summary>
        protected virtual void Dispose(bool disposing)
        {
            try
            {
                Flush();
            }
            catch
            {
                // never fail
            }
            finally
            {
#if NET || NETSTANDARD_2_0_UP
                _textWriter.Close();
#endif
            }
        }
        public void JsonNativeInstantiation()
        {
            // Try to create instance
            var ser = new JsonSerializer();

            //ser.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
            //ser.ObjectCreationHandling = ObjectCreationHandling.Auto;
            //ser.MissingMemberHandling = MissingMemberHandling.Ignore;
            ser.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
            ser.Converters.Add(new StringEnumConverter());

            var config = new AutoConfigFileConfiguration();
            config.ApplicationName = "New App";
            config.DebugMode = DebugModes.DeveloperErrorMessage;

            var writer = new StringWriter();
            var jtw = new JsonTextWriter(writer);
            jtw.Formatting = Formatting.Indented;

            ser.Serialize(jtw, config);

            string result = writer.ToString();
            jtw.Close();

            Console.WriteLine(result);

            dynamic json = ReflectionUtils.CreateInstanceFromString("Newtonsoft.Json.JsonSerializer");
            dynamic enumConverter = ReflectionUtils.CreateInstanceFromString("Newtonsoft.Json.Converters.StringEnumConverter");
            json.Converters.Add(enumConverter);

            writer = new StringWriter();
            jtw = new JsonTextWriter(writer);
            jtw.Formatting = Formatting.Indented;

            json.Serialize(jtw, config);

            result = writer.ToString();
            jtw.Close();

            Console.WriteLine(result);
        }
Esempio n. 20
0
        public virtual byte[] Serialize()
        {
            StringBuilder buffer = new StringBuilder();

            using (StringWriter writer = new StringWriter(buffer))
            {
                using (JsonTextWriter jsonWriter = new JsonTextWriter(writer))
                {
                    JsonSerializer ser = new JsonSerializer();
                    ser.Serialize(jsonWriter, this);

                    jsonWriter.Flush();
                    jsonWriter.Close();
                }

                writer.Close();
            }

            LOG.DebugFormat("Serialized event {0}: {1}", this, buffer.ToString());

            return new UTF8Encoding().GetBytes(buffer.ToString());
        }
Esempio n. 21
0
        private async Task SaveInternalAsync()
        {
            foreach (var o in stored)
            {
                if(mode == DatabaseMode.Dangerous)
                    throw new DirectoryNotFoundException();

                using(var stream = new MemoryStream())
                using (var writer = new JsonTextWriter(new StreamWriter(stream)))
                {
                    var serializer = JsonSerializer.Create();
                    serializer.Serialize(writer, o);
                    writer.Flush();
                    stream.Position = 0;

                    await store.AppendAsync(stream);

                    writer.Close();
                }
            }
            stored.Clear();
        }
Esempio n. 22
0
        private async Task TransformToSDataPayload(Stream targetStream)
        {
            using (var oContentStream = await originalContent.ReadAsStreamAsync())
            {
                JsonReader reader = null;
                JsonWriter outStream = null;
                int level = -1;
                try
                {
                    reader = new JsonTextReader(new StreamReader(oContentStream));
                    outStream = new JsonTextWriter(new StreamWriter(targetStream));

                    int respContentType = GetContentType();
                    bool searchForCollection = respContentType == ContentOdataCollection
                                               || respContentType == ContentApiCollection;

                    while (reader.Read())
                    {
                        if (searchForCollection && level == 0 && reader.TokenType == JsonToken.PropertyName)
                        {
                            if ((string)reader.Value == ParamCollectionNameApi || (string)reader.Value == ParamCollectionNameOdata)
                            {
                                WritePagingProperties(outStream);
                                outStream.WritePropertyName(ParamCollectionNameSdata);
                            }
                            else if ((string)reader.Value == ParamTotalresultOdata)
                                outStream.WritePropertyName(ParamTotalresultSdata);
                            else
                                outStream.WriteToken(reader, false);
                        }
                        else if (reader.TokenType == JsonToken.PropertyName)
                            outStream.WritePropertyName(CallOptionalMaps((string)reader.Value));
                        else
                        {
                            if (reader.TokenType == JsonToken.StartObject)
                                level++;
                            else if (reader.TokenType == JsonToken.EndObject)
                                level--;
                            outStream.WriteToken(reader, false);
                        }
                    }
                    outStream.Flush();
                }
                catch (Exception e)
                {
                    // TODO can we get the user and tenant context from here?
                }
                finally
                {
                    if (reader != null)
                        reader.Close();
                    if (outStream != null)
                        outStream.Close();

                }
            }
        }
        public void NativePerfTest()
        {
            // Try to create instance
            var ser = new JsonSerializer();
            ser.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
            ser.Converters.Add(new StringEnumConverter());

            var config = new AutoConfigFileConfiguration();
            config.ApplicationName = "New App";
            config.DebugMode = DebugModes.DeveloperErrorMessage;

            string result = null;

            var sw = new Stopwatch();
            sw.Start();

            for (int i = 0; i < 10000; i++)
            {
                var writer = new StringWriter();
                var jtw = new JsonTextWriter(writer);
                jtw.Formatting = Formatting.Indented;
                ser.Serialize(jtw, config);
                result = writer.ToString();
                jtw.Close();
            }

            sw.Stop();
            Console.WriteLine("Native Serialize: " + sw.ElapsedMilliseconds + "ms");
            Console.WriteLine(result);
        }
    public void CloseWithRemainingContent()
    {
      StringBuilder sb = new StringBuilder();
      StringWriter sw = new StringWriter(sb);

      using (JsonWriter jsonWriter = new JsonTextWriter(sw))
      {
        jsonWriter.Formatting = Formatting.Indented;

        jsonWriter.WriteStartObject();
        jsonWriter.WritePropertyName("CPU");
        jsonWriter.WriteValue("Intel");
        jsonWriter.WritePropertyName("PSU");
        jsonWriter.WriteValue("500W");
        jsonWriter.WritePropertyName("Drives");
        jsonWriter.WriteStartArray();
        jsonWriter.WriteValue("DVD read/writer");
        jsonWriter.WriteComment("(broken)");
        jsonWriter.WriteValue("500 gigabyte hard drive");
        jsonWriter.WriteValue("200 gigabype hard drive");
        jsonWriter.Close();
      }

      string expected = @"{
  ""CPU"": ""Intel"",
  ""PSU"": ""500W"",
  ""Drives"": [
    ""DVD read/writer""
    /*(broken)*/,
    ""500 gigabyte hard drive"",
    ""200 gigabype hard drive""
  ]
}";
      string result = sb.ToString();

      Assert.AreEqual(expected, result);
    }
Esempio n. 25
0
        public void QuoteDictionaryNames()
        {
            var d = new Dictionary<string, int>
            {
                { "a", 1 },
            };
            var jsonSerializerSettings = new JsonSerializerSettings
            {
                Formatting = Formatting.Indented,
            };
            var serializer = JsonSerializer.Create(jsonSerializerSettings);
            using (var stringWriter = new StringWriter())
            {
                using (var writer = new JsonTextWriter(stringWriter) { QuoteName = false })
                {
                    serializer.Serialize(writer, d);
                    writer.Close();
                }

                StringAssert.AreEqual(@"{
  a: 1
}", stringWriter.ToString());
            }
        }
Esempio n. 26
0
        private static string jsonWriterToString(Action<JsonWriter> serializer)
        {
            StringBuilder resultBuilder = new StringBuilder();
            StringWriter sw = new StringWriter(resultBuilder);
            JsonWriter jw = new JsonTextWriter(sw);

            serializer(jw);
            jw.Flush();
            jw.Close();

            return resultBuilder.ToString();
        }
Esempio n. 27
0
        void TrStmtList(List<Statement/*!*/>/*!*/ stmts)
        {
            Contract.Requires(cce.NonNullElements(stmts));
              List<LocalVariable> AllDecls = new List<LocalVariable>();

              using (WriteArray()) {
            j.WriteValue(KremlinAst.ESequence);
            using (WriteArray()) {
              WriteEUnit(); // in case the statement list is empty
              foreach (Statement ss in stmts) {
            // JsonTextWriter is forward-only, but after calling TrStmt() we may need
            // to go back and inject new ELet statements to introduce temp variables.
            // So call TrStmt() once to generate code to a throw-away MemoryStream,
            // but remember what temps need to be introduced.  Then introduce them
            // and call TrStmt() once more, to generate the actual Json.
            JsonTextWriter oldj = j;
            VariableTracker oldtracker = VarTracker.Clone();

            StringBuilder sb = new StringBuilder();
            StringWriter sw = new StringWriter(sb);
            JsonTextWriter newj = new JsonTextWriter(sw);
            newj.Formatting = oldj.Formatting;
            newj.Indentation = oldj.Indentation;
            j = newj;

            var oldVarDeclsList = varDeclsList;
            varDeclsList = new List<LocalVariable>();

            TrStmt(ss);

            j = oldj;
            VarTracker = oldtracker;
            var decls = varDeclsList; // Grab the set of just-declared variables generated by the first TrStmt() pass
            varDeclsList = null;      // Switch modes for next TrStmt() pass
            AllDecls.AddRange(decls); // Accumulate the set of all variables this stmt list has generated
            foreach (var l in decls) {
              // ELet v in { Stmt
              j.WriteStartArray();
              j.WriteValue(KremlinAst.ELet);
              j.WriteStartArray();
              WriteBinder(l, l.Name, true); // lident
              WriteDefaultValue(l.Type);    // = default
              VarTracker.Push(l);
              // "in" is the contents that follow
              j.WriteStartArray();
              j.WriteValue(KremlinAst.ESequence);
              j.WriteStartArray();
              WriteEUnit();
            }

            newj.Close();
            string RawJson = sb.ToString();
            if (RawJson != "") {
              j.WriteRaw(",");
              j.WriteWhitespace("\n");
              j.WriteRaw(RawJson); // Now paste the JSON
            }

            if (ss.Labels != null) {
              // bugbug: these appear to be used to support "Break" statements.
              j.WriteComment("Labels are unsupported: " + ss.Labels.Data.AssignUniqueId("after_", idGenerator));
            }

            varDeclsList = oldVarDeclsList;
              }

              // Now that all statements in the list have been generated, close out the nested ELets generated above
              AllDecls.Reverse();
              foreach (var l in AllDecls) {
            VarTracker.Pop(l);
            j.WriteEndArray(); // Closing out the expr list in the ESequence
            j.WriteEndArray(); // Closing out the array aboce ESequence
            j.WriteEndArray(); // Closing out the list of binder * expr * expr
            j.WriteEndArray(); // Closing out the array above ELet
              }
            }
              }
        }
Esempio n. 28
0
        public void Compile(Program program, TextWriter wr)
        {
            Contract.Requires(program != null);

              // program.Name is the source filename without any path.  Remove the extension
              // and use it as the name of the default module.  In C#, this would have been
              // "_module".  See WriteLident() for the renaming process.
              DafnyDefaultModuleName = System.IO.Path.GetFileNameWithoutExtension(program.Name).Replace('.', '_');

              // Kremlin's JSON input is all JSON arrays, not serialized objects in the usual way.
              //  [6, [
              //      ["FStar_Mul", []],
              //      ["FStar_UInt", [
              //          ["DFunction", [
              //              ["TUnit"], "FStar_UInt_lognot_lemma_2", [{
              //                  "name": "n",
              //                  "typ": ["TQualified", [
              //                      ["Prims"], "pos"
              //                  ]],
              //                 "mut": false,
              //                  "mark": 0
              //              }],
              //              ["EUnit"]
              //          ]]
              //      ]], ...

              j = new JsonTextWriter(wr);
              j.Formatting = Formatting.Indented;
              j.Indentation = 1;
              using (WriteArray()) { // Entire contents is an array - type binary_format
            j.WriteRawValue(KremlinAst.Version); // binary_format = version * file list
            using (WriteArray()) { // start of file list

              // bugbug: generate builtins as needed
              //CompileBuiltIns(program.BuiltIns);

              // Compile modules in order by height (program.Modules is sorted this way but in
              // reverse order). Compile SystemModule last, as it has height -1 and is not in
              // the .Modules list.
              List<ModuleDefinition> sortedModules = new List<ModuleDefinition>(program.Modules());
              sortedModules.Reverse();

              int previousHeight = sortedModules[0].Height+1;
              foreach (ModuleDefinition m in sortedModules) {
            Contract.Assert(m.Height < previousHeight); // .Modules is sorted
            CompileModule(m, wr);
            previousHeight = m.Height;
              }
              CompileModule(program.BuiltIns.SystemModule, wr);

            } // End of file list
              } // End of entire contents
              j.Close();
        }
Esempio n. 29
0
        private string FormJsonObjectString(IDataObject dataObject)
        {
            string objectType = ((GenericDataObject)dataObject).ObjectType;
            DataObject objDef = _dataDictionary.dataObjects.Find(p => p.objectName.ToUpper() == objectType.ToUpper());

            StringBuilder sb = new StringBuilder();
            StringWriter sw = new StringWriter(sb);
            if (objDef != null)
            {

                JsonWriter jsonWriter = new JsonTextWriter(sw);
                jsonWriter.Formatting = Formatting.Indented;
                jsonWriter.WriteStartObject();

                foreach (var entry in ((GenericDataObject)dataObject).Dictionary)
                {
                    jsonWriter.WritePropertyName(entry.Key);
                    jsonWriter.WriteValue(entry.Value);
                }
                jsonWriter.WriteEndObject();
                jsonWriter.Close();
                sw.Close();
            }
            return sw.ToString();
        }
Esempio n. 30
0
        public static void Main(string[] args)
        {
            if (args.Length < 2)
            {
                Console.WriteLine(Usage);
                return;
            }

            var commandLineInfo = new CommandLineInfo(args);
            if (!commandLineInfo.Initialize())
            {
                return;
            }

            var streamWriter = new StreamWriter(commandLineInfo.Output);
            var jsonWriter = new JsonTextWriter(streamWriter);

            Stopwatch watch = new Stopwatch();
            watch.Start();

            foreach (var file in commandLineInfo.Inputs)
            {
                Console.WriteLine("Input: " + file);
            }

            Console.WriteLine("Output: " + commandLineInfo.Output);

            bool success = ConvertToJson(jsonWriter, commandLineInfo.Inputs, Console.WriteLine);

            jsonWriter.Close();
            streamWriter.Close();

            if (!success)
            {
                Console.WriteLine("Error encountered.");
            }
            else
            {
                Console.WriteLine("Finished processing in " + watch.ElapsedMilliseconds + " milliseconds");
            }
        }
Esempio n. 31
0
        /// <summary>
        /// Serialize the HomeDocument model as text to a Stream
        /// </summary>
        /// <remarks>
        /// The stream will be closed when the method returns.
        /// </remarks>
        /// <param name="stream"></param>
        public void Save(Stream stream)
        {
            var sb = new StringBuilder();
            var sw = new StringWriter(sb);
            JsonWriter jsonWriter = new JsonTextWriter(sw);

            jsonWriter.Formatting = Formatting.Indented;
            jsonWriter.WriteStartObject();
                jsonWriter.WritePropertyName("resources");

            jsonWriter.WriteStartObject();
            foreach (var resource in _Resources.Values)
            {
                    jsonWriter.WritePropertyName(resource.Relation);
                    jsonWriter.WriteStartObject();
                    var parameters = resource.GetParameterNames().ToList();
                    var setParameters = resource.GetParameters().ToDictionary(k=> k.Name,v=> v); // These are params that actually have values set
                    if (parameters.Any())
                    {
                        jsonWriter.WritePropertyName("href-template");
                        jsonWriter.WriteValue(resource.Target);
                        
                        jsonWriter.WritePropertyName("href-vars");
                        jsonWriter.WriteStartObject();
                        foreach (var linkParameterName in parameters)
                        {
                            
                            jsonWriter.WritePropertyName(linkParameterName);
                            LinkParameter linkParameter;
                            if (setParameters.TryGetValue(linkParameterName, out linkParameter))
                            {
                                jsonWriter.WriteValue(linkParameter.Identifier);
                            }
                            else
                            {
                                jsonWriter.WriteValue((object)null);
                            }
                        }
                        jsonWriter.WriteEndObject();
                    }
                    else
                    {
                        jsonWriter.WritePropertyName("href");
                        jsonWriter.WriteValue(resource.Target);
                    }

                var hints = resource.GetHints();
                if (hints != null && hints.Any())
                {
                    jsonWriter.WritePropertyName("hints");
                    jsonWriter.WriteStartObject();

                    foreach (var hint in resource.GetHints())
                    {
                        jsonWriter.WritePropertyName(hint.Name);
                        if (hint.Content != null)
                        {
                            hint.Content.WriteTo(jsonWriter);
                        }
                    }
                    jsonWriter.WriteEndObject();
                }
                jsonWriter.WriteEndObject();
            

            }
            jsonWriter.WriteEndObject();    
            jsonWriter.WriteEndObject();

            var stw = new StreamWriter(stream);
            stw.Write(sb.ToString());
            stw.Flush();
            jsonWriter.Close();

        }
Esempio n. 32
0
 public void Serialise(Stream stream, ServiceEventMessage message)
 {
     JsonTextWriter jsonTextWriter = new JsonTextWriter(new StreamWriter(stream));
     _Serialiser.Serialize(jsonTextWriter, message);
     jsonTextWriter.Flush();
     jsonTextWriter.Close();
 }
Esempio n. 33
0
 public void SaveToFile(object list, string location)
 {
     if (File.Exists(@location))
         File.Delete(@location);
     var fs = File.Open(@location, FileMode.Create);
     var sw = new StreamWriter(fs);
     JsonWriter jw = new JsonTextWriter(sw);
     {
         jw.Formatting = Formatting.Indented;
         var serializer = new JsonSerializer();
         serializer.Serialize(jw, list);
     }
     jw.Close();
     sw.Close();
     fs.Close();
 }