博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
去哪网实习总结:递归构建“流程运行顺序”的XML文件(JavaWeb)
阅读量:5147 次
发布时间:2019-06-13

本文共 5044 字,大约阅读时间需要 16 分钟。

本来是以做数据挖掘的目的进去哪网的,结构却成了系统开发。。。

只是还是比較认真的做了三个月,老师非常认同我的工作态度和成果。。

实习立即就要结束了,总结一下几点之前没有注意过的变成习惯和问题。分享给大家。

同一时候打个广告:去哪网内审部招JavaWeb开发实习生,时间很自由。每周一天、周六周日甚至都能够,时间充裕的小伙伴给我留言啊,挣个零花钱,还能长点经验。

。。。(保研的、想工作的大四狗最合适只是了。。。

map的结构为(thisProcessID, thisProcessType;nextProcessID1,nextProcessType1;...;nextProcessIDk,nextProcessTypek;),假设processType部位start、end、split、join,则type和id同样。。。。

跑一下代码就知道是怎么回事了。直接上代码:

	public String XMLhead = "";			@SuppressWarnings({ "rawtypes", "unchecked" })	public void formXMLfile(Map nodeMap){		/*穿行没问题		nodeMap.put("1", "start;2,2");		nodeMap.put("2", "2;3,3");		nodeMap.put("3", "3;4,end");		nodeMap.put("4", "end");		*/		/* 简单并行没问题,但须要去重处理		nodeMap.put("1", "start;2,split");		nodeMap.put("2", "split;3,3;4,4");		nodeMap.put("3", "3;5,join");		nodeMap.put("4", "4;5,join");		nodeMap.put("5", "join;6,end");		nodeMap.put("6", "end");		*/				nodeMap.put("1", "start;2,split");		nodeMap.put("2", "split;3,3;4,split;5,5");		nodeMap.put("3", "3;6,6");		nodeMap.put("4", "split;7,7;8,8");		nodeMap.put("5", "5;9,join");		nodeMap.put("6", "6;9,join");		nodeMap.put("7", "7;10,join");		nodeMap.put("8", "8;10,join");		nodeMap.put("9", "join;11,end");		nodeMap.put("10", "join;9,join");		nodeMap.put("11", "end");		/*简单并行没问题。但须要去重处理		nodeMap.put("1", "start;2,split");		nodeMap.put("2", "split;3,3;4,4");		nodeMap.put("3", "3;5,join");		nodeMap.put("4", "4;5,join");		nodeMap.put("5", "join;6,split");		nodeMap.put("6", "split;7,7;8,8");		nodeMap.put("7", "7;9,join");		nodeMap.put("8", "8;9,join");		nodeMap.put("9", "join;10,end");		nodeMap.put("10", "end");		*/		XMLhead = "
"+"\n"; XMLhead += "
"+"\n"; String XMLtail = "
"; XMLhead += "
"+"\n"; XMLtail = "
\n"+XMLtail; String this_id = "1";//start String this_type = "start"; RECUformXMLfile(nodeMap, this_id, this_type); String XMLfile = XMLhead + XMLtail; //去重 String[] temp = XMLfile.split("\n"); List
list = new LinkedList
(); for(int i = 0; i < temp.length; i++) { if(!list.contains(temp[i])) { list.add(temp[i]);//改为写文件 System.out.println(temp[i]); } } } @SuppressWarnings("rawtypes") public void RECUformXMLfile(Map nodeMap, String this_id, String this_type){ if(this_type.equals("start")){//start String[] toNodes = nodeMap.get(this_id).toString().split(";"); String next_id = toNodes[1].split(",")[0]; String next_type = toNodes[1].split(",")[1]; if(next_type.equals("split")){ XMLhead += "
"+"\n"; XMLhead += "
"+"\n"; RECUformXMLfile(nodeMap, next_id, next_type); } else if(next_type.equals("end_start_join")){//不可能 } else{//task XMLhead += "
"+"\n"; XMLhead += "
"+"\n"; RECUformXMLfile(nodeMap, next_id, next_type); } } else if(this_type.equals("split")){//split XMLhead += "
"+"\n"; String[] toNodes = nodeMap.get(this_id).toString().split(";"); for(int i=1;i
"+"\n"; RECUformXMLfile(nodeMap, next_id, next_type); } else if(next_type.equals("end_start_join")){//不可能 } else{//task XMLhead += "
"+"\n"; RECUformXMLfile(nodeMap, next_id, next_type); } } } else if(this_type.equals("end")){//不会出现,接下来的两个推断分支可能的next_type==end时,都已经处理 } else if(this_type.equals("join")){//join,join和task,两者处理逻辑一样,除了一个用gateWay。一个用task String[] toNodes = nodeMap.get(this_id).toString().split(";"); String next_id = toNodes[1].split(",")[0]; String next_type = toNodes[1].split(",")[1]; if(next_type.equals("end")){ XMLhead += "
"+"\n"; XMLhead += "
"+"\n"; XMLhead += "
"+"\n"; return ; } else if(next_type.equals("start")){//不可能 } else if(next_type.equals("split")){ XMLhead += "
"+"\n"; XMLhead += "
"+"\n"; RECUformXMLfile(nodeMap, next_id, next_type); } else if(next_type.equals("join")){ XMLhead += "
"+"\n"; XMLhead += "
"+"\n"; return ; } else{//task XMLhead += "
"+"\n"; XMLhead += "
"+"\n"; RECUformXMLfile(nodeMap, next_id, next_type); } } else{//task,task和join。两者处理逻辑一样。除了一个用gateWay。一个用task String[] toNodes = nodeMap.get(this_id).toString().split(";"); String next_id = toNodes[1].split(",")[0]; String next_type = toNodes[1].split(",")[1]; if(next_type.equals("end")){ XMLhead += "
"+"\n"; XMLhead += "
"+"\n"; XMLhead += "
"+"\n"; return ; } else if(next_type.equals("start")){//不可能 } else if(next_type.equals("split")){ XMLhead += "
"+"\n"; XMLhead += "
"+"\n"; RECUformXMLfile(nodeMap, next_id, next_type); } else if(next_type.equals("join")){ XMLhead += "
"+"\n"; XMLhead += "
"+"\n"; //return ; RECUformXMLfile(nodeMap, next_id, next_type); } else{//task XMLhead += "
"+"\n"; XMLhead += "
"+"\n"; RECUformXMLfile(nodeMap, next_id, next_type); } } }

转载于:https://www.cnblogs.com/lytwajue/p/7289979.html

你可能感兴趣的文章
爱历史 - 朝代歌
查看>>
Linux查看CPU和内存使用情况总结
查看>>
session丢失问题
查看>>
虚拟机CentOS设置IP
查看>>
Django之ORM多对多表创建方式,AJAX异步提交,分页器组件等
查看>>
SqlServer查询表名的备注(查询表名描述 MS_Description)
查看>>
【BZOJ 4103】 [Thu Summer Camp 2015]异或运算 可持久化01Trie
查看>>
数据类型
查看>>
CodeForces - 566F Clique in the Divisibility Graph
查看>>
CodeForces - 986C AND Graph
查看>>
[JZOJ5455]【NOIP2017提高A组冲刺11.6】拆网线
查看>>
【MySql】Order By 排序
查看>>
jQuery选择器
查看>>
spring字符编码filter
查看>>
thinkphp5省市区三级联动例子
查看>>
让HttpClient不要打印巨多的日志
查看>>
[笔记] SQL性能优化 - 常用语句(一)
查看>>
openvino安装踩坑记
查看>>
html03
查看>>
LINQ语法详解
查看>>