[[node-2]] command: set readInterval=30000 command: program dp program: dim thisTable program: dim thisRowLabel program: dim thisColumnLabel program: dim prevTable program: dim prevRowLabel program: dim prevColumnLabel program: mode="reset" program: mode="run" program: thisPage=ex("service", "getThisPage") program: thisPageR=getResultPart(thisPage) program: ex("service","println "+thisPageR) program: parseCsv(thisPageR, thisTable, thisRowLabel, thisColumnLabel) program: lineNumber=getMaxIndex(thisRowLabel) program: minVal=10000 program: selectedNode=0 program: selectedPath="" program: preNodes=0 program: for i=0 to lineNumber-1 program: if thisTable(i,thisColumnLabel("kind")) = "preNode" then program: { program: preNodes=preNodes+1 program: prevPageUrl=thisTable(i,thisColumnLabel("url")) program: prevPage=ex("connector", "getpage "+prevPageUrl) program: if prevPage = "ERROR" then program: { program: prevPageUrl=thisTable(i,thisColumnLabel("url2")) program: prevPage=ex("connector", "getpage "+prevPageUrl) program: } program: if prevPage <> "ERROR" then program: { program: prevPageR=getResultPart(prevPage) program: parseCsv(prevPageR, prevTable, prevRowLabel, prevColumnLabel) program: ix=getindex(prevTable, prevRowLabel, prevColumnLabel("kind"),"=","nodeInfo") program: prevVal=prevTable(ix,prevColumnLabel("val")) program: arcVal=thisTable(i,thisColumnLabel("arcVal")) program: xval=prevVal+arcVal program: thisTable(i,thisColumnLabel("val"))=xval program: prevPath=prevTable(ix,prevColumnLabel("path")) program: thisTable(i,thisColumnLabel("path"))=prevPath program: if xval<minVal then program: { program: minVal=xval program: selectedNode=thisTable(i,thisColumnLabel("No")) program: selectedPath=prevPath program: } program: } program: } program: next i program: ex("service","clear sendBuffer") program: thisNodeIndex=getIndex(thisTable,thisRowLabel, thisColumnLabel("kind"),"=","nodeInfo") program: thisTable(thisNodeIndex,thisColumnLabel("selectedNode"))=selectedNode program: if mode="reset" then program: { program: dataline="kind=\"nodeInfo\"" program: dataline=dataline+",nodeName=\""+thisTable(thisNodeIndex,thisColumnLabel("nodeName"))+"\"" program: dataline=dataline+",startNode=\""+thisTable(thisNodeIndex,thisColumnLabel("startNode"))+"\"" program: dataline=dataline+",selectedNode=0" program: dataline=dataline+",val=0" program: dataline=dataline+",path=\"\"" program: ex("service","putSendBuffer "+dataline) program: for i=0 to lineNumber-1 program: if thisTable(i,thisColumnLabel("kind")) = "preNode" then program: { program: dataline="kind=\"preNode\"" program: dataline=dataline+",No="+thisTable(i,thisColumnLabel("No")) program: dataline=dataline+",url=\""+thisTable(i,thisColumnLabel("url"))+"\"" program: dataline=dataline+",url2=\""+thisTable(i,thisColumnLabel("url2"))+"\"" program: dataline=dataline+",arcVal="+thisTable(i,thisColumnLabel("arcVal")) program: dataline=dataline+",val=0" program: dataline=dataline+",path=\"\"" program: ex("service","putSendBuffer "+dataline) program: } program: next i program: } program: else program: { program: if preNodes=0 then program: { program: thisTable(thisNodeIndex,thisColumnLabel("path"))=thisTable(thisNodeIndex, thisColumnLabel("nodeName")) program: thisTable(thisNodeIndex,thisColumnLabel("val"))=0 program: } program: else program: { program: thisTable(thisNodeIndex,thisColumnLabel("path"))=selectedPath+" - "+thisTable(thisNodeIndex, thisColumnLabel("nodeName")) program: thisTable(thisNodeIndex,thisColumnLabel("val"))=minVal program: } program: dataline="kind=\"nodeInfo\"" program: dataline=dataline+",nodeName=\""+thisTable(thisNodeIndex,thisColumnLabel("nodeName"))+"\"" program: dataline=dataline+",startNode=\""+thisTable(thisNodeIndex,thisColumnLabel("startNode"))+"\"" program: dataline=dataline+",selectedNode="+thisTable(thisNodeIndex,thisColumnLabel("selectedNode")) program: dataline=dataline+",val="+thisTable(thisNodeIndex,thisColumnLabel("val")) program: dataline=dataline+",path=\""+thisTable(thisNodeIndex,thisColumnLabel("path"))+"\"" program: ex("service","putSendBuffer "+dataline) program: for i=0 to lineNumber-1 program: if thisTable(i,thisColumnLabel("kind")) = "preNode" then program: { program: dataline="kind=\"preNode\"" program: dataline=dataline+",No="+thisTable(i,thisColumnLabel("No")) program: dataline=dataline+",url=\""+thisTable(i,thisColumnLabel("url"))+"\"" program: dataline=dataline+",url2=\""+thisTable(i,thisColumnLabel("url2"))+"\"" program: dataline=dataline+",arcVal="+thisTable(i,thisColumnLabel("arcVal")) program: dataline=dataline+",val="+thisTable(i,thisColumnLabel("val")) program: dataline=dataline+",path=\""+thisTable(i,thisColumnLabel("path"))+"\"" program: ex("service","putSendBuffer "+dataline) program: } program: next i program: } program: ex("service","sendResults."); command: end dp command: run dp