Exemple #1
0
        private PlantUmlComponent FindComponentMatching(PlantUmlComponents plantUmlComponents, string originOrTargetString)
        {
            originOrTargetString = Regex.Replace(originOrTargetString.Trim(), @"^\[", "");
            originOrTargetString = Regex.Replace(originOrTargetString, "]$", "");

            return(plantUmlComponents.FindComponentWith(originOrTargetString));
        }
Exemple #2
0
        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());
        }
Exemple #3
0
        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;
 }
Exemple #5
0
 public PlantUmlDiagram(PlantUmlComponents plantUmlComponents)
 {
     _plantUmlComponents = plantUmlComponents ?? throw new ArgumentNullException(nameof(plantUmlComponents));
 }