TableGroupStrategy.java 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. package org.dbsyncer.manager.strategy;
  2. import org.dbsyncer.manager.ManagerException;
  3. import org.dbsyncer.manager.template.GroupStrategy;
  4. import org.dbsyncer.parser.model.ConfigModel;
  5. import org.dbsyncer.parser.model.Mapping;
  6. import org.dbsyncer.parser.model.TableGroup;
  7. import org.dbsyncer.storage.constant.ConfigConstant;
  8. /**
  9. * @author AE86
  10. * @version 1.0.0
  11. * @date 2019/12/2 22:53
  12. */
  13. public class TableGroupStrategy implements GroupStrategy {
  14. @Override
  15. public String getGroupId(ConfigModel model) {
  16. if (model instanceof TableGroup) {
  17. TableGroup t = (TableGroup) model;
  18. String type = t.getType();
  19. String mappingId = t.getMappingId();
  20. // 格式:${type} + "_" + ${mappingId}
  21. return new StringBuilder(type).append("_").append(mappingId).toString();
  22. }
  23. if (model instanceof Mapping) {
  24. Mapping m = (Mapping) model;
  25. return new StringBuilder(ConfigConstant.TABLE_GROUP).append("_").append(m.getId()).toString();
  26. }
  27. throw new ManagerException(String.format("Not support config model \"%s\".", model));
  28. }
  29. }