public IPlantUmlRenderer CreateRenderer(PlantUmlSettings settings) { UrlFormatMap urlFormatMap = new UrlFormatMap(settings.RemoteUrl); RenderUrlCalculator renderUrlCalculator = new RenderUrlCalculator(urlFormatMap); switch (settings.RenderingMode) { case RenderingMode.Remote: return(new RemotePlantUmlRenderer(renderUrlCalculator)); case RenderingMode.Local: JarRunner jarRunner = CreateJarRunner(settings); LocalCommandProvider commandProvider = new LocalCommandProvider(settings.LocalGraphvizDotPath); return(new LocalPlantUmlRenderer(jarRunner, commandProvider, renderUrlCalculator)); default: throw new ArgumentException("invalid rendering mode", nameof(settings.RenderingMode)); } }
public LocalPlantUmlRenderer(JarRunner jarRunner, LocalCommandProvider commandProvider, RenderUrlCalculator renderUrlCalculator) { this.jarRunner = jarRunner; this.commandProvider = commandProvider; this.renderUrlCalculator = renderUrlCalculator; }