Skip to content

Commit 635eeee

Browse files
authored
Simplify Configuration in ClientCore (Azure#44565)
* Prototype for simplifying Configuration in ClientCore * Fix compile issues
1 parent 00b84da commit 635eeee

File tree

27 files changed

+251
-1703
lines changed

27 files changed

+251
-1703
lines changed

sdk/clientcore/core/checkstyle-suppressions.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@
1515
<suppress files="io.clientcore.core.implementation.http.rest.RequestDataConfiguration.java" checks="MissingJavadocTypeCheck" />
1616
<suppress files="io.clientcore.core.implementation.http.rest.RestProxyImpl.java" checks="MissingJavadocTypeCheck" />
1717
<suppress files="io.clientcore.core.implementation.instrumentation.Slf4jLoggerShim.java" checks="MissingJavadocTypeCheck" />
18-
<suppress files="io.clientcore.core.implementation.utils.EnvironmentConfiguration.java" checks="MissingJavadocTypeCheck" />
1918
<suppress files="io.clientcore.core.implementation.utils.ImplUtils.java" checks="MissingJavadocTypeCheck" />
2019
<suppress files="io.clientcore.core.implementation.instrumentation.Slf4jLoggerShim.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
21-
<suppress files="io.clientcore.core.implementation.utils.EnvironmentConfiguration.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
2220
<suppress files="io.clientcore.core.implementation.ReflectionSerializable.java" checks="com.azure.tools.checkstyle.checks.JavadocThrowsChecks" />
2321
<suppress files="io.clientcore.core.implementation.http.serializer.HttpResponseBodyDecoder.java" checks="com.azure.tools.checkstyle.checks.JavadocThrowsChecks" />
2422
<suppress files="io.clientcore.core.http.client.JdkHttpClientBuilder.java" checks="com.azure.tools.checkstyle.checks.ServiceClientBuilderCheck" />

sdk/clientcore/core/spotbugs-exclude.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,6 @@
206206
<Match>
207207
<Bug pattern="MS_EXPOSE_REP" />
208208
<Or>
209-
<Class name="io.clientcore.core.implementation.utils.EnvironmentConfiguration" />
210209
<Class name="io.clientcore.core.serialization.json.implementation.jackson.core.io.CharTypes" />
211210
<Class name="io.clientcore.core.serialization.json.implementation.jackson.core.io.ContentReference" />
212211
<Class name="io.clientcore.core.utils.SharedExecutorService" />

sdk/clientcore/core/src/main/java/io/clientcore/core/http/models/ProxyOptions.java

Lines changed: 6 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
import io.clientcore.core.utils.ChallengeHandler;
1111
import io.clientcore.core.utils.DigestChallengeHandler;
1212
import io.clientcore.core.utils.configuration.Configuration;
13-
import io.clientcore.core.utils.configuration.ConfigurationProperty;
14-
import io.clientcore.core.utils.configuration.ConfigurationPropertyBuilder;
1513

1614
import java.io.UnsupportedEncodingException;
1715
import java.net.InetSocketAddress;
@@ -69,29 +67,6 @@ public final class ProxyOptions {
6967
private static final Pattern UNESCAPED_PERIOD = Pattern.compile("(?<!\\\\)\\.");
7068
private static final Pattern ANY = Pattern.compile("\\*");
7169

72-
private static final ConfigurationProperty<String> NON_PROXY_PROPERTY
73-
= ConfigurationPropertyBuilder.ofString(ConfigurationProperties.HTTP_PROXY_NON_PROXY_HOSTS)
74-
.shared(true)
75-
.logValue(true)
76-
.build();
77-
private static final ConfigurationProperty<String> HOST_PROPERTY
78-
= ConfigurationPropertyBuilder.ofString(ConfigurationProperties.HTTP_PROXY_HOST)
79-
.shared(true)
80-
.logValue(true)
81-
.build();
82-
private static final ConfigurationProperty<Integer> PORT_PROPERTY
83-
= ConfigurationPropertyBuilder.ofInteger(ConfigurationProperties.HTTP_PROXY_PORT)
84-
.shared(true)
85-
.defaultValue(DEFAULT_HTTPS_PORT)
86-
.build();
87-
private static final ConfigurationProperty<String> USER_PROPERTY
88-
= ConfigurationPropertyBuilder.ofString(ConfigurationProperties.HTTP_PROXY_USER)
89-
.shared(true)
90-
.logValue(true)
91-
.build();
92-
private static final ConfigurationProperty<String> PASSWORD_PROPERTY
93-
= ConfigurationPropertyBuilder.ofString(ConfigurationProperties.HTTP_PROXY_PASSWORD).shared(true).build();
94-
9570
private final InetSocketAddress address;
9671
private final Type type;
9772
private String username;
@@ -381,17 +356,18 @@ private static ProxyOptions attemptToLoadJavaProxy(Configuration configuration,
381356
}
382357

383358
private static ProxyOptions attemptToLoadSdkProxy(Configuration configuration, boolean createUnresolved) {
384-
String host = configuration.get(HOST_PROPERTY);
359+
String host = configuration.get(ConfigurationProperties.HTTP_PROXY_HOST);
385360

386361
// No proxy configuration setup.
387362
if (isNullOrEmpty(host)) {
388363
return null;
389364
}
390365

391-
int port = configuration.get(PORT_PROPERTY);
392-
String nonProxyHostsString = configuration.get(NON_PROXY_PROPERTY);
393-
String username = configuration.get(USER_PROPERTY);
394-
String password = configuration.get(PASSWORD_PROPERTY);
366+
String portConfig = configuration.get(ConfigurationProperties.HTTP_PROXY_PORT);
367+
int port = (portConfig == null) ? DEFAULT_HTTPS_PORT : Integer.parseInt(portConfig);
368+
String nonProxyHostsString = configuration.get(ConfigurationProperties.HTTP_PROXY_NON_PROXY_HOSTS);
369+
String username = configuration.get(ConfigurationProperties.HTTP_PROXY_USER);
370+
String password = configuration.get(ConfigurationProperties.HTTP_PROXY_PASSWORD);
395371

396372
return createOptions(host, port, nonProxyHostsString, username, password, createUnresolved);
397373
}

sdk/clientcore/core/src/main/java/io/clientcore/core/http/pipeline/HttpInstrumentationOptions.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
import io.clientcore.core.http.models.HttpHeaderName;
99
import io.clientcore.core.instrumentation.InstrumentationOptions;
1010
import io.clientcore.core.utils.configuration.Configuration;
11-
import io.clientcore.core.utils.configuration.ConfigurationProperty;
12-
import io.clientcore.core.utils.configuration.ConfigurationPropertyBuilder;
1311

1412
import java.util.Arrays;
1513
import java.util.Collections;
@@ -323,15 +321,11 @@ public enum HttpLogLevel {
323321
private static final String BODY_VALUE = "body";
324322
private static final String BODY_AND_HEADERS_VALUE = "body_and_headers";
325323

326-
private static final ConfigurationProperty<String> HTTP_LOG_LEVEL
327-
= ConfigurationPropertyBuilder.ofString("http.log.level")
328-
.shared(true)
329-
.environmentVariableName(Configuration.HTTP_LOG_LEVEL)
330-
.defaultValue("none")
331-
.build();
332-
333324
static HttpLogLevel fromConfiguration(Configuration configuration) {
334-
String logLevel = configuration.get(HTTP_LOG_LEVEL);
325+
String logLevel = configuration.get(Configuration.HTTP_LOG_LEVEL);
326+
if (logLevel == null) {
327+
logLevel = configuration.get("http.log.level");
328+
}
335329

336330
if (HEADERS_VALUE.equalsIgnoreCase(logLevel)) {
337331
return HEADERS;

sdk/clientcore/core/src/main/java/io/clientcore/core/http/pipeline/HttpPipelineBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ public HttpPipeline build() {
107107
if (httpClient != null) {
108108
client = httpClient;
109109
} else {
110-
if (Configuration.getGlobalConfiguration().get("ENABLE_HTTP_CLIENT_SHARING", Boolean.TRUE)) {
110+
if (Boolean.parseBoolean(Configuration.getGlobalConfiguration().get("AZURE_HTTP_CLIENT_SHARING"))) {
111111
client = HttpClient.getSharedInstance();
112112
} else {
113113
client = HttpClient.getNewInstance();

sdk/clientcore/core/src/main/java/io/clientcore/core/implementation/instrumentation/DefaultLogger.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
package io.clientcore.core.implementation.instrumentation;
55

6-
import io.clientcore.core.implementation.utils.EnvironmentConfiguration;
76
import io.clientcore.core.instrumentation.logging.LogLevel;
87
import io.clientcore.core.utils.configuration.Configuration;
98

@@ -217,7 +216,6 @@ private static void zeroPad(int value, byte[] bytes, int index) {
217216

218217
private static LogLevel fromEnvironment() {
219218
// LogLevel is so basic, we can't use configuration to read it (since Configuration needs to log too)
220-
String level = EnvironmentConfiguration.getGlobalConfiguration().get(Configuration.LOG_LEVEL);
221-
return LogLevel.fromString(level);
219+
return LogLevel.fromString(Configuration.getGlobalConfiguration().get(Configuration.LOG_LEVEL));
222220
}
223221
}

sdk/clientcore/core/src/main/java/io/clientcore/core/implementation/utils/EnvironmentConfiguration.java

Lines changed: 0 additions & 226 deletions
This file was deleted.

0 commit comments

Comments
 (0)