Beispiel #1
0
		public XmlContext(XmlMetadata metadata)
		{
			if (metadata == null)
				throw Error.ArgumentNull("metadata");

			this.metadata = metadata;
		}
        protected override IEnumerable <MetadataMapping> CreateMappings()
        {
            Log.Info("Creating XSD Lookup to Json data mappings");
            var typeNames = XmlMetadata.Select(x => x.Type).Distinct().Where(x => _lookupTypeRegex.IsMatch(x));

            var mappings = typeNames.Select(
                x => new MetadataMapping
            {
                RootName = _lookupTypeRegex.Match(x).Groups["TypeName"].Value, SourceName = x, TargetName =
                    $"edFi_{_lookupTypeRegex.Match(x).Groups["TypeName"].Value.ToCamelCase(CultureInfo.CurrentCulture)}"
            }).ToArray();

            return(mappings);
        }
        protected override IEnumerable <MetadataMapping> CreateMappings()
        {
            Log.Info("Creating XSD Resource to Json Identity data mappings");
            var typeNames = XmlMetadata.Select(x => x.Type).Distinct().Where(x => _typeRegex.IsMatch(x));

            var mappings = typeNames.Select(
                x =>
            {
                var typeName = _typeRegex.Match(x).Groups["TypeName"].Value;

                return(new MetadataMapping
                {
                    RootName = typeName, SourceName = x,                  //xml
                    TargetName = Inflector.MakeInitialLowerCase(typeName) //json
                });
            }).ToArray();

            return(mappings);
        }
Beispiel #4
0
        public static XmlMetadata GetContentMetadata(int index)
        {
            XmlMetadata obj;

            try
            {
                LoggingHelpers.RecordGeneralEntry("Getting movie metadata XML");

                var result = RowGet.GetDataRowContent(index);

                obj = XmlMetadataHelpers.GetMetadata(result);
            }
            catch (Exception ex)
            {
                LoggingHelpers.RecordException(ex.Message, "GetMovieMetadataError");
                obj = new XmlMetadata();
            }

            return(obj);
        }
        public static XmlMetadata GetTracksListXml(int index)
        {
            XmlMetadata obj;

            try
            {
                LoggingHelpers.RecordGeneralEntry("Getting track list XML");

                var result = RowGet.GetDataRowAlbums(index);

                obj = XmlMetadataHelpers.GetMetadata(result);
            }
            catch (Exception ex)
            {
                LoggingHelpers.RecordException(ex.Message, "GetTrackListError");
                obj = new XmlMetadata();
            }

            return(obj);
        }
Beispiel #6
0
        protected override IEnumerable <MetadataMapping> CreateMappings()
        {
            Log.Info("Creating XSD to Json data mappings");
            var mappings = new List <MetadataMapping>();

            var jsonModels = JsonMetadata.Select(x => x.Model).Distinct()
                             .Where(x => !JsonMetadata.Select(y => y.Type).Contains(x) && !string.IsNullOrEmpty(x))
                             .ToArray();

            var xmlModels = XmlMetadata.Select(x => x.Model).Distinct()
                            .Where(x => !XmlMetadata.Select(y => y.Type).Contains(x))
                            .ToArray();

            var maps = xmlModels.SelectMany(
                x => jsonModels.Select(
                    j =>
                    new
            {
                x, j, m = x.PercentMatchTo(j)
            }
                    )).OrderByDescending(o => o.m).ToList();

            while (maps.Count > 0)
            {
                var map = maps.First();

                // Useful if you want to only look at one mapping
                //if (map.x == "Account")
                //{
                mappings.Add(
                    new MetadataMapping
                {
                    SourceName = map.x, TargetName = map.j, RootName = map.x
                });

                //}
                maps.RemoveAll(x => x.x == map.x || x.j == map.j);
            }

            return(mappings);
        }
        public static XmlMetadata GetMetadata(DataRow result,
                                              string msgNoKey     = "Error occurred whilst getting the unique content key",
                                              string logNoKeyMsg  = "Error occurred whilst getting the unique content key",
                                              string logNoKeyType = "NoUnqKeyError", string column = "key")
        {
            var         obj   = new XmlMetadata();
            XmlDocument reply = null;

            var key = "";

            if (result[column] != null)
            {
                if (!Equals(result[column], string.Empty))
                {
                    key = result[column].ToString();
                }
            }

            if (string.IsNullOrEmpty(key))
            {
                UIMessages.Error(msgNoKey, @"Data Error");
                LoggingHelpers.RecordGeneralEntry("Unique key error");
                LoggingHelpers.RecordException(logNoKeyMsg, logNoKeyType);
            }
            else
            {
                var baseUri = Strings.GetBaseUri(false);
                key = key.TrimStart('/');
                var uri = baseUri + key + "/?X-Plex-Token=";

                LoggingHelpers.RecordGeneralEntry("Contacting the API");
                reply = XmlGet.GetXmlTransaction(uri);
            }

            obj.Xml    = reply;
            obj.ApiUri = $"/{key}";
            return(obj);
        }
Beispiel #8
0
		protected XmlContext(XmlContext parent) : base(parent)
		{
			this.metadata = parent.metadata;
		}
		public static void SetXmlMeta(this DictionaryAdapterMeta meta, XmlMetadata xmlMeta)
		{
			meta.ExtendedProperties[XmlMetaKey] = xmlMeta;
		}