Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 public void Remove(ZeusModule module)
 {
     if (_hash.ContainsValue(module))
     {
         _hash.Remove(module.Name);
     }
 }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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;
            }
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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));
                }
            }
        }
Ejemplo n.º 7
0
        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);
            }
        }
Ejemplo n.º 8
0
		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();
                }
            }
        }
Ejemplo n.º 10
0
 public void Add(ZeusModule module)
 {
     module.SetParentModule(this._parentModule);
     this._hash[module.Name] = module;
 }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
        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;
        }
Ejemplo n.º 13
0
        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;
        }
Ejemplo n.º 14
0
		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;
        }
Ejemplo n.º 15
0
		internal void SetParentModule(ZeusModule module) 
		{
			_parentModule = module;
		}
Ejemplo n.º 16
0
		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;
		}
Ejemplo n.º 17
0
        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));
                }
            }
        }
Ejemplo n.º 18
0
        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);
        }
Ejemplo n.º 19
0
 internal void SetParentModule(ZeusModule module)
 {
     _parentModule = module;
 }
Ejemplo n.º 20
0
        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;
        }
Ejemplo n.º 21
0
        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;
            }
        }
Ejemplo n.º 22
0
        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);
        }
Ejemplo n.º 23
0
 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);
         }
     }
 }
Ejemplo n.º 24
0
 public ZeusModuleCollection(ZeusModule parentModule)
 {
     _parentModule = parentModule;
 }
		public ZeusModuleCollection(ZeusModule parentModule) 
		{
			_parentModule = parentModule;
		}
		public void Add(ZeusModule module) 
		{
			module.SetParentModule(this._parentModule);
			this._hash[module.Name] = module;
		}
		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));
            }
        }
Ejemplo n.º 29
0
 private static void FillZeusInputRecursive(ZeusModule module, IZeusInput input)
 {
     FillZeusInputRecursive(module, input, 0);
 }
Ejemplo n.º 30
0
		public ModuleTreeNode(ZeusModule module) 
		{
			this.Tag = module;

			this.Text = module.Name;
			this.ImageIndex = 0;
			this.SelectedImageIndex = 0;
		}
Ejemplo n.º 31
0
 private static void FillZeusInputRecursive(ZeusModule module, IZeusInput input)
 {
     FillZeusInputRecursive(module, input, 0);
 }