Exemplo n.º 1
0
        // Show how to use response-profile
        private static void ResponseProfileExample()
        {
            KalturaClient client = new KalturaClient(GetConfig());

            client.KS = client.GenerateSession(ADMIN_SECRET, USER_ID, KalturaSessionType.ADMIN, PARTNER_ID, 86400, "");

            int entriesTotalCount         = 4;
            int metadataProfileTotalCount = 2;
            int metadataPageSize          = 2;

            IList <KalturaMediaEntry> entries = createEntriesWithMetadataObjects(entriesTotalCount, metadataProfileTotalCount);

            KalturaMediaEntryFilter entriesFilter = new KalturaMediaEntryFilter();

            entriesFilter.StatusIn = KalturaEntryStatus.PENDING.ToString() + "," + KalturaEntryStatus.NO_CONTENT.ToString();
            entriesFilter.TagsLike = uniqueTag;

            KalturaFilterPager entriesPager = new KalturaFilterPager();

            entriesPager.PageSize = entriesTotalCount;

            KalturaMetadataFilter metadataFilter = new KalturaMetadataFilter();

            metadataFilter.MetadataObjectTypeEqual = KalturaMetadataObjectType.ENTRY;

            KalturaResponseProfileMapping metadataMapping = new KalturaResponseProfileMapping();

            metadataMapping.FilterProperty = "objectIdEqual";
            metadataMapping.ParentProperty = "id";

            IList <KalturaResponseProfileMapping> metadataMappings = new List <KalturaResponseProfileMapping>();

            metadataMappings.Add(metadataMapping);

            KalturaFilterPager metadataPager = new KalturaFilterPager();

            metadataPager.PageSize = metadataPageSize;

            KalturaDetachedResponseProfile metadataResponseProfile = new KalturaDetachedResponseProfile();

            metadataResponseProfile.Name     = "metadata_" + uniqueTag;
            metadataResponseProfile.Type     = KalturaResponseProfileType.INCLUDE_FIELDS;
            metadataResponseProfile.Fields   = "id,objectId,createdAt, xml";
            metadataResponseProfile.Filter   = metadataFilter;
            metadataResponseProfile.Pager    = metadataPager;
            metadataResponseProfile.Mappings = metadataMappings;

            IList <KalturaDetachedResponseProfile> metadataResponseProfiles = new List <KalturaDetachedResponseProfile>();

            metadataResponseProfiles.Add(metadataResponseProfile);

            KalturaResponseProfile responseProfile = new KalturaResponseProfile();

            responseProfile.Name            = "test_" + uniqueTag;
            responseProfile.SystemName      = "test_" + uniqueTag;
            responseProfile.Type            = KalturaResponseProfileType.INCLUDE_FIELDS;
            responseProfile.Fields          = "id,name,createdAt";
            responseProfile.RelatedProfiles = metadataResponseProfiles;

            responseProfile = client.ResponseProfileService.Add(responseProfile);

            KalturaResponseProfileHolder nestedResponseProfile = new KalturaResponseProfileHolder();

            nestedResponseProfile.Id = responseProfile.Id;

            client.ResponseProfile = nestedResponseProfile;
            IList <KalturaBaseEntry> list = client.BaseEntryService.List(entriesFilter, entriesPager).Objects;

            if (entriesTotalCount != list.Count)
            {
                throw new Exception("entriesTotalCount[" + entriesTotalCount + "] != list.Count[" + list.Count + "]");
            }

            foreach (KalturaBaseEntry entry in list)
            {
                if (entry.RelatedObjects == null)
                {
                    throw new Exception("Related objects are missing");
                }

                if (!entry.RelatedObjects.ContainsKey(metadataResponseProfile.Name))
                {
                    throw new Exception("Related object [" + metadataResponseProfile.Name + "] is missing");
                }

                if (!(entry.RelatedObjects[metadataResponseProfile.Name] is KalturaMetadataListResponse))
                {
                    throw new Exception("Related object [" + metadataResponseProfile.Name + "] has wrong type [" + entry.RelatedObjects[metadataResponseProfile.Name].GetType() + "]");
                }
                KalturaMetadataListResponse metadataListResponse = (KalturaMetadataListResponse)entry.RelatedObjects[metadataResponseProfile.Name];

                if (metadataListResponse.Objects.Count != metadataProfileTotalCount)
                {
                    throw new Exception("Related object [" + metadataResponseProfile.Name + "] has wrong number of objects");
                }

                foreach (KalturaMetadata metadata in metadataListResponse.Objects)
                {
                    if (metadata.ObjectId != entry.Id)
                    {
                        throw new Exception("Related object [" + metadataResponseProfile.Name + "] metadata [" + metadata.Id + "] related to wrong object [" + metadata.ObjectId + "]");
                    }
                }
            }
        }
Exemplo n.º 2
0
        // Show how to use response-profile
        private static void ResponseProfileExample()
        {
            KalturaClient client = new KalturaClient(GetConfig());
            client.KS = client.GenerateSession(ADMIN_SECRET, USER_ID, KalturaSessionType.ADMIN, PARTNER_ID, 86400, "");

            int entriesTotalCount = 4;
            int metadataProfileTotalCount = 2;
            int metadataPageSize = 2;

            IList<KalturaMediaEntry> entries = createEntriesWithMetadataObjects(entriesTotalCount, metadataProfileTotalCount);

            KalturaMediaEntryFilter entriesFilter = new KalturaMediaEntryFilter();
            entriesFilter.StatusIn = KalturaEntryStatus.PENDING.ToString() + "," + KalturaEntryStatus.NO_CONTENT.ToString();
            entriesFilter.TagsLike = uniqueTag;

            KalturaFilterPager entriesPager = new KalturaFilterPager();
            entriesPager.PageSize = entriesTotalCount;

            KalturaMetadataFilter metadataFilter = new KalturaMetadataFilter();
            metadataFilter.MetadataObjectTypeEqual = KalturaMetadataObjectType.ENTRY;

            KalturaResponseProfileMapping metadataMapping = new KalturaResponseProfileMapping();
            metadataMapping.FilterProperty = "objectIdEqual";
            metadataMapping.ParentProperty = "id";

            IList<KalturaResponseProfileMapping> metadataMappings = new List<KalturaResponseProfileMapping>();
            metadataMappings.Add(metadataMapping);

            KalturaFilterPager metadataPager = new KalturaFilterPager();
            metadataPager.PageSize = metadataPageSize;

            KalturaDetachedResponseProfile metadataResponseProfile = new KalturaDetachedResponseProfile();
            metadataResponseProfile.Name = "metadata_" + uniqueTag;
            metadataResponseProfile.Type = KalturaResponseProfileType.INCLUDE_FIELDS;
            metadataResponseProfile.Fields = "id,objectId,createdAt, xml";
            metadataResponseProfile.Filter = metadataFilter;
            metadataResponseProfile.Pager = metadataPager;
            metadataResponseProfile.Mappings = metadataMappings;

            IList<KalturaDetachedResponseProfile> metadataResponseProfiles = new List<KalturaDetachedResponseProfile>();
            metadataResponseProfiles.Add(metadataResponseProfile);

            KalturaResponseProfile responseProfile = new KalturaResponseProfile();
            responseProfile.Name = "test_" + uniqueTag;
            responseProfile.SystemName = "test_" + uniqueTag;
            responseProfile.Type = KalturaResponseProfileType.INCLUDE_FIELDS;
            responseProfile.Fields = "id,name,createdAt";
            responseProfile.RelatedProfiles = metadataResponseProfiles;

            responseProfile = client.ResponseProfileService.Add(responseProfile);

            KalturaResponseProfileHolder nestedResponseProfile = new KalturaResponseProfileHolder();
            nestedResponseProfile.Id = responseProfile.Id;

            client.ResponseProfile = nestedResponseProfile;
            IList<KalturaBaseEntry> list = client.BaseEntryService.List(entriesFilter, entriesPager).Objects;

            if(entriesTotalCount != list.Count)
            {
                throw new Exception("entriesTotalCount[" + entriesTotalCount + "] != list.Count[" + list.Count + "]");
            }

            foreach(KalturaBaseEntry entry in list)
            {
                if(entry.RelatedObjects == null)
                {
                    throw new Exception("Related objects are missing");
                }

                if(!entry.RelatedObjects.ContainsKey(metadataResponseProfile.Name))
                {
                    throw new Exception("Related object [" + metadataResponseProfile.Name + "] is missing");
                }

                if (!(entry.RelatedObjects[metadataResponseProfile.Name] is KalturaMetadataListResponse))
                {
                    throw new Exception("Related object [" + metadataResponseProfile.Name + "] has wrong type [" + entry.RelatedObjects[metadataResponseProfile.Name].GetType() + "]");
                }
                KalturaMetadataListResponse metadataListResponse = (KalturaMetadataListResponse)entry.RelatedObjects[metadataResponseProfile.Name];

                if(metadataListResponse.Objects.Count != metadataProfileTotalCount)
                {
                    throw new Exception("Related object [" + metadataResponseProfile.Name + "] has wrong number of objects");
                }

                foreach(KalturaMetadata metadata in metadataListResponse.Objects)
                {
                    if (metadata.ObjectId != entry.Id)
                    {
                        throw new Exception("Related object [" + metadataResponseProfile.Name + "] metadata [" + metadata.Id + "] related to wrong object [" + metadata.ObjectId + "]");
                    }
                }
            }
        }