| 
					
				 | 
			
			
				@ -66,12 +66,21 @@ public class ProcessManager { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<ProcessResultModel> resultModelList = appServiceMap.get(app.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<ProcessResultModel> resultModelListListTemp = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (app.getName().equals("起始端点")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (ProcessResultModel resultModel : resultModelList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    resultModel.setNodeType("default"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    resultModel.setNodeType("start"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    resultModelListListTemp.add(resultModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jsonObject.put("list", resultModelListListTemp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jsonArray.add(0, jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else if (app.getName().equals("结束端点")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (ProcessResultModel resultModel : resultModelList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    resultModel.setNodeType("end"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    resultModelListListTemp.add(resultModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jsonObject.put("list", resultModelListListTemp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jsonArray.add(1, jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                resultModelListListTemp = resultModelList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                jsonObject.put("list", resultModelListListTemp); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -102,6 +111,18 @@ public class ProcessManager { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Result getAllProcessor(String processorName) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SystemServiceFlowProcessor> processorList = processorDao.getListByName(processorName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<ProcessResultModel> resultModelList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ProcessResultModel json2xml = new ProcessResultModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json2xml.setName("json转xml格式转换器"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json2xml.setValue("unmarshal"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json2xml.setNodeType("format"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ProcessResultModel xml2json = new ProcessResultModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        xml2json.setName("xml转json格式转换器"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        xml2json.setValue("marshal"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        xml2json.setNodeType("format"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultModelList.add(json2xml); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        resultModelList.add(xml2json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (SystemServiceFlowProcessor processor : processorList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            ProcessResultModel resultModel = new ProcessResultModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            resultModel.setName(processor.getName()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -122,115 +143,52 @@ public class ProcessManager { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        processDao.saveEntity(process); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static void main(String[] args) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void main(String[] args) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String flowJsonStr = "{\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    \"nodes\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_node_0\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"SDf\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"sd\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"nodeType\": \"default\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_node_1\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"crawler转换器\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"CrawlerProcessor0\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"node_1\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"Quartz\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"quartz://myGroup/myTimerName?cron=0/3 * * * * ?\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"nodeType\": \"start\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"node_2\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"DefaultHttpProcessor0\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"com.yihu.hos.broker.common.processor.DefaultHttpProcessor\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\t\t\"param\": \"{\\\"jobId\\\":\\\"5ad5c11655d443c30155d477a6b10000\\\"}\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"nodeType\": \"processor\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_node_2\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"判断\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"nodeType\": \"judgement\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_node_3\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"循环\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"nodeType\": \"circle\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_node_4\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"全流程-用户信息\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"全流程-用户信息\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"nodeType\": \"service\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_node_5\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"全流程-就诊信息\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"jetty:http://localhost:8080/clinicInfo\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"node_3\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"Crawler0\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"http4://localhost:8088/crawler/patientList?method=post\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"nodeType\": \"service\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_node_6\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"分流\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"nodeType\": \"multicast\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\t\"node_4\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"xml2json\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"marshal\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"nodeType\": \"format\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_node_7\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"crawler转换器\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"CrawlerProcessor0\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"nodeType\": \"processor\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_node_8\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"crawler转换器\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"CrawlerProcessor0\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"nodeType\": \"processor\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_node_9\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"crawler转换器\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"CrawlerProcessor0\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"nodeType\": \"processor\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_node_10\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"聚合\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"nodeType\": \"aggregate\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\t\"node_5\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"name\": \"Stream\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"stream:out\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"nodeType\": \"end\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        }\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    \"lines\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_line_0\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"from\": \"esb_node_0\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"to\": \"esb_node_1\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_line_1\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"from\": \"esb_node_1\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"to\": \"esb_node_2\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_line_2\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"from\": \"esb_node_2\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"to\": \"esb_node_3\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"correct\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_line_3\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"from\": \"esb_node_3\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"to\": \"esb_node_5\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"自定义内容\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_line_4\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"from\": \"esb_node_3\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"to\": \"esb_node_4\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"自定义内容\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_line_5\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"from\": \"esb_node_2\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"to\": \"esb_node_6\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"自定义内容\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_line_6\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"from\": \"esb_node_6\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"to\": \"esb_node_8\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"line_1\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"from\": \"node_1\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"to\": \"node_2\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_line_7\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"from\": \"esb_node_6\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"to\": \"esb_node_7\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"line_2\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"from\": \"node_2\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"to\": \"node_3\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_line_8\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"from\": \"esb_node_6\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"to\": \"esb_node_9\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"line3\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"from\": \"node_3\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"to\": \"node_4\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        },\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        \"esb_line_9\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"from\": \"esb_node_9\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"to\": \"esb_node_10\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"value\": \"\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\t\"line4\": {\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"from\": \"node_4\",\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "            \"to\": \"node_5\"\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "        }\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "    }\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "}"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -256,7 +214,7 @@ public class ProcessManager { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map.Entry<String, JsonNode> map = nodeIterator.next(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            nodeMap.put(map.getKey(), map.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String type = map.getValue().get("nodeType").asText(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtil.isEmpty(root) && type.equals("default")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtil.isEmpty(root) && type.equals("start")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                root = map.getKey(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            mDG.add(map.getKey()); 
			 |