Просмотр исходного кода

Reformat PanelInstanceServiceImpl

sunyj 8 лет назад
Родитель
Сommit
5baeeaf80c

+ 107 - 107
kanban-console/src/main/java/com/uas/kanban/service/impl/PanelInstanceServiceImpl.java

@@ -66,6 +66,93 @@ public class PanelInstanceServiceImpl extends BaseService<PanelInstance> impleme
         return panelInstanceDao.update(panelInstance);
     }
 
+    @Override
+    public int updatePart(@NotEmpty("json") String json) throws IllegalArgumentException, OperationException {
+        return update(json);
+    }
+
+    @Override
+    public Map<String, Object> parseData(@NotEmpty("code") String code, String kanbanCode) {
+        PanelInstance panelInstance = panelInstanceDao.checkExist(code);
+        Panel panel = panelDao.checkExist(panelInstance.getPanelCode());
+        List<PanelInstance.RelatedKanban> relatedKanbans = panelInstance.getRelatedKanbans();
+        if (CollectionUtils.isEmpty(relatedKanbans)) {
+            throw new IllegalStateException("面板下没有看板");
+        }
+        // 只保留已启用的看板
+        List<String> enabledKanbanCodes = new ArrayList<>();
+        for (PanelInstance.RelatedKanban relatedKanban : relatedKanbans) {
+            if (relatedKanban.getEnabled() != null && relatedKanban.getEnabled()) {
+                enabledKanbanCodes.add(relatedKanban.getCode());
+            }
+        }
+        // 如果指定了看板,则解析该看板,否则解析该面板下的第一个看板
+        if (!StringUtils.isEmpty(kanbanCode)) {
+            if (!enabledKanbanCodes.contains(kanbanCode)) {
+                throw new IllegalArgumentException("看板不存在或未启用:" + kanbanCode);
+            }
+        } else {
+            kanbanCode = enabledKanbanCodes.get(0);
+        }
+        Kanban kanban = kanbanDao.checkExist(kanbanCode);
+        BaseDao.checkFields(kanban);
+        String content = kanban.getContent();
+        String title = kanban.getTitle();
+        if (StringUtils.isEmpty(content)) {
+            throw new IllegalStateException("看板内容为空:" + kanbanCode);
+        }
+        List<Parameter> parameters = panelInstance.fromParameters();
+        // 解析看板
+        String kanbanContent;
+        try {
+            NewbieJdbcSupport jdbc = dataSourceManager.getJdbc(panel.getDataSourceCode());
+            kanbanContent = kanbanParser.parseXml(content, title, parameters, jdbc);
+        } catch (DocumentException e) {
+            throw new IllegalStateException("xml 解析出错", e);
+        } catch (TransformerException e) {
+            throw new IllegalStateException("xml 映射出错", e);
+        } catch (IOException e) {
+            throw new IllegalStateException("xml 转换出错", e);
+        } catch (SQLException e) {
+            throw new IllegalStateException("SQL 查询错误", e);
+        }
+        Map<String, Object> result = new HashMap<>();
+        Map<String, Object> instance = new HashMap<>();
+        instance.put("parameters", parameters);
+        instance.put("enabledKanbanCodes", enabledKanbanCodes);
+        instance.put("display", panel.getDisplay());
+        instance.put("switchFrequency", panelInstance.getSwitchFrequency());
+        instance.put("refreshFrequency", panelInstance.getRefreshFrequency());
+        result.put("instance", instance);
+        List<JSONObject> data = new ArrayList<>();
+        data.add(JSONObject.parseObject(kanbanContent));
+        result.put("data", data);
+        // TODO 多个看板返回的json
+        return result;
+    }
+
+    @Override
+    public PanelInstance getByPanelCode(@NotEmpty("panelCode") String panelCode) throws OperationException {
+        Panel panel = panelDao.checkExist(panelCode);
+        PanelInstance panelInstance = panelInstanceDao.findByPanelCode(panelCode);
+        if (panelInstance == null || panel.getVersion() > panelInstance.getPanelVersion()) {
+            // 如果面板有更新,先删除旧的实例
+            if (panelInstance != null) {
+                deleteOne(panelInstance.getCode());
+            }
+            panelInstance = generateInstance(panelCode);
+        }
+        try {
+            NewbieJdbcSupport jdbc = dataSourceManager.getJdbc(panel.getDataSourceCode());
+            List<Parameter> parameters = panelInstance.fromParameters();
+            parseSQLParameters(parameters, jdbc);
+            panelInstance.toParameters(parameters);
+        } catch (SQLException e) {
+            throw new IllegalStateException("参数解析错误", e);
+        }
+        return panelInstance;
+    }
+
     /**
      * 检查参数是否正确填写(没有遗漏参数、每个参数都有值并且类型匹配)
      *
@@ -106,26 +193,6 @@ public class PanelInstanceServiceImpl extends BaseService<PanelInstance> impleme
         return parameters;
     }
 
-    /**
-     * 获取 sql 执行结果
-     *
-     * @param jdbc jdbc
-     * @param sql  sql 查询语句
-     * @return 执行结果
-     */
-    private List<Object> getValue(@NotEmpty("jdbc") NewbieJdbcSupport jdbc, @NotEmpty("sql") String sql) {
-        List<Map<String, Object>> listMap = jdbc.listMap(sql);
-        Map<String, List<Object>> map = kanbanParser.convert(listMap);
-        Set<String> keySet = map.keySet();
-        if (CollectionUtils.isEmpty(map)) {
-            return new ArrayList<>();
-        }
-        if (keySet.size() > 1) {
-            logger.error("参数解析结果不止一列:" + map);
-        }
-        return map.get(keySet.iterator().next());
-    }
-
     /**
      * 重置 SQL 类型的参数
      *
@@ -190,93 +257,6 @@ public class PanelInstanceServiceImpl extends BaseService<PanelInstance> impleme
         }
     }
 
-    @Override
-    public int updatePart(@NotEmpty("json") String json) throws IllegalArgumentException, OperationException {
-        return update(json);
-    }
-
-    @Override
-    public Map<String, Object> parseData(@NotEmpty("code") String code, String kanbanCode) {
-        PanelInstance panelInstance = panelInstanceDao.checkExist(code);
-        Panel panel = panelDao.checkExist(panelInstance.getPanelCode());
-        List<PanelInstance.RelatedKanban> relatedKanbans = panelInstance.getRelatedKanbans();
-        if (CollectionUtils.isEmpty(relatedKanbans)) {
-            throw new IllegalStateException("面板下没有看板");
-        }
-        // 只保留已启用的看板
-        List<String> enabledKanbanCodes = new ArrayList<>();
-        for (PanelInstance.RelatedKanban relatedKanban : relatedKanbans) {
-            if (relatedKanban.getEnabled() != null && relatedKanban.getEnabled()) {
-                enabledKanbanCodes.add(relatedKanban.getCode());
-            }
-        }
-        // 如果指定了看板,则解析该看板,否则解析该面板下的第一个看板
-        if (!StringUtils.isEmpty(kanbanCode)) {
-            if (!enabledKanbanCodes.contains(kanbanCode)) {
-                throw new IllegalArgumentException("看板不存在或未启用:" + kanbanCode);
-            }
-        } else {
-            kanbanCode = enabledKanbanCodes.get(0);
-        }
-        Kanban kanban = kanbanDao.checkExist(kanbanCode);
-        BaseDao.checkFields(kanban);
-        String content = kanban.getContent();
-        String title = kanban.getTitle();
-        if (StringUtils.isEmpty(content)) {
-            throw new IllegalStateException("看板内容为空:" + kanbanCode);
-        }
-        List<Parameter> parameters = panelInstance.fromParameters();
-        // 解析看板
-        String kanbanContent;
-        try {
-            NewbieJdbcSupport jdbc = dataSourceManager.getJdbc(panel.getDataSourceCode());
-            kanbanContent = kanbanParser.parseXml(content, title, parameters, jdbc);
-        } catch (DocumentException e) {
-            throw new IllegalStateException("xml 解析出错", e);
-        } catch (TransformerException e) {
-            throw new IllegalStateException("xml 映射出错", e);
-        } catch (IOException e) {
-            throw new IllegalStateException("xml 转换出错", e);
-        } catch (SQLException e) {
-            throw new IllegalStateException("SQL 查询错误", e);
-        }
-        Map<String, Object> result = new HashMap<>();
-        Map<String, Object> instance = new HashMap<>();
-        instance.put("parameters", parameters);
-        instance.put("enabledKanbanCodes", enabledKanbanCodes);
-        instance.put("display", panel.getDisplay());
-        instance.put("switchFrequency", panelInstance.getSwitchFrequency());
-        instance.put("refreshFrequency", panelInstance.getRefreshFrequency());
-        result.put("instance", instance);
-        List<JSONObject> data = new ArrayList<>();
-        data.add(JSONObject.parseObject(kanbanContent));
-        result.put("data", data);
-        // TODO 多个看板返回的json
-        return result;
-    }
-
-    @Override
-    public PanelInstance getByPanelCode(@NotEmpty("panelCode") String panelCode) throws OperationException {
-        Panel panel = panelDao.checkExist(panelCode);
-        PanelInstance panelInstance = panelInstanceDao.findByPanelCode(panelCode);
-        if (panelInstance == null || panel.getVersion() > panelInstance.getPanelVersion()) {
-            // 如果面板有更新,先删除旧的实例
-            if (panelInstance != null) {
-                deleteOne(panelInstance.getCode());
-            }
-            panelInstance = generateInstance(panelCode);
-        }
-        try {
-            NewbieJdbcSupport jdbc = dataSourceManager.getJdbc(panel.getDataSourceCode());
-            List<Parameter> parameters = panelInstance.fromParameters();
-            parseSQLParameters(parameters, jdbc);
-            panelInstance.toParameters(parameters);
-        } catch (SQLException e) {
-            throw new IllegalStateException("参数解析错误", e);
-        }
-        return panelInstance;
-    }
-
     /**
      * 解析 SQL 类型的参数
      *
@@ -308,6 +288,26 @@ public class PanelInstanceServiceImpl extends BaseService<PanelInstance> impleme
         }
     }
 
+    /**
+     * 获取 sql 执行结果
+     *
+     * @param jdbc jdbc
+     * @param sql  sql 查询语句
+     * @return 执行结果
+     */
+    private List<Object> getValue(@NotEmpty("jdbc") NewbieJdbcSupport jdbc, @NotEmpty("sql") String sql) {
+        List<Map<String, Object>> listMap = jdbc.listMap(sql);
+        Map<String, List<Object>> map = kanbanParser.convert(listMap);
+        Set<String> keySet = map.keySet();
+        if (CollectionUtils.isEmpty(map)) {
+            return new ArrayList<>();
+        }
+        if (keySet.size() > 1) {
+            logger.error("参数解析结果不止一列:" + map);
+        }
+        return map.get(keySet.iterator().next());
+    }
+
     /**
      * 根据用户和面板,删除相应的实例
      *