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);
}
}