Esempio n. 1
0
        private static void AddProvider(ProviderBasedLocalizationService service)
        {
            try
            {
                var langFolderVirtualPath = Settings.AutoPopulated.LangFolderVirtualPath;
                if (string.IsNullOrEmpty(langFolderVirtualPath))
                {
                    Log.Error("LangFolderVirtualPath undefined.");
                    return;
                }

                // Due to what is likely bug in Episerver, there needs to be a physical path with the same
                // name as the virtual path, or else GetInitializedProvider fails since it can't listen to changes in a network folder.
                var physicalDirectory = HostingEnvironment.MapPath(langFolderVirtualPath);
                if (!Directory.Exists(physicalDirectory))
                {
                    Directory.CreateDirectory(physicalDirectory);
                }

                //a VPP with the path below must be registered in the sites configuration.
                var localizationProviderInitializer = new VirtualPathXmlLocalizationProviderInitializer(GenericHostingEnvironment.VirtualPathProvider);
                var localizationProvider            = localizationProviderInitializer.GetInitializedProvider(langFolderVirtualPath, ProviderName);

                //Inserts the provider first in the provider list so that it is prioritized over default providers.
                service.Providers.Insert(0, localizationProvider);

                Log.Debug("LocalizationProvider added");
            }
            catch (Exception e)
            {
                Log.Error("Failed to add custom localization provider.", e);
            }
        }
        private static void AddProvider(ProviderBasedLocalizationService service)
        {
            try
            {
                var langFolderVirtualPath = Settings.AutoPopulated.LangFolderVirtualPath;
                if (string.IsNullOrEmpty(langFolderVirtualPath))
                {
                    Log.Error("LangFolderVirtualPath undefined.");
                    return;
                }

                // Due to what is likely bug in Episerver, there needs to be a physical path with the same
                // name as the virtual path, or else GetInitializedProvider fails since it can't listen to changes in a network folder.
                var physicalDirectory = HostingEnvironment.MapPath(langFolderVirtualPath);
                if (!Directory.Exists(physicalDirectory))
                {
                    Directory.CreateDirectory(physicalDirectory);
                }

                //a VPP with the path below must be registered in the sites configuration.
                var localizationProviderInitializer = new VirtualPathXmlLocalizationProviderInitializer(GenericHostingEnvironment.VirtualPathProvider);
                var localizationProvider = localizationProviderInitializer.GetInitializedProvider(langFolderVirtualPath, ProviderName);

                //Inserts the provider first in the provider list so that it is prioritized over default providers.
                service.Providers.Insert(0, localizationProvider);

                Log.Debug("LocalizationProvider added");
            }
            catch(Exception e)
            {
                Log.Error("Failed to add custom localization provider." , e);
            }
        }
Esempio n. 3
0
        public CommonCollectionFixture()
        {
            _service     = new TestableProviderBasedLocalizationService();
            VppProviders = new List <VirtualPathProvider>();
            Mock <IServiceLocator> locatorMock = new Mock <IServiceLocator>();

            locatorMock.Setup(m => m.GetInstance <LocalizationService>()).Returns(_service);
            ServiceLocator.SetLocator(locatorMock.Object);
        }
        public void Uninitialize(InitializationEngine context)
        {
            ProviderBasedLocalizationService localizationService = context.Locate.Advanced.GetInstance <LocalizationService>() as ProviderBasedLocalizationService;

            if (localizationService != null)
            {
                LocalizationProvider localizationProvider = localizationService.Providers.FirstOrDefault(p => p.Name.Equals(ProviderName, StringComparison.Ordinal));
                if (localizationProvider != null)
                {
                    localizationService.Providers.Remove(localizationProvider);
                }
            }
        }
        private static void AddProvider(ProviderBasedLocalizationService service)
        {
            try
            {
                var localizationContentProvider = new LocalizationContentProvider();
                localizationContentProvider.Initialize(ProviderName, new NameValueCollection());

                service.Providers.Insert(0, localizationContentProvider);

                Log.Debug("LocalizationProvider added");
            }
            catch (Exception e)
            {
                Log.Error("Failed to add custom localization provider.", e);
            }
        }
        public void Initialize(InitializationEngine context)
        {
            ProviderBasedLocalizationService localizationService = context.Locate.Advanced.GetInstance <LocalizationService>() as ProviderBasedLocalizationService;

            if (localizationService != null)
            {
                string langFolder = System.Web.HttpContext.Current.Server.MapPath(@"~/Modules/BVNetwork.Attend/Resources/LanguageFiles/");
                if (Directory.Exists(langFolder))
                {
                    NameValueCollection configValues = new NameValueCollection();
                    configValues.Add(FileXmlLocalizationProvider.PhysicalPathKey, langFolder);
                    FileXmlLocalizationProvider localizationProvider = new FileXmlLocalizationProvider();
                    localizationProvider.Initialize(ProviderName, configValues);
                    localizationService.Providers.Add(localizationProvider);
                }
            }
        }
Esempio n. 7
0
        internal static void Register(Assembly assembly)
        {
            try
            {
                Logger.Debug(String.Format("Looking for resources in assembly '{0}'", assembly.FullName));

                var assemblyName = assembly.GetName().Name;

                Logger.Log(Level.Debug, "{0}: Looking for XML-resources...", assemblyName);

                string[] xmlFiles = assembly
                                    .GetManifestResourceNames()
                                    .Where(r => r.EndsWith(".xml", StringComparison.InvariantCultureIgnoreCase))
                                    .ToArray();

                if (!xmlFiles.Any())
                {
                    Logger.Log(Level.Debug, "{0}: No XML-resources found.", assemblyName);
                    return;
                }

                ProviderBasedLocalizationService providerService =
                    ServiceLocator.Current.GetInstance <LocalizationService>() as ProviderBasedLocalizationService;

                if (providerService == null)
                {
                    Logger.Log(Level.Warning, "{0}: Could not load ProviderBasedLocalizationService.", assemblyName);
                    return;
                }

                var provider = new XmlLocalizationProvider();
                provider.Initialize("XML-provider for " + assemblyName, new NameValueCollection());

                foreach (string xmlResource in xmlFiles)
                {
                    Logger.Log(Level.Debug, "{0}: Loading resource '{1}'", assemblyName, xmlResource);
                    provider.Load(assembly.GetManifestResourceStream(xmlResource));
                }

                providerService.Providers.Add(provider);
            }
            catch (Exception ex)
            {
                Logger.Log(Level.Error, "Failed to register localization", ex);
            }
        }
Esempio n. 8
0
 private static void RemoveProvider(ProviderBasedLocalizationService service)
 {
     try
     {
         //Gets any provider that has the same name as the one initialized.
         var localizationProvider = service.Providers.FirstOrDefault(p => p.Name.Equals(ProviderName, StringComparison.Ordinal));
         if (localizationProvider != null)
         {
             //If found, remove it.
             service.Providers.Remove(localizationProvider);
             Log.Debug("LocalizationProvider remove");
         }
     }
     catch (Exception e)
     {
         Log.Error("Failed to remove custom localization provider.", e);
     }
 }
 private static void RemoveProvider(ProviderBasedLocalizationService service)
 {
     try
     {
         //Gets any provider that has the same name as the one initialized.
         var localizationProvider = service.Providers.FirstOrDefault(p => p.Name.Equals(ProviderName, StringComparison.Ordinal));
         if (localizationProvider != null)
         {
             //If found, remove it.
             service.Providers.Remove(localizationProvider);
             Log.Debug("LocalizationProvider remove");
         }
     }
     catch (Exception e)
     {
         Log.Error("Failed to remove custom localization provider.", e);
     }
 }
        public IndexRebuildJobTestBase()
        {
            providerBasedLocalizationService = new ProviderBasedLocalizationService();
            providerBasedLocalizationService.AddProvider(new MemoryLocalizationProvider());

            dbIndexJobSettingLocatorMock = new Mock <IDbIndexJobSettingLocator>();
            dbIndexJobSettingLocatorMock.SetupGet(x => x.ExcludedDatabases).Returns(new List <string> {
                "LocalSqlServer"
            });
            dbIndexJobSettingLocatorMock.SetupGet(x => x.ConnectionStringSettings)
            .Returns(new List <ConnectionStringSettings> {
                new ConnectionStringSettings
                {
                    ConnectionString = It.IsAny <string>(),
                    Name             = "LocalSqlServer2"
                }
            });
            dbOptimizerMock = new Mock <IDbIndexOptimizer>();
            dbOptimizerMock.Setup(x => x.Optimize(It.IsAny <string>())).Returns("something");
        }
Esempio n. 11
0
 public void Dispose()
 {
     _service     = null;
     VppProviders = null;
     ServiceLocator.SetLocator(null);
 }