Skip to content

Commit 22d8304

Browse files
committed
a few refactorings
1 parent c72b708 commit 22d8304

2 files changed

Lines changed: 13 additions & 14 deletions

File tree

‎framework/db/src/main/java/com/cloud/utils/db/TransactionLegacy.java‎

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1201,7 +1201,7 @@ protected static Pair<String, String> getConnectionUriAndDriver(Properties dbPro
12011201
connectionUri = propertyUri;
12021202
}
12031203

1204-
connectionUri = addDefaultConnectionCollation(connectionUri, driver);
1204+
connectionUri = addDefaultConnectionCollation(connectionUri);
12051205

12061206
LOGGER.info("Using the following URI to connect to {} database [{}].", schema, connectionUri);
12071207
return new Pair<>(connectionUri, driver);
@@ -1272,20 +1272,19 @@ protected static String buildConnectionUri(String loadBalanceStrategy, String dr
12721272
* connections that do not already define the charset or the collation, either through {@code db.<schema>.url.params}
12731273
* or directly in {@code db.<schema>.uri}.
12741274
*
1275-
* @param connectionParams the parameters configured by the operator; either the value of
1276-
* {@code db.<schema>.url.params} or the whole {@code db.<schema>.uri}.
1275+
* @param connectionUri the connection URI configured by the operator.
12771276
*/
1278-
protected static boolean shouldPinConnectionCollation(String connectionParams) {
1279-
return !StringUtils.containsIgnoreCase(connectionParams, CONNECTION_COLLATION_PARAM)
1280-
&& !StringUtils.containsIgnoreCase(connectionParams, CHARACTER_ENCODING_PARAM);
1277+
protected static boolean shouldPinConnectionCollation(String connectionUri) {
1278+
return !StringUtils.containsIgnoreCase(connectionUri, CONNECTION_COLLATION_PARAM)
1279+
&& !StringUtils.containsIgnoreCase(connectionUri, CHARACTER_ENCODING_PARAM);
12811280
}
12821281

12831282
/**
1284-
* Adds {@link #DEFAULT_CONNECTION_COLLATION} to a connection URI provided either through
1283+
* Adds {@link #DEFAULT_CONNECTION_COLLATION} to a connection URI configured either through
12851284
* {@code db.<schema>.url.params} or directly in {@code db.<schema>.uri}, keeping the URI untouched if the operator
12861285
* already defined the charset or the collation in it.
12871286
*/
1288-
protected static String addDefaultConnectionCollation(String connectionUri, String driver) {
1287+
protected static String addDefaultConnectionCollation(String connectionUri) {
12891288
if (!shouldPinConnectionCollation(connectionUri)) {
12901289
return connectionUri;
12911290
}

‎framework/db/src/test/java/com/cloud/utils/db/TransactionLegacyTest.java‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -213,28 +213,28 @@ public void shouldPinConnectionCollationTestIsCaseInsensitive() {
213213

214214
@Test
215215
public void addDefaultConnectionCollationTestUriWithoutParametersAddsTheQueryStringSeparator() {
216-
String result = TransactionLegacy.addDefaultConnectionCollation("jdbc:mysql://host:5555/name", "jdbc:mysql");
216+
String result = TransactionLegacy.addDefaultConnectionCollation("jdbc:mysql://host:5555/name");
217217

218218
Assert.assertEquals("jdbc:mysql://host:5555/name?connectionCollation=utf8mb4_general_ci", result);
219219
}
220220

221221
@Test
222222
public void addDefaultConnectionCollationTestUriWithParametersAddsTheParameterSeparator() {
223-
String result = TransactionLegacy.addDefaultConnectionCollation("jdbc:mysql://host:5555/name?someParams", "jdbc:mysql");
223+
String result = TransactionLegacy.addDefaultConnectionCollation("jdbc:mysql://host:5555/name?someParams");
224224

225225
Assert.assertEquals("jdbc:mysql://host:5555/name?someParams&connectionCollation=utf8mb4_general_ci", result);
226226
}
227227

228228
@Test
229229
public void addDefaultConnectionCollationTestUriEndingWithQueryStringSeparatorDoesNotDuplicateIt() {
230-
String result = TransactionLegacy.addDefaultConnectionCollation("jdbc:mysql://host:5555/name?", "jdbc:mysql");
230+
String result = TransactionLegacy.addDefaultConnectionCollation("jdbc:mysql://host:5555/name?");
231231

232232
Assert.assertEquals("jdbc:mysql://host:5555/name?connectionCollation=utf8mb4_general_ci", result);
233233
}
234234

235235
@Test
236236
public void addDefaultConnectionCollationTestUriEndingWithParameterSeparatorDoesNotDuplicateIt() {
237-
String result = TransactionLegacy.addDefaultConnectionCollation("jdbc:mysql://host:5555/name?someParams&", "jdbc:mysql");
237+
String result = TransactionLegacy.addDefaultConnectionCollation("jdbc:mysql://host:5555/name?someParams&");
238238

239239
Assert.assertEquals("jdbc:mysql://host:5555/name?someParams&connectionCollation=utf8mb4_general_ci", result);
240240
}
@@ -243,13 +243,13 @@ public void addDefaultConnectionCollationTestUriEndingWithParameterSeparatorDoes
243243
public void addDefaultConnectionCollationTestUriDefiningConnectionCollationKeepsItUntouched() {
244244
String uri = "jdbc:mysql://host:5555/name?connectionCollation=utf8mb4_unicode_ci";
245245

246-
Assert.assertEquals(uri, TransactionLegacy.addDefaultConnectionCollation(uri, "jdbc:mysql"));
246+
Assert.assertEquals(uri, TransactionLegacy.addDefaultConnectionCollation(uri));
247247
}
248248

249249
@Test
250250
public void addDefaultConnectionCollationTestUriDefiningCharacterEncodingKeepsItUntouched() {
251251
String uri = "jdbc:mysql://host:5555/name?characterEncoding=UTF-8";
252252

253-
Assert.assertEquals(uri, TransactionLegacy.addDefaultConnectionCollation(uri, "jdbc:mysql"));
253+
Assert.assertEquals(uri, TransactionLegacy.addDefaultConnectionCollation(uri));
254254
}
255255
}

0 commit comments

Comments
 (0)