terrymanu commented on code in PR #20169:
URL: https://github.com/apache/shardingsphere/pull/20169#discussion_r945307078
##########
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/config/StorageContainerConfiguration.java:
##########
@@ -36,12 +36,12 @@ public interface StorageContainerConfiguration {
*
* @return docker container environments
*/
- Map<String, String> getEnvs();
+ Map<String, String> getContainerEnvs();
Review Comment:
Please do not use abbreviation in method name
##########
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/adapter/config/AdaptorContainerConfiguration.java:
##########
@@ -25,8 +25,8 @@
/**
* Adaptor container configuration.
*/
-@RequiredArgsConstructor
@Getter
+@RequiredArgsConstructor
Review Comment:
Please do not change the original codes if unnecessary.
##########
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/config/impl/opengauss/OpenGaussContainerConfiguration.java:
##########
@@ -17,27 +17,22 @@
package
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.opengauss;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.StorageContainerConfiguration;
-import org.testcontainers.shaded.com.google.common.collect.ImmutableMap;
import java.util.Map;
-public class DefaultOpenGaussContainerConfiguration implements
StorageContainerConfiguration {
+/**
+ * OpenGauss container configuration.
+ */
+@Getter
+@RequiredArgsConstructor
Review Comment:
Constructor annotation should in the front of field annotation
##########
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/config/impl/mysql/MySQLContainerConfigurationFactory.java:
##########
@@ -17,32 +17,43 @@
package
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.mysql;
-import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.StorageContainerConfiguration;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-public class DefaultMySQLContainerConfiguration implements
StorageContainerConfiguration {
+/**
+ * MySQL container configuration factory.
+ */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class MySQLContainerConfigurationFactory {
+
+ /**
+ * Create new instance of mysql container configuration.
+ *
+ * @return created instance
+ */
+ public static MySQLContainerConfiguration newInstance() {
+ return new MySQLContainerConfiguration(getCommands(),
getContainerEnvs(), getMountedResources());
+ }
- @Override
- public String[] getCommands() {
+ private static String[] getCommands() {
// TODO need auto set server-id by generator, now always set server-id
to 1
String[] commands = new String[1];
commands[0] = "--server-id=1";
return commands;
}
- @Override
- public Map<String, String> getEnvs() {
+ private static Map<String, String> getContainerEnvs() {
Review Comment:
Please do not use abbreviation in method name
##########
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/config/impl/mysql/MySQLContainerConfigurationFactory.java:
##########
@@ -17,32 +17,43 @@
package
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.mysql;
-import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.StorageContainerConfiguration;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-public class DefaultMySQLContainerConfiguration implements
StorageContainerConfiguration {
+/**
+ * MySQL container configuration factory.
+ */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class MySQLContainerConfigurationFactory {
+
+ /**
+ * Create new instance of mysql container configuration.
+ *
+ * @return created instance
+ */
+ public static MySQLContainerConfiguration newInstance() {
+ return new MySQLContainerConfiguration(getCommands(),
getContainerEnvs(), getMountedResources());
+ }
- @Override
- public String[] getCommands() {
+ private static String[] getCommands() {
// TODO need auto set server-id by generator, now always set server-id
to 1
String[] commands = new String[1];
commands[0] = "--server-id=1";
return commands;
}
- @Override
- public Map<String, String> getEnvs() {
+ private static Map<String, String> getContainerEnvs() {
Map<String, String> result = new HashMap<>();
Review Comment:
Miss init capacity
##########
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/config/impl/postgresql/PostgreSQLContainerConfigurationFactory.java:
##########
@@ -17,27 +17,37 @@
package
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.postgresql;
-import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.StorageContainerConfiguration;
-
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
import java.util.Collections;
import java.util.Map;
-public class DefaultPostgreSQLContainerConfiguration implements
StorageContainerConfiguration {
+/**
+ * PostgreSQL container configuration factory.
+ */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class PostgreSQLContainerConfigurationFactory {
+
+ /**
+ * Create new instance of postgresql container configuration.
+ *
+ * @return created instance
+ */
+ public static PostgreSQLContainerConfiguration newInstance() {
+ return new PostgreSQLContainerConfiguration(getCommands(),
getContainerEnvs(), getMountedResources());
+ }
- @Override
- public String[] getCommands() {
+ private static String[] getCommands() {
String[] commands = new String[1];
commands[0] = "-c config_file=/etc/postgresql/postgresql.conf";
return commands;
}
- @Override
- public Map<String, String> getEnvs() {
+ private static Map<String, String> getContainerEnvs() {
Review Comment:
Please do not use abbreviation in method name
##########
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/config/impl/mysql/MySQLContainerConfiguration.java:
##########
@@ -15,31 +15,24 @@
* limitations under the License.
*/
-package
org.apache.shardingsphere.integration.data.pipeline.framework.container.config.storage.impl.mysql;
+package
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.mysql;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.StorageContainerConfiguration;
-import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.mysql.DefaultMySQLContainerConfiguration;
-import java.util.Collections;
import java.util.Map;
/**
- * Scaling mysql container configuration.
+ * MySQL container configuration.
*/
-public final class ScalingMySQLContainerConfiguration implements
StorageContainerConfiguration {
+@Getter
+@RequiredArgsConstructor
+public final class MySQLContainerConfiguration implements
StorageContainerConfiguration {
Review Comment:
Is the class necessary, how about use same StorageContainerConfiguration?
##########
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/config/impl/StorageContainerConfigurationFactory.java:
##########
@@ -15,43 +15,36 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.container.config;
+package
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.StorageContainerConfiguration;
-import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.mysql.DefaultMySQLContainerConfiguration;
-import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.opengauss.DefaultOpenGaussContainerConfiguration;
-import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.postgresql.DefaultPostgreSQLContainerConfiguration;
+import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.mysql.MySQLContainerConfigurationFactory;
+import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.opengauss.OpenGaussContainerConfigurationFactory;
+import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.postgresql.PostgreSQLContainerConfigurationFactory;
/**
- * Suite storage container configuration factory.
+ * Storage container configuration factory.
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class SuiteStorageContainerConfigurationFactory {
+public final class StorageContainerConfigurationFactory {
/**
* Create new instance of storage container configuration.
- *
+ *
* @param databaseType database type
- * @param scenario scenario
* @return created instance
*/
- public static StorageContainerConfiguration newInstance(final DatabaseType
databaseType, final String scenario) {
+ public static StorageContainerConfiguration newInstance(final DatabaseType
databaseType) {
switch (databaseType.getType()) {
case "MySQL":
- if ("default".equalsIgnoreCase(scenario)) {
- return new DefaultMySQLContainerConfiguration();
- }
- return new DefaultMySQLContainerConfiguration();
+ return MySQLContainerConfigurationFactory.newInstance();
case "PostgreSQL":
- if ("default".equalsIgnoreCase(scenario)) {
- return new DefaultPostgreSQLContainerConfiguration();
- }
- return new DefaultPostgreSQLContainerConfiguration();
+ return PostgreSQLContainerConfigurationFactory.newInstance();
case "openGauss":
- return new DefaultOpenGaussContainerConfiguration();
+ return OpenGaussContainerConfigurationFactory.newInstance();
case "H2":
return null;
Review Comment:
Why is null here?
##########
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/config/impl/opengauss/OpenGaussContainerConfiguration.java:
##########
@@ -17,27 +17,22 @@
package
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.opengauss;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.StorageContainerConfiguration;
-import org.testcontainers.shaded.com.google.common.collect.ImmutableMap;
import java.util.Map;
-public class DefaultOpenGaussContainerConfiguration implements
StorageContainerConfiguration {
+/**
+ * OpenGauss container configuration.
+ */
+@Getter
+@RequiredArgsConstructor
+public final class OpenGaussContainerConfiguration implements
StorageContainerConfiguration {
Review Comment:
I think this class is unnecessary too, please consider about merge it into
StorageContainerConfiguration
##########
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/config/impl/postgresql/PostgreSQLContainerConfiguration.java:
##########
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.postgresql;
+
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.StorageContainerConfiguration;
+
+import java.util.Map;
+
+/**
+ * PostgreSQL container configuration.
+ */
+@Getter
+@RequiredArgsConstructor
+public final class PostgreSQLContainerConfiguration implements
StorageContainerConfiguration {
Review Comment:
Unnecessary class too
##########
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/env/container/atomic/storage/config/impl/postgresql/PostgreSQLContainerConfigurationFactory.java:
##########
@@ -17,27 +17,37 @@
package
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.impl.postgresql;
-import
org.apache.shardingsphere.test.integration.env.container.atomic.storage.config.StorageContainerConfiguration;
-
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
import java.util.Collections;
import java.util.Map;
-public class DefaultPostgreSQLContainerConfiguration implements
StorageContainerConfiguration {
+/**
+ * PostgreSQL container configuration factory.
+ */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class PostgreSQLContainerConfigurationFactory {
+
+ /**
+ * Create new instance of postgresql container configuration.
+ *
+ * @return created instance
+ */
+ public static PostgreSQLContainerConfiguration newInstance() {
+ return new PostgreSQLContainerConfiguration(getCommands(),
getContainerEnvs(), getMountedResources());
+ }
- @Override
- public String[] getCommands() {
+ private static String[] getCommands() {
String[] commands = new String[1];
commands[0] = "-c config_file=/etc/postgresql/postgresql.conf";
return commands;
Review Comment:
Return value should name as `result`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]