Example #1
0
        public static LTSModel LoadLTSFromXML(string text)
        {
            LTSModel lts = new LTSModel();

            XmlDataDocument doc = new XmlDataDocument();

            doc.LoadXml(text);

            XmlNodeList sitesNodes = doc.GetElementsByTagName(Parsing.DECLARATION_NODE_NAME);

            foreach (XmlElement component in sitesNodes)
            {
                lts.Declaration = component.InnerText;
            }

            sitesNodes = doc.GetElementsByTagName(Parsing.PROCESSES_NODE_NAME);
            if (sitesNodes.Count > 0)
            {
                foreach (XmlElement component in sitesNodes[0].ChildNodes)
                {
                    LTSCanvas canvas = new LTSCanvas();
                    canvas.LoadFromXml(component);

                    lts.Processes.Add(canvas);
                }
            }

            return(lts);
        }
Example #2
0
        public static SNModel LoadSensorNetworkFromXML(string text)
        {
            SNModel         snModel = new SNModel();
            XmlDataDocument doc     = new XmlDataDocument();

            doc.LoadXml(text);

            XmlNodeList sitesNodes = doc.GetElementsByTagName(Parsing.SYSTEM_NODE_NAME);

            snModel.SystemName = sitesNodes[0].ChildNodes[0].InnerText;
            sitesNodes         = doc.GetElementsByTagName(Parsing.NETWORK_NODE_NAME);

            foreach (XmlElement component in sitesNodes)
            {
                LTSCanvas canvas = new LTSCanvas();
                canvas.LoadFromXml(component.ChildNodes[0] as XmlElement);
                snModel.Network = canvas;
            }

            sitesNodes = doc.GetElementsByTagName(Parsing.LINK_NODE_NAME);
            if (sitesNodes.Count > 0)
            {
                foreach (XmlElement node in sitesNodes[0].ChildNodes)
                {
                    snModel.AddLink(node.InnerText);
                }
            }

            sitesNodes = doc.GetElementsByTagName(Parsing.ASSERTION_NODE_NAME);
            if (sitesNodes[0].ChildNodes[0] != null)
            {
                snModel.Assertion = sitesNodes[0].ChildNodes[0].InnerText;
            }

            sitesNodes = doc.GetElementsByTagName(Parsing.SENSORS_NODE_NAME);
            if (sitesNodes.Count > 0)
            {
                foreach (XmlElement component in sitesNodes[0].ChildNodes)
                {
                    //ID
                    //Application
                    XmlNodeList sensorID = component.GetElementsByTagName("ID");
                    XmlNodeList tosId    = component.GetElementsByTagName("TOSID");
                    string      tosid    = "";
                    if (tosId == null || tosId.Count < 1)
                    {
                        tosid = "0";
                    }
                    else
                    {
                        tosid = tosId[0].InnerText;
                    }

                    XmlNodeList sensorApp = component.GetElementsByTagName("App");
                    string      app       = "";
                    if (sensorApp == null || sensorApp.Count < 1)
                    {
                        app = "app";
                    }
                    else
                    {
                        app = sensorApp[0].InnerText;
                    }

                    XmlNodeList sensorRange = component.GetElementsByTagName("Range");
                    string      range       = "";
                    if (sensorRange == null || sensorRange.Count < 1)
                    {
                        range = "//enter the sensor settings here...";
                    }
                    else
                    {
                        range = sensorRange[0].InnerText;
                    }

                    string predefVars = "";
                    if (component.HasAttribute("Predefined"))
                    {
                        XmlNodeList sensorPredefVars = component.GetElementsByTagName("Predefined");

                        if (sensorRange.Count < 1)
                        {
                            predefVars = "//enter predefined variables here...";
                        }
                        else
                        {
                            predefVars = sensorPredefVars[0].InnerText;
                        }
                    }
                    else
                    {
                        predefVars = "//enter predefined variables here...";
                    }

                    snModel.Sensors.Add(sensorID[0].InnerText, new NodeData(sensorID[0].InnerText, app, range, tosid, predefVars));
                }
            }

            return(snModel);
        }