This is an automated email from the ASF dual-hosted git repository.

jmclean pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/main by this push:
     new 5389fa98cf [#7246] improvement: make abstract class constructors 
protected instead of public (#7276)
5389fa98cf is described below

commit 5389fa98cf46abea99402a14ad6e82047e6afbc4
Author: Raveendra Pujari <[email protected]>
AuthorDate: Tue May 27 18:01:26 2025 -0500

    [#7246] improvement: make abstract class constructors protected instead of 
public (#7276)
    
    **Title**:
    `[#7246] improvement(core): make abstract class constructors protected
    instead of public`
    
    ### What changes were proposed in this pull request?
    
    This PR updates the visibility of constructors in abstract classes from
    `public` to `protected`. This aligns with best practices, as abstract
    classes are not intended to be instantiated directly.
    
    Changes include:
    
    * Modifying all `public` constructors in abstract classes to
    `protected`.
    * Ensuring that no instantiation of these abstract classes is done
    outside their inheritance hierarchy.
    
    
    ### Why are the changes needed?
    
    Making constructors of abstract classes `protected` improves
    encapsulation and API clarity by:
    
    1. Preventing misuse through direct instantiation.
    2. Encouraging proper inheritance and design patterns.
    3. Aligning with Java best practices and improving code maintainability.
    
    
    ### Fix:
    
    Fixes #7246
    
    
    ### Does this PR introduce *any* user-facing change?
    
    No user-facing changes are introduced. This is an internal improvement
    in the codebase to follow Java best practices for abstract class design.
    
    
    ### How was this patch tested?
    
    * Verified that the build compiles without errors.
    
    ---------
    
    Co-authored-by: raveendra11 <Gurthuledu@1>
---
 .../apache/gravitino/authorization/common/AuthorizationProperties.java  | 2 +-
 .../apache/gravitino/authorization/jdbc/JdbcAuthorizationPlugin.java    | 2 +-
 .../java/org/apache/gravitino/authorization/ranger/reference/VList.java | 2 +-
 .../src/main/java/org/apache/gravitino/cli/commands/AuditCommand.java   | 2 +-
 .../cli/src/main/java/org/apache/gravitino/cli/commands/Command.java    | 2 +-
 .../main/java/org/apache/gravitino/cli/outputs/BaseOutputFormat.java    | 2 +-
 .../cli/src/main/java/org/apache/gravitino/cli/outputs/PlainFormat.java | 2 +-
 .../cli/src/main/java/org/apache/gravitino/cli/outputs/TableFormat.java | 2 +-
 .../java/org/apache/gravitino/filesystem/hadoop/BaseGVFSOperations.java | 2 +-
 core/src/main/java/org/apache/gravitino/Config.java                     | 2 +-
 .../src/main/java/org/apache/gravitino/catalog/OperationDispatcher.java | 2 +-
 .../java/org/apache/gravitino/listener/api/event/GroupFailureEvent.java | 2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)

diff --git 
a/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/common/AuthorizationProperties.java
 
b/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/common/AuthorizationProperties.java
index 85fe5c72ed..6f41abea25 100644
--- 
a/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/common/AuthorizationProperties.java
+++ 
b/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/common/AuthorizationProperties.java
@@ -24,7 +24,7 @@ import java.util.stream.Collectors;
 public abstract class AuthorizationProperties {
   protected Map<String, String> properties;
 
-  public AuthorizationProperties(Map<String, String> properties) {
+  protected AuthorizationProperties(Map<String, String> properties) {
     this.properties =
         properties.entrySet().stream()
             .filter(entry -> entry.getKey().startsWith(getPropertiesPrefix()))
diff --git 
a/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationPlugin.java
 
b/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationPlugin.java
index 4c8c3330a2..bec8ee3bac 100644
--- 
a/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationPlugin.java
+++ 
b/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationPlugin.java
@@ -62,7 +62,7 @@ public abstract class JdbcAuthorizationPlugin implements 
AuthorizationPlugin, Jd
   protected BasicDataSource dataSource;
   protected JdbcSecurableObjectMappingProvider mappingProvider;
 
-  public JdbcAuthorizationPlugin(Map<String, String> config) {
+  protected JdbcAuthorizationPlugin(Map<String, String> config) {
     // Initialize the data source
     dataSource = new BasicDataSource();
     JdbcAuthorizationProperties jdbcAuthProperties = new 
JdbcAuthorizationProperties(config);
diff --git 
a/authorizations/authorization-ranger/src/main/java/org/apache/gravitino/authorization/ranger/reference/VList.java
 
b/authorizations/authorization-ranger/src/main/java/org/apache/gravitino/authorization/ranger/reference/VList.java
index 02e3fb962e..ab4d0bdefc 100644
--- 
a/authorizations/authorization-ranger/src/main/java/org/apache/gravitino/authorization/ranger/reference/VList.java
+++ 
b/authorizations/authorization-ranger/src/main/java/org/apache/gravitino/authorization/ranger/reference/VList.java
@@ -41,7 +41,7 @@ public abstract class VList implements java.io.Serializable {
   protected long queryTimeMS = System.currentTimeMillis();
 
   /** Default constructor. This will set all the attributes to default value. 
*/
-  public VList() {}
+  protected VList() {}
 
   public abstract int getListSize();
 
diff --git 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/AuditCommand.java 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/AuditCommand.java
index 91477d2a20..d13d4e0ebb 100644
--- 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/AuditCommand.java
+++ 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/AuditCommand.java
@@ -25,7 +25,7 @@ import org.apache.gravitino.cli.CommandContext;
 public abstract class AuditCommand extends Command {
 
   /** @param context The command context. */
-  public AuditCommand(CommandContext context) {
+  protected AuditCommand(CommandContext context) {
     super(context);
   }
 
diff --git 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/Command.java 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/Command.java
index de860f5a69..57ff339a54 100644
--- a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/Command.java
+++ b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/Command.java
@@ -63,7 +63,7 @@ public abstract class Command {
    *
    * @param context The command context.
    */
-  public Command(CommandContext context) {
+  protected Command(CommandContext context) {
     this.context = context;
     this.url = context.url();
     this.ignoreVersions = context.ignoreVersions();
diff --git 
a/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/BaseOutputFormat.java
 
b/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/BaseOutputFormat.java
index a233fe8751..889afe39d6 100644
--- 
a/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/BaseOutputFormat.java
+++ 
b/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/BaseOutputFormat.java
@@ -39,7 +39,7 @@ public abstract class BaseOutputFormat<T> implements 
OutputFormat<T> {
    *
    * @param context the command context, must not be null;
    */
-  public BaseOutputFormat(CommandContext context) {
+  protected BaseOutputFormat(CommandContext context) {
     this.context = context;
   }
 
diff --git 
a/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/PlainFormat.java 
b/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/PlainFormat.java
index 330c898fb8..55c24d4129 100644
--- 
a/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/PlainFormat.java
+++ 
b/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/PlainFormat.java
@@ -113,7 +113,7 @@ public abstract class PlainFormat<T> extends 
BaseOutputFormat<T> {
    *
    * @param context The command context.
    */
-  public PlainFormat(CommandContext context) {
+  protected PlainFormat(CommandContext context) {
     super(context);
   }
 
diff --git 
a/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/TableFormat.java 
b/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/TableFormat.java
index 54ab6150f6..7519150b13 100644
--- 
a/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/TableFormat.java
+++ 
b/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/TableFormat.java
@@ -143,7 +143,7 @@ public abstract class TableFormat<T> extends 
BaseOutputFormat<T> {
    *
    * @param context the command context.
    */
-  public TableFormat(CommandContext context) {
+  protected TableFormat(CommandContext context) {
     super(context);
     // TODO: add other options for TableFormat
   }
diff --git 
a/clients/filesystem-hadoop3/src/main/java/org/apache/gravitino/filesystem/hadoop/BaseGVFSOperations.java
 
b/clients/filesystem-hadoop3/src/main/java/org/apache/gravitino/filesystem/hadoop/BaseGVFSOperations.java
index 66f1db9e73..634974de7f 100644
--- 
a/clients/filesystem-hadoop3/src/main/java/org/apache/gravitino/filesystem/hadoop/BaseGVFSOperations.java
+++ 
b/clients/filesystem-hadoop3/src/main/java/org/apache/gravitino/filesystem/hadoop/BaseGVFSOperations.java
@@ -138,7 +138,7 @@ public abstract class BaseGVFSOperations implements 
Closeable {
    *
    * @param configuration the configuration
    */
-  public BaseGVFSOperations(Configuration configuration) {
+  protected BaseGVFSOperations(Configuration configuration) {
     this.metalakeName =
         
configuration.get(GravitinoVirtualFileSystemConfiguration.FS_GRAVITINO_CLIENT_METALAKE_KEY);
     Preconditions.checkArgument(
diff --git a/core/src/main/java/org/apache/gravitino/Config.java 
b/core/src/main/java/org/apache/gravitino/Config.java
index 642cf8bfdc..8696e42063 100644
--- a/core/src/main/java/org/apache/gravitino/Config.java
+++ b/core/src/main/java/org/apache/gravitino/Config.java
@@ -71,7 +71,7 @@ public abstract class Config {
   }
 
   /** Constructs a Config instance and loads default configurations. */
-  public Config() {
+  protected Config() {
     this(true);
   }
 
diff --git 
a/core/src/main/java/org/apache/gravitino/catalog/OperationDispatcher.java 
b/core/src/main/java/org/apache/gravitino/catalog/OperationDispatcher.java
index 457aaee493..91d2d66caa 100644
--- a/core/src/main/java/org/apache/gravitino/catalog/OperationDispatcher.java
+++ b/core/src/main/java/org/apache/gravitino/catalog/OperationDispatcher.java
@@ -65,7 +65,7 @@ public abstract class OperationDispatcher {
    * @param store The EntityStore instance to be used for catalog operations.
    * @param idGenerator The IdGenerator instance to be used for catalog 
operations.
    */
-  public OperationDispatcher(
+  protected OperationDispatcher(
       CatalogManager catalogManager, EntityStore store, IdGenerator 
idGenerator) {
     this.catalogManager = catalogManager;
     this.store = store;
diff --git 
a/core/src/main/java/org/apache/gravitino/listener/api/event/GroupFailureEvent.java
 
b/core/src/main/java/org/apache/gravitino/listener/api/event/GroupFailureEvent.java
index 92ccbe1288..750eba3677 100644
--- 
a/core/src/main/java/org/apache/gravitino/listener/api/event/GroupFailureEvent.java
+++ 
b/core/src/main/java/org/apache/gravitino/listener/api/event/GroupFailureEvent.java
@@ -37,7 +37,7 @@ public abstract class GroupFailureEvent extends FailureEvent {
    * @param identifier the unique identifier for the group operation
    * @param exception the exception encountered during the operation, 
detailing the cause of failure
    */
-  public GroupFailureEvent(String initiator, NameIdentifier identifier, 
Exception exception) {
+  protected GroupFailureEvent(String initiator, NameIdentifier identifier, 
Exception exception) {
     super(initiator, identifier, exception);
   }
 }

Reply via email to