private PlantUmlComponent FindComponentMatching(PlantUmlComponents plantUmlComponents, string originOrTargetString) { originOrTargetString = Regex.Replace(originOrTargetString.Trim(), @"^\[", ""); originOrTargetString = Regex.Replace(originOrTargetString, "]$", ""); return(plantUmlComponents.FindComponentWith(originOrTargetString)); }
private PlantUmlDiagram CreateDiagram(IEnumerable <string> rawDiagramLines) { IEnumerable <string> diagramLines = FilterOutComments(rawDiagramLines); ISet <PlantUmlComponent> components = ParseComponents(diagramLines); var plantUmlComponents = new PlantUmlComponents(components); IEnumerable <ParsedDependency> dependencies = ParseDependencies(plantUmlComponents, diagramLines); return(new PlantUmlDiagramBuilder(plantUmlComponents).WithDependencies(dependencies).Build()); }
private IEnumerable <ParsedDependency> ParseDependencies(PlantUmlComponents plantUmlComponents, IEnumerable <string> plantUmlDiagramLines) { var result = new List <ParsedDependency>(); foreach (PlantUmlDependencyMatcher matcher in _plantUmlPatterns.MatchDependencies(plantUmlDiagramLines)) { PlantUmlComponent origin = FindComponentMatching(plantUmlComponents, matcher.MatchOrigin); PlantUmlComponent target = FindComponentMatching(plantUmlComponents, matcher.MatchTarget); result.Add(new ParsedDependency(origin.Identifier, target.Identifier)); } return(result); }
public PlantUmlDiagramBuilder(PlantUmlComponents plantUmlComponents) { _plantUmlComponents = plantUmlComponents; }
public PlantUmlDiagram(PlantUmlComponents plantUmlComponents) { _plantUmlComponents = plantUmlComponents ?? throw new ArgumentNullException(nameof(plantUmlComponents)); }