OXIESEC PANEL
- Current Dir:
/
/
home
/
cubot
/
bin
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/03/2023 08:25:32 AM
rwxr-xr-x
📄
auditreport.sh
1.15 KB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
clripcs
44.5 KB
02/03/2023 07:34:09 AM
rwxr-xr-x
📄
comparedb.sh
487 bytes
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
convertToexcel.pl
3.69 KB
02/03/2023 07:34:15 AM
rwxr-xr-x
📄
convertToexcel_my.rd.pl
3.06 KB
02/03/2023 07:34:15 AM
rwxr-xr-x
📄
crlf.sh
67 bytes
02/03/2023 07:34:15 AM
rwxr-xr-x
📄
cron.sh
173 bytes
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
cubadmserv
1.94 MB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
cubalert
1.3 MB
02/03/2023 07:34:09 AM
rwxr-xr-x
📄
cubetlserv
1.97 MB
02/03/2023 07:34:09 AM
rwxr-xr-x
📄
cubgphserv
2.55 MB
02/03/2023 07:34:12 AM
rwxr-xr-x
📄
cubmenuserv
2.51 MB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
cubnotify
2.79 MB
02/03/2023 07:34:09 AM
rwxr-xr-x
📄
cubot.properties
1.93 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
cubregenxy
947.66 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
cubregenxy.gz
341.15 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
cubrouter
378.71 KB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
cubrxgate
440.74 KB
02/03/2023 07:34:15 AM
rwxr-xr-x
📄
cubrxlogin
529.18 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
cubsearch
1.58 MB
02/03/2023 07:34:09 AM
rwxr-xr-x
📄
cubsearchrouter
520.15 KB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
doZip.sh
669 bytes
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
esalesforce
57 bytes
02/03/2023 07:34:09 AM
rwxr-xr-x
📁
etl
-
02/03/2023 07:34:08 AM
rwxr-xr-x
📁
etl_odbc
-
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
finyr.so
25.82 KB
02/03/2023 07:34:11 AM
rwxr-xr-x
📄
finyr.so_16May
26.11 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
fmtxml2ooffice.sh
1013 bytes
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
forecast.R
3.13 KB
02/03/2023 07:34:14 AM
rw-r--r--
📄
gep_days.so
10.03 KB
02/03/2023 07:34:15 AM
rwxr-xr-x
📄
html2csv.sh
2.97 KB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
html2ps
129.14 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
httpd
565.41 KB
02/03/2023 07:34:15 AM
rwxr-xr-x
📄
httpd_2.2
2.9 MB
02/03/2023 07:34:15 AM
rwxr-xr-x
📁
jars
-
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
jgraphserver.sh
841 bytes
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
libAdaptikTokenServiceProvider.so
631.87 KB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
libTokenServiceProvider.so
146.98 KB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
libcrypto.so.0.9.8
38.29 KB
05/03/2022 10:19:39 AM
rw-r--r--
📄
libcubotsvc.so
112.92 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
libdbdriver.so
113.32 KB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
libldap-2.3.so.0
319.36 KB
05/12/2022 01:52:38 PM
rw-r--r--
📄
libmysqlclient.so
1.52 MB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
libmysqlclient.so.15
3.78 MB
04/23/2023 02:08:47 PM
rw-r--r--
📄
libmysqlclient.so.16
3.78 MB
04/23/2023 02:08:47 PM
rw-r--r--
📄
libodbc.so.1
421.49 KB
03/26/2018 02:37:19 PM
rw-r--r--
📄
libpcre.so.1
449.93 KB
05/17/2022 07:42:45 AM
rw-r--r--
📄
librxauth.so
98.6 KB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
librxetl.so
29.8 KB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
librxfusionchart.so
60.25 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
librxgphserv.so
125.78 KB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
librxmetadata.so
227.2 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
librxmysql.so
80.75 KB
02/03/2023 07:34:10 AM
rwxr-xr-x
📄
librxolap.so
823.31 KB
02/03/2023 07:34:09 AM
rwxr-xr-x
📄
libssl.so.0.9.8
563.78 KB
05/24/2023 05:14:51 PM
rw-r--r--
📄
libtdsodbc.so
929.6 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
makeXtab2NormalExcel.pl
5.33 KB
02/03/2023 07:34:14 AM
rw-r--r--
📄
mod_axis2.so
226.12 KB
02/03/2023 08:01:00 AM
rwxr-xr-x
📄
mod_jk.so
384.77 KB
02/03/2023 07:34:14 AM
rw-r--r--
📄
mod_rx.so
50.69 KB
02/03/2023 08:01:00 AM
rw-r--r--
📄
multiSheet.pl
5.74 KB
02/03/2023 07:34:12 AM
rwxr-xr-x
📄
preCheck.js
1.03 KB
02/03/2023 07:34:13 AM
rw-r--r--
📄
priority_regen.sh
4.41 KB
02/03/2023 07:34:14 AM
rw-r--r--
📄
procscript.sh
321 bytes
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
rxdummydb.so
108.43 KB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
rxmssql.so
112.95 KB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
rxmysql.so
108.4 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
rxodbc.so
113.24 KB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
rxolite.so
108.45 KB
02/03/2023 07:34:12 AM
rwxr-xr-x
📄
rxora.so
113.03 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
rxsalesforce.so
108 KB
02/03/2023 07:34:14 AM
rwxr-xr-x
📄
rxsybase.so
123.61 KB
02/03/2023 07:34:09 AM
rwxr-xr-x
📄
services.xml
6.64 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
setvars.sh
556 bytes
02/03/2023 07:34:15 AM
rwxr-xr-x
📁
utils
-
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
ws.core.js
40.18 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
wsAll.js
142.94 KB
02/03/2023 07:34:09 AM
rw-r--r--
Editing: ws.core.js
Close
var rdNS="http://www.robustdesigns.com/services/cubotsvc"; var reportDataCache={}; /* Report Data Cache */ var reportMetaDataCache={}; /* Report List Cache */ var itemListCache=""; /*measure and dimension cache */ var Uaccessstr="", userId="", userName="", userLanguage="English" ; var ERROR=0, WARNING=1, INFO=2, MAX=3; var DEBUG_LEVEL=ERROR; var RDCACHE=true; //Report data cache var RLCACHE=true; //Report list cache var ILCACHE=true; //Item list cache var ONEGRAPH=false; //One graph at a time var G_RecordLimit=30; /* *All the browsers does not support getElementsByTagNameNS function. So this function takes care of getElementsByTagNameNS or getElementsByTagName need to be called. *First we are checking if getElementsByTagNameNS can be used for this browser or not, then we are proceeding. */ function get_ElementsByTagNameNS(nameSpace, doc, tag){ if(doc == null || doc.length < 1) return ""; if(doc.getElementsByTagNameNS) x=doc.getElementsByTagNameNS(nameSpace, tag); else x=doc.getElementsByTagName("n:"+tag); return x; } /* * Function to return a random string. Used to append in the url to set new request every time */ function rand() { var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz"; var string_length = 8; var randomstring = ''; for (var i=0; i<string_length; i++) { var rnum = Math.floor(Math.random() * chars.length); randomstring += chars.substring(rnum,rnum+1); } return randomstring; } /* * Function to make XML proper */ function xmlEscape(xmlstr){ // int invalid_char[] = {'\"', '&', '\'', '<', '>', -80, -36, -23}; // char replace_char[][8] = {""", "&", "'", "<", ">", "°", "Ü", "é"}; if(xmlstr) return xmlstr.replace("&", "&").replace("\"", """).replace("'","'").replace("<","<").replace(">",">"); else return xmlstr; } /* * Function used to calculate time between two calls. *Ussage: var watch= new stopWatch(); //sets stTime * watch.stop(); //Sets the endTime * Now you can use watch.stTime and watch.endTime variable for start time and end time. */ function stopWatch(){ this.stTime=(new Date()).getTime(); this.endTime=0; this.start=function(){ this.stTime=(new Date()).getTime(); } this.stop=function(){ this.endTime=(new Date()).getTime(); } } /* * Prepares the cache of report data. We are using this cache if user changes any graph type. No need to call again to get the report data. */ function fillReportDataCache(id, value){ if(!RDCACHE) return; var col_values=new Array(value.length); for(var i=0; i<value.length; i++){ col_values[i]=new Array(value[i].length); col_values[i]=value[i].slice(0); } reportDataCache[id]={data:col_values}; } /* * Returns the report data from cache */ function returnReportData(id){ var value=reportDataCache[id].data; var col_values=new Array(value.length); for(var i=0; i<value.length; i++){ col_values[i]=new Array(value[i].length); col_values[i]=value[i].slice(0); } return col_values; } /* * Returns report metadata from the cache */ function returnReportMetaData(id){ var value=reportMetaDataCache[id].meta; var col_values=new Array(); col_values=value.slice(0); return col_values; } /* * Returns report metadata from the cache */ function returnReportMetaDataList(){ var col_values=new Array(); var i=0; for (key in reportMetaDataCache) { if (reportMetaDataCache.hasOwnProperty(key)) { col_values[i++]=reportMetaDataCache[key].meta; } } return col_values; } /* * Prepares cache for report meta data */ function fillReportMetaDataCache(id, value){ if(!RLCACHE) return; if(id=='null'){ for(var i=0; i<value.length; i++){ reportMetaDataCache[value[i][0]]={meta:value[i].slice(0)}; } } else { reportMetaDataCache[id]={meta:value[0]}; } } function getRequestedData(URL, postData, isPost, isAsync){ var xmlhttp; try{ if(window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); } else if(window.ActiveXObject){ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); if(! xmlhttp){ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } } } catch(e){ alert("Your browser does not permit the use of all of this application's features!"); window.status = "Error: AJAX Not Supported."; return (false); } if(!xmlhttp){ alert("Your browser does not permit the use of all of this application's features!"); return (false); } if(isPost){ xmlhttp.open("POST", URL, isAsync); xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=UTF-8"); } else{ xmlhttp.open("GET", URL, isAsync); postData="null"; } xmlhttp.send(postData); return xmlhttp.responseText; } /* * Ajax call to execute the URL and returns response data. * URL: The url you want to execute * postData: Data you want to send it in post * isPost: true if POST else false if operation is GET * isAsync: Decides if this operation should be asynchronous. */ function getRequestedXML(URL, postData, isPost, isAsync){ URL+="/"+rand(); var xmlhttp; try{ if(window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); } else if(window.ActiveXObject){ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); if(! xmlhttp){ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } } } catch(e){ alert("Your browser does not permit the use of all of this application's features!"); window.status = "Error: AJAX Not Supported."; return (false); } if(!xmlhttp){ alert("Your browser does not permit the use of all of this application's features!"); return (false); } if(isPost){ xmlhttp.open("POST", URL, isAsync); xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=UTF-8"); } else{ xmlhttp.open("GET", URL, isAsync); postData="null"; } xmlhttp.send(postData); return xmlhttp.responseXML; } /* * Synchronous call to get report data. */ function getReportData(authToken, gid, topX){ if(reportDataCache[gid]){ return returnReportData(gid); } var URL = "/axis2/rx/cubotsvc/getReportData/"+ authToken +"/"+gid+"/topx="+(topX||-1); var xmlDoc=getRequestedXML(URL, null, 0, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "DATA"); var NumRow=x.length, colList=""; if(NumRow<1) check_session_status(xmlDoc); col_values=new Array(NumRow); for (i=0;i<NumRow;i++) { colList=get_ElementsByTagNameNS(rdNS, x[i], "COL"); NumCol=colList.length; col_values[i]=new Array(NumCol); for(j=0; j<NumCol; j++){ if(colList[j].childNodes[0]){ col_values[i][j]=colList[j].childNodes[0].nodeValue; } else{ col_values[i][j]=''; } } } fillReportDataCache(gid, col_values); return col_values; } /* * Asynchronous call to get report data from webservice call * authToken: unique id for this user seession * gid: Saved graph id. CUBOT uses saved graph id to extract data. * refresh: If refresh==1 then dont fetch the data from cache, get new webservice call to get new data * callback: call back function pointer . (Used showreport function) * context: reportContext class object . ( object stores gtype, height, width, moduleId, divId) * once we got the data from web services. We are calling callback function with report context object. */ function getReportDataAsync(authToken, gid, refresh, callback, context, topX){ if(!refresh && reportDataCache[gid] && (reportDataCache[gid].data.length>1)){ callback(returnReportData(gid), gid, context); //showReport(gid, gtype, height, width, moduleId, divId, returnReportData(gid)){ return false; } console.log((new Date()).getTime()+" : Start getting report Data "+ gid); var watch= new stopWatch(); var URL = "/axis2/rx/cubotsvc/getReportData/"+ authToken +"/"+gid+"/topx="+(topX||-1)+"/"+rand(); $.ajax({async:true, url:URL, success: function (result){ watch.stop(); console.log((new Date()).getTime()+" : End getting report Data "+ gid); writeLog(MAX, authToken, new logContext("Service", "GetReportData", gid, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); console.log((new Date()).getTime()+" : Start parsing report data from XML to Javascript array "+ gid); var xmlDoc=result; var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "DATA"); var NumRow=x.length, colList=""; if(NumRow<1) check_session_status(xmlDoc); col_values=new Array(NumRow); for (i=0;i<NumRow;i++) { colList=get_ElementsByTagNameNS(rdNS, x[i], "COL"); NumCol=colList.length; col_values[i]=new Array(NumCol); for(j=0; j<NumCol; j++){ if(colList[j].childNodes[0]){ col_values[i][j]=colList[j].childNodes[0].nodeValue; } else{ col_values[i][j]=''; } } } console.log((new Date()).getTime()+" : End parsing report data from XML to Javascript array "+gid); console.log((new Date()).getTime()+" : Start fill report cache "+gid); fillReportDataCache(gid, col_values); console.log((new Date()).getTime()+" : End fill report cache "+gid); callback(col_values, gid, context); }, failure: function (result){ watch.stop(); writeLog(ERROR, authToken, new logContext("Service", "GetReportData", gid, "ERROR","PERFORMANCE", '', watch.stTime, watch.endTime)); } }); } /* * Function to check if any AUTH error for the session. And call the SessionExpire.html in case of AUTH error */ function check_session_status(MainTag){ var tagArray=get_ElementsByTagNameNS(rdNS, MainTag, "status"); if(tagArray.length >0 && tagArray[0].childNodes[0].nodeValue == "CUBOT-AUTH-ERROR"){ var current_addr=window.top.location.href.split("?"); /*var current_addr=document.URL.split("?"); var dbName=getFromURL('db'); if(current_addr[1]&& current_addr[1].indexOf("db=")>=0){ $("#relogin").dialog({ title:"Relogn", height:300, width: 300, modal: true, resizable: true, autoResize: false, autoOpen: false, position:['center','center'] }); var htmlstr='<table align="center" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="name">User Name</td><td><input type="textbox" id="userName"></td></tr><tr><td class="name">Password</td><td><input type="password" id="password"></td></tr><tr><td colspan=2 align=right><button class="loginButton" onclick="reloginCubot(\''+dbName+'\');" tabindex="3">Login</button></td></tr></tbody></table>'; $("#relogin").html(htmlstr).dialog("open"); } else */ if(current_addr[1]){ window.top.location.href="SessionExpire.html?"+current_addr[1]; } else{ window.top.location.href="SessionExpire.html"; } } } function reloginCubot(dbName){ var userName=$("#userName").value(); var Password=$("#password").value(); var session=loginCubot(dbName, userName, Password); var exdate=new Date(); exdate.setDate(exdate.getDate() + 2); document.cookie="RXSESSION="+session+"; expires="+exdate.toUTCString(); sessionid=session; //$("#relogin").dialog("close"); } /* * Function to get the tag values with proper checking. */ function getTagValue(MainTag, SubTag){ var val=""; var tagArray=get_ElementsByTagNameNS(rdNS, MainTag, SubTag); if(tagArray.length < 1){ check_session_status(MainTag); return ""; } if(tagArray[0].childNodes[0]){ for(var i=0; i<tagArray[0].childNodes.length; i++) //Firefox contains only 4096 char for one node.Divides huge data into multiple childNodes. val+=tagArray[0].childNodes[i].nodeValue; if(val != "NO-DATA-FOUND") return val; else return ''; } else{ return ''; } } /* *Function to get report metadata */ function getReportMetaData(authToken, gid){ if(reportMetaDataCache[gid]) return returnReportMetaData(gid); if(gid == "null" && (jQuery.isEmptyObject(reportMetaDataCache) == false)) return returnReportMetaDataList(); var watch= new stopWatch(); var URL = "/axis2/rx/cubotsvc/getReportList/"+ authToken +"/"+gid; var RptListTags = new Array( "Id", "ParentId", "Owner", "Title" , "Description", "CreateDate", "LastAccessDate", "GenerationTimeInSec", "SubTitle", "NRows", "NCols", "ReportType", "ReportLayout", "Dimensions", "Measures", "MeasuresFormat", "ReportPermission", "MinMaxLevels" , "SystemTitle", "DimMetaData", "ReportSortColumn", "ReportTopn", "DimensionIds", "MeasureIds", "DimensionFilters", "MeasureFilters", "Refresh", "Instance"); var xmlDoc=getRequestedXML(URL, null, 0, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "Report"); watch.stop(); var NumRow=x.length; var col_values=new Array(); if(getTagValue(x[0], 'Id') == ''){ writeLog( ERROR, authToken, new logContext("Service", "GetReportList", gid, "ERROR",'NO DATA FOUND', '', watch.stTime, watch.endTime)); check_session_status(xmlDoc); return ""; } else{ writeLog(MAX, authToken, new logContext("Service", "GetReportList", gid, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); for (var i=0; i<NumRow; i++) { col_values[i]=new Array(RptListTags.length); for(var j=0; j<RptListTags.length; j++){ col_values[i][j]=getTagValue(x[i], RptListTags[j]); } } } fillReportMetaDataCache(gid, col_values); if(gid != 'null') return col_values[0]; else return col_values; } /* * Function used to content related operation. * getContent: Get content from user_content table * putContent: put content into user_content table * deleteContent: Remove content from user_content table * deleteContentWithChild: Delete parent content with childs.Used in case of DashCollection or dashboard deletion */ function doContentOperation(type, authToken, contentid, itemid, content){ var watch= new stopWatch(); var URL="", xmlDoc="", x="", postData="", Value=""; if(type == 1) operation="getContent"; else if(type == 2) operation="putContent"; else if(type == 3) operation="deleteContent"; else if(type == 4) operation="deleteContentWithChild"; else operation="getContent"; URL = "/axis2/rx/cubotsvc/doContentOperation"; postData='<doContentOperation><sessionId>'+authToken+'</sessionId><Operation>'+operation+'</Operation><contentId>'+itemid+'</contentId><contentType>'+contentid+'</contentType><content>'+xmlEscape(content)+'</content><signature>'+rand()+'</signature></doContentOperation>'; if(type == 2) xmlDoc=getRequestedXML(URL, postData, 1, false); /* Arun Change */ else xmlDoc=getRequestedXML(URL, postData, 1, false); x=get_ElementsByTagNameNS(rdNS, xmlDoc, "doContentOperationResponse"); watch.stop(); Value=getTagValue(x[0], operation); if(Value == '') writeLog(ERROR, authToken, new logContext("Service", operation, contentid, "ERROR","NO DATA FOUND", '', watch.stTime, watch.endTime)); else writeLog(MAX, authToken, new logContext("Service", operation, contentid, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); return Value; } /* * This function calls doContentOperation function with appropreate parameters to get contents. */ function getContentData(authToken, contentid, itemid){ return doContentOperation(1, authToken, contentid, itemid, null); } /* * This function calls doContentOperation function with appropreate parameters to put contents. */ function putContentData(authToken, contentid, itemid, content){ return doContentOperation(2, authToken, contentid, itemid, content); } /* * This function calls doContentOperation function with appropreate parameters to delete contents. */ function removeContentData(authToken, contentid, itemid){ return doContentOperation(3, authToken, contentid, itemid, null); } /* * Class used to ease write Log call */ function logContext(Type , Subtyp , MetaData , Result , ErrStack , browser, StartTs , EndTs){ this.Type=Type; this.Subtyp=Subtyp; this.MetaData=MetaData; this.Result=Result; this.ErrStack=ErrStack; this.browser=(navigator.appName+':'+navigator.appVersion+':'+navigator.platform).replace(new RegExp('/', 'g'),'_'); this.StartTs=StartTs; this.EndTs=EndTs; } /* * Write information into log. This call will write into 'cubot_service.log' */ function writeLog(logLevel, authToken, logContext ){ if(DEBUG_LEVEL>= logLevel){ var URL = "/axis2/rx/cubotsvc/writeLog/"+ authToken +"/"+ logContext.Type +"/"+ logContext.Subtyp +"/"+ logContext.MetaData +"/"+ logContext.Result +"/"+ logContext.ErrStack +"/"+ logContext.browser + "/" + logContext.StartTs +"/"+ logContext.EndTs+"/"+rand(); //$.ajax({async:true, url:URL, timeout:2000, success: function (){}}); $.ajax({async:true, url:URL}); } } /* *Function to get user access *Returns: *Userid:ceo *AppAccess:Analyze:Print Report:Export Report:View Details:Targets:Create Measures:Disable Session Timeout:Dashboard:Alerts *AdminRoles:ETL.. *UserRoles:common:customer:product */ function getUserAccess(authToken){ var watch= new stopWatch(); var URL = "/axis2/rx/cubotsvc/userManagement"; var postData='<userManagement><sessionId>'+ authToken +'</sessionId><Operation>GetUserAccess</Operation><tagvaluepair>userid=thisuser</tagvaluepair><signature>'+rand()+'</signature></userManagement>'; var xmlDoc=getRequestedXML(URL, postData, 1, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "GetUserAccess"); watch.stop(); var uid=getFromURL('uid'); if(getTagValue(x[0], 'Userid') == ''){ writeLog( ERROR, authToken, new logContext("Service", "GetUserAccess", uid, "ERROR",'NO DATA FOUND', '', watch.stTime, watch.endTime)); return false; } else{ writeLog(MAX, authToken, new logContext("Service", "GetUserAccess", uid, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); Uaccessstr=getTagValue(x[0], 'AppAccess'); return true; } } /* * Function to get all user properties */ function getUserProperties(authToken){ var watch= new stopWatch(); var URL = "/axis2/rx/cubotsvc/userManagement"; var postData='<userManagement><sessionId>'+ authToken +'</sessionId><Operation>GetUserProperties</Operation><tagvaluepair>userid=thisuser</tagvaluepair><signature>'+rand()+'</signature></userManagement>'; var xmlDoc=getRequestedXML(URL, postData, 1, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "GetUserProperties"); watch.stop(); var uid=getFromURL('uid'); if(getTagValue(x[0], 'UserId') == ''){ writeLog( ERROR, authToken, new logContext("Service", "GetUserProperties", uid, "ERROR",'NO DATA FOUND', '', watch.stTime, watch.endTime)); return false; } else{ writeLog(MAX, authToken, new logContext("Service", "GetUserProperties", uid, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); userId = getTagValue(x[0], 'UserId'); userName = getTagValue(x[0], 'UserName'); userLanguage = getTagValue(x[0], 'Language'); return true; } } /* * Get report list. It returns the report metadata. */ function getUserList(authToken){ var watch= new stopWatch(); var uid=getFromURL('uid'); var URL = "/axis2/rx/cubotsvc/userManagement"; var postData='<userManagement><sessionId>'+ authToken +'</sessionId><Operation>GetUserProperties</Operation><tagvaluepair>null</tagvaluepair><signature>'+rand()+'</signature></userManagement>'; var UserListTags = new Array("UserId", "UserName", "EmailId"); var xmlDoc=getRequestedXML(URL, postData, 1, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "GetUserProperties"); watch.stop(); var NumRow=x.length; var col_values=new Array(); if(getTagValue(x[0], 'UserId') == ''){ writeLog( ERROR, authToken, new logContext("Service", "GetUserProperties", uid, "ERROR",'NO DATA FOUND', '', watch.stTime, watch.endTime)); } else{ writeLog(MAX, authToken, new logContext("Service", "GetUserProperties", uid, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); for (var i=0; i<NumRow; i++) { col_values[i]=new Array(UserListTags.length); for(var j=0; j<UserListTags.length; j++){ col_values[i][j]=getTagValue(x[i], UserListTags[j]); } } } return col_values; } /* * Get group properties */ function getGroupList(authToken){ var watch= new stopWatch(); var uid=getFromURL('uid'); var URL = "/axis2/rx/cubotsvc/userManagement"; var postData='<userManagement><sessionId>'+ authToken +'</sessionId><Operation>GetGroupProperties</Operation><tagvaluepair>null</tagvaluepair><signature>'+rand()+'</signature></userManagement>'; var GroupListTags = new Array("GroupName", "Description"); var xmlDoc=getRequestedXML(URL, postData, 1, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "GetGroupProperties"); watch.stop(); var NumRow=x.length; var col_values=new Array(); if(getTagValue(x[0], 'GroupName') == ''){ writeLog( ERROR, authToken, new logContext("Service", "GetGroupProperties", uid, "ERROR",'NO DATA FOUND', '', watch.stTime, watch.endTime)); } else{ writeLog(MAX, authToken, new logContext("Service", "GetGroupProperties", uid, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); for (var i=0; i<NumRow; i++) { col_values[i]=new Array(GroupListTags.length); for(var j=0; j<GroupListTags.length; j++){ col_values[i][j]=getTagValue(x[i], GroupListTags[j]); } } } return col_values; } /* * Function to share|unshare the objects(Page, dashboard) * objId: object id to add or remove * objType: Object type(D or P) to add or remove * objAccess: Access string like "Users=cfo;Groups=Group1" * addRmove: Add or Remove * shareObject('f260441eadd84a52b6RX12345',100747, 'P','Users=cfo;Groups=Group1','Add'); */ function shareObject(authToken, objId, objType, objAccess, addRemove){ var watch= new stopWatch(); var URL = "/axis2/rx/cubotsvc/doShareObject/"+authToken+"/"+addRemove+"/"+objId +"/"+objType+"/"+ objAccess; var xmlDoc=getRequestedXML(URL, null, 0, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "doShareObjectResponse"); watch.stop(); if(getTagValue(x[0], "CUBOT_STATUS") == '') writeLog(ERROR, authToken, new logContext("Service", "doShareObject", objType, "ERROR","NO DATA FOUND", '', watch.stTime, watch.endTime)); else writeLog(MAX, authToken, new logContext("Service", "doShareObject", objType, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); } /* *Function to get list of shared objects *objType:D for dashboard, P for page *toMeOrByMe:1 shared object list , 3 for list of dashboards and pages shared by me. */ function getSharedList(authToken, objType, toMeOrByMe){ var watch= new stopWatch(); var uid=getFromURL('uid'), sharedListTags=""; var URL = "/axis2/rx/cubotsvc/getSharedObject/"+authToken+"/"+objType+"/"+toMeOrByMe; var xmlDoc=getRequestedXML(URL, null, 0, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "Object"); watch.stop(); var NumRow=x.length; var col_values=new Array(); if(toMeOrByMe == 1) sharedListTags=new Array("Id", "ObjectType", "SharedBy"); else sharedListTags=new Array("Id", "ObjectType", "SharedTo"); if(getTagValue(x[0], sharedListTags[0]) == ''){ writeLog( ERROR, authToken, new logContext("Service", "getSharedObject", uid, "ERROR",'NO DATA FOUND', '', watch.stTime, watch.endTime)); } else{ writeLog(MAX, authToken, new logContext("Service", "getSharedObject", uid, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); for (var i=0; i<NumRow; i++) { col_values[i]=new Array(sharedListTags.length); for(var j=0; j<sharedListTags.length; j++){ col_values[i][j]=getTagValue(x[i], sharedListTags[j]); } } } return col_values; } /* *Function to get shared dashboard or page content *objType:D or P */ function getSharedContent(authToken, objType){ var watch= new stopWatch(); var uid=getFromURL('uid'), tag="Content"; var URL = "/axis2/rx/cubotsvc/getSharedObject/"+authToken+"/"+objType+"/2"; var xmlDoc=getRequestedXML(URL, null, 0, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "Object"); watch.stop(); var NumRow=x.length; var col_values=new Array(); if(getTagValue(x[0], tag) == ''){ writeLog( ERROR, authToken, new logContext("Service", "getSharedObject", uid, "ERROR",'NO DATA FOUND', '', watch.stTime, watch.endTime)); } else{ writeLog(MAX, authToken, new logContext("Service", "getSharedObject", uid, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); for (var i=0; i<NumRow; i++) { col_values.push(getTagValue(x[i], tag)); } } return col_values; } /* * Function to return a unique number every time. * Used to assign id to Page, report, Dashboard.. */ function getUniqueNumber(authToken){ var watch= new stopWatch(); var uid=getFromURL('uid'); var URL = "/axis2/rx/cubotsvc/getUniqueNumber/"+authToken; var xmlDoc=getRequestedXML(URL, null, 0, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "getUniqueNumberResponse"); watch.stop(); if(getTagValue(x[0], 'ID') == ''){ writeLog( ERROR, authToken, new logContext("Service", "getUniqueNumberResponse", uid, "ERROR",'NO DATA FOUND', '', watch.stTime, watch.endTime)); } else{ writeLog(MAX, authToken, new logContext("Service", "getUniqueNumberResponse", uid, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); return getTagValue(x[0], 'ID'); } return -1; } /* * Function for user login */ function loginCubot(dbName, userName, Password){ var watch= new stopWatch(); var URL = '/axis2/rx/cubotsvc/loginCubot/'+dbName+'//' + userName + '/' + Password; var xmlDoc=getRequestedXML(URL, null, 0, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "loginCubotResponse"); watch.stop(); if(getTagValue(x[0], 'sessionId') == 'CUBOT-AUTH-ERROR'){ //writeLog(ERROR, authToken, new logContext("Service", "loginCubot", userName, "ERROR", 'CUBOT-AUTH-ERROR', '', watch.stTime, watch.endTime)); } else{ writeLog(MAX, getTagValue(x[0], 'sessionId'), new logContext("Service", "loginCubot", userName, "SUCCESS", "PERFORMANCE", '', watch.stTime, watch.endTime)); return getTagValue(x[0], 'sessionId'); } return -1; } /* * Function for user logout */ function logoutCubot(authToken){ var URL = '/axis2/rx/cubotsvc/logoutCubot/' + authToken; getRequestedXML(URL, null, 0, false); } /* *Function to get item list(Measures and Dimensions) */ function getMetaData(authToken){ if(ILCACHE==true && itemListCache.length>0) return itemListCache; var watch= new stopWatch(); var URL = "/axis2/rx/cubotsvc/getMetaData/"+ authToken; var ItemListTags = new Array( "Group", "ParentId", "Id", "Name", "Table", "Column", "AggFunction", "WhereClause1", "WhereClause2", "WhereClause3", "IsFloorTgt", "TimeColumn", "Description", "GroupParentId", "HavingClause", "Attributes", "Format", "DataType", "DataSubType", "DataPrefix", "DataSuffix", "JoinTable", "MinimumValue", "MaximumValue" ); var xmlDoc=getRequestedXML(URL, null, 0, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "METADATAROW"); watch.stop(); var col_values=new Array(); if(getTagValue(x[0], 'Id') == ''){ writeLog( ERROR, authToken, new logContext("Service", "getMetaData", '', "ERROR",'NO DATA FOUND', '', watch.stTime, watch.endTime)); check_session_status(xmlDoc); return ""; } else{ writeLog(MAX, authToken, new logContext("Service", "getMetaData", '', "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); for (var i=0; i<x.length; i++) { col_values[i]=new Array(ItemListTags.length); for(var j=0; j<ItemListTags.length; j++){ col_values[i][j]=getTagValue(x[i], ItemListTags[j]); } } } if(ILCACHE==true) itemListCache=col_values; return col_values; } /* * Function used to Note related operation. */ function doAnnotation(type, authToken, ReportId, NoteId, Note){ var watch= new stopWatch(); var URL="", xmlDoc="", x="", postData="", Value=""; var noteTags = new Array( "Date", "PostedBy", "NoteId", "Note" ); var col_values=new Array(); if(type == 1) operation="viewNotes"; else if(type == 2) operation="postNote"; else if(type == 3) operation="deleteNote"; else if(type == 4) operation="deleteNoteWithChild"; else operation="viewNotes"; URL = "/axis2/rx/cubotsvc/doAnnotation"; postData="<doAnnotation><sessionId>"+authToken+"</sessionId><Operation>"+operation+"</Operation><ReportId>"+ReportId+"</ReportId><NoteId>"+NoteId+"</NoteId><Note>"+xmlEscape(Note)+"</Note><signature>"+rand()+"</signature></doAnnotation>"; if(type == 2) xmlDoc=getRequestedXML(URL, postData, 1, true); else xmlDoc=getRequestedXML(URL, postData, 1, false); if(type == 1) x=get_ElementsByTagNameNS(rdNS, xmlDoc, "viewNotes"); else x=get_ElementsByTagNameNS(rdNS, xmlDoc, "doAnnotationResponse"); watch.stop(); Value=getTagValue(x[0], noteTags[0]); if(Value == ''){ writeLog(ERROR, authToken, new logContext("Service", operation, ReportId, "ERROR","NO DATA FOUND", '', watch.stTime, watch.endTime)); } else{ writeLog(MAX, authToken, new logContext("Service", operation, ReportId, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); for (var i=0; i<x.length; i++) { col_values[i]=new Array(noteTags.length); for(var j=0; j<noteTags.length; j++){ col_values[i][j]=getTagValue(x[i], noteTags[j]); } } return col_values; } return Value; } /* * This function calls doAnnotation function with appropreate parameters to get notes. */ function getNotes(authToken, ReportId, NoteId){ return doAnnotation(1, authToken, ReportId, NoteId, null); } /* * This function calls doAnnotation function with appropreate parameters to put notes. */ function putNote(authToken, ReportId, NoteId, Note){ return doAnnotation(2, authToken, ReportId, NoteId, Note); } /* * This function calls doAnnotation function with appropreate parameters to delete notes. */ function removeNote(authToken, ReportId, NoteId){ return doAnnotation(3, authToken, ReportId, NoteId, null); } /* * createResultset function with async post method. */ function getData(resultSet){ var watch= new stopWatch(); var URL='/axis2/rx/cubotsvc/createResultSet/' + rand(); var postData='<createResultSet><sessionId>'+resultSet.authToken+'</sessionId><dimensionIds>'+resultSet.dimensionList+'</dimensionIds><measureIds>'+resultSet.measureList+'</measureIds><dimensionFilters>'+resultSet.dimensionFilterList+'</dimensionFilters><measureFilters>'+resultSet.measureFilterList+'</measureFilters><instanceId>'+"default"+'</instanceId><DataInstanceId>'+resultSet.params+'</DataInstanceId><signature>'+rand()+'</signature></createResultSet>'; var xmlhttp; try{ if(window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); } else if(window.ActiveXObject){ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); if(! xmlhttp){ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } } } catch(e){ alert("Your browser does not permit the use of all of this application's features!"); window.status = "Error: AJAX Not Supported."; return (false); } if(!xmlhttp){ alert("Your browser does not permit the use of all of this application's features!"); return (false); } xmlhttp.open("POST", URL, true); xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=UTF-8"); xmlhttp.send(postData); xmlhttp.onreadystatechange = function (){ if((xmlhttp.readyState == 4) && (xmlhttp.status == 200)){ var xmlDoc=xmlhttp.responseXML; var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "DATA"); var NumRow=x.length, colList=""; if(NumRow<1) check_session_status(xmlDoc); watch.stop(); if(x.length<1){ //writeLog(ERROR, resultSet.authToken, new logContext("Service", "createResultSet", '', "ERROR","PERFORMANCE", '', watch.stTime, watch.endTime)); check_session_status(xmlDoc); return ""; } else{ //writeLog(MAX, resultSet.authToken, new logContext("Service", "createResultSet", '', "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); col_values=new Array(NumRow); for (i=0;i<NumRow;i++) { colList=get_ElementsByTagNameNS(rdNS, x[i], "COL"); NumCol=colList.length; col_values[i]=new Array(NumCol); for(j=0; j<NumCol; j++){ if(colList[j].childNodes[0]){ col_values[i][j]=colList[j].childNodes[0].nodeValue; } else{ col_values[i][j]=''; } } } resultSet.callback(col_values, resultSet.context); } } } } /* * Function to create report by passing dimensions, dimension filter, measures and measure filter * */ function getDataGet(resultSet) { //authToken, measureCollection, dimensionCollection, dimensionFilters, sessionFilter, callback, context var watch= new stopWatch(); var URL = '/axis2/rx/cubotsvc/createResultSet/' + resultSet.authToken + '/' + resultSet.dimensionList + '/' + resultSet.measureList + '/' + resultSet.dimensionFilterList + '/'+ resultSet.measureFilterList + '/default' + '/' + rand(); $.ajax({async:resultSet.isAsync, url:URL, success: function (result){ watch.stop(); writeLog(MAX, resultSet.authToken, new logContext("Service", "createResultSet", '', "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); var xmlDoc=result; var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "DATA"); var NumRow=x.length, colList=""; if(NumRow<1) check_session_status(xmlDoc); col_values=new Array(NumRow); for (i=0;i<NumRow;i++) { colList=get_ElementsByTagNameNS(rdNS, x[i], "COL"); NumCol=colList.length; col_values[i]=new Array(NumCol); for(j=0; j<NumCol; j++){ if(colList[j].childNodes[0]){ col_values[i][j]=colList[j].childNodes[0].nodeValue; } else{ col_values[i][j]=''; } } } resultSet.callback(col_values, resultSet.context); delete col_values; }, failure: function (result){ watch.stop(); writeLog(ERROR, resultSet.authToken, new logContext("Service", "createResultSet", '', "ERROR","PERFORMANCE", '', watch.stTime, watch.endTime)); } }); } /* * Function to get filter values * dimensionId: Item id created in CUBOT(840 for country) * numRecordRange: 0-10 or 10-20 (Scale type call) * dimSqlWhere: gecntry='AFFRICA' */ function getFilterValues(authToken, dimensionId, numRecordRange, dimSqlWhere){ var watch= new stopWatch(); var URL = "/axis2/rx/cubotsvc/getFilterValues"; var postData="<getFilterValues><sessionId>"+authToken + "</sessionId><dimensionId>" + dimensionId + "</dimensionId><offset>" + numRecordRange + "</offset><dimWhereClause>" + dimSqlWhere +"</dimWhereClause><signature>" + rand() + "</signature></getFilterValues>"; var xmlDoc=getRequestedXML(URL, postData, 1, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "FILTERVALUES"); watch.stop(); var col_values=new Array(); if(x.length<1){ writeLog( ERROR, authToken, new logContext("Service", "getFilterValues", '', "ERROR",'NO DATA FOUND', '', watch.stTime, watch.endTime)); check_session_status(xmlDoc); return ""; } else{ writeLog(MAX, authToken, new logContext("Service", "getFilterValues", '', "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); var colList=get_ElementsByTagNameNS(rdNS, x[0], "value"); for(var i=0; i<colList.length; i++){ if(colList[i].childNodes[0]) col_values[i]=colList[i].childNodes[0].nodeValue; } } return col_values; } /* * Function to get dimension hierarchy * dimensionId: Dimension item id created in CUBOT(840 for country) * selectionSeq : Selected dimension ids in report (110:120) * returns array of dimension ids */ function getNextDimInHierarchy(authToken, dimensionId, selectionSeq){ var watch= new stopWatch(); var URL = "/axis2/rx/cubotsvc/getNextDimInHierarchy/" + authToken + "/" + dimensionId + "/" + selectionSeq ; var xmlDoc=getRequestedXML(URL, null, 0, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "DimensionInHierarchy"); watch.stop(); var col_values=new Array(); writeLog(MAX, authToken, new logContext("Service", "getFilterValues", '', "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); for (var i=0; i<x.length; i++) { col_values[i]=getTagValue(x[i], "Dimension"); } return col_values; } /* * doReportOperation * -------------------- */ function doReportOperation(authToken, type, resultSet){ var watch= new stopWatch(); var URL="", xmlDoc="", x="", postData="", Value=""; if(type == "SAVE") operation="saveReport"; else if(type == "DELETE") operation="deleteReport"; else if(type == "DELETE_FROM_TRASH") operation="deleteReportFromTrash"; else if(type == "RESTORE_FROM_TRASH") operation="restoreReportFromTrash"; else operation="saveReport"; URL = "/axis2/rx/cubotsvc/doReportOperation"; postData='<doReportOperation><sessionId>'+authToken+'</sessionId><Operation>'+operation+'</Operation><reportId>'+resultSet.graphId+'</reportId><dimensionIds>'+resultSet.dimensionIds+'</dimensionIds><measureIds>'+resultSet.measureIds+'</measureIds><dimensionFilters>'+resultSet.dimensionFilters+'</dimensionFilters><measureFilters>'+resultSet.measureFilters+'</measureFilters><instanceId>'+resultSet.instance+'</instanceId><tagvaluepair>'+resultSet.tagValuePair+'</tagvaluepair><signature>'+rand()+'</signature></doReportOperation>'; if(type == 1) xmlDoc=getRequestedXML(URL, postData, 1, true); else xmlDoc=getRequestedXML(URL, postData, 1, false); x=get_ElementsByTagNameNS(rdNS, xmlDoc, "doReportOperationResponse"); watch.stop(); Value=getTagValue(x[0], operation); if(Value == '') writeLog(ERROR, authToken, new logContext("Service", operation, resultSet.graphId, "ERROR","NO DATA FOUND", '', watch.stTime, watch.endTime)); else writeLog(MAX, authToken, new logContext("Service", operation, resultSet.graphId, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); return Value; } function getGraphProperties(authToken, gid){ var watch= new stopWatch(); var URL = '/axis2/rx/cubotsvc/getGraphProperties/' + authToken + '/' + gid; var xmlDoc=getRequestedXML(URL, null, 0, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "Data"); watch.stop(); var NumRow=x.length; var col_values=new Array(NumRow); if( NumRow < 1){ writeLog( ERROR, authToken, new logContext("Service", "GetReportList", gid, "ERROR",'NO DATA FOUND', '', watch.stTime, watch.endTime)); check_session_status(xmlDoc); return ""; } else{ writeLog(MAX, authToken, new logContext("Service", "GetReportList", gid, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); for (i=0;i<NumRow;i++) { col_values[i] = new Array(2); col_values[i][0]=getTagValue(x[i], "Name"); col_values[i][1]=getTagValue(x[i], "Value"); } return col_values; } } /* Report Permission */ function getReportPermissions(authToken, gid){ var watch= new stopWatch(); var URL = '/axis2/rx/cubotsvc/getReportPermission/' + authToken + '/' + gid; var xmlDoc=getRequestedXML(URL, null, 0, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "Data"); watch.stop(); var NumRow=x.length; var col_values=new Array(NumRow); if( NumRow < 1){ writeLog( ERROR, authToken, new logContext("Service", "GetReportPermissionList", gid, "ERROR",'NO DATA FOUND', '', watch.stTime, watch.endTime)); check_session_status(xmlDoc); return ""; } else{ writeLog(MAX, authToken, new logContext("Service", "GetReportPermissionList", gid, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); for (i=0;i<NumRow;i++) { col_values[i] = new Array(2); col_values[i][0]=getTagValue(x[i], "User"); col_values[i][1]=getTagValue(x[i], "IsGroup"); col_values[i][2]=getTagValue(x[i], "Access"); } return col_values; } } /* * Function to get application list */ function getAppList(authToken, appId){ var watch= new stopWatch(); var URL = "/axis2/rx/cubotsvc/getAppList/" + authToken + "/" + appId; var AppListTags = new Array( "ApplId", "Application", "URL"); var xmlDoc=getRequestedXML(URL, null, 0, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "Data"); watch.stop(); var NumRow=x.length; var col_values=new Array(); if(getTagValue(x[0], 'ApplId') == ''){ writeLog( ERROR, authToken, new logContext("Service", "getAppList", appId, "ERROR",'NO DATA FOUND', '', watch.stTime, watch.endTime)); check_session_status(xmlDoc); return ""; } else{ writeLog(MAX, authToken, new logContext("Service", "getAppList", appId, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); for (var i=0; i<NumRow; i++) { col_values[i]=new Array(AppListTags.length); for(var j=0; j<AppListTags.length; j++){ col_values[i][j]=getTagValue(x[i], AppListTags[j]); } } } return col_values; } /* * Function to get user/global settings for cubot */ function getUserSettings(authToken, paramId){ var watch= new stopWatch(); var URL = "/axis2/rx/cubotsvc/getUserSettings/" + authToken + "/" + paramId; var ParamsListTags = new Array( "ParamId", "ParamName", "ParamValue"); var xmlDoc=getRequestedXML(URL, null, 0, false); var x=get_ElementsByTagNameNS(rdNS, xmlDoc, "Data"); watch.stop(); var NumRow=x.length; var col_values=new Array(); if(getTagValue(x[0], 'ParamId') == ''){ writeLog( ERROR, authToken, new logContext("Service", "getUserSettings", paramId, "ERROR",'NO DATA FOUND', '', watch.stTime, watch.endTime)); check_session_status(xmlDoc); return ""; } else{ writeLog(MAX, authToken, new logContext("Service", "getUserSettings", paramId, "SUCCESS","PERFORMANCE", '', watch.stTime, watch.endTime)); for (var i=0; i<NumRow; i++) { col_values[i]=new Array(ParamsListTags.length); for(var j=0; j<ParamsListTags.length; j++){ col_values[i][j]=getTagValue(x[i], ParamsListTags[j]); } } } return col_values; }