Exemple #1
0
 private async Task SetMetadata(string prefix, StoreMetadata metadata) =>
 await _redis.GetDatabase().StringSetAsync(
     prefix + ":big_segments_synchronized_on",
     metadata.LastUpToDate.HasValue ?
     metadata.LastUpToDate.Value.Value.ToString() :
     ""
     );
        public void StatusProviderDelegatesToStoreWrapper()
        {
            var storeTimestamp = UnixMillisecondTime.Now.PlusMillis(-1000);
            var storeMetadata  = new StoreMetadata {
                LastUpToDate = storeTimestamp
            };
            var storeMock        = new Mock <IBigSegmentStore>();
            var store            = storeMock.Object;
            var storeFactoryMock = new Mock <IBigSegmentStoreFactory>();
            var storeFactory     = storeFactoryMock.Object;

            storeFactoryMock.Setup(f => f.CreateBigSegmentStore(BasicContext)).Returns(store);
            storeMock.Setup(s => s.GetMetadataAsync()).ReturnsAsync(storeMetadata);

            var bsConfig = Components.BigSegments(storeFactory)
                           .StatusPollInterval(TimeSpan.FromMilliseconds(1))
                           .StaleAfter(TimeSpan.FromDays(1));

            using (var sw = new BigSegmentStoreWrapper(
                       bsConfig.CreateBigSegmentsConfiguration(BasicContext),
                       BasicTaskExecutor,
                       TestLogger
                       ))
            {
                var sp     = new BigSegmentStoreStatusProviderImpl(sw);
                var status = sp.Status;
                Assert.True(status.Available);
                Assert.False(status.Stale);
            }
        }
Exemple #3
0
        private void LoadAndDisplayData()
        {
            if (string.IsNullOrEmpty(CurrentStoreName))
            {
                this.hdivNoStoreTypeSelected.Visible = true;
                return;
            }

            var storeService = new StoreService(new ExcludedStoresService());

            Store = storeService.GetMetadata(CurrentStoreName);

            if (Store == null)
            {
                this.hdivStoreTypeDoesntExist.Visible = true;
                return;
            }

            this.hdivStoreTypeSelected.Visible = true;

            this.repColumnsHeader.DataSource = Store.Columns;
            this.repForm.DataSource          = Store.Columns;
            this.repColumnsHeader.DataBind();
            this.repForm.DataBind();
        }
Exemple #4
0
        private static List <List <string> > FormatData(StoreMetadata storeMetadata, IEnumerable <PropertyBag> data)
        {
            var stringData = new List <List <string> >();

            foreach (var row in data)
            {
                var item = new List <string> {
                    row.Id.ToString()
                };

                item.AddRange(
                    storeMetadata.Columns.Select(
                        column =>
                {
                    if (row.Keys.Any(s => s == column.PropertyName) && row[column.PropertyName] != null)
                    {
                        var s = row[column.PropertyName].ToString();
                        return(Truncate(s));
                    }

                    return(null);
                }));

                stringData.Add(item);
            }

            return(stringData);
        }
        public async void ValidMetadata()
        {
            using (var store = await MakeEmptyStore())
            {
                var metadata = new StoreMetadata {
                    LastUpToDate = UnixMillisecondTime.Now
                };
                await Configuration.SetMetadataAction(prefix, metadata);

                var result = await store.GetMetadataAsync();

                Assert.NotNull(result);
                Assert.Equal(metadata.LastUpToDate, result.Value.LastUpToDate);
            }
        }
Exemple #6
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            if (!SecurityHelper.CheckAccess())
            {
                AccessDenied();
            }

            if (IsPostBack)
            {
                return;
            }

            GetQueryStringParameters();
            Store = _storeService.GetMetadata(CurrentStoreName);

            LoadAndDisplayData();
        }
Exemple #7
0
        private static List <List <string> > FilterAndFormatData(StoreMetadata storeMetadata, IEnumerable <PropertyBag> data, string search)
        {
            var stringData = new List <List <string> >();

            foreach (var row in data)
            {
                bool containsSearchCriteria = string.IsNullOrEmpty(search);

                var item = new List <string> {
                    row.Id.ToString()
                };
                if (!containsSearchCriteria && row.Id.ToString().Contains(search))
                {
                    containsSearchCriteria = true;
                }

                foreach (var column in storeMetadata.Columns)
                {
                    if (row[column.PropertyName] != null)
                    {
                        var value = row[column.PropertyName].ToString();
                        item.Add(Truncate(value));

                        if (!containsSearchCriteria && value.Contains(search))
                        {
                            containsSearchCriteria = true;
                        }
                    }
                    else
                    {
                        item.Add(null);
                    }
                }

                if (containsSearchCriteria)
                {
                    stringData.Add(item);
                }
            }

            return(stringData);
        }
 private async Task SetMetadata(string prefix, StoreMetadata metadata)
 {
     var client    = CreateTestClient();
     var key       = prefix + ":" + DynamoDBBigSegmentStoreImpl.MetadataKey;
     var timeValue = metadata.LastUpToDate.HasValue ?
                     metadata.LastUpToDate.Value.Value.ToString() : null;
     await client.PutItemAsync(new PutItemRequest(TableName,
                                                  new Dictionary <string, AttributeValue>
     {
         { DynamoDB.DataStorePartitionKey, new AttributeValue {
               S = key
           } },
         { DynamoDB.DataStoreSortKey, new AttributeValue {
               S = key
           } },
         { DynamoDBBigSegmentStoreImpl.SyncTimeAttr, new AttributeValue {
               N = timeValue
           } }
     }));
 }
Exemple #9
0
        private static List<List<string>> FormatData(StoreMetadata storeMetadata, IEnumerable<PropertyBag> data)
        {
            var stringData = new List<List<string>>();
            foreach (var row in data)
            {
                var item = new List<string> { row.Id.ToString() };

                item.AddRange(
                        storeMetadata.Columns.Select(
                                column =>
                                    {
                                        if (row.Keys.Any(s => s == column.PropertyName) && row[column.PropertyName] != null)
                                        {
                                            var s = row[column.PropertyName].ToString();
                                            return Truncate(s);
                                        }

                                        return null;
                                    }));

                stringData.Add(item);
            }

            return stringData;
        }
Exemple #10
0
        private static List<List<string>> FilterAndFormatData(StoreMetadata storeMetadata, IEnumerable<PropertyBag> data, string search)
        {
            var stringData = new List<List<string>>();
            foreach (var row in data)
            {
                bool containsSearchCriteria = string.IsNullOrEmpty(search);

                var item = new List<string> { row.Id.ToString() };
                if (!containsSearchCriteria && row.Id.ToString().Contains(search))
                {
                    containsSearchCriteria = true;
                }

                foreach (var column in storeMetadata.Columns)
                {
                    if (row[column.PropertyName] != null)
                    {
                        var value = row[column.PropertyName].ToString();
                        item.Add(Truncate(value));

                        if (!containsSearchCriteria && value.Contains(search))
                        {
                            containsSearchCriteria = true;
                        }
                    }
                    else
                    {
                        item.Add(null);
                    }
                }

                if (containsSearchCriteria)
                {
                    stringData.Add(item);
                }
            }

            return stringData;
        }
 private Task SetMetadata(string prefix, StoreMetadata metadata)
 {
     GetOrCreateDataSet(prefix).Metadata = metadata;
     return(Task.CompletedTask);
 }