/// <summary> /// Obtiene las conexiones de un contexto /// </summary> private NormalizedDictionary <Models.CloudConnection> GetConnections(JobContextModel context) { NormalizedDictionary <Models.CloudConnection> connections = new NormalizedDictionary <Models.CloudConnection>(); // Obtiene las conexiones del árbol foreach (LibDataStructures.Trees.TreeNodeModel node in context.Tree.Nodes) { if (node.Id.EqualsIgnoreCase("Cloud")) { Models.CloudConnection configuration = GetConnection(node); connections.Add(configuration.Key, configuration); } } // Devuelve la lista de conexiones return(connections); }
/// <summary> /// Carga los datos de un contexto /// </summary> internal JobContextModel LoadContext(MLNode rootML, string processorKey) { JobContextModel context = new JobContextModel(); // Carga los datos del contexto context.ProcessorKey = processorKey; // Carga los parámetros y los nodos foreach (MLNode nodeML in rootML.Nodes) { switch (nodeML.Name) { case JobParameterRepository.TagParameter: JobParameterModel parameter = new JobParameterRepository().LoadParameter(nodeML); context.Parameters.Add(parameter.Key, parameter); break; case TagPath: if (string.IsNullOrWhiteSpace(nodeML.Attributes[TagValue].Value)) { context.Paths.Add(nodeML.Attributes[TagKey].Value.TrimIgnoreNull(), nodeML.Value.TrimIgnoreNull()); } else { context.Paths.Add(nodeML.Attributes[TagKey].Value.TrimIgnoreNull(), nodeML.Attributes[TagValue].Value.TrimIgnoreNull()); } break; default: context.Tree.Nodes.Add(LoadTreeNode(nodeML)); break; } } // Devuelve el contexto return(context); }
/// <summary> /// Obtiene los nodos de una serie de <see cref="JobContextModel"/> /// </summary> internal MLNode GetContextNode(string tag, string processorKey, JobContextModel context) { MLNode nodeML = new MLNode(tag); // Añade la clave del procesador if (string.IsNullOrEmpty(processorKey)) { nodeML.Attributes.Add(TagProcessor, processorKey); } // Añade el árbol nodeML.Nodes.AddRange(GetContextTreeNodes(context.Tree.Nodes)); // Añade los parámetros nodeML.Nodes.AddRange(new JobParameterRepository().GetParametersNodes(context.Parameters)); // Añade los directorios foreach ((string key, string value) in context.Paths.Enumerate()) { MLNode pathML = nodeML.Nodes.Add(TagPath); pathML.Attributes.Add(TagKey, key); pathML.Value = value; } // Devuelve el nodo return(nodeML); }
public JobManager(ILogger logger, IConsoleOutput consoleOutput) { Context = new JobContextModel(logger, consoleOutput); }
/// <summary> /// Obtiene las conexiones de un contexto /// </summary> private NormalizedDictionary <DataBaseConnectionModel> GetConnections(JobProjectModel project, JobContextModel context) { NormalizedDictionary <DataBaseConnectionModel> connections = new NormalizedDictionary <DataBaseConnectionModel>(); // Obtiene las conexiones del árbol foreach (LibDataStructures.Trees.TreeNodeModel node in context.Tree.Nodes) { if (node.Id.EqualsIgnoreCase("Connection")) { DataBaseConnectionModel connection = GetConnection(project, node); connections.Add(connection.GlobalId, connection); } } // Devuelve la lista de conexiones return(connections); }