Exemple #1
0
        private static void ParseTreeStructure(ICollection<ConfigurationPair> queue, IAppConfig appConfig)
        {
            foreach (var item in queue)
            {
                var elementName = item.ElementName;

                if (string.IsNullOrWhiteSpace(elementName))
                {
                    break;
                }

                foreach (var attributes in item.Attributes)
                {
                    if (elementName.Equals(ConfigurationStaticData.DefinitionTagName))
                    {
                        appConfig.Definitions.Add(
                            new Definition { Name = attributes[ConfigurationStaticData.NameStructureAttributeName] });
                    }
                    else if (elementName.Equals(ConfigurationStaticData.VertexTagName))
                    {
                        var definition = appConfig.Definitions.Last();

                        var vertexConfig = new VertexConfig
                                               {
                                                   Entity =
                                                       attributes[ConfigurationStaticData.EntityAttributeName], 
                                                   LabelAttributeName =
                                                       attributes[ConfigurationStaticData.LabelAttributeName]
                                               };

                        definition.Vertex = vertexConfig;
                    }
                    else if (elementName.Equals(ConfigurationStaticData.EdgeTagName))
                    {
                        var definition = appConfig.Definitions.Last();

                        var edgeConfig = new EdgeConfig
                                             {
                                                 Entity =
                                                     attributes[ConfigurationStaticData.EntityAttributeName], 
                                                 LabelAttributeName =
                                                     attributes[ConfigurationStaticData.LabelAttributeName], 
                                                 SourceVertexAttributeName =
                                                     attributes[ConfigurationStaticData.SourceVertexAttributeName], 
                                                 TargetVertexAttributeName =
                                                     attributes[ConfigurationStaticData.TargetVertexAttributeName]
                                             };

                        definition.Edge = edgeConfig;
                    }
                }
            }

            queue.Clear();
        }
        public void Add( VertexConfig conf, int x, int y )
        {
            while ( !this.isUniqueHandler( ++counter ) );

            this.theList.Add( new Vertex( counter, conf, x, y ) );
        }