Beispiel #1
0
        public PropertyFormattingRulesCollection ToModel()
        {
            var model = new PropertyFormattingRulesCollection();

            foreach (var propertyRuleDto in this)
            {
                model.AddPatternRule(propertyRuleDto.PropertyPattern, propertyRuleDto.Rules);
            }
            return(model);
        }
 /// <summary>
 /// Initializes an instance of the <see cref="JsonFormatter"/> Type
 /// </summary>
 /// <param name="propertyFormattingRulesCollection"></param>
 public JsonFormatter(PropertyFormattingRulesCollection propertyFormattingRulesCollection = null)
 {
     PropertyFormattingRulesCollection = propertyFormattingRulesCollection ?? new PropertyFormattingRulesCollection();
 }
 public Context(TextWriter writer, PropertyFormattingRulesCollection propertyFormattingRulesCollection)
 {
     _writer = writer;
     _propertyFormattingRulesCollection = propertyFormattingRulesCollection;
     _nesting.Add(new Nesting());
     ApplyRule();
 }
Beispiel #4
0
        private static int Main(string[] args)
        {
            var settings = new Settings();

            settings.Parse(args);

            if (settings.ShowHelp)
            {
                settings.WriteOptionDescriptions();
                return(0);
            }
            if (settings.ShowExampleRulesFile)
            {
                ShowExampleRulesFile();
                return(0);
            }

            TextReader reader = null;

            try
            {
                // read from file or console if file not specified
                reader = settings.InputFile == null ? Console.In : File.OpenText(settings.InputFile);
                var jsonIn = reader.ReadToEnd();

                // get input object
                var deserializedObject = JsonConvert.DeserializeObject <JToken>(jsonIn);

                // build the formatter
                PropertyFormattingRulesCollection rules = null;
                if (settings.RulesFile != null)
                {
                    var rulesDto = JsonConvert.DeserializeObject <PropertyRulesCollectionDto>(File.ReadAllText(settings.RulesFile));
                    rules = rulesDto.ToModel();
                }
                var formatter = new JsonFormatter(rules);

                // serialize the formatted json
                var jsonOut = formatter.Stringify(deserializedObject);

                // write to file or console if no file specified
                if (settings.OutputFile == null)
                {
                    Console.Out.WriteLine(jsonOut);
                }
                else
                {
                    File.WriteAllText(settings.OutputFile, jsonOut);
                }
            }
            catch (Exception ex)
            {
                // something nasty happened
                Console.Error.WriteLine("Abnormal program termination: exception encountered");
                Console.Error.WriteLine(ex);
                return(1);
            }
            finally
            {
                if (reader != null)
                {
                    reader.Dispose();
                }
            }

            // all good
            return(0);
        }