Exemplo n.º 1
0
 public static Dictionary<string, string> GetParameters(SingleWorkflowStep step)
 {
     var pars = new Dictionary<string, string>();
     foreach (var item in step.WorkflowSteps)
     {
         var param = item as ParamStep;
         if (param!=null)
         {
             var realValue = _setupFile.GetKey(param.Value);
             pars.Add(param.Name.ToLowerInvariant(), realValue);
         }
     }
     return pars;
 }
Exemplo n.º 2
0
        private static void LoadRelativeXmlTemplate(SingleWorkflowStep root, XmlDocument xmlDoc)
        {
            var rootNode = xmlDoc.GetElementsByTagName("root")[0];

            var rootDll = rootNode.GetChildrenByTag("dlls");
            if (rootDll.Count == 1)
            {
                var rootDlls = rootNode.GetChildrenByTag("dlls")[0];
                ExtractDlls(rootDlls);
            }

            var rootConfig = rootNode.GetChildrenByTag("configs");
            if (rootConfig.Count == 1)
            {
                var rootConfigs = rootNode.GetChildrenByTag("configs")[0];
                ExtractConfigs(rootConfigs);
            }

            var rootTemplates = rootNode.GetChildrenByTag("templates");
            if(rootTemplates.Count ==1)
            {
                var rootTemplate = rootTemplates[0];
                ExtractTemplates(rootTemplate);
            }
            var baseTemplates = rootNode.GetChildrenByTag("baseTemplates");
            if (baseTemplates.Count == 1)
            {
                var baseTemplate = rootNode.GetChildrenByTag("baseTemplates")[0];
                ExtractBaseTemplates(baseTemplate);
            }

            var workflows = rootNode.GetChildrenByTag("workflow");
            if (workflows.Count == 1)
            {
                var workflow = workflows[0];
                ExtractWrokflow(workflow, root);
            }
        }
Exemplo n.º 3
0
 private static void LoadExternalWorkflowSteps(string path, SingleWorkflowStep root, string assemblyPath)
 {
     string externalSteps;
     if (path.StartsWith("res:"))
     {
         externalSteps = LoadAssemblyResource(path, assemblyPath);
     }
     else
     {
         _templatesDirectories.Add(path);
         externalSteps = File.ReadAllText(path);
     }
     var xmlDoc = new XmlDocument(); //* create an xml document object.
     xmlDoc.LoadXml(externalSteps); //* load the XML document from the specified file.
     /*var workflow = xmlDoc.GetElementsByTagName("workflow")[0];
     ExtractWrokflow(workflow, root);*/
     LoadRelativeXmlTemplate(root, xmlDoc);
 }
Exemplo n.º 4
0
 private static void ExtractWrokflow(XmlNode workflowRoot, SingleWorkflowStep root)
 {
     var workflowSteps = workflowRoot.GetChildrenByTag(new List<string>(_availableStepsSpecs.Keys).ToArray());
     for (int i = 0; i < workflowSteps.Count; i++)
     {
         var workflowStep = workflowSteps[i];
         var newStep = SetupStepFactory.CreateStep(workflowStep);
         if (workflowStep.GetAttribute("include") != null)
         {
             LoadExternalWorkflowSteps(workflowStep.GetAttribute("include"), newStep, workflowStep.GetAttribute("assemblyPath"));
         }
         ExtractWrokflow(workflowStep, newStep);
         root.WorkflowSteps.Add(newStep);
     }
 }
Exemplo n.º 5
0
 public void AddUndo(SingleWorkflowStep undo)
 {
     if (Undoing) return;
     if (undo != null) Rollback.Add(undo);
 }