Example #1
0
        private RequireMap GetMap(JObject document)
        {
            var map = new RequireMap();

            map.MapElements = new List <RequireMapElement>();
            if (document != null && document["map"] != null)
            {
                map.MapElements = document["map"].Select(
                    r =>
                {
                    var currentMap          = new RequireMapElement();
                    currentMap.Replacements = new List <RequireReplacement>();
                    var prop          = (JProperty)r;
                    currentMap.For    = prop.Name;
                    var mapDefinition = prop.Value;
                    if (mapDefinition != null)
                    {
                        currentMap.Replacements = mapDefinition.Select(x => new RequireReplacement()
                        {
                            OldKey = ((JProperty)x).Name,
                            NewKey = ((JProperty)x).Value.ToString()
                        }).ToList();
                    }

                    return(currentMap);
                })
                                  .ToList();
            }

            return(map);
        }
        private RequireMap GetMap(JObject document)
        {
            var map = new RequireMap();

            map.MapElements = new List <RequireMapElement>();
            string parseSection = "map";

            if (document != null && document[parseSection] != null)
            {
                JToken mapParent = JsonParseOrThrow <JObject>(document[parseSection], parseSection, Path, null);
                map.MapElements = mapParent.Select(
                    r =>
                {
                    var currentMap          = new RequireMapElement();
                    currentMap.Replacements = new List <RequireReplacement>();
                    var prop             = (JProperty)r;
                    currentMap.For       = prop.Name;
                    JToken mapDefinition = JsonParseOrThrow <JObject>(prop.Value, parseSection, Path, null);
                    if (mapDefinition != null)
                    {
                        currentMap.Replacements = mapDefinition.Select(x => new RequireReplacement()
                        {
                            OldKey = ((JProperty)x).Name,
                            NewKey = ((JProperty)x).Value.ToString()
                        }).ToList();
                    }

                    return(currentMap);
                })
                                  .ToList();
            }

            return(map);
        }
Example #3
0
        private RequireMap GetMap(XElement root)
        {
            var map = new RequireMap();

            map.MapElements = new List <RequireMapElement>();
            var mapEl = root.Element("map");

            if (mapEl != null)
            {
                map.MapElements = mapEl.Descendants("replace")
                                  .Select(MapElementReader)
                                  .ToList();
            }

            return(map);
        }
Example #4
0
 // TODO: these functions are very similar to the merge ones in ConfigMerger,
 // maybe do something about this
 private void ApplyMapOverride(RequireMap originalMap, RequireMap overrideMap)
 {
     foreach (var mapEl in overrideMap.MapElements)
     {
         var existing = originalMap.MapElements.Where(r => r.For.ToLower() == mapEl.For.ToLower()).FirstOrDefault();
         if (existing != null)
         {
             var finalReplacements = existing.Replacements
                                     .Union(mapEl.Replacements)
                                     .GroupBy(r => r.OldKey)
                                     .Select(r => r.FirstOrDefault())
                                     .ToList();
             existing.Replacements = finalReplacements;
         }
         else
         {
             originalMap.MapElements.Add(mapEl);
         }
     }
 }
        private RequireMap GetMap(XElement root)
        {
            var map = new RequireMap();

            map.MapElements = new List <RequireMapElement>();
            var mapEl = root.Descendants("map").FirstOrDefault();

            if (mapEl != null)
            {
                map.MapElements = mapEl.Descendants("replace")
                                  .Select(r => new RequireMapElement
                {
                    For          = r.Attribute("for").Value,
                    Replacements = r.Descendants("add")
                                   .Select(x => new RequireReplacement
                    {
                        NewKey = x.Attribute("new").Value,
                        OldKey = x.Attribute("old").Value
                    }).ToList()
                }).ToList();
            }
            return(map);
        }