Exemplo n.º 1
0
        private static void LoadConfiguration()
        {
            var configurationProvider =
                new CodeGeneratorConfigurationFileProvider(HttpContext.Current.Server.MapPath("~/config/CodeGen.config"));

            configuration = configurationProvider.GetConfiguration();
        }
Exemplo n.º 2
0
        public static void SaveConfiguration(CodeGeneratorConfiguration newConfiguration)
        {
            var configurationProvider =
                new CodeGeneratorConfigurationFileProvider(HttpContext.Current.Server.MapPath("~/config/CodeGen.config"));

            configurationProvider.SaveConfiguration(newConfiguration);
            LoadConfiguration();
        }
        public void GetConfiguration_ReturnsConfigurationFromDisk()
        {
            var path     = Path.Combine(Environment.CurrentDirectory, @"..\..\config\codegen.config");
            var provider = new CodeGeneratorConfigurationFileProvider(path);
            var config   = provider.GetConfiguration();

            Assert.AreEqual("Umbraco.CodeGen.Generators.DefaultCodeGeneratorFactory, Umbraco.CodeGen", config.GeneratorFactory); // set
            Assert.AreEqual("Umbraco.CodeGen.Parsers.DefaultParserFactory, Umbraco.CodeGen", config.ParserFactory);              // default
            Assert.AreEqual("SomeBaseClass", config.DocumentTypes.BaseClass);
            Assert.AreEqual("String", config.DefaultTypeMapping);
            Assert.AreEqual("0cc0eba1-9960-42c9-bf9b-60e150b429ae", config.DefaultDefinitionId);
            Assert.AreEqual(true, config.DocumentTypes.GenerateClasses);
            Assert.AreEqual(true, config.DocumentTypes.GenerateXml);
            Assert.AreEqual("Models/DocumentTypes", config.DocumentTypes.ModelPath);
            Assert.AreEqual("MyWeb.Models", config.DocumentTypes.Namespace);
            Assert.AreEqual(false, config.OverwriteReadOnly);
            Assert.AreNotEqual(0, config.TypeMappings.Count);
            Assert.AreEqual("Int32", config.TypeMappings["1413afcb-d19a-4173-8e9a-68288d2a73b8"]);
        }
Exemplo n.º 4
0
        public void OnApplicationStarting(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
        {
            try
            {
                var uSyncConfigurationProvider = new USyncConfigurationProvider(HttpContext.Current.Server.MapPath("~/config/uSyncSettings.config"), new HttpContextPathResolver());
                var configurationProvider      = new CodeGeneratorConfigurationFileProvider(HttpContext.Current.Server.MapPath("~/config/CodeGen.config"));

                uSyncConfiguration = uSyncConfigurationProvider.GetConfiguration();

                dataTypesProvider = new USyncDataTypeProvider(uSyncConfiguration.USyncFolder);

                dataTypes     = dataTypesProvider.GetDataTypes();
                configuration = configurationProvider.GetConfiguration();

                generatorFactory = CreateFactory <CodeGeneratorFactory>(configuration.GeneratorFactory);
                parserFactory    = CreateFactory <ParserFactory>(configuration.ParserFactory);

                paths.Add("DocumentType", HttpContext.Current.Server.MapPath(configuration.DocumentTypes.ModelPath));
                paths.Add("MediaType", HttpContext.Current.Server.MapPath(configuration.MediaTypes.ModelPath));

                XmlDoc.Saved += OnDocumentTypeSaved;

                if (configuration.DocumentTypes.GenerateXml)
                {
                    globalStart = DateTime.Now;
                    LogHelper.Info <CodeGenerator>(() => "Parsing typed documenttype models");
                    GenerateXml(configuration.DocumentTypes);
                    LogHelper.Info <CodeGenerator>(() => String.Format("Parsing typed documenttype models done. Took {0:MM\\:ss}", DateTime.Now - globalStart));
                }
                if (configuration.MediaTypes.GenerateXml)
                {
                    globalStart = DateTime.Now;
                    LogHelper.Info <CodeGenerator>(() => "Parsing typed mediatype models");
                    GenerateXml(configuration.MediaTypes);
                    LogHelper.Info <CodeGenerator>(() => String.Format("Parsing typed mediatype models done. Took {0:MM\\:ss}", DateTime.Now - globalStart));
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error <CodeGenerator>("Parsing typed models failed", ex);
            }
        }
Exemplo n.º 5
0
        public void SaveConfiguration_WritesXml()
        {
            var path     = Path.Combine(Environment.CurrentDirectory, @"..\..\config\codegen.config");
            var provider = new CodeGeneratorConfigurationFileProvider(path);
            var config   = provider.GetConfiguration();
            var content  = "";

            using (var reader = File.OpenText(path))
            {
                content = reader.ReadToEnd();
            }

            var builder   = new StringBuilder();
            var writer    = new StringWriter(builder);
            var xmlWriter = XmlWriter.Create(writer, new XmlWriterSettings {
                OmitXmlDeclaration = true, Encoding = Encoding.UTF8, Indent = true
            });

            CodeGeneratorConfigurationProvider.SerializeConfiguration(config, xmlWriter);

            Console.WriteLine(builder.ToString());

            Assert.AreEqual(content, builder.ToString());
        }