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 ) ); }