Exemplo n.º 1
0
        private void Window_Closed(object sender, EventArgs e)
        {
            XmlConfigUtil util = new XmlConfigUtil("config.xml");

            util.Write(BattleNetPath, "BattleNetPath");
            util.Write(HearthbuddyPath, "HearthbuddyPath");
            util.Write(BNHSInterval.ToString(), "BNHSInterval");
            util.Write(HSHBInterval.ToString(), "HSHBInterval");
            util.Write(CheckInterval.ToString(), "CheckInterval");

            util.Write(StartTime.Hour.ToString(), "StartTime");
            util.Write(EndTime.Hour.ToString(), "EndTime");

            string logDirectory = Path.Combine(this.BaseDirectory, "Logs");

            if (!Directory.Exists(logDirectory)) //防止目录不存在报错
            {
                Directory.CreateDirectory(logDirectory);
            }
            string logPath = Path.Combine(logDirectory, $"HearthbuddyHelper_{DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss")}.log");

            using (StreamWriter sw = new StreamWriter(logPath, true, System.Text.Encoding.UTF8))
            {
                sw.Write(LogTextBox.Text);
            }

            Environment.Exit(0);
        }
Exemplo n.º 2
0
        protected MemberConfig ReadMemberConfig(XElement memberElement)
        {
            String       memberName   = XmlConfigUtil.GetRequiredAttribute(memberElement, XmlConstants.NAME);
            MemberConfig memberConfig = new MemberConfig(memberName);

            String columnName = XmlConfigUtil.GetAttribute(memberElement, XmlConstants.COLUMN);

            if (columnName.Length > 0)
            {
                memberConfig.ColumnName = columnName;
            }
            String transientValue = XmlConfigUtil.GetAttribute(memberElement, XmlConstants.TRANSIENT);

            if (transientValue.Length != 0)
            {
                memberConfig.Transient = Boolean.Parse(transientValue);
            }
            String definedByValue = XmlConfigUtil.GetAttribute(memberElement, XmlConstants.DEFINED_BY);

            if (definedByValue.Length != 0)
            {
                memberConfig.DefinedBy = definedByValue;
            }
            return(memberConfig);
        }
Exemplo n.º 3
0
        protected void HandlePrimitiveCollections(ValueObjectConfig config, IMap <String, IList <XElement> > configDetails)
        {
            IList <XElement> memberTags = configDetails.Get(XmlConstants.BASIC.LocalName);

            if (memberTags == null)
            {
                return;
            }
            for (int j = memberTags.Count; j-- > 0;)
            {
                XElement element    = memberTags[j];
                String   memberName = XmlConfigUtil.GetRequiredAttribute(element, XmlConstants.NAME);

                if (config.IsIgnoredMember(memberName))
                {
                    continue;
                }

                config.SetValueObjectMemberType(memberName, ValueObjectMemberType.BASIC);

                String targetElementTypeName = XmlConfigUtil.GetAttribute(element, XmlConstants.TARGET_ELEMENT_TYPE);
                if (targetElementTypeName.Length == 0)
                {
                    continue;
                }

                Type elementType = XmlConfigUtil.GetTypeForName(targetElementTypeName);
                config.PutMemberType(memberName, elementType);
            }
        }
Exemplo n.º 4
0
        protected void HandleRelations(ValueObjectConfig config, IMap <String, IList <XElement> > configDetails)
        {
            IList <XElement> elementTypes = configDetails.Get(XmlConstants.RELATION.LocalName);

            if (elementTypes != null)
            {
                for (int i = elementTypes.Count; i-- > 0;)
                {
                    XElement entry      = elementTypes[i];
                    String   memberName = XmlConfigUtil.GetRequiredAttribute(entry, XmlConstants.NAME);

                    if (config.IsIgnoredMember(memberName))
                    {
                        continue;
                    }

                    config.SetValueObjectMemberType(memberName, ValueObjectMemberType.RELATION);

                    bool holdsListType = XmlConfigUtil.AttributeIsTrue(entry, XmlConstants.LIST_TYPE);
                    if (holdsListType)
                    {
                        config.AddListTypeMember(memberName);
                    }

                    String elementTypeName = XmlConfigUtil.GetAttribute(entry, XmlConstants.TARGET_VALUE_OBJECT);
                    if (elementTypeName.Length > 0)
                    {
                        Type elementType = XmlConfigUtil.GetTypeForName(elementTypeName);
                        config.PutMemberType(memberName, elementType);
                    }
                }
            }
        }
Exemplo n.º 5
0
        protected ILinkConfig ReadIndependentLinkConfig(XElement linkTag)
        {
            String alias = XmlConfigUtil.GetRequiredAttribute(linkTag, XmlConstants.ALIAS);
            IndependentLinkConfig link = new IndependentLinkConfig(alias);

            String cascadeDeleteRaw = XmlConfigUtil.GetAttribute(linkTag, XmlConstants.CASCADE_DELETE);

            if (cascadeDeleteRaw.Length > 0)
            {
                CascadeDeleteDirection cascadeDelete = (CascadeDeleteDirection)Enum.Parse(typeof(CascadeDeleteDirection), cascadeDeleteRaw, true);
                link.CascadeDeleteDirection = cascadeDelete;
            }

            String leftStr = XmlConfigUtil.GetAttribute(linkTag, XmlConstants.LEFT);

            if (leftStr.Length > 0)
            {
                Type left = XmlConfigUtil.GetTypeForName(leftStr);
                link.Left = left;
            }

            String rightStr = XmlConfigUtil.GetAttribute(linkTag, XmlConstants.RIGHT);

            if (rightStr.Length > 0)
            {
                Type right = XmlConfigUtil.GetTypeForName(rightStr);
                link.Right = right;
            }

            return(link);
        }
Exemplo n.º 6
0
        protected void HandleMembers(ValueObjectConfig config, XElement voConfig, IEntityMetaData metaData)
        {
            IMap <String, IList <XElement> > configDetails = XmlConfigUtil.ChildrenToElementMap(voConfig);

            HandleIgnoredMembers(config, configDetails);
            HandleMemberMappings(config, configDetails, metaData);
            HandleRelations(config, configDetails);
        }
Exemplo n.º 7
0
        public static bool InitAll(String loggerFileName, String loggerName)
        {
            Init(loggerFileName, loggerName);

            // card templete
            ContextManager.templeteDescriptors = XmlConfigUtil.CreateEntity <IDictionary <String, CardTempleteDescriptor> >(CardTempleteConfigFileName);

            return(true);
        }
Exemplo n.º 8
0
 public void AfterPropertiesSet()
 {
     if (xmlFileName != null)
     {
         XDocument[] docs = XmlConfigUtil.ReadXmlFiles(xmlFileName);
         ParamChecker.AssertNotNull(docs, "docs");
         configsToConsume = ReadConfig(docs);
     }
 }
Exemplo n.º 9
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            System.Windows.Forms.MessageBox.Show("本程序来自百度【炉石兄弟】吧,仅供学习使用,免费分享,严禁贩卖。");
            Log("■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■");
            Log("■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■");
            Log("使用帮助与常见问题详见:\nhttps://www.wulihub.com.cn/gc/QRw7oB/index.html");
            Log("■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■");
            Log("■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■");
            #region 加载xml配置文件
            XmlConfigUtil util = new XmlConfigUtil("config.xml");

            BattleNetPath   = util.Read("BattleNetPath");
            HearthbuddyPath = util.Read("HearthbuddyPath");

            try
            {
                BNHSInterval  = int.Parse(util.Read("BNHSInterval"));
                HSHBInterval  = int.Parse(util.Read("HSHBInterval"));
                CheckInterval = int.Parse(util.Read("CheckInterval"));
            }
            catch
            {
                Log("读取时间间隔错误,恢复默认值");
                BNHSInterval  = DefaultBNHSInterval;
                HSHBInterval  = DefaultHSHBInterval;
                CheckInterval = DefaultCheckInterval;
            }

            try
            {
                StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, int.Parse(util.Read("StartTime")), 0, 0);
                EndTime   = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, int.Parse(util.Read("EndTime")), 0, 0);
            }
            catch
            {
                Log("读取挂机时间段错误,恢复默认值");
                StartTime = new DateTime();
                EndTime   = new DateTime();
            }


            if (string.IsNullOrEmpty(BattleNetPath))
            {
                BattleNetPath = AutoGetBattleNetPath();
            }

            if (string.IsNullOrEmpty(HearthbuddyPath))
            {
                Log("请配置兄弟路径");
            }
            #endregion

            this.Timer.Interval = 1;
            this.Timer.Tick    += Check;
        }
Exemplo n.º 10
0
        protected void HandleMemberMappings(ValueObjectConfig config, IMap <String, IList <XElement> > configDetails, IEntityMetaData metaData)
        {
            Type entityType = config.EntityType;
            Type valueType  = config.ValueType;

            IMap <String, IPropertyInfo> entityPropertyMap = PropertyInfoProvider.GetPropertyMap(entityType);
            IMap <String, IPropertyInfo> valuePropertyMap  = PropertyInfoProvider.GetPropertyMap(valueType);

            for (int i = memberTagNames.Length; i-- > 0;)
            {
                String memberTagName = memberTagNames[i].LocalName;

                IList <XElement> memberTags = configDetails.Get(memberTagName);
                if (memberTags == null)
                {
                    continue;
                }

                for (int j = memberTags.Count; j-- > 0;)
                {
                    XElement element    = memberTags[j];
                    String   memberName = XmlConfigUtil.GetRequiredAttribute(element, XmlConstants.NAME);
                    if (config.IsIgnoredMember(memberName))
                    {
                        continue;
                    }
                    if (RuntimeValidationActive && !IsPropertyResolvable(valueType, valuePropertyMap, memberName, null))
                    {
                        throw new ArgumentException("Value type property '" + valueType.Name + "." + memberName + "' not found");
                    }

                    bool holdsListType = XmlConfigUtil.AttributeIsTrue(element, XmlConstants.LIST_TYPE);
                    if (holdsListType)
                    {
                        config.AddListTypeMember(memberName);
                    }

                    String entityMemberName = XmlConfigUtil.GetAttribute(element, XmlConstants.NAME_IN_ENTITY);
                    if (entityMemberName.Length == 0)
                    {
                        entityMemberName = memberName;
                    }
                    else
                    {
                        config.PutValueObjectMemberName(entityMemberName, memberName);
                    }
                    if (RuntimeValidationActive && !IsPropertyResolvable(entityType, entityPropertyMap, entityMemberName, metaData))
                    {
                        throw new ArgumentException("Entity type property '" + entityType.Name + "." + entityMemberName
                                                    + "' not found while configuring value type '" + valueType.Name + "'");
                    }
                }
            }
        }
Exemplo n.º 11
0
        protected Type ResolveEntityType(XElement item)
        {
            IMap <String, IList <XElement> > configs = XmlConfigUtil.ChildrenToElementMap(item);

            if (!configs.ContainsKey(XmlConstants.VALUE_OBJECT.LocalName))
            {
                return(null);
            }
            String entityTypeName = XmlConfigUtil.GetRequiredAttribute(item, XmlConstants.CLASS);

            return(XmlConfigUtil.GetTypeForName(entityTypeName));
        }
Exemplo n.º 12
0
        protected void HandleIgnoredMembers(ValueObjectConfig config, IMap <String, IList <XElement> > configDetails)
        {
            IList <XElement> memberTags = configDetails.Get(XmlConstants.IGNORE.LocalName);

            if (memberTags == null)
            {
                return;
            }

            for (int j = memberTags.Count; j-- > 0;)
            {
                XElement element    = memberTags[j];
                String   memberName = XmlConfigUtil.GetRequiredAttribute(element, XmlConstants.NAME);
                config.SetValueObjectMemberType(memberName, ValueObjectMemberType.IGNORE);
            }
        }
Exemplo n.º 13
0
        protected ExternalLinkConfig ReadExternalLinkConfig(XElement linkTag)
        {
            LinkConfig         link  = ReadLinkConfig(linkTag);
            ExternalLinkConfig eLink = new ExternalLinkConfig(link.Source);

            String sourceColumn = XmlConfigUtil.GetRequiredAttribute(linkTag, XmlConstants.SOURCE_COLUMN);

            eLink.SourceColumn = sourceColumn;
            String targetMember = XmlConfigUtil.GetRequiredAttribute(linkTag, XmlConstants.TARGET_MEMBER);

            eLink.TargetMember = targetMember;

            eLink.CascadeDeleteDirection = link.CascadeDeleteDirection;
            eLink.Alias = link.Alias;

            return(eLink);
        }
Exemplo n.º 14
0
        protected IRelationConfig ReadRelationConfig(XElement relationElement, IMap <String, ILinkConfig> nameToLinkMap)
        {
            String      relationName = XmlConfigUtil.GetRequiredAttribute(relationElement, XmlConstants.NAME);
            String      linkName     = XmlConfigUtil.GetAttribute(relationElement, XmlConstants.LINK);
            ILinkConfig linkConfig   = null;

            if (linkName.Length > 0)
            {
                linkConfig = nameToLinkMap.Get(linkName);
            }
            if (linkConfig == null)
            {
                if (Log.InfoEnabled)
                {
                    if (linkName.Length > 0)
                    {
                        Log.Info("No LinkConfig found for name '" + linkName + "'. Creating one with default values.");
                    }
                    else
                    {
                        Log.Info("Unconfigured Link found for property '" + relationName + "'. Trying to resolve this later.");
                    }
                }
                linkConfig = new LinkConfig(linkName);
            }
            try
            {
                RelationConfig20 relationConfig = new RelationConfig20(relationName, linkConfig);

                String entityIdentifierName = XmlConfigUtil.GetAttribute(relationElement, XmlConstants.THIS);
                if (entityIdentifierName.Length > 0)
                {
                    EntityIdentifier entityIdentifier = (EntityIdentifier)Enum.Parse(typeof(EntityIdentifier), entityIdentifierName, true);
                    relationConfig.EntityIdentifier = entityIdentifier;
                }

                return(relationConfig);
            }
            catch (Exception e)
            {
                throw new Exception("Error occured while processing relation '" + relationName + "'", e);
            }
        }
Exemplo n.º 15
0
        protected void ConsumeConfigs(IEntityMetaData metaData, IList <XElement> entities)
        {
            for (int i = entities.Count; i-- > 0;)
            {
                XElement item = entities[i];

                IMap <String, IList <XElement> > configs = XmlConfigUtil.ChildrenToElementMap(item);
                IList <XElement> voConfigs = configs.Get(XmlConstants.VALUE_OBJECT.LocalName);
                for (int j = voConfigs.Count; j-- > 0;)
                {
                    XElement voConfig = voConfigs[j];

                    String valueTypeName = XmlConfigUtil.GetRequiredAttribute(voConfig, XmlConstants.CLASS);
                    Type   valueType     = XmlConfigUtil.GetTypeForName(valueTypeName);

                    bool exists = false;
                    foreach (IValueObjectConfig conf in managedValueObjectConfigs)
                    {
                        if (conf.ValueType.Equals(valueType) && conf.EntityType.Equals(metaData.EntityType))
                        {
                            exists = true;
                            break;
                        }
                    }
                    if (exists)
                    {
                        continue;
                    }

                    ValueObjectConfig config = new ValueObjectConfig();
                    config.EntityType = metaData.EntityType;
                    config.ValueType  = valueType;

                    HandleMembers(config, voConfig, metaData);

                    managedValueObjectConfigs.Add(config);
                    ValueObjectConfigExtendable.RegisterValueObjectConfig(config);
                }
            }
        }
Exemplo n.º 16
0
        protected LinkConfig ReadLinkConfig(XElement linkTag)
        {
            String     source = XmlConfigUtil.GetRequiredAttribute(linkTag, XmlConstants.SOURCE);
            LinkConfig link   = new LinkConfig(source);

            String cascadeDeleteRaw = XmlConfigUtil.GetAttribute(linkTag, XmlConstants.CASCADE_DELETE);

            if (cascadeDeleteRaw.Length > 0)
            {
                CascadeDeleteDirection cascadeDelete = (CascadeDeleteDirection)Enum.Parse(typeof(CascadeDeleteDirection), cascadeDeleteRaw, true);
                link.CascadeDeleteDirection = cascadeDelete;
            }

            String alias = XmlConfigUtil.GetAttribute(linkTag, XmlConstants.ALIAS);

            if (alias.Length > 0)
            {
                link.Alias = alias;
            }

            return(link);
        }
Exemplo n.º 17
0
        protected CompositeMemberConfig ReadCompositeMemberConfig(XElement memberElement, IMap <String, MemberConfig> allIdMemberConfigs)
        {
            IEnumerable <XElement> idFragmentNodes = GetDescendants(memberElement, XmlConstants.ID_FRAGMENT);
            IList <XElement>       idFragments     = XmlConfigUtil.NodesToElements(idFragmentNodes);

            MemberConfig[] memberConfigs = new MemberConfig[idFragments.Count];
            for (int i = 0; i < idFragments.Count; i++)
            {
                XElement     idFragment   = idFragments[i];
                String       memberName   = XmlConfigUtil.GetRequiredAttribute(idFragment, XmlConstants.NAME);
                MemberConfig memberConfig = allIdMemberConfigs.Get(memberName);
                if (memberConfig == null)
                {
                    memberConfig = ReadMemberConfig(idFragment);
                    allIdMemberConfigs.Put(memberName, memberConfig);
                }
                memberConfigs[i] = memberConfig;
            }
            CompositeMemberConfig compositeMemberConfig = new CompositeMemberConfig(memberConfigs);

            return(compositeMemberConfig);
        }
Exemplo n.º 18
0
        protected EntityConfig ReadEntityConfig(XElement entityTag, IMap <String, ILinkConfig> nameToLinkMap)
        {
            String entityTypeName = XmlConfigUtil.GetRequiredAttribute(entityTag, XmlConstants.CLASS);

            try
            {
                Type         entityType   = XmlConfigUtil.GetTypeForName(entityTypeName);
                Type         realType     = ProxyHelper.GetRealType(entityType);
                EntityConfig entityConfig = new EntityConfig(entityType, realType);

                bool localEntity = !entityTag.Name.Equals(XmlConstants.EXTERNAL_ENTITY);
                entityConfig.Local = localEntity;

                IMap <String, IList <XElement> > attributeMap = null;

                IMap <String, IList <XElement> > entityDefs = XmlConfigUtil.ChildrenToElementMap(entityTag);
                if (entityDefs.ContainsKey(XmlConstants.TABLE.LocalName))
                {
                    String specifiedTableName = XmlConfigUtil.GetRequiredAttribute(entityDefs.Get(XmlConstants.TABLE.LocalName)[0], XmlConstants.NAME);
                    entityConfig.TableName = specifiedTableName;
                }
                if (entityDefs.ContainsKey(XmlConstants.PERMISSION_GROUP.LocalName))
                {
                    String permissionGroupName = XmlConfigUtil.GetRequiredAttribute(entityDefs.Get(XmlConstants.PERMISSION_GROUP.LocalName)[0], XmlConstants.NAME);
                    entityConfig.PermissionGroupName = permissionGroupName;
                }
                if (entityDefs.ContainsKey(XmlConstants.SEQ.LocalName))
                {
                    String sequenceName = XmlConfigUtil.GetRequiredAttribute(entityDefs.Get(XmlConstants.SEQ.LocalName)[0], XmlConstants.NAME);
                    entityConfig.SequenceName = sequenceName;
                }
                if (attributeMap.ContainsKey(XmlConstants.DESCRIMINATOR.LocalName))
                {
                    String descriminatorName = XmlConfigUtil.GetRequiredAttribute(entityDefs.Get(XmlConstants.DESCRIMINATOR.LocalName)[0], XmlConstants.NAME);
                    entityConfig.DescriminatorName = descriminatorName;
                }

                if (entityDefs.ContainsKey(XmlConstants.ATTR.LocalName))
                {
                    attributeMap = XmlConfigUtil.ToElementMap(entityDefs.Get(XmlConstants.ATTR.LocalName)[0].Elements());
                }
                bool versionRequired = true;
                if (attributeMap != null)
                {
                    IMap <String, MemberConfig> allIdMemberConfigs = new HashMap <String, MemberConfig>();
                    if (attributeMap.ContainsKey(XmlConstants.ID.LocalName))
                    {
                        MemberConfig idMemberConfig = ReadUniqueMemberConfig(XmlConstants.ID.LocalName, attributeMap);
                        entityConfig.IdMemberConfig = idMemberConfig;
                        allIdMemberConfigs.Put(idMemberConfig.Name, idMemberConfig);
                    }
                    else if (attributeMap.ContainsKey(XmlConstants.ID_COMP.LocalName))
                    {
                        XElement      memberElement  = attributeMap.Get(XmlConstants.ID_COMP.LocalName)[0];
                        IMemberConfig idMemberConfig = ReadCompositeMemberConfig(memberElement, allIdMemberConfigs);
                        entityConfig.IdMemberConfig = idMemberConfig;
                    }
                    else if (!localEntity)
                    {
                        throw new ArgumentException("ID member name has to be set on external entities");
                    }

                    if (attributeMap.ContainsKey(XmlConstants.ALT_ID.LocalName))
                    {
                        IList <XElement> altIds = attributeMap.Get(XmlConstants.ALT_ID.LocalName);
                        for (int j = altIds.Count; j-- > 0;)
                        {
                            XElement     memberElement = altIds[j];
                            MemberConfig memberConfig  = ReadMemberConfig(memberElement);
                            memberConfig.AlternateId = true;
                            entityConfig.AddMemberConfig(memberConfig);
                            allIdMemberConfigs.Put(memberConfig.Name, memberConfig);
                        }
                    }

                    if (attributeMap.ContainsKey(XmlConstants.ALT_ID_COMP.LocalName))
                    {
                        IList <XElement> altIdsComp = attributeMap.Get(XmlConstants.ALT_ID_COMP.LocalName);
                        for (int j = altIdsComp.Count; j-- > 0;)
                        {
                            XElement memberElement             = altIdsComp[j];
                            CompositeMemberConfig memberConfig = ReadCompositeMemberConfig(memberElement, allIdMemberConfigs);
                            memberConfig.AlternateId = true;
                            entityConfig.AddMemberConfig(memberConfig);
                        }
                    }

                    if (attributeMap.ContainsKey(XmlConstants.VERSION.LocalName))
                    {
                        MemberConfig versionMemberConfig = ReadUniqueMemberConfig(XmlConstants.VERSION.LocalName, attributeMap);
                        entityConfig.VersionMemberConfig = versionMemberConfig;
                    }
                    else if (attributeMap.ContainsKey(XmlConstants.NO_VERSION.LocalName))
                    {
                        versionRequired = false;
                    }
                    else if (!localEntity)
                    {
                        throw new ArgumentException("Version member name has to be set on external entities");
                    }
                    if (attributeMap.ContainsKey(XmlConstants.CREATED_BY.LocalName))
                    {
                        MemberConfig createdByMemberConfig = ReadUniqueMemberConfig(XmlConstants.CREATED_BY.LocalName, attributeMap);
                        entityConfig.CreatedByMemberConfig = createdByMemberConfig;
                    }
                    if (attributeMap.ContainsKey(XmlConstants.CREATED_ON.LocalName))
                    {
                        MemberConfig createdOnMemberConfig = ReadUniqueMemberConfig(XmlConstants.CREATED_ON.LocalName, attributeMap);
                        entityConfig.CreatedOnMemberConfig = createdOnMemberConfig;
                    }
                    if (attributeMap.ContainsKey(XmlConstants.UPDATED_BY.LocalName))
                    {
                        MemberConfig updatedByMemberConfig = ReadUniqueMemberConfig(XmlConstants.UPDATED_BY.LocalName, attributeMap);
                        entityConfig.UpdatedByMemberConfig = updatedByMemberConfig;
                    }
                    if (attributeMap.ContainsKey(XmlConstants.UPDATED_ON.LocalName))
                    {
                        MemberConfig updatedOnMemberConfig = ReadUniqueMemberConfig(XmlConstants.UPDATED_ON.LocalName, attributeMap);
                        entityConfig.UpdatedOnMemberConfig = updatedOnMemberConfig;
                    }

                    if (attributeMap.ContainsKey(XmlConstants.BASIC.LocalName))
                    {
                        IList <XElement> basicAttrs = attributeMap.Get(XmlConstants.BASIC.LocalName);
                        for (int j = basicAttrs.Count; j-- > 0;)
                        {
                            XElement     memberElement = basicAttrs[j];
                            MemberConfig memberConfig  = ReadMemberConfig(memberElement);
                            entityConfig.AddMemberConfig(memberConfig);
                        }
                    }

                    if (attributeMap.ContainsKey(XmlConstants.IGNORE.LocalName))
                    {
                        IList <XElement> ignoreAttrs = attributeMap.Get(XmlConstants.IGNORE.LocalName);
                        for (int j = ignoreAttrs.Count; j-- > 0;)
                        {
                            XElement     ignoreElement = ignoreAttrs[j];
                            MemberConfig memberConfig  = ReadMemberConfig(ignoreElement);
                            memberConfig.Ignore = true;
                            entityConfig.AddMemberConfig(memberConfig);
                        }
                    }

                    if (attributeMap.ContainsKey(XmlConstants.RELATION.LocalName))
                    {
                        IList <XElement> relationAttrs = attributeMap.Get(XmlConstants.RELATION.LocalName);
                        for (int j = relationAttrs.Count; j-- > 0;)
                        {
                            XElement        relationElement = relationAttrs[j];
                            IRelationConfig relationConfig  = ReadRelationConfig(relationElement, nameToLinkMap);
                            entityConfig.AddRelationConfig(relationConfig);
                        }
                    }
                }
                entityConfig.VersionRequired = versionRequired;

                return(entityConfig);
            }
            catch (Exception e)
            {
                throw RuntimeExceptionUtil.Mask(e, "Error occured while processing mapping for entity: " + entityTypeName);
            }
        }
Exemplo n.º 19
0
 public void AfterPropertiesSet()
 {
     validator = XmlConfigUtil.CreateValidator(XSD_FILE_NAMES);
 }