This is an automated email from the ASF dual-hosted git repository. nightowl888 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/lucenenet.git
commit b8f9d05d52b4a18105e3ac3271141dbe00558ec4 Author: Shad Storhaug <[email protected]> AuthorDate: Sat May 1 06:35:09 2021 +0700 BREAKING: Lucene.Net.Util: Removed BundleResourceManagerFactory and IResourceManagerFactory, as these were only to support NLS --- .../Support/Util/BundleResourceManagerFactory.cs | 87 ---------------------- .../Support/Util/IResourceManagerFactory.cs | 36 --------- 2 files changed, 123 deletions(-) diff --git a/src/Lucene.Net/Support/Util/BundleResourceManagerFactory.cs b/src/Lucene.Net/Support/Util/BundleResourceManagerFactory.cs deleted file mode 100644 index 2464c0f..0000000 --- a/src/Lucene.Net/Support/Util/BundleResourceManagerFactory.cs +++ /dev/null @@ -1,87 +0,0 @@ -using J2N; -using System; -using System.Reflection; -using System.Resources; - -namespace Lucene.Net.Util -{ - /* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - /// <summary> - /// This implementation of <see cref="IResourceManagerFactory"/> uses a convention - /// to retrieve resources. In Java NLS, the convention is to use the same name for the - /// resource key propeties and for the resource file names. This presents a problem - /// for .NET because the resource generator already creates an internal class with the - /// same name as the <c>.resx</c> file. - /// <para/> - /// To work around this, we use the convention of appending the suffix "Bundle" to - /// the end of the type the resource key propeties are stored in. For example, - /// if our constants are stored in a class named ErrorMessages, the type - /// that will be looked up by this factory will be ErrorMessagesBundle (which is the - /// name of the <c>.resx</c> file that should be added to your project). - /// <para/> - /// This implementation can be inherited to use a different convention or can be replaced - /// to get the resources from an external source. - /// </summary> - public class BundleResourceManagerFactory : IResourceManagerFactory - { - /// <summary> - /// Creates a <see cref="ResourceManager"/> instance using the specified <paramref name="resourceSource"/>. - /// </summary> - /// <param name="resourceSource">The type representing the resource to retrieve.</param> - /// <returns>A new <see cref="ResourceManager"/> instance.</returns> - public virtual ResourceManager Create(Type resourceSource) - { - return new ResourceManager(GetResourceName(resourceSource), resourceSource.Assembly); - } - - /// <summary> - /// Releases the <see cref="ResourceManager"/> instance including any disposable dependencies. - /// </summary> - /// <param name="manager">The <see cref="ResourceManager"/> to release.</param> - public virtual void Release(ResourceManager manager) - { - if (manager is IDisposable disposable) - { - disposable.Dispose(); - } - } - - /// <summary> - /// Gets the fully-qualified name of the bundle as it would appear - /// using <see cref="Assembly.GetManifestResourceNames()"/>, without the - /// <c>.resources</c> extension. This is the name that is passed to the - /// <c>baseName</c> parameter of - /// <see cref="ResourceManager.ResourceManager(string, Assembly)"/>. - /// </summary> - /// <param name="clazz">The type of the NLS-derived class where the field strings are located that identify resources.</param> - /// <returns>The resource name.</returns> - protected virtual string GetResourceName(Type clazz) - { - string resource = clazz.FindResource(string.Concat(clazz.Name, ResourceSuffix, ".resources")); - return !string.IsNullOrEmpty(resource) - ? resource.Substring(0, resource.Length - 10) - : null; - } - - /// <summary> - /// The suffix to append to the resource key class name to locate the embedded resource. - /// </summary> - protected virtual string ResourceSuffix => "Bundle"; - } -} diff --git a/src/Lucene.Net/Support/Util/IResourceManagerFactory.cs b/src/Lucene.Net/Support/Util/IResourceManagerFactory.cs deleted file mode 100644 index e54708f..0000000 --- a/src/Lucene.Net/Support/Util/IResourceManagerFactory.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; -using System.Resources; - -namespace Lucene.Net.Util -{ - /* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - /// <summary> - /// LUCENENET specific interface used to inject instances of - /// <see cref="ResourceManager"/>. This - /// extension point can be used to override the default behavior - /// to, for example, retrieve resources from a persistent data store, - /// rather than getting them from resource files. - /// </summary> - public interface IResourceManagerFactory - { - ResourceManager Create(Type resourceSource); - - void Release(ResourceManager manager); - } -}
