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

liuxun 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 061f24bcae [#5993] refactor: Move the JdbcAuthorizationPlugin to 
authorization-common module (#5994)
061f24bcae is described below

commit 061f24bcae2e1ff265b032eb04e57682884ee5a9
Author: roryqi <[email protected]>
AuthorDate: Thu Dec 26 15:50:06 2024 +0800

    [#5993] refactor: Move the JdbcAuthorizationPlugin to authorization-common 
module (#5994)
    
    ### What changes were proposed in this pull request?
    
     Move the JdbcAuthorizationPlugin to authorization-common module
    
    ### Why are the changes needed?
    
    
    Fix: #5993
    
    ### Does this PR introduce _any_ user-facing change?
    
    No.
    
    ### How was this patch tested?
    Just refactor.
---
 .../authorization-common/build.gradle.kts          |  1 +
 .../common/AuthorizationProperties.java            |  4 +-
 .../jdbc/JdbcAuthorizationPlugin.java              |  3 +-
 .../JdbcAuthorizationProperties.java               |  5 +-
 .../authorization/jdbc/JdbcAuthorizationSQL.java   |  2 +-
 .../authorization/jdbc/JdbcMetadataObject.java     |  0
 .../authorization/jdbc/JdbcPrivilege.java          |  0
 .../authorization/jdbc/JdbcSecurableObject.java    |  0
 .../jdbc/JdbcSecurableObjectMappingProvider.java   |  0
 .../jdbc/TestJdbcAuthorizationPlugin.java}         |  3 +-
 authorizations/authorization-jdbc/build.gradle.kts | 96 ----------------------
 settings.gradle.kts                                |  2 +-
 12 files changed, 10 insertions(+), 106 deletions(-)

diff --git a/authorizations/authorization-common/build.gradle.kts 
b/authorizations/authorization-common/build.gradle.kts
index ba64510f2c..9bab92dac3 100644
--- a/authorizations/authorization-common/build.gradle.kts
+++ b/authorizations/authorization-common/build.gradle.kts
@@ -36,6 +36,7 @@ dependencies {
   }
   implementation(libs.bundles.log4j)
   implementation(libs.commons.lang3)
+  implementation(libs.commons.dbcp2)
   implementation(libs.guava)
   implementation(libs.javax.jaxb.api) {
     exclude("*")
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 3005cc5f3e..3ece6353d6 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
@@ -31,9 +31,9 @@ public abstract class AuthorizationProperties {
             .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
   }
 
-  abstract String getPropertiesPrefix();
+  public abstract String getPropertiesPrefix();
 
-  abstract void validate();
+  public abstract void validate();
 
   public static void validate(String type, Map<String, String> properties) {
     switch (type) {
diff --git 
a/authorizations/authorization-jdbc/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationPlugin.java
 
b/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationPlugin.java
similarity index 98%
rename from 
authorizations/authorization-jdbc/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationPlugin.java
rename to 
authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationPlugin.java
index d9bc28636c..cc3190413e 100644
--- 
a/authorizations/authorization-jdbc/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationPlugin.java
+++ 
b/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationPlugin.java
@@ -40,7 +40,6 @@ import org.apache.gravitino.authorization.Role;
 import org.apache.gravitino.authorization.RoleChange;
 import org.apache.gravitino.authorization.SecurableObject;
 import org.apache.gravitino.authorization.User;
-import org.apache.gravitino.authorization.common.JdbcAuthorizationProperties;
 import org.apache.gravitino.connector.authorization.AuthorizationPlugin;
 import org.apache.gravitino.exceptions.AuthorizationPluginException;
 import org.apache.gravitino.meta.AuditInfo;
@@ -55,7 +54,7 @@ import org.slf4j.LoggerFactory;
  * JDBC-based authorization plugins can inherit this class and implement their 
own SQL statements.
  */
 @Unstable
-abstract class JdbcAuthorizationPlugin implements AuthorizationPlugin, 
JdbcAuthorizationSQL {
+public abstract class JdbcAuthorizationPlugin implements AuthorizationPlugin, 
JdbcAuthorizationSQL {
 
   private static final String GROUP_PREFIX = "GRAVITINO_GROUP_";
   private static final Logger LOG = 
LoggerFactory.getLogger(JdbcAuthorizationPlugin.class);
diff --git 
a/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/common/JdbcAuthorizationProperties.java
 
b/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationProperties.java
similarity index 92%
rename from 
authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/common/JdbcAuthorizationProperties.java
rename to 
authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationProperties.java
index 9a5e7c6cc9..69a1213502 100644
--- 
a/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/common/JdbcAuthorizationProperties.java
+++ 
b/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationProperties.java
@@ -16,9 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.gravitino.authorization.common;
+package org.apache.gravitino.authorization.jdbc;
 
 import java.util.Map;
+import org.apache.gravitino.authorization.common.AuthorizationProperties;
 
 /** The properties for JDBC authorization plugin. */
 public class JdbcAuthorizationProperties extends AuthorizationProperties {
@@ -39,7 +40,7 @@ public class JdbcAuthorizationProperties extends 
AuthorizationProperties {
   }
 
   @Override
-  String getPropertiesPrefix() {
+  public String getPropertiesPrefix() {
     return CONFIG_PREFIX;
   }
 
diff --git 
a/authorizations/authorization-jdbc/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationSQL.java
 
b/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationSQL.java
similarity index 99%
rename from 
authorizations/authorization-jdbc/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationSQL.java
rename to 
authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationSQL.java
index f7171ff354..de031f70e7 100644
--- 
a/authorizations/authorization-jdbc/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationSQL.java
+++ 
b/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationSQL.java
@@ -25,7 +25,7 @@ import org.apache.gravitino.authorization.Owner;
 
 /** Interface for SQL operations of the underlying access control system. */
 @Unstable
-interface JdbcAuthorizationSQL {
+public interface JdbcAuthorizationSQL {
 
   /**
    * Get SQL statements for creating a user.
diff --git 
a/authorizations/authorization-jdbc/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcMetadataObject.java
 
b/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcMetadataObject.java
similarity index 100%
rename from 
authorizations/authorization-jdbc/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcMetadataObject.java
rename to 
authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcMetadataObject.java
diff --git 
a/authorizations/authorization-jdbc/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcPrivilege.java
 
b/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcPrivilege.java
similarity index 100%
rename from 
authorizations/authorization-jdbc/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcPrivilege.java
rename to 
authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcPrivilege.java
diff --git 
a/authorizations/authorization-jdbc/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcSecurableObject.java
 
b/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcSecurableObject.java
similarity index 100%
rename from 
authorizations/authorization-jdbc/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcSecurableObject.java
rename to 
authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcSecurableObject.java
diff --git 
a/authorizations/authorization-jdbc/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcSecurableObjectMappingProvider.java
 
b/authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcSecurableObjectMappingProvider.java
similarity index 100%
rename from 
authorizations/authorization-jdbc/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcSecurableObjectMappingProvider.java
rename to 
authorizations/authorization-common/src/main/java/org/apache/gravitino/authorization/jdbc/JdbcSecurableObjectMappingProvider.java
diff --git 
a/authorizations/authorization-jdbc/src/test/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationPluginTest.java
 
b/authorizations/authorization-common/src/test/java/org/apache/gravitino/authorization/jdbc/TestJdbcAuthorizationPlugin.java
similarity index 98%
rename from 
authorizations/authorization-jdbc/src/test/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationPluginTest.java
rename to 
authorizations/authorization-common/src/test/java/org/apache/gravitino/authorization/jdbc/TestJdbcAuthorizationPlugin.java
index e261fad78d..ab91ba81e9 100644
--- 
a/authorizations/authorization-jdbc/src/test/java/org/apache/gravitino/authorization/jdbc/JdbcAuthorizationPluginTest.java
+++ 
b/authorizations/authorization-common/src/test/java/org/apache/gravitino/authorization/jdbc/TestJdbcAuthorizationPlugin.java
@@ -34,7 +34,6 @@ import org.apache.gravitino.authorization.RoleChange;
 import org.apache.gravitino.authorization.SecurableObject;
 import org.apache.gravitino.authorization.SecurableObjects;
 import org.apache.gravitino.authorization.User;
-import org.apache.gravitino.authorization.common.JdbcAuthorizationProperties;
 import org.apache.gravitino.meta.AuditInfo;
 import org.apache.gravitino.meta.GroupEntity;
 import org.apache.gravitino.meta.RoleEntity;
@@ -42,7 +41,7 @@ import org.apache.gravitino.meta.UserEntity;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-public class JdbcAuthorizationPluginTest {
+public class TestJdbcAuthorizationPlugin {
   private static List<String> expectSQLs = Lists.newArrayList();
   private static List<MetadataObject.Type> expectTypes = Lists.newArrayList();
   private static List<String> expectObjectNames = Lists.newArrayList();
diff --git a/authorizations/authorization-jdbc/build.gradle.kts 
b/authorizations/authorization-jdbc/build.gradle.kts
deleted file mode 100644
index 1a61f7c0cf..0000000000
--- a/authorizations/authorization-jdbc/build.gradle.kts
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * 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.
- */
-description = "authorization-jdbc"
-
-plugins {
-  `maven-publish`
-  id("java")
-  id("idea")
-}
-
-dependencies {
-  implementation(project(":api")) {
-    exclude(group = "*")
-  }
-  implementation(project(":core")) {
-    exclude(group = "*")
-  }
-  implementation(project(":authorizations:authorization-common")) {
-    exclude(group = "*")
-  }
-  implementation(libs.bundles.log4j)
-  implementation(libs.commons.lang3)
-  implementation(libs.guava)
-  implementation(libs.javax.jaxb.api) {
-    exclude("*")
-  }
-  implementation(libs.javax.ws.rs.api)
-  implementation(libs.jettison)
-  compileOnly(libs.lombok)
-  implementation(libs.mail)
-  implementation(libs.rome)
-  implementation(libs.commons.dbcp2)
-
-  testImplementation(project(":common"))
-  testImplementation(project(":clients:client-java"))
-  testImplementation(project(":server"))
-  testImplementation(project(":catalogs:catalog-common"))
-  testImplementation(project(":integration-test-common", "testArtifacts"))
-  testImplementation(libs.junit.jupiter.api)
-  testImplementation(libs.mockito.core)
-  testImplementation(libs.testcontainers)
-  testRuntimeOnly(libs.junit.jupiter.engine)
-}
-
-tasks {
-  val runtimeJars by registering(Copy::class) {
-    from(configurations.runtimeClasspath)
-    into("build/libs")
-  }
-
-  val copyAuthorizationLibs by registering(Copy::class) {
-    dependsOn("jar", runtimeJars)
-    from("build/libs") {
-      exclude("guava-*.jar")
-      exclude("log4j-*.jar")
-      exclude("slf4j-*.jar")
-    }
-    into("$rootDir/distribution/package/authorizations/ranger/libs")
-  }
-
-  register("copyLibAndConfig", Copy::class) {
-    dependsOn(copyAuthorizationLibs)
-  }
-
-  jar {
-    dependsOn(runtimeJars)
-  }
-}
-
-tasks.test {
-  dependsOn(":catalogs:catalog-hive:jar", ":catalogs:catalog-hive:runtimeJars")
-
-  val skipITs = project.hasProperty("skipITs")
-  if (skipITs) {
-    // Exclude integration tests
-    exclude("**/integration/test/**")
-  } else {
-    dependsOn(tasks.jar)
-  }
-}
diff --git a/settings.gradle.kts b/settings.gradle.kts
index f38443db20..562614764b 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -57,7 +57,7 @@ if 
(gradle.startParameter.projectProperties["enableFuse"]?.toBoolean() == true)
 }
 include("iceberg:iceberg-common")
 include("iceberg:iceberg-rest-server")
-include("authorizations:authorization-ranger", 
"authorizations:authorization-jdbc", "authorizations:authorization-common", 
"authorizations:authorization-chain")
+include("authorizations:authorization-ranger", 
"authorizations:authorization-common", "authorizations:authorization-chain")
 include("trino-connector:trino-connector", "trino-connector:integration-test")
 include("spark-connector:spark-common")
 // kyuubi hive connector doesn't support 2.13 for Spark3.3

Reply via email to