public ThemeManager(
     IEnumerable<IThemeSelector> themeSelectors, 
     IExtensionManager extensionManager)
 {
     _themeSelectors = themeSelectors;
     _extensionManager = extensionManager;
 }
 public SiteThemeService(IExtensionManager extensionManager, IWorkContextAccessor workContextAccessor)
 {
     _extensionManager = extensionManager;
     _workContextAccessor = workContextAccessor;
     Logger = NullLogger.Instance;
     T = NullLocalizer.Instance;
 }
 public DataMigrationCommands(
     IDataMigrationManager dataMigrationManager,
     IExtensionManager extensionManager
     ) {
     _dataMigrationManager = dataMigrationManager;
     _extensionManager = extensionManager;
 }
Beispiel #4
0
        public PlacementService(
            IContentManager contentManager,
            ISiteThemeService siteThemeService,
            IExtensionManager extensionManager,
            IShapeFactory shapeFactory,
            IShapeTableLocator shapeTableLocator,
            RequestContext requestContext,
            IEnumerable<IContentPartDriver> contentPartDrivers,
            IEnumerable<IContentFieldDriver> contentFieldDrivers,
            IVirtualPathProvider virtualPathProvider,
            IWorkContextAccessor workContextAccessor
            )
        {
            _contentManager = contentManager;
            _siteThemeService = siteThemeService;
            _extensionManager = extensionManager;
            _shapeFactory = shapeFactory;
            _shapeTableLocator = shapeTableLocator;
            _requestContext = requestContext;
            _contentPartDrivers = contentPartDrivers;
            _contentFieldDrivers = contentFieldDrivers;
            _virtualPathProvider = virtualPathProvider;
            _workContextAccessor = workContextAccessor;

            Logger = NullLogger.Instance;
        }
        public void Init() {
            string databaseFileName = Path.GetTempFileName();
            IDataServicesProviderFactory dataServicesProviderFactory = new DataServicesProviderFactory(new[] {
                new Meta<CreateDataServicesProvider>(
                    (dataFolder, connectionString) => new SqlCeDataServicesProvider(dataFolder, connectionString),
                    new Dictionary<string, object> {{"ProviderName", "SqlCe"}})
            });

            var builder = new ContainerBuilder();

            builder.RegisterInstance(new ShellBlueprint());
            builder.RegisterInstance(new ShellSettings { Name = ShellSettings.DefaultName, DataTablePrefix = "Test", DataProvider = "SqlCe" });
            builder.RegisterInstance(dataServicesProviderFactory).As<IDataServicesProviderFactory>();
            builder.RegisterInstance(AppDataFolderTests.CreateAppDataFolder(Path.GetDirectoryName(databaseFileName))).As<IAppDataFolder>();

            builder.RegisterType<SqlCeDataServicesProvider>().As<IDataServicesProvider>();
            builder.RegisterType<SessionConfigurationCache>().As<ISessionConfigurationCache>();
            builder.RegisterType<SessionFactoryHolder>().As<ISessionFactoryHolder>();
            builder.RegisterType<CompositionStrategy>().As<ICompositionStrategy>();
            builder.RegisterType<ExtensionManager>().As<IExtensionManager>();
            builder.RegisterType<SchemaCommandGenerator>().As<ISchemaCommandGenerator>();
            builder.RegisterType<StubCacheManager>().As<ICacheManager>();
            builder.RegisterType<StubParallelCacheContext>().As<IParallelCacheContext>();
            builder.RegisterType<StubAsyncTokenProvider>().As<IAsyncTokenProvider>();
            builder.RegisterType<StubHostEnvironment>().As<IHostEnvironment>();

            _container = builder.Build();
            _extensionManager = _container.Resolve<IExtensionManager>();
            _schemaCommandGenerator = _container.Resolve<ISchemaCommandGenerator>();
        }
        public AdminController(
            IEnumerable<IExtensionDisplayEventHandler> extensionDisplayEventHandlers,
            IOrchardServices services,
            IDataMigrationManager dataMigraitonManager,
            IFeatureManager featureManager,
            ISiteThemeService siteThemeService,
            IExtensionManager extensionManager,
            ShellDescriptor shellDescriptor,
            IPreviewTheme previewTheme, 
            IThemeService themeService,
            IReportsCoordinator reportsCoordinator) {
            Services = services;

            _extensionDisplayEventHandler = extensionDisplayEventHandlers.FirstOrDefault();
            _dataMigrationManager = dataMigraitonManager;
            _siteThemeService = siteThemeService;
            _extensionManager = extensionManager;
            _shellDescriptor = shellDescriptor;
            _featureManager = featureManager;
            _previewTheme = previewTheme;
            _themeService = themeService;
            _reportsCoordinator = reportsCoordinator;

            T = NullLocalizer.Instance;
            Logger = NullLogger.Instance;
        }
 public ModuleService(IOrchardServices orchardServices, IExtensionManager extensionManager,
                      IShellDescriptorManager shellDescriptorManager) {
     Services = orchardServices;
     _extensionManager = extensionManager;
     _shellDescriptorManager = shellDescriptorManager;
     T = NullLocalizer.Instance;
 }
Beispiel #8
0
        public AdminController(
            IEnumerable<IExtensionDisplayEventHandler> extensionDisplayEventHandlers,
            IOrchardServices services,
            IModuleService moduleService,
            IDataMigrationManager dataMigrationManager,
            IReportsCoordinator reportsCoordinator,
            IExtensionManager extensionManager,
            IFeatureManager featureManager,
            IRecipeHarvester recipeHarvester,
            IRecipeManager recipeManager,
            ShellDescriptor shellDescriptor,
            ShellSettings shellSettings,
            IShapeFactory shapeFactory)
        {
            Services = services;
            _extensionDisplayEventHandler = extensionDisplayEventHandlers.FirstOrDefault();
            _moduleService = moduleService;
            _dataMigrationManager = dataMigrationManager;
            _reportsCoordinator = reportsCoordinator;
            _extensionManager = extensionManager;
            _featureManager = featureManager;
            _recipeHarvester = recipeHarvester;
            _recipeManager = recipeManager;
            _shellDescriptor = shellDescriptor;
            _shellSettings = shellSettings;
            Shape = shapeFactory;

            T = NullLocalizer.Instance;
            Logger = NullLogger.Instance;
        }
Beispiel #9
0
        public ThemeService(
            IOrchardServices orchardServices,
            IExtensionManager extensionManager,
            IFeatureManager featureManager,
            IEnumerable<IThemeSelector> themeSelectors,
            IVirtualPathProvider virtualPathProvider,
            ICacheManager cacheManager,
            ISiteThemeService siteThemeService) {

            Services = orchardServices;

            _extensionManager = extensionManager;
            _featureManager = featureManager;
            _themeSelectors = themeSelectors;
            _virtualPathProvider = virtualPathProvider;
            _cacheManager = cacheManager;
            _siteThemeService = siteThemeService;

            if (_featureManager.FeatureDependencyNotification == null) {
                _featureManager.FeatureDependencyNotification = GenerateWarning;
            }

            Logger = NullLogger.Instance;
            T = NullLocalizer.Instance;
        }
        private async Task<CodeRefactoring> GetRefactoringFromProvider(
            CodeRefactoringProvider provider,
            IExtensionManager extensionManager,
            CodeRefactoringContext context)
        {
            context.CancellationToken.ThrowIfCancellationRequested();
            if (extensionManager.IsDisabled(provider))
            {
                return null;
            }

            try
            {
                var actions = await provider.GetRefactoringsAsync(context).ConfigureAwait(false);
                if (actions != null && actions.Count() > 0)
                {
                    return new CodeRefactoring(provider, actions);
                }
            }
            catch (OperationCanceledException)
            {
                // We don't want to catch operation canceled exceptions in the catch block 
                // below. So catch is here and rethrow it.
                throw;
            }
            catch (Exception e)
            {
                extensionManager.HandleException(provider, e);
            }

            return null;
        }
 private async Task AddRefactoringAsync(
     CodeRefactoringProvider provider,
     List<CodeRefactoring> allRefactorings,
     IExtensionManager extensionManager,
     CodeRefactoringContext context)
 {
     try
     {
         if (!extensionManager.IsDisabled(provider))
         {
             using (Logger.LogBlock(FeatureId.CodeActions, FunctionId.CodeAction_AddRefactoring, codeRefactoringDescription, provider, context.Span, context.CancellationToken))
             {
                 var actions = await provider.GetRefactoringsAsync(context).ConfigureAwait(false);
                 if (actions != null && actions.Count() > 0)
                 {
                     allRefactorings.Add(new CodeRefactoring(provider, actions));
                 }
             }
         }
     }
     catch (OperationCanceledException)
     {
         throw;
     }
     catch (Exception e)
     {
         extensionManager.HandleException(provider, e);
     }
 }
 public HackInstallationGenerator(
     IExtensionManager extensionManager,
     IEnumerable<IExtensionManagerEvents> extensionEvents)
 {
     _extensionManager = extensionManager;
     _extensionEvents = extensionEvents;
     Logger = NullLogger.Instance;
 }
Beispiel #13
0
 public RecipesCommands(
     IRecipeHarvester recipeHarvester,
     IExtensionManager extensionManager,
     IStringLocalizer<RecipesCommands> localizer) : base(localizer)
 {
     _recipeHarvester = recipeHarvester;
     _extensionManager = extensionManager;
 }
 public void Init() {
     var builder = new ContainerBuilder();
     _folders = new StubFolders();
     builder.RegisterInstance(_folders).As<IExtensionFolders>();
     builder.RegisterType<ExtensionManager>().As<IExtensionManager>();
     _container = builder.Build();
     _manager = _container.Resolve<IExtensionManager>();
 }
Beispiel #15
0
 public ThemeService(
     IExtensionManager extensionManager,
     IEnumerable<IThemeSelector> themeSelectors)
 {
     _extensionManager = extensionManager;
     _themeSelectors = themeSelectors;
     Logger = NullLogger.Instance;
 }
 public ThemeLayoutAlternatesProvider(
     ISiteThemeService siteThemeService,
     IExtensionManager extensionManager
     )
 {
     _siteThemeService = siteThemeService;
     _extensionManager = extensionManager;
 }
 public ShapePlacementParsingStrategy(
     IExtensionManager extensionManager,
     ShellDescriptor shellDescriptor,
     IPlacementFileParser placementFileParser) {
     _extensionManager = extensionManager;
     _shellDescriptor = shellDescriptor;
     _placementFileParser = placementFileParser;
 }
        private static IEnumerable<IInstalledToolkitInfo> GetInstalledToolkits(IExtensionManager extensionManager, ISchemaReader reader)
        {
            Guard.NotNull(() => extensionManager, extensionManager);

            return extensionManager.GetInstalledExtensions()
                .Where(extension => IsToolkit(extension))
                .Select(extension => TryCreateRegistration(reader, extension))
                .Where(registration => registration != null);
        }
 public AdminController(IOrchardServices orchardServices, IExtensionManager extensionManager, ILightboxService lightboxService)
 {
     _orchardServices = orchardServices;
     var moduleDescriptor = extensionManager.GetExtension("Duk.Lightbox.Orchard");
     _modulePath = VirtualPathUtility.AppendTrailingSlash(VirtualPathUtility.Combine(
         VirtualPathUtility.AppendTrailingSlash(VirtualPathUtility.ToAbsolute(moduleDescriptor.Location)), 
         moduleDescriptor.Path));
     _lightboxService = lightboxService;
 }
Beispiel #20
0
        public WidgetsService(
            IContentManager contentManager,
            IFeatureManager featureManager,
            IExtensionManager extensionManager) {

            _contentManager = contentManager;
            _featureManager = featureManager;
            _extensionManager = extensionManager;
        }
        public DefaultExtensionMonitoringCoordinator(IVirtualPathMonitor virtualPathMonitor, IAsyncTokenProvider asyncTokenProvider, IExtensionManager extensionManager, IEnumerable<IExtensionLoader> loaders)
        {
            _virtualPathMonitor = virtualPathMonitor;
            _asyncTokenProvider = asyncTokenProvider;
            _extensionManager = extensionManager;
            _loaders = loaders;

            Logger = NullLogger.Instance;
        }
        public DefaultAssemblyProbingFolder(IAppDataFolder appDataFolder, IAssemblyLoader assemblyLoader, IExtensionManager extensionManager, IApplicationFolder applicationFolder)
        {
            _appDataFolder = appDataFolder;
            _assemblyLoader = assemblyLoader;
            _extensionManager = extensionManager;
            _applicationFolder = applicationFolder;

            Logger = NullLogger.Instance;
        }
Beispiel #23
0
        public FeatureManager(
            IExtensionManager extensionManager,
            IShellDescriptorManager shellDescriptorManager) {
            _extensionManager = extensionManager;
            _shellDescriptorManager = shellDescriptorManager;

            T = NullLocalizer.Instance;
            Logger = NullLogger.Instance;
        }
        public CodeGenerationCommands(
            IExtensionManager extensionManager,
            ISchemaCommandGenerator schemaCommandGenerator) {
            _extensionManager = extensionManager;
            _schemaCommandGenerator = schemaCommandGenerator;

            // Default is to include in the solution when generating modules / themes
            IncludeInSolution = true;
        }
 public DefaultRoutePublisher(RouteCollection routeCollection, ShellSettings shellSettings, IExtensionManager extensionManager, IWebWorkContextAccessor webWorkContextAccessor, IRunningShellTable runningShellTable, IEnumerable<IRoutePublisherEventHandler> routePublisherEventHandlers)
 {
     _routeCollection = routeCollection;
     _shellSettings = shellSettings;
     _extensionManager = extensionManager;
     _webWorkContextAccessor = webWorkContextAccessor;
     _runningShellTable = runningShellTable;
     _routePublisherEventHandlers = routePublisherEventHandlers;
 }
Beispiel #26
0
        public ModuleStep(
            IPackagingSourceManager packagingSourceManager, 
            IPackageManager packageManager, 
            IExtensionManager extensionManager,
            RecipeExecutionLogger logger) : base(logger) {

            _packagingSourceManager = packagingSourceManager;
            _packageManager = packageManager;
            _extensionManager = extensionManager;
        }
Beispiel #27
0
        public PackageManager(
            IExtensionManager extensionManager,
            IPackageBuilder packageBuilder,
            IPackageInstaller packageExpander) {
            _extensionManager = extensionManager;
            _packageBuilder = packageBuilder;
            _packageExpander = packageExpander;

            T = NullLocalizer.Instance;
        }
Beispiel #28
0
 public RecipesCommands(
     IRecipeHarvester recipeHarvester,
     IRecipeManager recipeManager,
     IExtensionManager extensionManager,
     IRecipeResultAccessor recipeResultAccessor) {
     _recipeHarvester = recipeHarvester;
     _recipeManager = recipeManager;
     _extensionManager = extensionManager;
     _recipeResultAccessor = recipeResultAccessor;
 }
Beispiel #29
0
 public SiteThemeService(
     ISiteService siteService,
     IExtensionManager extensionManager,
     IMemoryCache memoryCache
     )
 {
     _siteService = siteService;
     _extensionManager = extensionManager;
     _memoryCache = memoryCache;
 }
Beispiel #30
0
        public SiteThemeService(
            IOrchardServices orchardServices,
            IExtensionManager extensionManager,
            ICacheManager cacheManager,
            ISignals signals) {

            _orchardServices = orchardServices;
            _extensionManager = extensionManager;
            _cacheManager = cacheManager;
            _signals = signals;
        }
Beispiel #31
0
        public AdminController(

            IExtensionManager extensionManager,
            IHtmlLocalizer <AdminController> localizer,
            IShellDescriptorManager shellDescriptorManager,
            IShellFeaturesManager shellFeaturesManager,
            IAuthorizationService authorizationService,
            ShellSettings shellSettings,
            INotifier notifier)
        {
            _extensionManager     = extensionManager;
            _shellFeaturesManager = shellFeaturesManager;
            _authorizationService = authorizationService;
            _shellSettings        = shellSettings;
            _notifier             = notifier;

            T = localizer;
        }
        public static Func <SyntaxToken, List <TExtension> > CreateTokenExtensionGetter <TExtension>(
            this IExtensionManager extensionManager, IEnumerable <TExtension> extensions, Func <TExtension, IEnumerable <int> > tokenKindGetter)
        {
            var map = new ConcurrentDictionary <int, List <TExtension> >();
            Func <int, List <TExtension> > getter =
                k =>
            {
                var query = from e in extensions
                            let kinds = extensionManager.PerformFunction(e, () => tokenKindGetter(e))
                                        where kinds != null
                                        where !kinds.Any() || kinds.Contains(k)
                                        select e;

                return(query.ToList());
            };

            return(t => map.GetOrAdd(t.RawKind, getter));
        }
        public DataMigrationManager(
            IEnumerable <IDataMigration> dataMigrations,
            IRepository <DataMigrationRecord> dataMigrationRepository,
            IExtensionManager extensionManager,
            IDataMigrationInterpreter interpreter,
            IContentDefinitionManager contentDefinitionManager,
            ITransactionManager transactionManager)
        {
            _dataMigrations           = dataMigrations;
            _dataMigrationRepository  = dataMigrationRepository;
            _extensionManager         = extensionManager;
            _interpreter              = interpreter;
            _contentDefinitionManager = contentDefinitionManager;
            _transactionManager       = transactionManager;

            _processedFeatures = new List <string>();
            Logger             = NullLogger.Instance;
        }
 public ExtensionReferenceRepository(IProjectSystem project, IPackageRepository sourceRepository, IExtensionManager extensionManager)
 {
     if (project == null)
     {
         throw new ArgumentNullException("project");
     }
     if (sourceRepository == null)
     {
         throw new ArgumentNullException("sourceRepository");
     }
     if (extensionManager == null)
     {
         throw new ArgumentNullException("extensionManager");
     }
     Project           = project;
     SourceRepository  = sourceRepository;
     _extensionManager = extensionManager;
 }
Beispiel #35
0
 public SetupService(
     ShellSettings shellSettings,
     IOrchardHost orchardHost,
     IShellSettingsManager shellSettingsManager,
     IShellContainerFactory shellContainerFactory,
     ICompositionStrategy compositionStrategy,
     IExtensionManager extensionManager,
     IHttpContextAccessor httpContextAccessor)
 {
     _shellSettings         = shellSettings;
     _orchardHost           = orchardHost;
     _shellSettingsManager  = shellSettingsManager;
     _shellContainerFactory = shellContainerFactory;
     _compositionStrategy   = compositionStrategy;
     _extensionManager      = extensionManager;
     _httpContextAccessor   = httpContextAccessor;
     T = NullLocalizer.Instance;
 }
Beispiel #36
0
        public AdminController(
            IModuleService moduleService,
            IExtensionManager extensionManager,
            IFeatureManager featureManager,
            IHtmlLocalizer <AdminController> localizer,
            IShellDescriptorManager shellDescriptorManager,
            IAuthorizationService authorizationService,
            INotifier notifier)
        {
            _moduleService          = moduleService;
            _extensionManager       = extensionManager;
            _featureManager         = featureManager;
            _shellDescriptorManager = shellDescriptorManager;
            _authorizationService   = authorizationService;
            _notifier = notifier;

            T = localizer;
        }
        public ModuleService(
            IFeatureManager featureManager,
            IExtensionManager extensionManager,
            IShellDescriptorManager shellDescriptorManager,
            IHtmlLocalizer <AdminMenu> htmlLocalizer,
            INotifier notifier)
        {
            _notifier               = notifier;
            _featureManager         = featureManager;
            _extensionManager       = extensionManager;
            _shellDescriptorManager = shellDescriptorManager;

            //if (_featureManager.FeatureDependencyNotification == null) {
            //    _featureManager.FeatureDependencyNotification = GenerateWarning;
            //}

            T = htmlLocalizer;
        }
Beispiel #38
0
 public static void PerformAction(this IExtensionManager extensionManager, object extension, Action action)
 {
     try
     {
         if (!extensionManager.IsDisabled(extension))
         {
             action();
         }
     }
     catch (OperationCanceledException)
     {
         throw;
     }
     catch (Exception e) when(extensionManager.CanHandleException(extension, e))
     {
         extensionManager.HandleException(extension, e);
     }
 }
 public DeviceGroupService(
     IContentManager contentManager,
     ISignals signals,
     ICacheManager cacheManager,
     IExtensionManager extensionManager,
     ShellDescriptor shellDescriptor,
     IRuleManager ruleManager,
     INotifier notifier
     )
 {
     _contentManager   = contentManager;
     _signals          = signals;
     _cacheManager     = cacheManager;
     _extensionManager = extensionManager;
     _shellDescriptor  = shellDescriptor;
     _ruleManager      = ruleManager;
     _notifier         = notifier;
     T = NullLocalizer.Instance;
 }
Beispiel #40
0
        public DataMigrationManager(
            ITypeFeatureProvider typeFeatureProvider,
            IEnumerable <IDataMigration> dataMigrations,
            ISession session,
            IStore store,
            IExtensionManager extensionManager,
            ILogger <DataMigrationManager> logger)
        {
            _typeFeatureProvider = typeFeatureProvider;
            _dataMigrations      = dataMigrations;
            _session             = session;
            _store            = store;
            _extensionManager = extensionManager;
            _logger           = logger;

            _processedFeatures = new List <string>();

            T = NullLocalizer.Instance;
        }
Beispiel #41
0
        public void DisableExtensions(IApplication app)
        {
            try
            {
                IExtensionManager    pExtManager = app as IExtensionManager;
                IExtensionConfig     pExtConfig;
                IJITExtensionManager jitExtManager = app as IJITExtensionManager;
                //Custom Extensions
                for (int i = 0; i < pExtManager.ExtensionCount; i++)
                {
                    IExtension ext = pExtManager.Extension[i];
                    pExtConfig = ext as IExtensionConfig;
                    if (pExtConfig != null)
                    {
                        pExtConfig.State = esriExtensionState.esriESDisabled;
                    }
                }
                //OOTB Extensions (3d Analyst, Spatial Analyst, etc)
                for (int i = 0; i < jitExtManager.JITExtensionCount; i++)
                {
                    UID extID = jitExtManager.get_JITExtensionCLSID(i);
                    if (jitExtManager.IsExtensionEnabled(extID))
                    {
                        Console.WriteLine("Extension with clsid {0} is enabled", extID.Value);
                        IExtension ext = app.FindExtensionByCLSID(extID);

                        if (ext != null)
                        {
                            pExtConfig = ext as IExtensionConfig;
                            if (pExtConfig != null)
                            {
                                pExtConfig.State = esriExtensionState.esriESDisabled;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                //Write to log.
                Console.WriteLine(String.Format("Extensions could not be released: {0}", ex.Message));
            }
        }
Beispiel #42
0
        public DefaultLocalizedStringManager(
            IWebSiteFolder webSiteFolder,
            IExtensionManager extensionManager,
            ICacheManager cacheManager,
            ILocalizationStreamParser locationStreamParser,
            ShellSettings shellSettings,
            ISignals signals,
            ShellDescriptor shellDescriptor)
        {
            _webSiteFolder            = webSiteFolder;
            _extensionManager         = extensionManager;
            _cacheManager             = cacheManager;
            _localizationStreamParser = locationStreamParser;
            _shellSettings            = shellSettings;
            _signals         = signals;
            _shellDescriptor = shellDescriptor;

            Logger = NullLogger.Instance;
        }
 public DataMigrationManager(
     IStore store,
     IDataMigrator dataMigrator,
     IExtensionManager pluginManager,
     IShellStateManager engineStateManager,
     ShellSettings engineSettings,
     ShellDescriptor engineDescriptor,
     IServiceProvider serviceProvider,
     ILogger <DataMigrationManager> logger)
 {
     _store              = store;
     _dataMigrator       = dataMigrator;
     _pluginManager      = pluginManager;
     _engineStateManager = engineStateManager;
     _engineSettings     = engineSettings;
     _engineDescriptor   = engineDescriptor;
     _serviceProvider    = serviceProvider;
     _logger             = logger;
 }
 public ShapeTemplateBindingStrategy(
     IEnumerable <IShapeTemplateHarvester> harvesters,
     IFeatureManager featureManager,
     IExtensionManager extensionManager,
     IShellFeaturesManager shellFeaturesManager,
     IEnumerable <IShapeTemplateViewEngine> shapeTemplateViewEngines,
     IOptions <MvcViewOptions> options,
     IHostingEnvironment hostingEnvironment,
     ILogger <DefaultShapeTableManager> logger)
 {
     _harvesters               = harvesters;
     _featureManager           = featureManager;
     _extensionManager         = extensionManager;
     _shellFeaturesManager     = shellFeaturesManager;
     _shapeTemplateViewEngines = shapeTemplateViewEngines;
     _viewEngine               = options;
     _hostingEnvironment       = hostingEnvironment;
     _logger = logger;
 }
Beispiel #45
0
 public ShapeTemplateBindingStrategy(
     IEnumerable <IShapeTemplateHarvester> harvesters,
     ShellDescriptor shellDescriptor,
     IExtensionManager extensionManager,
     IVirtualPathProvider virtualPathProvider,
     IEnumerable <IShapeTemplateViewEngine> shapeTemplateViewEngines,
     IOptions <MvcViewOptions> options,
     IActionContextAccessor actionContextAccessor,
     ILogger <DefaultShapeTableManager> logger)
 {
     _harvesters               = harvesters;
     _shellDescriptor          = shellDescriptor;
     _extensionManager         = extensionManager;
     _virtualPathProvider      = virtualPathProvider;
     _shapeTemplateViewEngines = shapeTemplateViewEngines;
     _viewEngine               = options;
     _actionContextAccessor    = actionContextAccessor;
     _logger = logger;
 }
Beispiel #46
0
        public static Func <SyntaxNode, List <TExtension> > CreateNodeExtensionGetter <TExtension>(
            this IExtensionManager extensionManager, IEnumerable <TExtension> extensions, Func <TExtension, IEnumerable <Type> > nodeTypeGetter)
        {
            var map = new ConcurrentDictionary <Type, List <TExtension> >();

            Func <Type, List <TExtension> > getter =
                t1 =>
            {
                var query = from e in extensions
                            let types = extensionManager.PerformFunction(e, () => nodeTypeGetter(e), defaultValue: SpecializedCollections.EmptyEnumerable <Type>())
                                        where types != null
                                        where !types.Any() || types.Any(t2 => t1 == t2 || t1.GetTypeInfo().IsSubclassOf(t2))
                                        select e;

                return(query.ToList());
            };

            return(n => map.GetOrAdd(n.GetType(), getter));
        }
 public AdminController(
     ShellSettings shellSettings,
     ISiteService siteService,
     IExtensionManager extensionManager,
     IHtmlLocalizer <AdminController> localizer,
     IAuthorizationService authorizationService,
     IEnumerable <IRecipeHarvester> recipeHarvesters,
     IRecipeExecutor recipeExecutor,
     INotifier notifier)
 {
     _shellSettings        = shellSettings;
     _siteService          = siteService;
     _recipeExecutor       = recipeExecutor;
     _extensionManager     = extensionManager;
     _authorizationService = authorizationService;
     _recipeHarvesters     = recipeHarvesters;
     _notifier             = notifier;
     H = localizer;
 }
Beispiel #48
0
        private async Task <List <CodeFixCollection> > AppendFixesOrSuppressionsAsync(
            Document document,
            TextSpan span,
            IEnumerable <Diagnostic> diagnosticsWithSameSpan,
            List <CodeFixCollection> result,
            object fixer,
            IExtensionManager extensionManager,
            Func <Diagnostic, bool> hasFix,
            Func <ImmutableArray <Diagnostic>, Task <IEnumerable <CodeFix> > > getFixes,
            CancellationToken cancellationToken)
        {
            var diagnostics = diagnosticsWithSameSpan.Where(d => hasFix(d)).OrderByDescending(d => d.Severity).ToImmutableArray();

            if (diagnostics.Length <= 0)
            {
                // this can happen for suppression case where all diagnostics can't be suppressed
                return(result);
            }

            var fixes = await extensionManager.PerformFunctionAsync(fixer, () => getFixes(diagnostics)).ConfigureAwait(false);

            if (fixes != null && fixes.Any())
            {
                FixAllCodeActionContext fixAllContext = null;
                var codeFixProvider = fixer as CodeFixProvider;
                if (codeFixProvider != null)
                {
                    // If the codeFixProvider supports fix all occurrences, then get the corresponding FixAllProviderInfo and fix all context.
                    var fixAllProviderInfo = ImmutableInterlocked.GetOrAdd(ref this.fixAllProviderMap, codeFixProvider, FixAllProviderInfo.Create);
                    if (fixAllProviderInfo != null)
                    {
                        fixAllContext = new FixAllCodeActionContext(document, fixAllProviderInfo, codeFixProvider, diagnostics, this.GetDocumentDiagnosticsAsync, this.GetProjectDiagnosticsAsync, cancellationToken);
                    }
                }

                result = result ?? new List <CodeFixCollection>();
                var codeFix = new CodeFixCollection(fixer, span, fixes, fixAllContext);
                result.Add(codeFix);
            }

            return(result);
        }
 public ShapeTemplateBindingStrategy(
     IEnumerable <IShapeTemplateHarvester> harvesters,
     ShellDescriptor shellDescriptor,
     IExtensionManager extensionManager,
     ICacheManager cacheManager,
     IVirtualPathMonitor virtualPathMonitor,
     IVirtualPathProvider virtualPathProvider,
     IEnumerable <IShapeTemplateViewEngine> shapeTemplateViewEngines,
     IParallelCacheContext parallelCacheContext)
 {
     _harvesters               = harvesters;
     _shellDescriptor          = shellDescriptor;
     _extensionManager         = extensionManager;
     _cacheManager             = cacheManager;
     _virtualPathMonitor       = virtualPathMonitor;
     _virtualPathProvider      = virtualPathProvider;
     _shapeTemplateViewEngines = shapeTemplateViewEngines;
     _parallelCacheContext     = parallelCacheContext;
     Logger = NullLogger.Instance;
 }
Beispiel #50
0
 public SetupService(
     ShellSettings shellSettings,
     IOrchardHost orchardHost,
     IShellSettingsManager shellSettingsManager,
     IShellContainerFactory shellContainerFactory,
     ICompositionStrategy compositionStrategy,
     IProcessingEngine processingEngine,
     IExtensionManager extensionManager,
     IRecipeHarvester recipeHarvester)
 {
     _shellSettings         = shellSettings;
     _orchardHost           = orchardHost;
     _shellSettingsManager  = shellSettingsManager;
     _shellContainerFactory = shellContainerFactory;
     _compositionStrategy   = compositionStrategy;
     _processingEngine      = processingEngine;
     _extensionManager      = extensionManager;
     _recipeHarvester       = recipeHarvester;
     T = NullLocalizer.Instance;
 }
        public void FeatureDescriptorsShouldBeLoadedInThemes()
        {
            var extensionLoader       = new StubLoaders();
            var moduleExtensionFolder = new StubFolders();
            var themeExtensionFolder  = new StubFolders(DefaultExtensionTypes.Theme);

            moduleExtensionFolder.Manifests.Add("Alpha", @"
Name: Alpha
Version: 1.0.3
SystemVersion: 1
Features:
    Alpha:
        Dependencies: Gamma
");

            moduleExtensionFolder.Manifests.Add("Beta", @"
Name: Beta
Version: 1.0.3
SystemVersion: 1
");
            moduleExtensionFolder.Manifests.Add("Gamma", @"
Name: Gamma
Version: 1.0.3
SystemVersion: 1
Features:
    Gamma:
        Dependencies: Beta
");

            themeExtensionFolder.Manifests.Add("Classic", @"
Name: Classic
Version: 1.0.3
SystemVersion: 1
");

            IExtensionManager extensionManager =
                CreateExtensionManager(new[] { moduleExtensionFolder, themeExtensionFolder }, new[] { extensionLoader });
            var features = extensionManager.AvailableFeatures();

            Assert.Equal(features.Count(), 4);
        }
        public ExtensionManagerTests()
        {
            ModuleScopedExtensionManager = new ExtensionManager(
                ExtensionExpanderOptions,
                ModuleManifestOptions,
                HostingEnvironment,
                ManifestProviders,
                new[] { ModuleProvider },
                Enumerable.Empty <IExtensionLoader>(),
                new[] { new ExtensionDependencyStrategy() },
                new[] { new ExtensionPriorityStrategy() },
                null,
                new NullLogger <ExtensionManager>(),
                null);

            ThemeScopedExtensionManager = new ExtensionManager(
                ExtensionExpanderOptions,
                ThemeManifestOptions,
                HostingEnvironment,
                ManifestProviders,
                new[] { ThemeProvider },
                Enumerable.Empty <IExtensionLoader>(),
                new[] { new ExtensionDependencyStrategy() },
                new[] { new ExtensionPriorityStrategy() },
                null,
                new NullLogger <ExtensionManager>(),
                null);

            ModuleThemeScopedExtensionManager = new ExtensionManager(
                ExtensionExpanderOptions,
                ModuleAndThemeManifestOptions,
                HostingEnvironment,
                ManifestProviders,
                new[] { ThemeProvider, ModuleProvider },
                Enumerable.Empty <IExtensionLoader>(),
                new IExtensionDependencyStrategy[] { new ExtensionDependencyStrategy(), new ThemeExtensionDependencyStrategy() },
                new[] { new ExtensionPriorityStrategy() },
                null,
                new NullLogger <ExtensionManager>(),
                null);
        }
Beispiel #53
0
        public ComponentViewLocationExpanderProvider(
            IRazorViewEngineFileProviderAccessor fileProviderAccessor,
            IExtensionManager extensionManager,
            ShellDescriptor shellDescriptor,
            IMemoryCache memoryCache)
        {
            _extensionManager = extensionManager;
            _shellDescriptor  = shellDescriptor;
            _memoryCache      = memoryCache;

            if (_modulesWithComponentViews != null)
            {
                return;
            }

            lock (_synLock)
            {
                if (_modulesWithComponentViews == null)
                {
                    var modulesWithComponentViews = new List <IExtensionInfo>();

                    var orderedModules = _extensionManager.GetExtensions()
                                         .Where(e => e.Manifest.Type.Equals("module", StringComparison.OrdinalIgnoreCase))
                                         .Reverse();

                    foreach (var module in orderedModules)
                    {
                        var moduleComponentsViewFilePaths = fileProviderAccessor.FileProvider.GetViewFilePaths(
                            module.SubPath + "/Views/Shared/Components", new[] { RazorViewEngine.ViewExtension },
                            viewsFolder: null, inViewsFolder: true, inDepth: true);

                        if (moduleComponentsViewFilePaths.Any())
                        {
                            modulesWithComponentViews.Add(module);
                        }
                    }

                    _modulesWithComponentViews = modulesWithComponentViews;
                }
            }
        }
        public AdminController(
            ISiteThemeService siteThemeService,
            IAdminThemeService adminThemeService,
            IThemeService themeService,
            ShellSettings shellSettings,
            IExtensionManager extensionManager,
            IHtmlLocalizer <AdminController> localizer,
            IShellDescriptorManager shellDescriptorManager,
            IShellFeaturesManager shellFeaturesManager,
            IAuthorizationService authorizationService,
            INotifier notifier)
        {
            _siteThemeService     = siteThemeService;
            _adminThemeService    = adminThemeService;
            _extensionManager     = extensionManager;
            _shellFeaturesManager = shellFeaturesManager;
            _authorizationService = authorizationService;
            _notifier             = notifier;

            H = localizer;
        }
 public PageController(
     IWorkContextAccessor workContextAccessor,
     IPageService pageService,
     IExtensionManager extensionManager,
     IMenuService menuService,
     IMenuItemService menuItemService,
     ShellDescriptor descriptor,
     ILanguageManager languageManager,
     IPageTagService pageTagService,
     IHistoricPageService historicPageService)
     : base(workContextAccessor)
 {
     this.pageService         = pageService;
     this.extensionManager    = extensionManager;
     this.menuService         = menuService;
     this.menuItemService     = menuItemService;
     this.descriptor          = descriptor;
     this.languageManager     = languageManager;
     this.pageTagService      = pageTagService;
     this.historicPageService = historicPageService;
 }
Beispiel #56
0
        public ModuleService(
            IFeatureManager featureManager,
            IOrchardServices OrchardServices,
            IVirtualPathProvider virtualPathProvider,
            IExtensionManager extensionManager,
            IShellDescriptorManager shellDescriptorManager,
            ICacheManager cacheManager)
        {
            Services = OrchardServices;

            _featureManager         = featureManager;
            _virtualPathProvider    = virtualPathProvider;
            _extensionManager       = extensionManager;
            _shellDescriptorManager = shellDescriptorManager;
            _cacheManager           = cacheManager;

            if (_featureManager.FeatureDependencyNotification == null)
            {
                _featureManager.FeatureDependencyNotification = GenerateWarning;
            }
        }
Beispiel #57
0
 public SetupService(
     ShellSettings shellSettings,
     IOrchardHost orchardHost,
     IShellSettingsManager shellSettingsManager,
     IShellContainerFactory shellContainerFactory,
     ICompositionStrategy compositionStrategy,
     IExtensionManager extensionManager,
     IHttpContextAccessor httpContextAccessor,
     IRunningShellTable runningShellTable,
     ILogger <SetupService> logger)
 {
     _shellSettings         = shellSettings;
     _orchardHost           = orchardHost;
     _shellSettingsManager  = shellSettingsManager;
     _shellContainerFactory = shellContainerFactory;
     _compositionStrategy   = compositionStrategy;
     _extensionManager      = extensionManager;
     _httpContextAccessor   = httpContextAccessor;
     _runningShellTable     = runningShellTable;
     _logger = logger;
 }
        public ExtensionLoaderCoordinator(
            IDependenciesFolder dependenciesFolder,
            IExtensionDependenciesManager extensionDependenciesManager,
            IExtensionManager extensionManager,
            IVirtualPathProvider virtualPathProvider,
            IEnumerable <IExtensionLoader> loaders,
            IHostEnvironment hostEnvironment,
            IParallelCacheContext parallelCacheContext,
            IBuildManager buildManager)
        {
            _dependenciesFolder           = dependenciesFolder;
            _extensionDependenciesManager = extensionDependenciesManager;
            _extensionManager             = extensionManager;
            _virtualPathProvider          = virtualPathProvider;
            _loaders              = loaders.OrderBy(l => l.Order);
            _hostEnvironment      = hostEnvironment;
            _parallelCacheContext = parallelCacheContext;
            _buildManager         = buildManager;

            Logger = NullLogger.Instance;
        }
Beispiel #59
0
        private ImmutableDictionary <LanguageKind, Lazy <ImmutableDictionary <DiagnosticId, ImmutableArray <CodeFixProvider> > > > GetFixerPerLanguageMap(
            Dictionary <LanguageKind, List <Lazy <CodeFixProvider, CodeChangeProviderMetadata> > > fixersPerLanguage,
            IExtensionManager extensionManager)
        {
            var fixerMap = ImmutableDictionary.Create <LanguageKind, Lazy <ImmutableDictionary <DiagnosticId, ImmutableArray <CodeFixProvider> > > >();

            foreach (var languageKindAndFixers in fixersPerLanguage)
            {
                var lazyMap = new Lazy <ImmutableDictionary <DiagnosticId, ImmutableArray <CodeFixProvider> > >(() =>
                {
                    var mutableMap = new Dictionary <DiagnosticId, List <CodeFixProvider> >();

                    foreach (var fixer in languageKindAndFixers.Value)
                    {
                        foreach (var id in this.GetFixableDiagnosticIds(fixer.Value, extensionManager))
                        {
                            if (string.IsNullOrWhiteSpace(id))
                            {
                                continue;
                            }

                            var list = mutableMap.GetOrAdd(id, s_createList);
                            list.Add(fixer.Value);
                        }
                    }

                    var immutableMap = ImmutableDictionary.CreateBuilder <DiagnosticId, ImmutableArray <CodeFixProvider> >();
                    foreach (var diagnosticIdAndFixers in mutableMap)
                    {
                        immutableMap.Add(diagnosticIdAndFixers.Key, diagnosticIdAndFixers.Value.AsImmutableOrEmpty());
                    }

                    return(immutableMap.ToImmutable());
                }, isThreadSafe: true);

                fixerMap = fixerMap.Add(languageKindAndFixers.Key, lazyMap);
            }

            return(fixerMap);
        }
Beispiel #60
0
 public static async Task PerformActionAsync(
     this IExtensionManager extensionManager,
     object extension,
     Func <Task> function)
 {
     try
     {
         if (!extensionManager.IsDisabled(extension))
         {
             var task = function() ?? SpecializedTasks.EmptyTask;
             await task.ConfigureAwait(false);
         }
     }
     catch (OperationCanceledException)
     {
         throw;
     }
     catch (Exception e) when(extensionManager.CanHandleException(extension, e))
     {
         extensionManager.HandleException(extension, e);
     }
 }