浏览代码

update def connector type

AE86 5 年之前
父节点
当前提交
598c1f518d

+ 7 - 0
dbsyncer-biz/src/main/java/org/dbsyncer/biz/ConnectorService.java

@@ -56,4 +56,11 @@ public interface ConnectorService {
      */
     List<Connector> getConnectorAll();
 
+    /**
+     * 获取所有支持的连接器类型
+     *
+     * @return
+     */
+    List<String> getConnectorTypeAll();
+
 }

+ 9 - 0
dbsyncer-biz/src/main/java/org/dbsyncer/biz/impl/ConnectorServiceImpl.java

@@ -10,6 +10,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -63,4 +64,12 @@ public class ConnectorServiceImpl implements ConnectorService {
     public List<Connector> getConnectorAll() {
         return manager.getConnectorAll();
     }
+
+    @Override
+    public List<String> getConnectorTypeAll() {
+        List<String> list = new ArrayList<>();
+        manager.getConnectorEnumAll().forEach(c -> list.add(c.getType()));
+        return list;
+    }
+
 }

+ 4 - 0
dbsyncer-manager/src/main/java/org/dbsyncer/manager/Manager.java

@@ -1,6 +1,7 @@
 package org.dbsyncer.manager;
 
 import org.dbsyncer.connector.config.MetaInfo;
+import org.dbsyncer.connector.enums.ConnectorEnum;
 import org.dbsyncer.connector.enums.FilterEnum;
 import org.dbsyncer.connector.enums.OperationEnum;
 import org.dbsyncer.parser.enums.ConvertEnum;
@@ -55,6 +56,9 @@ public interface Manager {
 
     List<TableGroup> getTableGroupAll(String mappingId);
 
+    // ConnectorEnum
+    List<ConnectorEnum> getConnectorEnumAll();
+
     // OperationEnum
     List<OperationEnum> getOperationEnumAll();
 

+ 6 - 0
dbsyncer-manager/src/main/java/org/dbsyncer/manager/ManagerFactory.java

@@ -1,6 +1,7 @@
 package org.dbsyncer.manager;
 
 import org.dbsyncer.connector.config.MetaInfo;
+import org.dbsyncer.connector.enums.ConnectorEnum;
 import org.dbsyncer.connector.enums.FilterEnum;
 import org.dbsyncer.connector.enums.OperationEnum;
 import org.dbsyncer.manager.template.*;
@@ -305,6 +306,11 @@ public class ManagerFactory implements Manager, ApplicationListener<ContextRefre
         });
     }
 
+    @Override
+    public List<ConnectorEnum> getConnectorEnumAll() {
+        return parser.getConnectorEnumAll();
+    }
+
     @Override
     public List<OperationEnum> getOperationEnumAll() {
         return parser.getOperationEnumAll();

+ 8 - 0
dbsyncer-parser/src/main/java/org/dbsyncer/parser/Parser.java

@@ -1,6 +1,7 @@
 package org.dbsyncer.parser;
 
 import org.dbsyncer.connector.config.MetaInfo;
+import org.dbsyncer.connector.enums.ConnectorEnum;
 import org.dbsyncer.connector.enums.FilterEnum;
 import org.dbsyncer.connector.enums.OperationEnum;
 import org.dbsyncer.parser.enums.ConvertEnum;
@@ -85,6 +86,13 @@ public interface Parser {
      */
     TableGroup parseTableGroup(String json, boolean checkAlive);
 
+    /**
+     * 获取所有连接器类型
+     *
+     * @return
+     */
+    List<ConnectorEnum> getConnectorEnumAll();
+
     /**
      * 获取所有条件类型
      *

+ 5 - 0
dbsyncer-parser/src/main/java/org/dbsyncer/parser/ParserFactory.java

@@ -179,6 +179,11 @@ public class ParserFactory implements Parser {
         return tableGroup;
     }
 
+    @Override
+    public List<ConnectorEnum> getConnectorEnumAll() {
+        return Arrays.asList(ConnectorEnum.values());
+    }
+
     @Override
     public List<OperationEnum> getOperationEnumAll() {
         return Arrays.asList(OperationEnum.values());

+ 14 - 3
dbsyncer-web/src/main/java/org/dbsyncer/web/controller/index/ConnectorController.java

@@ -22,10 +22,21 @@ public class ConnectorController extends BaseController {
     @Autowired
     private ConnectorService connectorService;
 
-    @GetMapping("/page/{page}")
-    public String page(HttpServletRequest request, ModelMap model, @PathVariable("page") String page, String id) {
+    @GetMapping("/page/add")
+    public String pageAdd(HttpServletRequest request, ModelMap model) {
+        model.put("connectorTypes", connectorService.getConnectorTypeAll());
+        return "connector/add";
+    }
+
+    @GetMapping("/page/add{page}")
+    public String page(HttpServletRequest request, ModelMap model, @PathVariable("page") String page) {
+        return "connector/add" + page;
+    }
+
+    @GetMapping("/page/edit")
+    public String pageEdit(HttpServletRequest request, ModelMap model, String id) {
         model.put("connector", connectorService.getConnector(id));
-        return "connector/" + page;
+        return "connector/edit";
     }
 
     @PostMapping(value = "/alive")

+ 3 - 1
dbsyncer-web/src/main/resources/static/js/connector/add.js

@@ -47,10 +47,12 @@ $(function () {
     $('input[type="text"],input[type="password"],textarea').PlaceHolder();
 
     // 初始化select2插件
-    $(".select-control").select2({
+    var $connectorTypeSelect = $(".select-control").select2({
         width: "100%",
         theme: "classic"
     });
+    // 默认渲染连接器页面
+    changeConnectorType($connectorTypeSelect);
 
     //连接器类型切换事件
     $("select[name='connectorType']").change(function () {

+ 3 - 11
dbsyncer-web/src/main/resources/templates/connector/add.html

@@ -36,14 +36,8 @@
                             <div class="form-group">
                                 <label class="col-sm-2 control-label">类型</label>
                                 <div class="col-sm-10">
-                                    <select name="connectorType" class="form-control select-control">
-                                        <option value="Mysql">Mysql</option>
-                                        <option value="Oracle">Oracle</option>
-                                        <option value="SqlServer">SqlServer</option>
-                                        <option value="DQL_Mysql">DQL_Mysql</option>
-                                        <option value="DQL_Oracle">DQL_Oracle</option>
-                                        <option value="Ldap" disabled>Ldap</option>
-                                        <option value="Redis">Redis</option>
+                                    <select id="connectorType" name="connectorType" class="form-control select-control">
+                                        <option th:each="t,s:${connectorTypes}" th:value="${t}" th:text="${t}" />
                                     </select>
                                 </div>
                             </div>
@@ -58,9 +52,7 @@
                             </div>
 
                             <!-- 连接器配置 -->
-                            <div class="connectorConfig">
-                                <div th:replace="connector/addMysql :: content"></div>
-                            </div>
+                            <div class="connectorConfig"></div>
 
                         </div>
                     </div>