1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.mask.yaml.swapper.rule;
19
20 import org.apache.shardingsphere.infra.util.yaml.swapper.YamlConfigurationSwapper;
21 import org.apache.shardingsphere.mask.api.config.rule.MaskColumnRuleConfiguration;
22 import org.apache.shardingsphere.mask.api.config.rule.MaskTableRuleConfiguration;
23 import org.apache.shardingsphere.mask.yaml.config.rule.YamlMaskColumnRuleConfiguration;
24 import org.apache.shardingsphere.mask.yaml.config.rule.YamlMaskTableRuleConfiguration;
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 YamlMaskTableRuleConfigurationSwapper implements YamlConfigurationSwapper<YamlMaskTableRuleConfiguration, MaskTableRuleConfiguration> {
34
35 private final YamlMaskColumnRuleConfigurationSwapper columnSwapper = new YamlMaskColumnRuleConfigurationSwapper();
36
37 @Override
38 public YamlMaskTableRuleConfiguration swapToYamlConfiguration(final MaskTableRuleConfiguration data) {
39 YamlMaskTableRuleConfiguration result = new YamlMaskTableRuleConfiguration();
40 for (MaskColumnRuleConfiguration each : data.getColumns()) {
41 result.getColumns().put(each.getLogicColumn(), columnSwapper.swapToYamlConfiguration(each));
42 }
43 result.setName(data.getName());
44 return result;
45 }
46
47 @Override
48 public MaskTableRuleConfiguration swapToObject(final YamlMaskTableRuleConfiguration yamlConfig) {
49 Collection<MaskColumnRuleConfiguration> columns = new LinkedList<>();
50 for (Entry<String, YamlMaskColumnRuleConfiguration> entry : yamlConfig.getColumns().entrySet()) {
51 YamlMaskColumnRuleConfiguration yamlMaskColumnRuleConfig = entry.getValue();
52 yamlMaskColumnRuleConfig.setLogicColumn(entry.getKey());
53 columns.add(columnSwapper.swapToObject(yamlMaskColumnRuleConfig));
54 }
55 return new MaskTableRuleConfiguration(yamlConfig.getName(), columns);
56 }
57 }