ConfigServiceImpl.java 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package org.dbsyncer.biz.impl;
  2. import org.dbsyncer.biz.ConfigService;
  3. import org.dbsyncer.biz.checker.impl.config.ConfigChecker;
  4. import org.dbsyncer.biz.vo.ConfigVo;
  5. import org.dbsyncer.common.util.CollectionUtils;
  6. import org.dbsyncer.manager.Manager;
  7. import org.dbsyncer.parser.model.Config;
  8. import org.dbsyncer.parser.model.ConfigModel;
  9. import org.dbsyncer.storage.constant.ConfigConstant;
  10. import org.springframework.beans.BeanUtils;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import java.util.ArrayList;
  14. import java.util.HashMap;
  15. import java.util.List;
  16. import java.util.Map;
  17. import java.util.stream.Collectors;
  18. /**
  19. * @author AE86
  20. * @version 1.0.0
  21. * @date 2019/10/17 23:20
  22. */
  23. @Service
  24. public class ConfigServiceImpl implements ConfigService {
  25. @Autowired
  26. private Manager manager;
  27. @Autowired
  28. private ConfigChecker configChecker;
  29. @Override
  30. public String edit(Map<String, String> params) {
  31. synchronized (this) {
  32. Config config = manager.getConfig(ConfigConstant.CONFIG);
  33. if (null == config) {
  34. configChecker.checkAddConfigModel(params);
  35. }
  36. ConfigModel model = configChecker.checkEditConfigModel(params);
  37. manager.editConfig(model);
  38. }
  39. return "修改成功.";
  40. }
  41. @Override
  42. public ConfigVo getConfig() {
  43. List<Config> all = manager.getConfigAll();
  44. Config config = CollectionUtils.isEmpty(all) ? (Config) configChecker.checkAddConfigModel(new HashMap<>()) : all.get(0);
  45. return convertConfig2Vo(config);
  46. }
  47. @Override
  48. public String getPassword() {
  49. List<Config> all = manager.getConfigAll();
  50. Config config = CollectionUtils.isEmpty(all) ? (Config) configChecker.checkAddConfigModel(new HashMap<>()) : all.get(0);
  51. return config.getPassword();
  52. }
  53. @Override
  54. public List<ConfigVo> queryConfig() {
  55. List<ConfigVo> list = manager.getConfigAll().stream()
  56. .map(config -> convertConfig2Vo(config))
  57. .collect(Collectors.toList());
  58. return list;
  59. }
  60. @Override
  61. public List<ConfigModel> getConfigModelAll() {
  62. List<ConfigModel> list = new ArrayList<>();
  63. manager.getConfigAll().forEach(config -> list.add(config));
  64. manager.getConnectorAll().forEach(config -> list.add(config));
  65. manager.getMappingAll().forEach(config -> list.add(config));
  66. manager.getMetaAll().forEach(config -> list.add(config));
  67. return list;
  68. }
  69. private ConfigVo convertConfig2Vo(Config config) {
  70. ConfigVo configVo = new ConfigVo();
  71. BeanUtils.copyProperties(config, configVo);
  72. // 避免密码直接暴露
  73. configVo.setPassword("");
  74. return configVo;
  75. }
  76. }