public override IBlobContainer Create(string name)
        {
            var configuration = ConfigurationProvider.Get(name);
            var blobProvider  = ProviderSelector.Get(name);

            if (blobProvider.GetType().IsAssignableTo <ISpeedwaveBlobProvider>())
            {
                return(new SpeedwaveBlobContainer(
                           name,
                           configuration,
                           (ISpeedwaveBlobProvider)blobProvider,
                           CurrentTenant,
                           CancellationTokenProvider,
                           ServiceProvider));
            }
            else
            {
                return(new BlobContainer(
                           name,
                           configuration,
                           blobProvider,
                           CurrentTenant,
                           CancellationTokenProvider,
                           ServiceProvider));
            }
        }
        public ITextStructureNavigator CreateTextStructureNavigator(ITextBuffer textBuffer, IContentType contentType)
        {
            if (textBuffer is null)
            {
                throw new ArgumentNullException(nameof(textBuffer));
            }
            if (contentType is null)
            {
                throw new ArgumentNullException(nameof(contentType));
            }

            if (providerSelector is null)
            {
                providerSelector = new ProviderSelector <ITextStructureNavigatorProvider, IContentTypeMetadata>(contentTypeRegistryService, textStructureNavigatorProviders);
            }
            foreach (var p in providerSelector.GetProviders(contentType))
            {
                var nav = p.Value.CreateTextStructureNavigator(textBuffer);
                if (nav is not null)
                {
                    return(nav);
                }
            }
            Debug.Fail($"Couldn't find a {nameof(ITextStructureNavigatorProvider)}");
            return(new TextStructureNavigator(textBuffer, contentTypeRegistryService.UnknownContentType));
        }
Example #3
0
        /// <summary>
        /// Updates an existing binary property value in the database and the blob storage.
        /// </summary>
        /// <param name="value">Binary data to update.</param>
        /// <param name="dataContext">Database accessor object.</param>
        /// <returns>A Task that represents the asynchronous operation.</returns>
        public async Task UpdateBinaryPropertyAsync(BinaryDataValue value, SnDataContext dataContext)
        {
            var blobProvider = ProviderSelector.GetProvider(value.Size);
            await DataProvider.UpdateBinaryPropertyAsync(blobProvider, value, dataContext);

            dataContext.NeedToCleanupFiles = true;
        }
Example #4
0
 public ITextParagraphPropertiesFactoryService Select(IContentType contentType)
 {
     if (providerSelector == null)
     {
         providerSelector = new ProviderSelector <ITextParagraphPropertiesFactoryService, IContentTypeMetadata>(contentTypeRegistryService, textParagraphPropertiesFactoryServices);
     }
     return(providerSelector.GetProviders(contentType).FirstOrDefault()?.Value);
 }
Example #5
0
        /// <summary>
        /// Starts a chunked save operation on an existing content. It does not write any binary data
        /// to the storage, it only makes prerequisite operations - e.g. allocates a new slot in the storage.
        /// </summary>
        /// <param name="versionId">Content version id.</param>
        /// <param name="propertyTypeId">Binary property type id.</param>
        /// <param name="fullSize">Full size (stream length) of the binary value.</param>
        /// <param name="cancellationToken">The token to monitor for cancellation requests.</param>
        /// <returns>A Task that represents the asynchronous operation containing a token with
        /// all the information (db record ids) that identify a single entry in the blob storage.</returns>
        public Task <string> StartChunkAsync(int versionId, int propertyTypeId, long fullSize,
                                             CancellationToken cancellationToken)
        {
            var blobProvider = ProviderSelector.GetProvider(fullSize);

            return(DataProvider.StartChunkAsync(blobProvider, versionId, propertyTypeId, fullSize,
                                                cancellationToken));
        }
		ISmartIndent CreateSmartIndent(ITextView textView) {
			if (providerSelector == null)
				providerSelector = new ProviderSelector<ISmartIndentProvider, IContentTypeMetadata>(contentTypeRegistryService, smartIndentProviders);
			var contentType = textView.TextDataModel.ContentType;
			foreach (var p in providerSelector.GetProviders(contentType)) {
				var smartIndent = p.Value.CreateSmartIndent(textView);
				if (smartIndent != null)
					return smartIndent;
			}

			return new DefaultSmartIndent(textView);
		}
Example #7
0
        public virtual IBlobContainer Create(string name)
        {
            var configuration = ConfigurationProvider.Get(name);

            return(new BlobContainer(
                       name,
                       configuration,
                       ProviderSelector.Get(name),
                       CurrentTenant,
                       CancellationTokenProvider
                       ));
        }
Example #8
0
        /// <summary>
        /// Inserts a new binary record into the metadata database containing a new or an already existing file id,
        /// removing the previous record if the content is not new.
        /// </summary>
        /// <param name="value">Binary data to insert.</param>
        /// <param name="versionId">Content version id.</param>
        /// <param name="propertyTypeId">Binary property type id.</param>
        /// <param name="isNewNode">Whether this value belongs to a new or an existing node.</param>
        /// <param name="dataContext">Database accessor object.</param>
        /// <returns>A Task that represents the asynchronous operation.</returns>
        public Task InsertBinaryPropertyAsync(BinaryDataValue value, int versionId, int propertyTypeId, bool isNewNode, SnDataContext dataContext)
        {
            var blobProvider = ProviderSelector.GetProvider(value.Size);

            if (value.FileId > 0 && value.Stream == null)
            {
                return(DataProvider.InsertBinaryPropertyWithFileIdAsync(value, versionId, propertyTypeId, isNewNode, dataContext));
            }
            else
            {
                return(DataProvider.InsertBinaryPropertyAsync(blobProvider, value, versionId, propertyTypeId, isNewNode, dataContext));
            }
        }
Example #9
0
        public static IServiceCollection ConfigureAdminUi(this IServiceCollection services, IConfiguration configuration)
        {
            services.ConfigureProviderForContext <EventStoreContext>(DetectDatabase(configuration));
            services.AddDbContext <EventStoreContext>(ProviderSelector.WithProviderAutoSelection(DetectDatabase(configuration)));

            services
            .ConfigureJpAdminServices <AspNetUser>()
            .ConfigureJpAdminStorageServices()
            .AddJpAdminContext(ProviderSelector.WithProviderAutoSelection(DetectDatabase(configuration)))
            .AddEventStore <EventStoreContext>();

            return(services);
        }
        public virtual IFileContainer Create(string name)
        {
            var configuration = ConfigurationProvider.Get(name);

            return(new FileContainer(
                       name,
                       configuration,
                       ProviderSelector.Get(name),
                       CurrentTenant,
                       CancellationTokenProvider,
                       FileNormalizeNamingService,
                       ServiceProvider
                       ));
        }
		public ILineTransformProvider Create(IWpfTextView textView, bool removeExtraTextLineVerticalPixels) {
			if (providerSelector == null)
				providerSelector = new ProviderSelector<ILineTransformSourceProvider, IContentTypeAndTextViewRoleMetadata>(contentTypeRegistryService, lineTransformSourceProviders);
			var contentType = textView.TextDataModel.ContentType;
			var list = new List<ILineTransformSource>();
			foreach (var p in providerSelector.GetProviders(contentType)) {
				if (!textView.Roles.ContainsAny(p.Metadata.TextViewRoles))
					continue;
				var source = p.Value.Create(textView);
				if (source != null)
					list.Add(source);
			}
			return new LineTransformProvider(list.ToArray(), removeExtraTextLineVerticalPixels);
		}
Example #12
0
 private void BLHChannelAccessBarButton_ItemClick(object sender, ItemClickEventArgs e)
 {
     using (var dialog = new ProviderSelector())
     {
         var result = dialog.Display();
         if (!string.IsNullOrEmpty(result) && Settings.Default.ChannelAccessProvider != result)
         {
             Settings.Default.ChannelAccessProvider = result;
             MessageBox.Show(
                 "Changes were saved an will take affect after the application restart.",
                 "Changes saved",
                 MessageBoxButtons.OK,
                 MessageBoxIcon.Information);
         }
     }
 }
		public ITextStructureNavigator CreateTextStructureNavigator(ITextBuffer textBuffer, IContentType contentType) {
			if (textBuffer == null)
				throw new ArgumentNullException(nameof(textBuffer));
			if (contentType == null)
				throw new ArgumentNullException(nameof(contentType));

			if (providerSelector == null)
				providerSelector = new ProviderSelector<ITextStructureNavigatorProvider, IContentTypeMetadata>(contentTypeRegistryService, textStructureNavigatorProviders);
			foreach (var p in providerSelector.GetProviders(contentType)) {
				var nav = p.Value.CreateTextStructureNavigator(textBuffer);
				if (nav != null)
					return nav;
			}
			Debug.Fail($"Couldn't find a {nameof(ITextStructureNavigatorProvider)}");
			return new TextStructureNavigator(textBuffer, contentTypeRegistryService.UnknownContentType);
		}
Example #14
0
        public override IBlobContainer Create(string name)
        {
            var configuration = ConfigurationProvider.Get(name);
            DigniteAbpBlobContainer result = null;
            var provider = ProviderSelector.Get(name);

            result = new DigniteAbpBlobContainer(
                name,
                configuration,
                provider,
                CurrentTenant,
                CancellationTokenProvider,
                BlobNormalizeNamingService,
                ServiceProvider
                );
            return(result);
        }
        ITextViewModel CreateTextViewModel(ITextDataModel dataModel, ITextViewRoleSet roles)
        {
            if (providerSelector is null)
            {
                providerSelector = new ProviderSelector <ITextViewModelProvider, IContentTypeAndTextViewRoleMetadata>(contentTypeRegistryService, textViewModelProviders);
            }
            var contentType = dataModel.ContentType;

            foreach (var p in providerSelector.GetProviders(contentType))
            {
                var model = p.Value.CreateTextViewModel(dataModel, roles);
                if (!(model is null))
                {
                    return(model);
                }
            }
            return(new TextViewModel(dataModel));
        }
        ISmartIndent CreateSmartIndent(ITextView textView)
        {
            if (providerSelector == null)
            {
                providerSelector = new ProviderSelector <ISmartIndentProvider, IContentTypeMetadata>(contentTypeRegistryService, smartIndentProviders);
            }
            var contentType = textView.TextDataModel.ContentType;

            foreach (var p in providerSelector.GetProviders(contentType))
            {
                var smartIndent = p.Value.CreateSmartIndent(textView);
                if (smartIndent != null)
                {
                    return(smartIndent);
                }
            }

            return(new DefaultSmartIndent(textView));
        }
Example #17
0
        public ILineTransformProvider Create(IWpfTextView textView, bool removeExtraTextLineVerticalPixels)
        {
            if (providerSelector == null)
            {
                providerSelector = new ProviderSelector <ILineTransformSourceProvider, IContentTypeAndTextViewRoleMetadata>(contentTypeRegistryService, lineTransformSourceProviders);
            }
            var contentType = textView.TextDataModel.ContentType;
            var list        = new List <ILineTransformSource>();

            foreach (var p in providerSelector.GetProviders(contentType))
            {
                if (!textView.Roles.ContainsAny(p.Metadata.TextViewRoles))
                {
                    continue;
                }
                var source = p.Value.Create(textView);
                if (source != null)
                {
                    list.Add(source);
                }
            }
            return(new LineTransformProvider(list.ToArray(), removeExtraTextLineVerticalPixels));
        }
Example #18
0
        public virtual IFileContainer Create(string name)
        {
            var configuration = ConfigurationProvider.Get(name);
            var fileProvider  = ProviderSelector.Get(name);

            var fileContainer = ActivatorUtilities.CreateInstance <FileContainer>(
                ServiceProvider,
                name,
                configuration,
                fileProvider);

            return(fileContainer);

            //return new FileContainer(
            //    name,
            //    configuration,
            //    ProviderSelector.Get(name),
            //    CurrentTenant,
            //    CancellationTokenProvider,
            //    FileNormalizeNamingService,
            //    ServiceProvider
            //);
        }
		ITextViewModel CreateTextViewModel(ITextDataModel dataModel, ITextViewRoleSet roles) {
			if (providerSelector == null)
				providerSelector = new ProviderSelector<ITextViewModelProvider, IContentTypeAndTextViewRoleMetadata>(contentTypeRegistryService, textViewModelProviders);
			var contentType = dataModel.ContentType;
			foreach (var p in providerSelector.GetProviders(contentType)) {
				var model = p.Value.CreateTextViewModel(dataModel, roles);
				if (model != null)
					return model;
			}
			return new TextViewModel(dataModel);
		}
		public ITextParagraphPropertiesFactoryService Select(IContentType contentType) {
			if (providerSelector == null)
				providerSelector = new ProviderSelector<ITextParagraphPropertiesFactoryService, IContentTypeMetadata>(contentTypeRegistryService, textParagraphPropertiesFactoryServices);
			return providerSelector.GetProviders(contentType).FirstOrDefault()?.Value;
		}
Example #21
0
 /// <summary>
 /// Gets a provider based on the binary size and the available blob providers in the system.
 /// </summary>
 /// <param name="fullSize">Full binary length.</param>
 public IBlobProvider GetProvider(long fullSize)
 {
     return(ProviderSelector.GetProvider(fullSize));
 }