コード例 #1
0
ファイル: LocalConfigLoader.cs プロジェクト: llorch19/Bara
        public void LoadBaraMap(string filePath, BaraMapConfig baraMapConfig)
        {
            var baraMapSteam = LoadConfigStream(filePath);
            var baraMap      = LoadBaraMap(baraMapSteam, baraMapConfig);

            baraMapConfig.BaraMaps.Add(baraMap);
        }
コード例 #2
0
        public BaraMap LoadBaraMap(ConfigStream configStream, BaraMapConfig baraMapConfig)
        {
            using (configStream.Stream)
            {
                var baraMap = new BaraMap
                {
                    BaraMapConfig = baraMapConfig,
                    Path          = configStream.Path,
                    Statements    = new List <Statement> {
                    },
                };

                XDocument              xdoc          = XDocument.Load(configStream.Stream);
                XElement               xele          = xdoc.Root;
                XNamespace             ns            = xele.GetDefaultNamespace();
                IEnumerable <XElement> StatementList = xele.Descendants(ns + "Statement");
                baraMap.Scope = (String)xele.Attribute("Scope");


                foreach (var statementNode in StatementList)
                {
                    var _statement = Statement.Load(statementNode, baraMap);
                    baraMap.Statements.Add(_statement);
                }
                return(baraMap);
            }
        }
コード例 #3
0
 public BaraMapConfig LoadConfig(ConfigStream ConfigStream, IBaraMapper baraMapper)
 {
     using (ConfigStream.Stream)
     {
         XmlSerializer xmlSeralizer = new XmlSerializer(typeof(BaraMapConfig));
         BaraMapConfig config       = xmlSeralizer.Deserialize(ConfigStream.Stream) as BaraMapConfig;
         config.Path       = ConfigStream.Path;
         config.BaraMapper = baraMapper;
         config.BaraMaps   = new List <BaraMap> {
         };
         return(config);
     }
 }
コード例 #4
0
ファイル: LocalConfigLoader.cs プロジェクト: llorch19/Bara
        /// <summary>
        /// 加载配置文件
        /// </summary>
        /// <param name="filePath">配置文件路径</param>
        /// <param name="baraMapper">Bara核心</param>
        /// <returns></returns>
        public BaraMapConfig LoadConfig(String filePath, IBaraMapper baraMapper)
        {
            //反序列化config
            XmlSerializer serializer = new XmlSerializer(typeof(BaraMapConfig));
            BaraMapConfig config     = null;

            using (var configStream = FileLoader.Load(filePath))
            {
                config            = serializer.Deserialize(configStream) as BaraMapConfig;
                config.Path       = filePath;
                config.BaraMapper = baraMapper;
                // config.BaraMapConfig
            }

            return(config);
        }
コード例 #5
0
        public void ConfigDeserizeTest()
        {
            //var fileInfo = FileLoader.GetFileInfo(@"E:\BaraMapConfig.xml");
            //var fileStream = FileLoader.Load(@"E:\BaraMapConfig.xml");
            XmlSerializer serializer = new XmlSerializer(typeof(BaraMapConfig));
            BaraMapConfig config     = null;

            using (var configStream = FileLoader.Load("BaraMapConfig.xml"))
            {
                config          = serializer.Deserialize(configStream) as BaraMapConfig;
                config.BaraMaps = new List <BaraMap> {
                };
            }

            foreach (var baramap in config.BaraMapSources)
            {
                LoadBaraMap(baramap.Path, config);
            }

            Trace.WriteLine("OK");
            //  BaraMapConfig config = JsonConvert.DeserializeObject<BaraMapConfig>(fileStream);
        }
コード例 #6
0
ファイル: BaraMapper.cs プロジェクト: llorch19/Bara
 public void LoadConfig(BaraMapConfig config)
 {
     BaraMapConfig = config;
 }