You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by su...@apache.org on 2023/04/27 15:17:42 UTC
[shardingsphere] branch master updated: Add YamlExecuteProcessContextSwapper and YamlExecuteProcessUnitSwapper (#25376)
This is an automated email from the ASF dual-hosted git repository.
sunnianjun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new ed0c3dfe280 Add YamlExecuteProcessContextSwapper and YamlExecuteProcessUnitSwapper (#25376)
ed0c3dfe280 is described below
commit ed0c3dfe280ce03571c4b199a5e3215c2d39a4da
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Thu Apr 27 23:17:32 2023 +0800
Add YamlExecuteProcessContextSwapper and YamlExecuteProcessUnitSwapper (#25376)
---
.../model/yaml/BatchYamlExecuteProcessContext.java | 6 ++-
.../model/yaml/YamlExecuteProcessContext.java | 24 +---------
.../process/model/yaml/YamlExecuteProcessUnit.java | 15 ++-----
.../swapper/YamlExecuteProcessContextSwapper.java | 51 ++++++++++++++++++++++
.../YamlExecuteProcessUnitSwapper.java} | 33 +++++++-------
5 files changed, 75 insertions(+), 54 deletions(-)
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/BatchYamlExecuteProcessContext.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/BatchYamlExecuteProcessContext.java
index 150447e9d5b..f4dff7df8a8 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/BatchYamlExecuteProcessContext.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/BatchYamlExecuteProcessContext.java
@@ -21,6 +21,7 @@ import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessContext;
+import org.apache.shardingsphere.infra.executor.sql.process.model.yaml.swapper.YamlExecuteProcessContextSwapper;
import java.util.Collection;
import java.util.LinkedList;
@@ -36,13 +37,14 @@ public final class BatchYamlExecuteProcessContext {
private Collection<YamlExecuteProcessContext> contexts;
public BatchYamlExecuteProcessContext(final Collection<ExecuteProcessContext> processContexts) {
- this.contexts = getYamlProcessContexts(processContexts);
+ contexts = getYamlProcessContexts(processContexts);
}
private Collection<YamlExecuteProcessContext> getYamlProcessContexts(final Collection<ExecuteProcessContext> processContexts) {
+ YamlExecuteProcessContextSwapper yamlExecuteProcessContextSwapper = new YamlExecuteProcessContextSwapper();
Collection<YamlExecuteProcessContext> result = new LinkedList<>();
for (ExecuteProcessContext each : processContexts) {
- result.add(new YamlExecuteProcessContext(each));
+ result.add(yamlExecuteProcessContextSwapper.swapToYamlConfiguration(each));
}
return result;
}
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/YamlExecuteProcessContext.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/YamlExecuteProcessContext.java
index 312818be5b5..5054216dbec 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/YamlExecuteProcessContext.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/YamlExecuteProcessContext.java
@@ -17,25 +17,19 @@
package org.apache.shardingsphere.infra.executor.sql.process.model.yaml;
-import lombok.AllArgsConstructor;
import lombok.Getter;
-import lombok.NoArgsConstructor;
import lombok.Setter;
import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessStatusEnum;
-import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessContext;
-import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessUnit;
+import org.apache.shardingsphere.infra.util.yaml.YamlConfiguration;
-import java.util.ArrayList;
import java.util.Collection;
/**
* Execute process context for YAML.
*/
-@NoArgsConstructor
-@AllArgsConstructor
@Getter
@Setter
-public final class YamlExecuteProcessContext {
+public final class YamlExecuteProcessContext implements YamlConfiguration {
private String executionID;
@@ -52,18 +46,4 @@ public final class YamlExecuteProcessContext {
private Long startTimeMillis;
private ExecuteProcessStatusEnum processStatus;
-
- public YamlExecuteProcessContext(final ExecuteProcessContext executeProcessContext) {
- executionID = executeProcessContext.getExecutionID();
- databaseName = executeProcessContext.getDatabaseName();
- username = executeProcessContext.getUsername();
- hostname = executeProcessContext.getHostname();
- sql = executeProcessContext.getSql();
- unitStatuses = new ArrayList<>(executeProcessContext.getProcessUnits().size());
- for (ExecuteProcessUnit each : executeProcessContext.getProcessUnits().values()) {
- unitStatuses.add(new YamlExecuteProcessUnit(each));
- }
- startTimeMillis = executeProcessContext.getStartTimeMillis();
- processStatus = executeProcessContext.getProcessStatus();
- }
}
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/YamlExecuteProcessUnit.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/YamlExecuteProcessUnit.java
index c8bd7749c57..7429d448296 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/YamlExecuteProcessUnit.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/YamlExecuteProcessUnit.java
@@ -17,28 +17,19 @@
package org.apache.shardingsphere.infra.executor.sql.process.model.yaml;
-import lombok.AllArgsConstructor;
import lombok.Getter;
-import lombok.NoArgsConstructor;
import lombok.Setter;
import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessStatusEnum;
-import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessUnit;
+import org.apache.shardingsphere.infra.util.yaml.YamlConfiguration;
/**
* Execute process unit for YAML.
*/
-@NoArgsConstructor
-@AllArgsConstructor
@Getter
@Setter
-public final class YamlExecuteProcessUnit {
+public final class YamlExecuteProcessUnit implements YamlConfiguration {
private String unitID;
- private volatile ExecuteProcessStatusEnum processStatus;
-
- public YamlExecuteProcessUnit(final ExecuteProcessUnit executeProcessUnit) {
- unitID = executeProcessUnit.getUnitID();
- processStatus = executeProcessUnit.getProcessStatus();
- }
+ private ExecuteProcessStatusEnum processStatus;
}
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/swapper/YamlExecuteProcessContextSwapper.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/swapper/YamlExecuteProcessContextSwapper.java
new file mode 100644
index 00000000000..f736c6533b1
--- /dev/null
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/swapper/YamlExecuteProcessContextSwapper.java
@@ -0,0 +1,51 @@
+/*
+ * 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.infra.executor.sql.process.model.yaml.swapper;
+
+import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessContext;
+import org.apache.shardingsphere.infra.executor.sql.process.model.yaml.YamlExecuteProcessContext;
+import org.apache.shardingsphere.infra.util.yaml.swapper.YamlConfigurationSwapper;
+
+import java.util.stream.Collectors;
+
+/**
+ * YAML execute process context swapper.
+ */
+public final class YamlExecuteProcessContextSwapper implements YamlConfigurationSwapper<YamlExecuteProcessContext, ExecuteProcessContext> {
+
+ private final YamlExecuteProcessUnitSwapper yamlExecuteProcessUnitSwapper = new YamlExecuteProcessUnitSwapper();
+
+ @Override
+ public YamlExecuteProcessContext swapToYamlConfiguration(final ExecuteProcessContext data) {
+ YamlExecuteProcessContext result = new YamlExecuteProcessContext();
+ result.setExecutionID(data.getExecutionID());
+ result.setDatabaseName(data.getDatabaseName());
+ result.setUsername(data.getUsername());
+ result.setHostname(data.getHostname());
+ result.setSql(data.getSql());
+ result.setUnitStatuses(data.getProcessUnits().values().stream().map(yamlExecuteProcessUnitSwapper::swapToYamlConfiguration).collect(Collectors.toList()));
+ result.setStartTimeMillis(data.getStartTimeMillis());
+ result.setProcessStatus(data.getProcessStatus());
+ return result;
+ }
+
+ @Override
+ public ExecuteProcessContext swapToObject(final YamlExecuteProcessContext yamlConfig) {
+ throw new UnsupportedOperationException("YamlExecuteProcessContextSwapper.swapToObject");
+ }
+}
diff --git a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/YamlExecuteProcessUnit.java b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/swapper/YamlExecuteProcessUnitSwapper.java
similarity index 56%
copy from infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/YamlExecuteProcessUnit.java
copy to infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/swapper/YamlExecuteProcessUnitSwapper.java
index c8bd7749c57..d7c881e60cd 100644
--- a/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/YamlExecuteProcessUnit.java
+++ b/infra/executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/process/model/yaml/swapper/YamlExecuteProcessUnitSwapper.java
@@ -15,30 +15,27 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.executor.sql.process.model.yaml;
+package org.apache.shardingsphere.infra.executor.sql.process.model.yaml.swapper;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessStatusEnum;
import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessUnit;
+import org.apache.shardingsphere.infra.executor.sql.process.model.yaml.YamlExecuteProcessUnit;
+import org.apache.shardingsphere.infra.util.yaml.swapper.YamlConfigurationSwapper;
/**
- * Execute process unit for YAML.
+ * YAML execute process unit swapper.
*/
-@NoArgsConstructor
-@AllArgsConstructor
-@Getter
-@Setter
-public final class YamlExecuteProcessUnit {
+public final class YamlExecuteProcessUnitSwapper implements YamlConfigurationSwapper<YamlExecuteProcessUnit, ExecuteProcessUnit> {
- private String unitID;
-
- private volatile ExecuteProcessStatusEnum processStatus;
+ @Override
+ public YamlExecuteProcessUnit swapToYamlConfiguration(final ExecuteProcessUnit data) {
+ YamlExecuteProcessUnit result = new YamlExecuteProcessUnit();
+ result.setUnitID(data.getUnitID());
+ result.setProcessStatus(data.getProcessStatus());
+ return result;
+ }
- public YamlExecuteProcessUnit(final ExecuteProcessUnit executeProcessUnit) {
- unitID = executeProcessUnit.getUnitID();
- processStatus = executeProcessUnit.getProcessStatus();
+ @Override
+ public ExecuteProcessUnit swapToObject(final YamlExecuteProcessUnit yamlConfig) {
+ throw new UnsupportedOperationException("YamlExecuteProcessUnitSwapper.swapToObject");
}
}