Skip to content

Commit 7c61097

Browse files
committed
Java FIT performer: refactor applyClusterConfig
Cluster config logic is split between convertClusterConfig and applyClusterConfig - moving it all to the latter. Needed for a follow-up commit. Change-Id: Ia0c2ab207f4b6e3d4fd14b18f5b6ab9028b65cbe Reviewed-on: https://review.couchbase.org/c/couchbase-jvm-clients/+/229356 Tested-by: Build Bot <[email protected]> Reviewed-by: David Nault <[email protected]>
1 parent 5dbd0b0 commit 7c61097

File tree

1 file changed

+62
-59
lines changed

1 file changed

+62
-59
lines changed

java-fit-performer/src/main/java/com/couchbase/utils/OptionsUtil.java

Lines changed: 62 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import com.couchbase.client.core.env.SecurityConfig;
3131
import com.couchbase.client.core.env.TimeoutConfig;
3232
import com.couchbase.client.core.msg.kv.DurabilityLevel;
33+
import com.couchbase.client.java.ClusterOptions;
3334
import com.couchbase.client.java.env.ClusterEnvironment;
3435
import com.couchbase.client.java.json.JsonArray;
3536
import com.couchbase.client.java.json.JsonObject;
@@ -101,85 +102,65 @@ ClusterEnvironment.Builder convertClusterConfig(ClusterConnectionCreateRequest r
101102
if (request.hasClusterConfig()) {
102103
var cc = request.getClusterConfig();
103104

104-
if (cc.getUseCustomSerializer()) {
105-
clusterEnvironment.jsonSerializer(new CustomSerializer());
106-
}
107-
108105
// [if:3.3.0]
109106
if (request.getClusterConfig().hasTransactionsConfig()) {
110107
applyTransactionsConfig(request, getCluster, clusterEnvironment);
111108
}
112109
// [end]
113110

114-
SecurityConfig.Builder secBuilder = null;
115-
if (cc.getUseTls()) {
116-
secBuilder = SecurityConfig.builder();
117-
secBuilder.enableTls(true);
118-
}
111+
applyClusterConfig(clusterEnvironment, cc, onClusterConnectionClose);
119112

120-
if (cc.hasCertPath()) {
121-
if (secBuilder == null) secBuilder = SecurityConfig.builder();
122-
logger.info("Using certificate from file {}", cc.getCertPath());
123-
secBuilder.trustCertificate(Path.of(cc.getCertPath()));
124-
}
113+
}
114+
115+
return clusterEnvironment;
116+
}
117+
118+
private static void applyClusterConfig(ClusterEnvironment.Builder clusterEnvironment,
119+
ClusterConfig cc,
120+
ArrayList<Runnable> onClusterConnectionClose) {
121+
IoConfig.Builder ioConfig = null;
122+
TimeoutConfig.Builder timeoutConfig = null;
123+
124+
if (cc.getUseCustomSerializer()) {
125+
clusterEnvironment.jsonSerializer(new CustomSerializer());
126+
}
127+
128+
SecurityConfig.Builder secBuilder = null;
129+
if (cc.getUseTls()) {
130+
secBuilder = SecurityConfig.builder();
131+
secBuilder.enableTls(true);
132+
}
133+
134+
if (cc.hasCertPath()) {
135+
if (secBuilder == null) secBuilder = SecurityConfig.builder();
136+
logger.info("Using certificate from file {}", cc.getCertPath());
137+
secBuilder.trustCertificate(Path.of(cc.getCertPath()));
138+
}
125139

126-
if (cc.hasCert()) {
140+
if (cc.hasCert()) {
127141
if (secBuilder == null) secBuilder = SecurityConfig.builder();
128142
try {
129-
CertificateFactory cFactory = CertificateFactory.getInstance("X.509");
130-
var file = new ByteArrayInputStream(cc.getCert().getBytes(StandardCharsets.UTF_8));
131-
logger.info("Using certificate {}", cc.getCert());
132-
X509Certificate cert = (X509Certificate) cFactory.generateCertificate(file);
143+
CertificateFactory cFactory = CertificateFactory.getInstance("X.509");
144+
var file = new ByteArrayInputStream(cc.getCert().getBytes(StandardCharsets.UTF_8));
145+
logger.info("Using certificate {}", cc.getCert());
146+
X509Certificate cert = (X509Certificate) cFactory.generateCertificate(file);
133147

134-
secBuilder.trustCertificates(List.of(cert));
148+
secBuilder.trustCertificates(List.of(cert));
135149
}
136150
catch (CertificateException err) {
137-
throw new RuntimeException(err);
151+
throw new RuntimeException(err);
138152
}
139-
}
153+
}
140154

141-
if (cc.hasInsecure() && cc.getInsecure()) {
155+
if (cc.hasInsecure() && cc.getInsecure()) {
142156
if (secBuilder == null) secBuilder = SecurityConfig.builder();
143157
// Cannot use enableCertificateVerification as it was added later
144158
secBuilder.trustManagerFactory(InsecureTrustManagerFactory.INSTANCE);
145-
}
146-
147-
if (secBuilder != null) {
148-
clusterEnvironment.securityConfig(secBuilder);
149-
}
150-
151-
applyClusterConfig(clusterEnvironment, cc);
152-
153-
if (cc.hasObservabilityConfig()) {
154-
applyObservabilityConfig(clusterEnvironment, cc, onClusterConnectionClose);
155-
}
156-
157-
if (cc.hasPreferredServerGroup()) {
158-
// [if:3.7.4]
159-
clusterEnvironment.preferredServerGroup(cc.getPreferredServerGroup());
160-
// [end]
161-
}
162-
163-
if (cc.hasAppTelemetryEndpoint()) {
164-
// [if:3.8.0]
165-
clusterEnvironment.appTelemetryEndpoint(cc.getAppTelemetryEndpoint());
166-
// [end]
167-
}
168-
169-
if (cc.hasEnableAppTelemetry()) {
170-
// [if:3.8.0]
171-
clusterEnvironment.disableAppTelemetry(!cc.getEnableAppTelemetry());
172-
// [end]
173-
}
174159
}
175160

176-
return clusterEnvironment;
177-
}
178-
179-
private static void applyClusterConfig(ClusterEnvironment.Builder clusterEnvironment, ClusterConfig cc) {
180-
IoConfig.Builder ioConfig = null;
181-
TimeoutConfig.Builder timeoutConfig = null;
182-
161+
if (secBuilder != null) {
162+
clusterEnvironment.securityConfig(secBuilder);
163+
}
183164
if (cc.hasKvConnectTimeoutSecs()) {
184165
if (timeoutConfig == null) timeoutConfig = TimeoutConfig.builder();
185166
timeoutConfig.connectTimeout(Duration.ofSeconds(cc.getKvConnectTimeoutSecs()));
@@ -292,6 +273,28 @@ private static void applyClusterConfig(ClusterEnvironment.Builder clusterEnviron
292273
if (timeoutConfig != null) {
293274
clusterEnvironment.timeoutConfig(timeoutConfig);
294275
}
276+
277+
if (cc.hasObservabilityConfig()) {
278+
applyObservabilityConfig(clusterEnvironment, cc, onClusterConnectionClose);
279+
}
280+
281+
if (cc.hasPreferredServerGroup()) {
282+
// [if:3.7.4]
283+
clusterEnvironment.preferredServerGroup(cc.getPreferredServerGroup());
284+
// [end]
285+
}
286+
287+
if (cc.hasAppTelemetryEndpoint()) {
288+
// [if:3.8.0]
289+
clusterEnvironment.appTelemetryEndpoint(cc.getAppTelemetryEndpoint());
290+
// [end]
291+
}
292+
293+
if (cc.hasEnableAppTelemetry()) {
294+
// [if:3.8.0]
295+
clusterEnvironment.disableAppTelemetry(!cc.getEnableAppTelemetry());
296+
// [end]
297+
}
295298
}
296299

297300
// [if:3.5.1]

0 commit comments

Comments
 (0)