protected override IDictionary <string, IRoutingAttribute> ParserRoutings(string defaultTableName, XmlNodeList routingNodes) { IDictionary <string, IRoutingAttribute> routings = new Dictionary <string, IRoutingAttribute>(); if (null == routingNodes || 0 == routingNodes.Count) { //set the default value when the routingnodes is not exist IRoutingAttribute defaultRouting = new RoutingAttribute { Name = DefaultRoutingName, Permission = PermissionMode.WR, StorageName = StorageParser.DefaultStorageName, TableName = defaultTableName, }; routings.Add(DefaultRoutingName, defaultRouting); return(routings); } foreach (XmlNode node in routingNodes) { IRoutingAttribute routing = ParserRouting(defaultTableName, node); if (null != routing) { routings.Add(routing.Name, routing); } } return(routings); }
protected override IRoutingAttribute ParserRouting(string defaultTableName, XmlNode routingNode) { if (null == routingNode) { throw new ArgumentNullException("routingNode"); } object name; XmlFileParser.TryGetAttributeValue(routingNode, "Name", out name); if (null == name) { throw new Exception("the Name for the routing node is null."); } object storageName; XmlFileParser.TryGetAttributeValue(routingNode, "StorageName", out storageName); if (null == storageName) { throw new Exception("the StorageName for the routing node is null."); } object tableName; XmlFileParser.TryGetAttributeValue(routingNode, "TableName", out tableName); object owner; XmlFileParser.TryGetAttributeValue(routingNode, "Owner", out owner); object oPermission; XmlFileParser.TryGetAttributeValue(routingNode, "Permission", out oPermission); IRoutingAttribute rounting = new RoutingAttribute { Name = name.ToString(), StorageName = storageName.ToString(), TableName = null == tableName ? defaultTableName : tableName.ToString(), Permission = null == oPermission ? PermissionMode.WR : ConvertToPermissionMode.Convert(oPermission.ToString()), }; if (null != owner) { rounting.Owner = owner.ToString(); } return(rounting); }