/* Function returs all the inputs in a ServiceProfile * * Inputs: none * * Return values: an array of inputs */ private IOType[] GetInputParameters() { ArrayList lstInputs = new ArrayList(); try { XmlNode root = m_doc.DocumentElement; // Create Expression Builder instance IIOPEXPathExprBuilder IBuilder = IOPEXPathExprBuilderFactory.CreateInstance(enuIOPEType.Input); // Build XPath Expression string strXPathExpr = DamlConstants.SERVICE_PROFILE + IBuilder.BuildExpression(enuIOPESearchBy.PARAM_DESC); XmlNodeList nodeList = root.SelectNodes(strXPathExpr, m_mgr); foreach (XmlNode descNode in nodeList) { IOType input = GetIONodeData(descNode); if (input.isValid) { lstInputs.Add(input); } } } catch (Exception /*e*/) { } return((IOType[])lstInputs.ToArray(typeof(IOType))); }
/* Function returs all the preconditions in a ServiceProfile * * Inputs: none * * Return values: an array of preconditions */ private EPType[] GetPreconditions() { ArrayList lstPreconds = new ArrayList(); try { XmlNode root = m_doc.DocumentElement; // Create Expression Builder instance IIOPEXPathExprBuilder IBuilder = IOPEXPathExprBuilderFactory.CreateInstance(enuIOPEType.Precondition); // Build XPath Expression string strXPathExpr = DamlConstants.SERVICE_PROFILE + IBuilder.BuildExpression(enuIOPESearchBy.COND_DESC); XmlNodeList nodeList = root.SelectNodes(strXPathExpr, m_mgr); foreach (XmlNode descNode in nodeList) { EPType precond = this.GetEPNodeData(descNode); if (precond.isValid) { lstPreconds.Add(precond); } } } catch (Exception /*e*/) { } return((EPType[])lstPreconds.ToArray(typeof(EPType))); }
/* Function returns the data of an effect based on its description * * Inputs: strDesc - description of effect to retrieve data about * * Return value: the EPType data structure of the effect */ public EPType GetEffectByDescription(string strDesc) { // Create Expression Builder instance IIOPEXPathExprBuilder IBuilder = IOPEXPathExprBuilderFactory.CreateInstance(enuIOPEType.Effect); // Build XPath Expression string strXPathExpr = DamlConstants.SERVICE_PROFILE + IBuilder.BuildExpression(enuIOPESearchBy.COND_DESC, strDesc); XmlNode root = m_doc.DocumentElement; XmlNode node = root.SelectSingleNode(strXPathExpr, m_mgr); EPType epData = GetEPNodeData(node); return(epData); }
/* Function returns the data of an effect based on a refersTo statement * * Inputs: strRef - reference of effect to retrieve data about * * Return value: the EPType data structure of the effect */ public EPType GetEffectByReference(string strRef) { // Create Expression Builder instance IIOPEXPathExprBuilder IBuilder = IOPEXPathExprBuilderFactory.CreateInstance(enuIOPEType.Effect); // Build XPath Expression string strXPathExpr = DamlConstants.SERVICE_PROFILE + IBuilder.BuildExpression(enuIOPESearchBy.REFERS_TO, strRef); XmlNode root = m_doc.DocumentElement; XmlNode node = root.SelectSingleNode(strXPathExpr, m_mgr); node = node.ParentNode; EPType epData = GetEPNodeData(node); return(epData); }
/* Function returns the data of a named precondition * * Inputs: strName - name of precondition to retrieve data about * * Return value: the EPType data structure of the named precondition */ public EPType GetPreconditionByName(string strName) { // Create Expression Builder instance IIOPEXPathExprBuilder IBuilder = IOPEXPathExprBuilderFactory.CreateInstance(enuIOPEType.Precondition); // Build XPath Expression string strXPathExpr = DamlConstants.SERVICE_PROFILE + IBuilder.BuildExpression(enuIOPESearchBy.COND_NAME, strName); XmlNode root = m_doc.DocumentElement; XmlNode node = root.SelectSingleNode(strXPathExpr, m_mgr); node = node.ParentNode; EPType epData = GetEPNodeData(node); return(epData); }
/* Function returns the data of a named output * * Inputs: strName - name of output to retrieve data about * * Return value: the IOType data structure of the named output */ public IOType GetOutputByName(string strName) { // Create Expression Builder instance IIOPEXPathExprBuilder IBuilder = IOPEXPathExprBuilderFactory.CreateInstance(enuIOPEType.Output); // Build XPath Expression string strXPathExpr = DamlConstants.SERVICE_PROFILE + IBuilder.BuildExpression(enuIOPESearchBy.PARAM_NAME, strName); XmlNode root = m_doc.DocumentElement; XmlNode node = root.SelectSingleNode(strXPathExpr, m_mgr); node = node.ParentNode; IOType ioData = GetIONodeData(node); return(ioData); }