Example #1
0
        public void FillTable(DataTable table, IEnumerable <Column> columns, int rowCount,
                              bool append)
        {
            var rowdata = new Dictionary <string, IList <object> >(table.Columns.Count);

            foreach (var column in columns)
            {
                var generator = DataTypeGenerator.GetGenerator(column);
                var data      = generator.Generate(rowCount);
                rowdata.Add(column.Name, data);
            }

            if (!append)
            {
                table.Rows.Clear();
            }

            for (var i = 0; i < rowCount; i++)
            {
                var row = table.NewRow();

                for (var j = 0; j < table.Columns.Count; j++)
                {
                    var columnName = table.Columns[j].ColumnName;
                    row[columnName] = rowdata[columnName][i];
                }

                table.Rows.Add(row);
            }
        }
Example #2
0
        public void Execute()
        {
            if (!string.IsNullOrEmpty(ConnectionString))
            {
                ConfigurationSettings.ConnectionString = ConnectionString;
            }

            Console.WriteLine("Using Database:{0}", NormativeDatabase.Instance.Connection.ConnectionString);
            Console.WriteLine("Base Path:{0}", BasePath);

            switch (MessageTypeToBuild)
            {
            case MessageType.All:
                SourceGenerator.MakeAll(BasePath, Version);
                break;

            case MessageType.EventMapping:
                SourceGenerator.MakeEventMapping(BasePath, Version);
                break;

            case MessageType.Segment:
                SegmentGenerator.MakeAll(BasePath, Version);
                break;

            case MessageType.Message:
                MessageGenerator.MakeAll(BasePath, Version);
                break;

            case MessageType.DataType:
                DataTypeGenerator.MakeAll(BasePath, Version);
                break;
            }
        }
Example #3
0
 public Form1()
 {
     InitializeComponent();
     _generatorSettings     = new GeneratorSettings();
     _dataTypeGenerator     = new DataTypeGenerator();
     _generateFieldControls = new List <GenerateFieldControl>();
 }
Example #4
0
        public void makeAll_CompositeTypeHDCreated_TypeDefinitionGiven()
        {
            // Arrange
            var baseFolder   = GetBaseFolder();
            var version      = GetVersion();
            var source       = new DataTypeProviderMock();
            var targetFolder = GetTargetFolder("Datatype");

            var components = new TypeComponentsMock();

            components.Add("IS", "Namespace ID", 300);
            components.Add("ST", "Universal ID", 0);
            components.Add("ID", "Universal ID Type", 301);

            components.Description = "Hierarchic Designator";
            source.Types["HD"]     = components;

            DataProviderFactory.Instance.SetProvider(source);

            // Act
            DataTypeGenerator.makeAll(baseFolder, version);

            // Assert
            Assert.IsTrue(File.Exists($"{targetFolder}HD.cs"));
        }
Example #5
0
        public void makeAll_PrimitiveTypesCreated_TypeDefinitionsGiven()
        {
            // Arrange
            var baseFolder   = GetBaseFolder();
            var version      = GetVersion();
            var source       = new DataTypeProviderMock();
            var targetFolder = GetTargetFolder("Datatype");

            // Primitive types that are generated: FT, ST, TX, NM, SI, TN, GTS
            // Primitieve types that must be coded manually: IS, ID, DT, DTM, and TM
            AddPrimitiveComponent(source, "FT", "Formatted Text Data");
            AddPrimitiveComponent(source, "ST", "Structured Text");
            AddPrimitiveComponent(source, "TX", "Text Data");
            AddPrimitiveComponent(source, "NM", "Numeric");
            AddPrimitiveComponent(source, "SI", "Sequence ID");
            //AddPrimitiveComponent(source, "TN", "Telephone Number"); // HL7 version 2.3.1
            AddPrimitiveComponent(source, "GTS", "General Timing Specification");
            AddPrimitiveComponent(source, "IS", "??");
            AddPrimitiveComponent(source, "ID", "??");
            DataProviderFactory.Instance.SetProvider(source);

            // Act
            DataTypeGenerator.makeAll(baseFolder, version);

            // Assert
            Assert.IsTrue(File.Exists($"{targetFolder}FT.cs"));
            Assert.IsTrue(File.Exists($"{targetFolder}ST.cs"));
            Assert.IsTrue(File.Exists($"{targetFolder}TX.cs"));
            Assert.IsTrue(File.Exists($"{targetFolder}NM.cs"));
            Assert.IsTrue(File.Exists($"{targetFolder}SI.cs"));
            Assert.IsFalse(File.Exists($"{targetFolder}IS.cs"));
            Assert.IsFalse(File.Exists($"{targetFolder}ID.cs"));
        }
Example #6
0
 /// <summary>
 /// Place below line to Program.cs
 /// Inventory.ItemPalettes.ItemPaletteGenerator.GenerateItemType(@"your\path\to\registries.json");
 /// See https://wiki.vg/Data_Generators for getting those .json
 /// </summary>
 /// <param name="registriesJsonFile"></param>
 public static void GenerateItemType(string registriesJsonFile)
 {
     DataTypeGenerator.GenerateEnumWithPalette(
         registriesJsonFile,
         "minecraft:item",
         "ItemType",
         "MinecraftClient.Inventory",
         "ItemPalette",
         "MinecraftClient.Inventory.ItemPalettes");
 }
Example #7
0
        public void makeAll_DataTypesCreated_DefinitionGiven()
        {
            // Arrange
            var baseFolder = GetBaseFolder();
            var version    = GetVersion();

            ConfigurationSettings.XmlFilename = "Mocks\\reverse-nHapi.xml";
            var messageTargetFolder = GetTargetFolder("Message");
            var groupTargetFolder   = GetTargetFolder("Group");

            // Act
            DataTypeGenerator.makeAll(baseFolder, version);

            // Assert
            // TODO
        }
        public async Task MakeAll_GeneratesAllDataTypes(string version)
        {
            // Arrange
            var results = new ConcurrentDictionary <string, string>();

            FileAbstraction.UsingImplementation((filePath, bytes) =>
            {
                results.TryAdd(filePath, Encoding.UTF8.GetString(bytes));
            });

            ConfigurationSettings.ConnectionString = this.Configuration.GetConnectionString("Hl7Database");

            // Act
            DataTypeGenerator.MakeAll("basepath", version);

            // Assert
            Assert.IsNotEmpty(results);

            await Verifier.Verify(results)
            .UseTextForParameters(version.Replace(".", string.Empty));
        }
Example #9
0
 /// <summary>
 /// Generate ItemType.cs from Minecraft registries.json
 /// </summary>
 /// <param name="registriesJsonFile">path to registries.json</param>
 /// <remarks>java -cp minecraft_server.jar net.minecraft.data.Main --reports</remarks>
 public static void GenerateItemTypes(string registriesJsonFile)
 {
     DataTypeGenerator.GenerateEnum(registriesJsonFile, "minecraft:item", "ItemType", "MinecraftClient.Inventory");
 }
Example #10
0
 /// <summary>
 /// Generate EntityType.cs from Minecraft registries.json
 /// </summary>
 /// <param name="registriesJsonFile">path to registries.json</param>
 /// <remarks>java -cp minecraft_server.jar net.minecraft.data.Main --reports</remarks>
 public static void GenerateEntityTypes(string registriesJsonFile)
 {
     DataTypeGenerator.GenerateEnumWithPalette(registriesJsonFile, "minecraft:entity_type", "EntityType", "MinecraftClient.Mapping", "EntityPalette", "MinecraftClient.Mapping.EntityPalettes");
 }