1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.encrypt.yaml.swapper.rule;
19
20 import org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnRuleConfiguration;
21 import org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration;
22 import org.apache.shardingsphere.encrypt.yaml.config.rule.YamlEncryptColumnRuleConfiguration;
23 import org.apache.shardingsphere.encrypt.yaml.config.rule.YamlEncryptTableRuleConfiguration;
24 import org.apache.shardingsphere.infra.util.yaml.swapper.YamlConfigurationSwapper;
25
26 import java.util.Collection;
27 import java.util.LinkedList;
28 import java.util.Map.Entry;
29
30
31
32
33 public final class YamlEncryptTableRuleConfigurationSwapper implements YamlConfigurationSwapper<YamlEncryptTableRuleConfiguration, EncryptTableRuleConfiguration> {
34
35 private final YamlEncryptColumnRuleConfigurationSwapper columnSwapper = new YamlEncryptColumnRuleConfigurationSwapper();
36
37 @Override
38 public YamlEncryptTableRuleConfiguration swapToYamlConfiguration(final EncryptTableRuleConfiguration data) {
39 YamlEncryptTableRuleConfiguration result = new YamlEncryptTableRuleConfiguration();
40 for (EncryptColumnRuleConfiguration each : data.getColumns()) {
41 result.getColumns().put(each.getName(), columnSwapper.swapToYamlConfiguration(each));
42 }
43 result.setName(data.getName());
44 return result;
45 }
46
47 @Override
48 public EncryptTableRuleConfiguration swapToObject(final YamlEncryptTableRuleConfiguration yamlConfig) {
49 Collection<EncryptColumnRuleConfiguration> columns = new LinkedList<>();
50 for (Entry<String, YamlEncryptColumnRuleConfiguration> entry : yamlConfig.getColumns().entrySet()) {
51 entry.getValue().setName(entry.getKey());
52 columns.add(columnSwapper.swapToObject(entry.getValue()));
53 }
54 return new EncryptTableRuleConfiguration(yamlConfig.getName(), columns);
55 }
56 }