Example #1
0
    public static MetaDataManager.MetaData LoadProjectAttributes(XmlElement _root, MetaDataManager.MetaData _inputMetaData)
    {
        _inputMetaData.DataName            = _root.Name;
        _inputMetaData.BitDepth            = Utils.ReadIntegerAttribute(_root, Globals.BIT_DEPTH_ATTRIBUTE);
        _inputMetaData.Width               = Utils.ReadIntegerAttribute(_root, Globals.WIDTH_ATTRIBUTE);
        _inputMetaData.Height              = Utils.ReadIntegerAttribute(_root, Globals.HEIGHT_ATTRIBUTE);
        _inputMetaData.Levels              = Utils.ReadIntegerAttribute(_root, Globals.LEVELS_ATTRIBUTE);
        _inputMetaData.StartDateTimeNumber = Utils.ReadDoubleAttribute(_root, Globals.START_DATETIME_ATTRIBUTE);
        _inputMetaData.EndDateTimeNumber   = Utils.ReadDoubleAttribute(_root, Globals.END_DATETIME_ATTRIBUTE);
        _inputMetaData.TimeInterval        = Utils.ReadIntegerAttribute(_root, Globals.TIME_INTERVAL_ATTRIBUTE);

        return(_inputMetaData);
    }
Example #2
0
    public static IMetaData Import(string _projectFilePath)
    {
        XmlDocument document = new XmlDocument();

        document.Load(_projectFilePath);

        XmlElement root = document.DocumentElement;

        MetaDataManager.MetaData outputMetaData = new MetaDataManager.MetaData();

        outputMetaData = MetaDataReader.LoadProjectAttributes(root, outputMetaData);

        // Read in variables
        IList <IVariable> variablesList = new List <IVariable>();
        IList <IList <TimeStepDataAsset> > timestampLisList = new List <IList <TimeStepDataAsset> >();

        if (root.ChildNodes.Count == 0)
        {
            Log.ThrowValueNotFoundException("MetaDataReader", root.Name + "is empty");
        }
        foreach (XmlNode varNode in root.ChildNodes)
        {
            if (varNode.Name == Globals.VARIABLE_ELEMENT)
            {
                // Read name from variable node
                string varNodeName = varNode.Attributes[Globals.VARIABLE_NAME_ATTRIBUTE].Value;
                double varNodeMin  = Utils.ReadAttribute(varNode, Globals.VARIABLE_MIN_ATTRIBUTE);
                double varNodeMax  = Utils.ReadAttribute(varNode, Globals.VARIABLE_MAX_ATTRIBUTE);

                Debug.Log("Min and Max are " + varNodeMin + " and " + varNodeMax);

                List <TimeStepDataAsset> varTimestampList = new List <TimeStepDataAsset>();

                if (varNodeName != null)
                {
                    variablesList.Add(new MetaDataManager.Variable()
                    {
                        Name = varNodeName, Min = varNodeMin, Max = varNodeMax
                    });

                    // Create a new list for timestamps
                    timestampLisList.Add(varTimestampList);
                }
                else
                {
                    Log.ThrowValueNotFoundException("MetaDataReader", Globals.VARIABLE_NAME_ATTRIBUTE);
                }

                if (varNode.ChildNodes.Count == 0)
                {
                    Log.ThrowValueNotFoundException("MetaDataReader", varNode.Name);
                }

                foreach (XmlNode timestampNode in varNode.ChildNodes)
                {
                    if (timestampNode.Name == Globals.TIME_STAMP_LIST_ELEMENT)
                    {
                        TimeStepDataAsset newTimestamp = MetaDataReader.ReadTimeStamp(timestampNode);

                        // fill last list with timestamps
                        varTimestampList.Add(newTimestamp);
                    }
                }
            }
        }

        outputMetaData.Timestamps = timestampLisList;
        outputMetaData.Variables  = variablesList;

        return(outputMetaData);
    }