public static bool IsEqual()

in src/routingmanager/Extensions.cs [354:399]


        public static bool IsEqual(this V1ConfigMap configMap, V1ConfigMap configMap1, ILog log)
        {
            if (configMap1 == null)
            {
                log.Verbose("Configmap being compared to is null");
                return false;
            }

            if (((configMap.Metadata.Labels == null || !configMap.Metadata.Labels.Any()) && (configMap1.Metadata.Labels != null || configMap1.Metadata.Labels.Any()))
                || ((configMap.Metadata.Labels != null || configMap.Metadata.Labels.Any()) && (configMap1.Metadata.Labels == null || !configMap1.Metadata.Labels.Any()))
                || configMap.Metadata.Labels.Count != configMap1.Metadata.Labels.Count)
            {
                log.Verbose("Config map labels do not match");
                return false;
            }
            foreach (var label in configMap.Metadata.Labels)
            {
                if (!configMap1.Metadata.Labels.ContainsKey(label.Key)
                    || !configMap1.Metadata.Labels[label.Key].Equals(label.Value))
                {
                    log.Verbose("Config map label values do not match");
                    return false;
                }
            }

            if (((configMap.Data == null || !configMap.Data.Any()) && (configMap1.Data != null || configMap1.Data.Any()))
                || ((configMap.Data != null || configMap.Data.Any()) && (configMap1.Data == null || !configMap1.Data.Any()))
                || configMap.Data.Count != configMap1.Data.Count)
            {
                log.Verbose("Config map data count does not match");
                return false;
            }

            foreach (var data in configMap.Data)
            {
                if (!configMap1.Data.ContainsKey(data.Key)
                    || !configMap1.Data[data.Key].Equals(data.Value))
                {
                    log.Verbose("Config map data values do not match");
                    return false;
                }
            }

            log.Verbose("Config maps match");
            return true;
        }