2 var fs = require('fs');
5 obj = JSON.parse(fs.readFileSync(process.argv[2], 'utf8'));
8 var dirPath=process.argv[3];
11 return (1+Math.random()*4294967295).toString(16);
14 var filteredArray = obj.filter(function(itm){
15 return itm.type == 'tab' ;
18 var tabsArr=filteredArray;
19 var files = fs.readdirSync(dirPath);
20 for (var i in files) {
21 var currentFile = dirPath + '/' + files[i];
22 //console.log(currentFile);
23 var stats = fs.statSync(currentFile);
28 console.log("processing... " + currentFile);
29 var o = JSON.parse(fs.readFileSync(currentFile, 'utf8'));
31 if(o[idx].type == "service-logic"){
32 moduleName=o[idx].name;
34 if(o[idx].type == "method"){
35 methodName=o[idx].name;
36 methodName = methodName.replace("method ","");
38 if(moduleName != "" && methodName != ""){
43 //console.log("tab id:" + id);
45 var number_of_tabs = 0;
46 if(filteredArray != null ){
47 number_of_tabs = filteredArray.length;
49 //console.log("number_of_tabs:" + number_of_tabs);
50 //console.log("id:" + id);
51 if(filteredArray != null && filteredArray.length > 0){
52 for(var i in filteredArray){
53 if(filteredArray[i].id == id){
55 console.log("Using new id:" + newId);
60 var oldNodeId = o[idx].id;
61 var newNodeId = getID();
63 for(var k=0;k<o.length;k++){
64 if(o[k] != null && o[k].wires != undefined && o[k].wires != null){
65 for(var j=0;o[k].wires[0] != null && j< o[k].wires[0].length;j++){
66 if(o[k].wires[0][j] == oldNodeId){
67 o[k].wires[0][j]=newNodeId;
75 //"label": "Sheet " + (number_of_tabs + 1),
82 filteredArray.push(tabObj);
93 function getCurrentDate(){
95 var mm = d.getMonth() + 1;
97 var yyyy = d.getYear() + 1900;
98 var hr = d.getHours();
99 var min = d.getMinutes();
100 var sec = d.getSeconds();
101 if(mm<10) mm = "0" + mm;
102 if(dd<10) dd = "0" + dd;
103 if(hr<10) hr = "0" + hr;
104 if(min<10) min = "0" + min;
105 if(sec<10) sec = "0" + sec;
106 var formatedValue = mm + "-" + dd + "-" + yyyy + "_" + hr + "" + min + "" + sec;
107 return formatedValue;
109 if (fs.existsSync(process.argv[2])) {
110 fs.renameSync(process.argv[2],process.argv[2]+ "_" + getCurrentDate());
112 fs.writeFileSync( process.argv[2] + ".new", JSON.stringify(obj));
113 if (fs.existsSync(process.argv[2] + ".new")) {
114 fs.renameSync(process.argv[2] + ".new",process.argv[2]);