public bool PopulateZeusContext(IZeusContext context) { bool hasChanges = false; ZeusModule m = this; while (m != null) { if ((m.SavedItems.Count > 0) || (m.UserSavedItems.Count > 0)) { hasChanges = true; break; } if (m.IsParentModule) { break; } else { m = m.ParentModule; } } FillZeusInputRecursive(this, context.Input); return(hasChanges); }
public void Remove(ZeusModule module) { if (_hash.ContainsValue(module)) { _hash.Remove(module.Name); } }
private static void FillZeusInputRecursive(ZeusModule module, IZeusInput input, int depth) { if (!module.IsParentModule) { FillZeusInputRecursive(module.ParentModule, input, (depth + 1)); } foreach (InputItem item in module.SavedItems) { input[item.VariableName] = item.DataObject; } if (depth == 0) { if (module.RootProject.DefaultSettingsOverride) { Dictionary <string, string> ds = module.RootProject.GetDefaultSettings(); foreach (string key in ds.Keys) { input[key] = ds[key]; } } FillZeusInputWithUserOverridesRecursive(module, input); } }
private static void FillZeusInputWithUserOverridesRecursive(ZeusModule module, IZeusInput input) { if (!module.IsParentModule) { FillZeusInputWithUserOverridesRecursive(module.ParentModule, input); } foreach (InputItem item in module.UserSavedItems) { input[item.VariableName] = item.DataObject; } }
private static void FillZeusInputRuntimeRecursive(ZeusModule module, IZeusInput input) { if (module.RootProject.DefaultSettingsOverride) { Dictionary <string, string> ds = module.RootProject.GetDefaultSettings(); foreach (string key in ds.Keys) { input[key] = ds[key]; } } FillZeusInputWithUserOverridesRecursive(module, input); }
private static void OverrideSavedData(ZeusModule module, InputItemCollection items) { if (!module.IsParentModule) { OverrideSavedData(module.ParentModule, items); } foreach (InputItem item in module.UserSavedItems) { if (items.Contains(item.VariableName)) { items[item.VariableName].DataObject = item.DataObject; } else { items.Add(new InputItem(item.VariableName, item.DataObject)); } } }
private static void FillZeusInputRecursive(ZeusModule module, IZeusInput input, int depth) { if (!module.IsParentModule) { FillZeusInputRecursive(module.ParentModule, input, (depth + 1)); } foreach (InputItem item in module.SavedItems) { input[item.VariableName] = item.DataObject; } if (depth == 0) { if (module.RootProject.DefaultSettingsOverride) { Dictionary<string, string> ds = module.RootProject.GetDefaultSettings(); foreach (string key in ds.Keys) { input[key] = ds[key]; } } FillZeusInputWithUserOverridesRecursive(module, input); } }
private void LoadModule(SortedProjectTreeNode parentNode, ZeusModule parentModule) { SortedProjectTreeNode node; if ((parentNode == null) && (parentModule is ZeusProject)) { rootNode = new ProjectTreeNode(parentModule as ZeusProject); node = rootNode; } else { node = new ModuleTreeNode(parentModule); parentNode.AddSorted(node); } foreach (ZeusModule module in parentModule.ChildModules) { LoadModule(node, module); } foreach (SavedTemplateInput input in parentModule.SavedObjects) { node.AddSorted( new SavedObjectTreeNode(input) ); } }
private void contextItemAddModule_Click(object sender, System.EventArgs e) { SortedProjectTreeNode node = this.treeViewProject.SelectedNode as SortedProjectTreeNode; if ((node is ModuleTreeNode) || (node is ProjectTreeNode)) { ZeusModule module = node.Tag as ZeusModule; ZeusModule newmodule = new ZeusModule(); this._formEditModule.Module = newmodule; if (this._formEditModule.ShowDialog() == DialogResult.OK) { this._isDirty = true; module.ChildModules.Add(newmodule); ModuleTreeNode newNode = new ModuleTreeNode(newmodule); node.AddSorted(newNode); node.Expand(); } } }
public void Add(ZeusModule module) { module.SetParentModule(this._parentModule); this._hash[module.Name] = module; }
private static void FillZeusInputRuntimeRecursive(ZeusModule module, IZeusInput input) { if (module.RootProject.DefaultSettingsOverride) { Dictionary<string, string> ds = module.RootProject.GetDefaultSettings(); foreach (string key in ds.Keys) { input[key] = ds[key]; } } FillZeusInputWithUserOverridesRecursive(module, input); }
private bool CollectProjectItem(ZeusModule parent, string projectPath, string templatePath) { bool complete = false; int moduleIndex = projectPath.LastIndexOf('/'); if (moduleIndex >= 0) { string modulePath = projectPath.Substring(0, moduleIndex), objectName = projectPath.Substring(moduleIndex + 1); ZeusModule m = FindModule(parent, modulePath); if (m != null) { ZeusTemplate template = new ZeusTemplate(templatePath); DefaultSettings settings = DefaultSettings.Instance; SavedTemplateInput savedInput = null; if (m.SavedObjects.Contains(objectName)) { savedInput = m.SavedObjects[objectName]; } else { savedInput = new SavedTemplateInput(); savedInput.SavedObjectName = objectName; } ZeusContext context = new ZeusContext(); context.Log = this._log; savedInput.TemplateUniqueID = template.UniqueID; savedInput.TemplatePath = template.FilePath + template.FileName; settings.PopulateZeusContext(context); if (m != null) { m.PopulateZeusContext(context); m.OverrideSavedData(savedInput.InputItems); } if (template.Collect(context, settings.ScriptTimeout, savedInput.InputItems)) { //this._lastRecordedSelectedNode = this.SelectedTemplate; } if (this._argmgr.InternalUseOnly) { this._log.Write("[BEGIN_RECORDING]"); this._log.Write(savedInput.XML); this._log.Write("[END_RECORDING]"); } complete = true; } } return complete; }
private bool ExecuteProjectItem(ZeusModule parent, string projectPath) { bool complete = false; int moduleIndex = projectPath.LastIndexOf('/'); if (moduleIndex >= 0) { string modulePath = projectPath.Substring(0, moduleIndex), objectName = projectPath.Substring(moduleIndex + 1); ZeusModule m = FindModule(parent, modulePath); if (m != null) { if (m.SavedObjects.Contains(objectName)) { m.SavedObjects[objectName].Execute(this._argmgr.Timeout, this._log); if (this._argmgr.InternalUseOnly) { foreach (string file in m.SavedObjects[objectName].SavedFiles) { this._log.Write("[GENERATED_FILE]" + file); } } } complete = true; } } return complete; }
private bool ExecuteModule(ZeusModule parent, string projectPath) { bool complete = false; ZeusModule m = FindModule(parent, projectPath); if (m != null) { complete = true; m.Execute(this._argmgr.Timeout, this._log); if (this._argmgr.InternalUseOnly) { foreach (string file in m.SavedFiles) { this._log.Write("[GENERATED_FILE]" + file); } } } return complete; }
internal void SetParentModule(ZeusModule module) { _parentModule = module; }
public string ReadXML(XmlTextReader xr) { string tagName = string.Empty; bool inStartElement, inEmptyElement, skipread = false; this.Name = xr.GetAttribute("name"); this.Description = xr.GetAttribute("description"); string tmp = xr.GetAttribute("defaultSettingsOverride"); if (!string.IsNullOrEmpty(tmp)) { this.DefaultSettingsOverride = Convert.ToBoolean(tmp); } inEmptyElement = xr.IsEmptyElement; if (!inEmptyElement) { while ( (skipread) || (xr.Read()) ) { inStartElement = xr.IsStartElement(); inEmptyElement = xr.IsEmptyElement; if (skipread) { skipread = false; } else { tagName = xr.LocalName; } if (inStartElement) { // a module start if (tagName == "module") { ZeusModule module = new ZeusModule(); tagName = module.ReadXML(xr); skipread = true; module.SetParentModule(this); this.ChildModules.Add(module); } // a saved item start else if (tagName == "item") { InputItem item = new InputItem(); item.ReadXML(xr); this.SavedItems.Add(item); } // a saved object start else if (tagName == "obj") { SavedTemplateInput input = new SavedTemplateInput(); tagName = input.ReadXML(xr); skipread = true; this.SavedObjects.Add(input); } } else { // if not in a sub module and this is an end module tag, break! if (tagName == "module") { break; } } } } xr.Read(); inStartElement = xr.IsStartElement(); tagName = xr.LocalName; return tagName; }
public string ReadUserXML(XmlTextReader xr) { string tagName = string.Empty; bool inStartElement, inEmptyElement, skipread = false; inEmptyElement = xr.IsEmptyElement; if (!inEmptyElement) { while ((skipread) || (xr.Read())) { inStartElement = xr.IsStartElement(); inEmptyElement = xr.IsEmptyElement; if (skipread) { skipread = false; } else { tagName = xr.LocalName; } if (inStartElement) { // a module start if (tagName == "module") { string name = xr.GetAttribute("name"); if (this.ChildModules.Contains(name)) { ZeusModule module = this.ChildModules[name]; tagName = module.ReadUserXML(xr); skipread = true; } } // a saved item start else if (tagName == "item") { InputItem item = new InputItem(); item.ReadXML(xr); this.UserSavedItems.Add(item); } } else { // if not in a sub module and this is an end module tag, break! if (tagName == "module") { break; } } } } xr.Read(); inStartElement = xr.IsStartElement(); tagName = xr.LocalName; return(tagName); }
private ZeusModule FindModule(ZeusModule parent, string projectPath) { ZeusModule m = null; if (parent.ProjectPath.Equals(projectPath, StringComparison.CurrentCultureIgnoreCase)) { m = parent; } else { foreach (ZeusModule module in parent.ChildModules) { if (module.ProjectPath.Equals(projectPath, StringComparison.CurrentCultureIgnoreCase)) { m = module; break; } else { m = FindModule(module, projectPath); if (m != null) break; } } } return m; }
public string ReadXML(XmlTextReader xr) { string tagName = string.Empty; bool inStartElement, inEmptyElement, skipread = false; this.Name = xr.GetAttribute("name"); this.Description = xr.GetAttribute("description"); string tmp = xr.GetAttribute("defaultSettingsOverride"); if (!string.IsNullOrEmpty(tmp)) { this.DefaultSettingsOverride = Convert.ToBoolean(tmp); } inEmptyElement = xr.IsEmptyElement; if (!inEmptyElement) { while ((skipread) || (xr.Read())) { inStartElement = xr.IsStartElement(); inEmptyElement = xr.IsEmptyElement; if (skipread) { skipread = false; } else { tagName = xr.LocalName; } if (inStartElement) { // a module start if (tagName == "module") { ZeusModule module = new ZeusModule(); tagName = module.ReadXML(xr); skipread = true; module.SetParentModule(this); this.ChildModules.Add(module); } // a saved item start else if (tagName == "item") { InputItem item = new InputItem(); item.ReadXML(xr); this.SavedItems.Add(item); } // a saved object start else if (tagName == "obj") { SavedTemplateInput input = new SavedTemplateInput(); tagName = input.ReadXML(xr); skipread = true; this.SavedObjects.Add(input); } } else { // if not in a sub module and this is an end module tag, break! if (tagName == "module") { break; } } } } xr.Read(); inStartElement = xr.IsStartElement(); tagName = xr.LocalName; return(tagName); }
private void ExecuteModules(IZeusContext context, ZeusModule parent, List<string> names, int timeout) { foreach (ZeusModule module in parent.ChildModules) { if (names.Contains(module.Name)) { module.Execute(timeout, context.Log); } else { ExecuteModules(context, module, names, timeout); } } }
public ZeusModuleCollection(ZeusModule parentModule) { _parentModule = parentModule; }
public void Remove(ZeusModule module) { if (_hash.ContainsValue(module)) _hash.Remove(module.Name); }
private void LoadModule(SortedProjectTreeNode parentNode, ZeusModule childModule) { ModuleTreeNode childNode = new ModuleTreeNode(childModule); parentNode.AddSorted(childNode); foreach (ZeusModule grandchildModule in childModule.ChildModules) { LoadModule(childNode, grandchildModule); } foreach (SavedTemplateInput input in childModule.SavedObjects) { childNode.AddSorted(new SavedObjectTreeNode(input)); } }
private static void FillZeusInputRecursive(ZeusModule module, IZeusInput input) { FillZeusInputRecursive(module, input, 0); }
public ModuleTreeNode(ZeusModule module) { this.Tag = module; this.Text = module.Name; this.ImageIndex = 0; this.SelectedImageIndex = 0; }