private void PersistMetadata() { var metadata = new GlimpseMetadata { Version = Version, Hash = Configuration.Hash }; var tabMetadata = metadata.Tabs; foreach (var tab in Configuration.Tabs) { var metadataInstance = new TabMetadata(); var documentationTab = tab as IDocumentation; if (documentationTab != null) { metadataInstance.DocumentationUri = documentationTab.DocumentationUri; } var layoutControlTab = tab as ILayoutControl; if (layoutControlTab != null) { metadataInstance.KeysHeadings = layoutControlTab.KeysHeadings; } var layoutTab = tab as ITabLayout; if (layoutTab != null) { metadataInstance.Layout = layoutTab.GetLayout(); } if (metadataInstance.HasMetadata) { tabMetadata[CreateKey(tab)] = metadataInstance; } } var resources = metadata.Resources; var endpoint = Configuration.ResourceEndpoint; var logger = Configuration.Logger; foreach (var resource in Configuration.Resources) { var resourceKey = CreateKey(resource); if (resources.ContainsKey(resourceKey)) { logger.Warn(Resources.GlimpseRuntimePersistMetadataMultipleResourceWarning, resource.Name); } resources[resourceKey] = endpoint.GenerateUriTemplate(resource, Configuration.EndpointBaseUri, logger); } Configuration.PersistenceStore.Save(metadata); }
public void ConvertAGlimpseMetadataObject() { var metadata = new GlimpseMetadata(); var converter = new GlimpseMetadataConverter(); var obj = converter.Convert(metadata); var result = obj as IDictionary<string, object>; Assert.NotNull(result); Assert.True(result.ContainsKey("version")); Assert.True(result.ContainsKey("plugins")); Assert.True(result.ContainsKey("resources")); }
public void ReturnResourceResult() { var metadata = new GlimpseMetadata(); var storeMock = new Mock<IReadOnlyPersistenceStore>(); storeMock.Setup(s => s.GetMetadata()).Returns(metadata); var contextMock = new Mock<IResourceContext>(); contextMock.Setup(c => c.PersistenceStore).Returns(storeMock.Object); contextMock.Setup(c => c.Parameters[ResourceParameter.Callback.Name]).Returns("a string"); var resource = new MetadataResource(); var result = resource.Execute(contextMock.Object); Assert.NotNull(result); }
/// <summary> /// Saves the specified system metadata. /// </summary> /// <param name="metadata">The metadata.</param> public void Save(GlimpseMetadata metadata) { Metadata = metadata; }
public virtual void Save(GlimpseMetadata metadata) { Interlocked.Exchange(ref _metadata, metadata); }