public static SAFeSWL_Architecture readArchitecture(string arch_desc_xml) { string filename = System.IO.Path.GetTempFileName(); File.WriteAllText(filename, arch_desc_xml); SAFeSWL_Architecture arch_desc = CoreServicesUtil.DeserializeArchitecture_SAFeSWL(filename); return(arch_desc); }
public int openWorkflowSession(string arch_desc_xml) { int workflow_handle = WorkflowHandle; workflow_contract.Add(workflow_handle, new Dictionary <string, Instantiator.ComponentFunctorApplicationType> ()); workflow_resolution.Add(workflow_handle, new Dictionary <string, string[]> ()); workflow_platform_address.Add(workflow_handle, new Dictionary <string, string> ()); workflow_base_binding_port.Add(workflow_handle, new Dictionary <string, int> ()); workflow_nodes.Add(workflow_handle, new Dictionary <string, int> ()); delayed_contracts.Add(workflow_handle, new List <string> ()); SAFeSWL_Architecture arch_desc = CoreServicesUtil.readArchitecture(arch_desc_xml); active_workflows.Add(workflow_handle, arch_desc); SAFeSWL_Component[] cs = arch_desc.solution; foreach (SAFeSWL_Component c in cs) { if (c.contract != null && c.contract.Item is Instantiator.ComponentFunctorApplicationType) { registerContract(workflow_handle, c.id_component, (Instantiator.ComponentFunctorApplicationType)c.contract.Item); } else if (c.contract != null && c.contract.Item is string) /* TODO: read from URI */ } {