public void Dispose() { ApplicationMacros.Clear(); GlobalMacros.Clear(); AutomationSequences.Clear(); ((IDisposable)WebClient).Dispose(); }
public bool ParseRootDocumentAsync() { if (RootDocument == null) { throw new NullReferenceException(); } if (AutomationRunnerSettings == null) { throw new NullReferenceException(); } Logging.AutomationRunner(LogOptions.MethodName, "Checking root document for to build automation sequences", LogLevel.Info); XmlNodeList sequencesXml = XmlUtils.GetXmlNodesFromXPath(RootDocument, "//root.xml/AutomationSequence"); if (sequencesXml == null || sequencesXml.Count == 0) { return(false); } AutomationSequences.Clear(); foreach (XmlElement result in sequencesXml) { string sequencePackageName = result.Attributes["packageName"].Value; string sequenceUID = result.Attributes["UID"].Value; string sequenceUrlPath = result.Attributes["path"].Value; string sequenceLoadString; if (AutomationRunnerSettings.UseLocalRunnerDatabase) { sequenceUrlPath = sequenceUrlPath.Replace('/', Path.DirectorySeparatorChar); sequenceLoadString = Path.Combine(AutomationRepoPathEscaped, sequenceUrlPath); } else { sequenceLoadString = AutomationRepoPathEscaped + sequenceUrlPath; } AutomationSequences.Add(new AutomationSequence(DatabasePackages, ApplicationMacros, GlobalMacros, AutomationRunnerSettings, DatabaseManager, CancellationToken) { AutomationSequencer = this, Package = null, PackageName = sequencePackageName, PackageUID = sequenceUID, SequenceDownloadUrl = sequenceLoadString }); } return(true); }