Skip to content

Commit aae3a43

Browse files
committed
Change config values representing uris to URI
Updated airlift version supports coercion from String to URI automatically during configuration parsing.
1 parent 5635bf5 commit aae3a43

File tree

5 files changed

+33
-33
lines changed

5 files changed

+33
-33
lines changed

core/trino-main/src/main/java/io/trino/server/security/oauth2/StaticConfigurationProvider.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515

1616
import com.google.inject.Inject;
1717

18-
import java.net.URI;
19-
2018
public class StaticConfigurationProvider
2119
implements OAuth2ServerConfigProvider
2220
{
@@ -27,11 +25,11 @@ public class StaticConfigurationProvider
2725
{
2826
this.config = new OAuth2ServerConfig(
2927
config.getAccessTokenIssuer(),
30-
URI.create(config.getAuthUrl()),
31-
URI.create(config.getTokenUrl()),
32-
URI.create(config.getJwksUrl()),
33-
config.getUserinfoUrl().map(URI::create),
34-
config.getEndSessionUrl().map(URI::create));
28+
config.getAuthUrl(),
29+
config.getTokenUrl(),
30+
config.getJwksUrl(),
31+
config.getUserinfoUrl(),
32+
config.getEndSessionUrl());
3533
}
3634

3735
@Override

core/trino-main/src/main/java/io/trino/server/security/oauth2/StaticOAuth2ServerConfig.java

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import io.airlift.configuration.ConfigDescription;
1818
import jakarta.validation.constraints.NotNull;
1919

20+
import java.net.URI;
2021
import java.util.Optional;
2122

2223
public class StaticOAuth2ServerConfig
@@ -29,11 +30,11 @@ public class StaticOAuth2ServerConfig
2930
public static final String END_SESSION_URL = "http-server.authentication.oauth2.end-session-url";
3031

3132
private Optional<String> accessTokenIssuer = Optional.empty();
32-
private String authUrl;
33-
private String tokenUrl;
34-
private String jwksUrl;
35-
private Optional<String> userinfoUrl = Optional.empty();
36-
private Optional<String> endSessionUrl = Optional.empty();
33+
private URI authUrl;
34+
private URI tokenUrl;
35+
private URI jwksUrl;
36+
private Optional<URI> userinfoUrl = Optional.empty();
37+
private Optional<URI> endSessionUrl = Optional.empty();
3738

3839
@NotNull
3940
public Optional<String> getAccessTokenIssuer()
@@ -50,68 +51,68 @@ public StaticOAuth2ServerConfig setAccessTokenIssuer(String accessTokenIssuer)
5051
}
5152

5253
@NotNull
53-
public String getAuthUrl()
54+
public URI getAuthUrl()
5455
{
5556
return authUrl;
5657
}
5758

5859
@Config(AUTH_URL)
5960
@ConfigDescription("URL of the authorization server's authorization endpoint")
60-
public StaticOAuth2ServerConfig setAuthUrl(String authUrl)
61+
public StaticOAuth2ServerConfig setAuthUrl(URI authUrl)
6162
{
6263
this.authUrl = authUrl;
6364
return this;
6465
}
6566

6667
@NotNull
67-
public String getTokenUrl()
68+
public URI getTokenUrl()
6869
{
6970
return tokenUrl;
7071
}
7172

7273
@Config(TOKEN_URL)
7374
@ConfigDescription("URL of the authorization server's token endpoint")
74-
public StaticOAuth2ServerConfig setTokenUrl(String tokenUrl)
75+
public StaticOAuth2ServerConfig setTokenUrl(URI tokenUrl)
7576
{
7677
this.tokenUrl = tokenUrl;
7778
return this;
7879
}
7980

8081
@NotNull
81-
public String getJwksUrl()
82+
public URI getJwksUrl()
8283
{
8384
return jwksUrl;
8485
}
8586

8687
@Config(JWKS_URL)
8788
@ConfigDescription("URL of the authorization server's JWKS (JSON Web Key Set) endpoint")
88-
public StaticOAuth2ServerConfig setJwksUrl(String jwksUrl)
89+
public StaticOAuth2ServerConfig setJwksUrl(URI jwksUrl)
8990
{
9091
this.jwksUrl = jwksUrl;
9192
return this;
9293
}
9394

94-
public Optional<String> getUserinfoUrl()
95+
public Optional<URI> getUserinfoUrl()
9596
{
9697
return userinfoUrl;
9798
}
9899

99100
@Config(USERINFO_URL)
100101
@ConfigDescription("URL of the userinfo endpoint")
101-
public StaticOAuth2ServerConfig setUserinfoUrl(String userinfoUrl)
102+
public StaticOAuth2ServerConfig setUserinfoUrl(URI userinfoUrl)
102103
{
103104
this.userinfoUrl = Optional.ofNullable(userinfoUrl);
104105
return this;
105106
}
106107

107-
public Optional<String> getEndSessionUrl()
108+
public Optional<URI> getEndSessionUrl()
108109
{
109110
return endSessionUrl;
110111
}
111112

112113
@Config(END_SESSION_URL)
113114
@ConfigDescription("URL of the end session endpoint")
114-
public StaticOAuth2ServerConfig setEndSessionUrl(String endSessionUrl)
115+
public StaticOAuth2ServerConfig setEndSessionUrl(URI endSessionUrl)
115116
{
116117
this.endSessionUrl = Optional.ofNullable(endSessionUrl);
117118
return this;

plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/glue/GlueHiveMetastoreConfig.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import jakarta.validation.constraints.Max;
2121
import jakarta.validation.constraints.Min;
2222

23+
import java.net.URI;
2324
import java.util.Optional;
2425

2526
@DefunctConfig({
@@ -33,9 +34,9 @@
3334
public class GlueHiveMetastoreConfig
3435
{
3536
private Optional<String> glueRegion = Optional.empty();
36-
private Optional<String> glueEndpointUrl = Optional.empty();
37+
private Optional<URI> glueEndpointUrl = Optional.empty();
3738
private Optional<String> glueStsRegion = Optional.empty();
38-
private Optional<String> glueStsEndpointUrl = Optional.empty();
39+
private Optional<URI> glueStsEndpointUrl = Optional.empty();
3940
private boolean pinGlueClientToCurrentRegion;
4041
private int maxGlueErrorRetries = 10;
4142
private int maxGlueConnections = 30;
@@ -64,14 +65,14 @@ public GlueHiveMetastoreConfig setGlueRegion(String region)
6465
return this;
6566
}
6667

67-
public Optional<String> getGlueEndpointUrl()
68+
public Optional<URI> getGlueEndpointUrl()
6869
{
6970
return glueEndpointUrl;
7071
}
7172

7273
@Config("hive.metastore.glue.endpoint-url")
7374
@ConfigDescription("Glue API endpoint URL")
74-
public GlueHiveMetastoreConfig setGlueEndpointUrl(String glueEndpointUrl)
75+
public GlueHiveMetastoreConfig setGlueEndpointUrl(URI glueEndpointUrl)
7576
{
7677
this.glueEndpointUrl = Optional.ofNullable(glueEndpointUrl);
7778
return this;
@@ -90,14 +91,14 @@ public GlueHiveMetastoreConfig setGlueStsRegion(String glueStsRegion)
9091
return this;
9192
}
9293

93-
public Optional<String> getGlueStsEndpointUrl()
94+
public Optional<URI> getGlueStsEndpointUrl()
9495
{
9596
return glueStsEndpointUrl;
9697
}
9798

9899
@Config("hive.metastore.glue.sts.endpoint")
99100
@ConfigDescription("AWS STS endpoint for Glue authentication")
100-
public GlueHiveMetastoreConfig setGlueStsEndpointUrl(String glueStsEndpointUrl)
101+
public GlueHiveMetastoreConfig setGlueStsEndpointUrl(URI glueStsEndpointUrl)
101102
{
102103
this.glueStsEndpointUrl = Optional.ofNullable(glueStsEndpointUrl);
103104
return this;

plugin/trino-hive/src/main/java/io/trino/plugin/hive/metastore/glue/GlueMetastoreModule.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949
import software.amazon.awssdk.services.sts.auth.StsAssumeRoleCredentialsProvider;
5050
import software.amazon.awssdk.services.sts.auth.StsWebIdentityTokenFileCredentialsProvider;
5151

52-
import java.net.URI;
5352
import java.util.EnumSet;
5453
import java.util.Optional;
5554
import java.util.Set;
@@ -186,7 +185,7 @@ else if (config.getIamRole().isPresent()) {
186185
if (config.getGlueEndpointUrl().isPresent()) {
187186
checkArgument(config.getGlueRegion().isPresent(), "Glue region must be set when Glue endpoint URL is set");
188187
glue.region(Region.of(config.getGlueRegion().get()));
189-
glue.endpointOverride(URI.create(config.getGlueEndpointUrl().get()));
188+
glue.endpointOverride(config.getGlueEndpointUrl().get());
190189
}
191190
else if (config.getGlueRegion().isPresent()) {
192191
glue.region(Region.of(config.getGlueRegion().get()));
@@ -215,7 +214,7 @@ private static StsClient getStsClient(GlueHiveMetastoreConfig config, Optional<S
215214
staticCredentialsProvider.ifPresent(sts::credentialsProvider);
216215

217216
if (config.getGlueStsEndpointUrl().isPresent() && config.getGlueStsRegion().isPresent()) {
218-
sts.endpointOverride(URI.create(config.getGlueStsEndpointUrl().get()))
217+
sts.endpointOverride(config.getGlueStsEndpointUrl().get())
219218
.region(Region.of(config.getGlueStsRegion().get()));
220219
}
221220
else if (config.getGlueStsRegion().isPresent()) {

plugin/trino-hive/src/test/java/io/trino/plugin/hive/metastore/glue/TestGlueHiveMetastoreConfig.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.google.common.collect.ImmutableMap;
1717
import org.junit.jupiter.api.Test;
1818

19+
import java.net.URI;
1920
import java.util.Map;
2021

2122
import static io.airlift.configuration.testing.ConfigAssertions.assertFullMapping;
@@ -74,9 +75,9 @@ void testExplicitPropertyMapping()
7475

7576
GlueHiveMetastoreConfig expected = new GlueHiveMetastoreConfig()
7677
.setGlueRegion("us-east-1")
77-
.setGlueEndpointUrl("http://foo.bar")
78+
.setGlueEndpointUrl(URI.create("http://foo.bar"))
7879
.setGlueStsRegion("us-east-3")
79-
.setGlueStsEndpointUrl("http://sts.foo.bar")
80+
.setGlueStsEndpointUrl(URI.create("http://sts.foo.bar"))
8081
.setPinGlueClientToCurrentRegion(true)
8182
.setMaxGlueConnections(10)
8283
.setMaxGlueErrorRetries(20)

0 commit comments

Comments
 (0)