feat(agents): move agents into dbx repo

This commit is contained in:
t8y2 committed 2026-06-23 11:38:16 +08:00
1 parent ab35fda299
commit 3a25487dea
215 files changed
+29740 -15

No files matched your search

@@ -0,0 +1,41 @@
package com.dbx.agent.databricks;
import com.dbx.agent.ConfiguredJdbcAgent;
import com.dbx.agent.ConnectParams;
import com.dbx.agent.JdbcAgentProfile;
import com.dbx.agent.JsonRpcServer;
public final class DatabricksAgent extends ConfiguredJdbcAgent {
public static final JdbcAgentProfile DATABRICKS_PROFILE = new DatabricksProfile();
public DatabricksAgent() {
super(DATABRICKS_PROFILE);
}
public static void main(String[] args) {
new JsonRpcServer(new DatabricksAgent()).run();
}
private static final class DatabricksProfile extends JdbcAgentProfile {
private DatabricksProfile() {
super("com.databricks.client.jdbc.Driver", "jdbc:databricks://{host}:{port}/{database}", 443, true);
}
@Override
public String buildUrl(ConnectParams params) {
if (!params.getConnection_string().trim().isEmpty()) {
return params.getConnection_string();
}
int port = params.getPort() > 0 ? params.getPort() : getDefaultPort();
String base = getUrlTemplate()
.replace("{host}", params.getHost())
.replace("{port}", Integer.toString(port))
.replace("{database}", params.getDatabase());
String urlParams = params.getUrl_params() == null ? "" : params.getUrl_params().trim();
while (urlParams.startsWith(";") || urlParams.startsWith("?") || urlParams.startsWith("&")) {
urlParams = urlParams.substring(1);
}
return urlParams.isEmpty() ? base : base + ";" + urlParams;
}
}
}
@@ -0,0 +1,22 @@
package com.dbx.agent.databricks;
import com.dbx.agent.ConnectParams;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class DatabricksAgentTest {
@Test
void buildsHttpPathUrl() {
ConnectParams params = new ConnectParams();
params.setHost("adb-123.azuredatabricks.net");
params.setPort(443);
params.setDatabase("default");
params.setUrl_params("httpPath=/sql/1.0/warehouses/abc;AuthMech=3");
assertEquals(
"jdbc:databricks://adb-123.azuredatabricks.net:443/default;httpPath=/sql/1.0/warehouses/abc;AuthMech=3",
DatabricksAgent.DATABRICKS_PROFILE.buildUrl(params)
);
}
}