node-2
program: dim thisTable
program: dim thisRowLabel
program: dim thisColumnLabel
program: dim prevTable
program: dim prevRowLabel
program: dim prevColumnLabel
program: thisPage=ex("service", "getThisPage")
program: thisPageR=getResultPart(thisPage)
program: ex("service","println "+thisPageR)
program: parseCsv(thisPageR, thisTable, thisRowLabel, thisColumnLabel)
program: preNodes=countif(thisTable, thisRowLabel, thisColumnLabel("kind"), "=","preNode")
program: minVal=10000
program: selectedNode=0
program: selectedPath=""
program: for i=1 to preNodes
program: ii=getindex(thisTable, thisRowLabel, thisColumnLabel("No"), "=", i)
program: if thisPage(ii,thisColumnLabel("kind")) = "preNode" then
program: {
program: prevPageUrl=thisTable(ii,thisColumnLabel("url"))
program: prevPage=ex("connector", "getpage "+prevPageUrl)
program: if prevPage = "ERROR" then
program: {
program: prevPageUrl=thisTable(ii,thisColumnLabel("url2"))
program: prevPage=ex("connector", "getpage "+prevPageUrl)
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(ii,thisColumnLabel("arcVal"))
program: xval=prevVal+arcVal
program: thisTable(ii,thisColumnLabel("val"))=xval
program: prevPath=prevTable(ix,prevColumnLabel("path"))
program: thisTable(ii,thisColumnLabel("path"))=prevPath
program: if xval<minVal then
program: {
program: minVal=xval
program: selectedNode=i
program: selectedPath=prevPath
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: thisTable(thisNodeIndex,thisColumnLabel("val"))=minVal
program: if preNodes=0 then
program: {
program: thisTable(thisNodeIndex,thisColumnLabel("path"))=thisTable(thisNodeIndex, thisColumnLabel("nodeName"))
program: }
program: else
program: {
program: thisTable(thisNodeIndex,thisColumnLabel("path"))=selectedPath+" - "+thisTable(thisNodeIndex, thisColumnLabel("nodeName"))
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","println "+dataline)
program: for i=1 to preNodes
program: ii=getindex(thisPageR, thisRowLabel, thisColumnLabel("No"), "=", i)
program: if thisPageR(ii,thisColumnLabel("kind")) = "preNode" then
program: {
program: dataline="kind=¥"preNode¥""
program: dataline=dataline+",No=¥""+thisTable(ii,thisColumnLabel("No"))+"¥""
program: dataline=dataline+",url=¥""+thisTable(ii,thisColumnLabel("url"))+"¥""
program: dataline=dataline+",arcVal=¥""+thisTable(ii,thisColumnLabel("arcVal"))+"¥""
program: dataline=dataline+",val=¥""+thisTable(ii,thisColumnLabel("val"))+"¥""
program: dataline=dataline+",path=¥""+thisTable(ii,thisColumnLabel("path"))+"¥""
program: ex("service","println "+dataline)
program: }
program: next i