|
@@ -1,16 +1,16 @@
|
|
-/**
|
|
|
|
- * Alipay.com Inc. Copyright (c) 2004-2020 All Rights Reserved.
|
|
|
|
- */
|
|
|
|
package org.dbsyncer.biz.checker.impl.mapping;
|
|
package org.dbsyncer.biz.checker.impl.mapping;
|
|
|
|
|
|
-import org.apache.commons.lang.StringUtils;
|
|
|
|
import org.dbsyncer.biz.checker.MappingConfigChecker;
|
|
import org.dbsyncer.biz.checker.MappingConfigChecker;
|
|
|
|
+import org.dbsyncer.biz.checker.MappingLogConfigChecker;
|
|
|
|
+import org.dbsyncer.biz.util.CheckerTypeUtil;
|
|
import org.dbsyncer.connector.config.ConnectorConfig;
|
|
import org.dbsyncer.connector.config.ConnectorConfig;
|
|
-import org.dbsyncer.connector.enums.ConnectorEnum;
|
|
|
|
import org.dbsyncer.manager.Manager;
|
|
import org.dbsyncer.manager.Manager;
|
|
import org.dbsyncer.parser.model.Connector;
|
|
import org.dbsyncer.parser.model.Connector;
|
|
import org.dbsyncer.parser.model.Mapping;
|
|
import org.dbsyncer.parser.model.Mapping;
|
|
|
|
+import org.springframework.beans.BeansException;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.context.ApplicationContext;
|
|
|
|
+import org.springframework.context.ApplicationContextAware;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
@@ -23,22 +23,27 @@ import java.util.Map;
|
|
* @date 2020/1/8 15:17
|
|
* @date 2020/1/8 15:17
|
|
*/
|
|
*/
|
|
@Component
|
|
@Component
|
|
-public class LogConfigChecker implements MappingConfigChecker {
|
|
|
|
|
|
+public class LogConfigChecker implements MappingConfigChecker, ApplicationContextAware {
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private Manager manager;
|
|
private Manager manager;
|
|
|
|
|
|
|
|
+ private Map<String, MappingLogConfigChecker> map;
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
|
|
|
+ map = applicationContext.getBeansOfType(MappingLogConfigChecker.class);
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public void modify(Mapping mapping, Map<String, String> params) {
|
|
public void modify(Mapping mapping, Map<String, String> params) {
|
|
- // TODO 仅支持 DQL_Mysql/DQL_Oracle
|
|
|
|
String connectorId = mapping.getSourceConnectorId();
|
|
String connectorId = mapping.getSourceConnectorId();
|
|
Connector connector = manager.getConnector(connectorId);
|
|
Connector connector = manager.getConnector(connectorId);
|
|
ConnectorConfig config = connector.getConfig();
|
|
ConnectorConfig config = connector.getConfig();
|
|
- String type = config.getConnectorType();
|
|
|
|
- // String label = params.get("incrementStrategyLogTableLabel");
|
|
|
|
- if(StringUtils.equals(ConnectorEnum.DQL_MYSQL.getType(),type)){
|
|
|
|
-
|
|
|
|
- return;
|
|
|
|
|
|
+ String type = CheckerTypeUtil.getCheckerType(config.getConnectorType() + "Log");
|
|
|
|
+ MappingLogConfigChecker checker = map.get(type);
|
|
|
|
+ if(null != checker){
|
|
|
|
+ checker.modify(mapping, params);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|