importWizardMSAS.js 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845
  1. /****************************************************************
  2. ** Licensed Materials - Property of IBM
  3. **
  4. ** IBM Cognos Products: mdsrv
  5. **
  6. ** (C) Copyright IBM Corp. 2008, 2010
  7. **
  8. ** US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  9. *****************************************************************/
  10. if(!IMPORT_UTIL){
  11. var IMPORT_UTIL={};
  12. }
  13. IMPORT_UTIL.KEYCODE_SPACEBAR=32;
  14. IMPORT_UTIL.KEYCODE_ENTER=13;
  15. function URLRequestInvoker(){
  16. };
  17. URLRequestInvoker.prototype.MakeAsyncRequestInIFrame=function(_1,_2){
  18. var _3=document.getElementById("debuggingPane");
  19. if(_3&&_3.style.display!="none"){
  20. var _4="";
  21. for(var p in _2){
  22. _4+="<b>"+p+"</b> = "+_2[p]+"<br>\n";
  23. }
  24. _3.innerHTML="<u><b>URL</b></u>: &nbsp; "+_1+"<br><br>"+"<u><b>POST Data</b></u>: <pre>"+_4+"</pre>\n\n";
  25. }
  26. var _6=document.getElementById("communicationIFramePlaceholder");
  27. if(!_6){
  28. _6=document.createElement("div");
  29. _6.setAttribute("id","communicationIFramePlaceholder");
  30. document.body.appendChild(_6);
  31. }
  32. _6.innerHTML="<iframe id=\"communicationIFrame\" name=\"communicationIFrame\" title=\"communicationIFrame\" width=\"1000\" height=\"200\" "+"frameborder=\"0\" style=\"display: none; margin-top: 50px; border: 1px dotted darkgray; \">\n"+"This browser does not support iframes!\n"+"</iframe>\n";
  33. var _7=document.getElementById("communicationIFrame");
  34. var _8=_7.contentWindow.document;
  35. if(_8.body==null){
  36. var _9=_8.createElement("body");
  37. _8.appendChild(_9);
  38. }
  39. this.InvokeUrlThroughPostRequest(_1,_2,_8);
  40. };
  41. URLRequestInvoker.prototype.MakeAsyncRequestInIFrame2=function(_a,_b){
  42. var _c=document.getElementById("debuggingPane");
  43. if(_c&&_c.style.display!="none"){
  44. var _d="";
  45. for(var p in _b){
  46. _d+="<b>"+p+"</b> = "+_b[p]+"<br>\n";
  47. }
  48. _c.innerHTML="<u><b>URL</b></u>: &nbsp; "+_a+"<br><br>"+"<u><b>POST Data</b></u>: <pre>"+_d+"</pre>\n\n";
  49. }
  50. var _f=document.getElementById("communicationIFramePlaceholder2");
  51. if(!_f){
  52. _f=document.createElement("div");
  53. _f.setAttribute("id","communicationIFramePlaceholder2");
  54. document.body.appendChild(_f);
  55. }
  56. _f.innerHTML="<iframe id=\"communicationIFrame2\" name=\"communicationIFrame\" title=\"communicationIFrame\" width=\"1000\" height=\"200\" "+"frameborder=\"0\" style=\"display: none; margin-top: 50px; border: 1px dotted darkgray; \">\n"+"This browser does not support iframes!\n"+"</iframe>\n";
  57. var _10=document.getElementById("communicationIFrame2");
  58. var _11=_10.contentWindow.document;
  59. if(_11.body==null){
  60. var _12=_11.createElement("body");
  61. _11.appendChild(_12);
  62. }
  63. this.InvokeUrlThroughPostRequest(_a,_b,_11);
  64. };
  65. URLRequestInvoker.prototype.InvokeUrlThroughPostRequest=function(url,_14,_15){
  66. _15.write("<html><head><base href=\""+window.location+"\"></head><body></body></html>");
  67. buildAndSubmitDynamicForm(_15,_15.body,url,_14);
  68. };
  69. function buildAndSubmitDynamicForm(_16,_17,url,_19){
  70. var _1a=_16.createElement("form");
  71. _1a.setAttribute("method","POST");
  72. _1a.setAttribute("id","communicationForm");
  73. _1a.setAttribute("name","communicationForm");
  74. _1a.setAttribute("action",url);
  75. for(var p in _19){
  76. var _1c=_16.createElement("input");
  77. _1c.setAttribute("type","hidden");
  78. _1c.setAttribute("id",p);
  79. _1c.setAttribute("name",p);
  80. _1c.setAttribute("value",_19[p]);
  81. _1a.appendChild(_1c);
  82. }
  83. var _1d=_17.appendChild(_1a);
  84. _1a.submit();
  85. };
  86. URLRequestInvoker.prototype.DestroyCommunicationIFrame_work=function(){
  87. };
  88. URLRequestInvoker.prototype.RequestFinished=function(){
  89. var _1e=this;
  90. setTimeout(function(){
  91. _1e.DestroyCommunicationIFrame_work();
  92. },500);
  93. };
  94. urlRequestInvoker=new URLRequestInvoker();
  95. function AreObjectsEqual(_1f,_20,_21){
  96. if(_1f==null&&_20==null){
  97. return true;
  98. }else{
  99. if(_20==null){
  100. return false;
  101. }
  102. }
  103. var _22=true;
  104. for(var i in _1f){
  105. if(_21.indexOf(i)!=-1){
  106. continue;
  107. }
  108. if(_1f[i]!=_20[i]){
  109. _22=false;
  110. break;
  111. }
  112. }
  113. return _22;
  114. };
  115. function EncloseInQuotes(str){
  116. var _25="'";
  117. if(str.indexOf(_25)!=-1){
  118. _25="\"";
  119. }
  120. return _25+str+_25;
  121. };
  122. function DumpHtmlDomElement(_26){
  123. var _27=Math.min(_26.childNodes.length,3);
  124. var _28="";
  125. for(var a=0;a<_27;a++){
  126. _28+="\tchildNodes["+a+"].nodeName:\t\t"+_26.childNodes[a].nodeName+"\n"+"\tchildNodes["+a+"].nodeValue:\t\t"+_26.childNodes[a].nodeValue+"\n"+"\tchildNodes["+a+"].childNodes.length:\t"+_26.childNodes[a].childNodes.length+"\n"+"\n";
  127. }
  128. alert("tagName:\t\t"+_26.tagName+"\n"+"nodeName:\t"+_26.nodeName+"\n"+"name:\t\t"+_26.name+"\n"+"\n"+"type:\t\t"+_26.type+"\n"+"className:\t"+_26.className+"\n"+"id:\t\t"+_26.id+"\n"+"value:\t\t"+_26.value+"\n"+"\n"+"innerHTML:\t"+_26.innerHTML+"\n"+"\n"+"childNodes.length:\t"+_26.childNodes.length+"\n"+_28);
  129. };
  130. function handle_onkeydown(e){
  131. e=window.event||e;
  132. keycode=e.keyCode||e.which;
  133. if(keycode==IMPORT_UTIL.KEYCODE_ENTER||keycode==IMPORT_UTIL.KEYCODE_SPACEBAR){
  134. var _2b=e.target||e.srcElement;
  135. _2b.click(e);
  136. return false;
  137. }
  138. return true;
  139. };
  140. function DumpXmlDomElement(_2c){
  141. var _2d=Math.min(_2c.attributes.length,3);
  142. var _2e="";
  143. for(var a=0;a<_2d;a++){
  144. var _30=_2c.attributes[a].nodeValue;
  145. _2e+="\tattributes["+a+"].nodeName:\t\t"+_2c.attributes[a].nodeName+"\n"+"\tattributes["+a+"].nodeValue:\t\t"+_30+"\n"+"\tattributes["+a+"].childNodes.length:\t"+_2c.attributes[a].childNodes.length+"\n"+"\n";
  146. }
  147. var _31=Math.min(_2c.childNodes.length,3);
  148. var _32="";
  149. for(var a=0;a<_31;a++){
  150. _32+="\tchildNodes["+a+"].nodeName:\t\t"+_2c.childNodes[a].nodeName+"\n"+"\tchildNodes["+a+"].nodeValue:\t\t"+_2c.childNodes[a].nodeValue+"\n"+"\tchildNodes["+a+"].childNodes.length:\t"+_2c.childNodes[a].childNodes.length+"\n"+"\n";
  151. }
  152. alert("DumpXmlDomElement\n"+"\n"+"nodeName:\t"+_2c.nodeName+"\n"+"nodeType:\t"+_2c.nodeType+"\n"+"nodeValue:\t"+_2c.nodeValue+"\n"+"\n"+"attributes.length: "+_2c.attributes.length+"\t(showing first "+_2d+" attributes out of "+_2c.attributes.length+")\n"+_2e+"\n"+"childNodes.length: "+_2c.childNodes.length+"\t(showing first "+_31+" attributes out of "+_2c.childNodes.length+")\n"+_32+"\n"+"\n");
  153. };
  154. G_HAL.F_Include(WEB_CONTENT+"/hal/C_Deck.js");
  155. G_HAL.F_Include(WEB_CONTENT+"/hal/C_TreeView.js");
  156. G_HAL.F_Include(WEB_CONTENT+"/hal/C_ListView.js");
  157. G_HAL.F_Include(WEB_CONTENT+"/hal/U_CookieJar.js");
  158. G_HAL.F_Include(WEB_CONTENT+"/hal/C_Dialog.js");
  159. G_HAL.F_Include(WEB_CONTENT+"/common/json/json2.js");
  160. G_HAL.F_Include(WEB_CONTENT+"/hal/G_ResManager.js");
  161. G_HAL.F_Include(WEB_CONTENT+"/hal/C_MultiScriptRequest.js");
  162. G_HAL.F_Include(WEB_CONTENT+"/hal/C_ComboBox.js");
  163. G_HAL.F_Include(WEB_CONTENT+"/hal/C_PropertySheet.js");
  164. var kDatabaseTypeStr="database";
  165. var kCatalogTypeStr="catalog";
  166. var kCubeTypeStr="cube";
  167. var kInfoQueryTypeStr="infoQuery";
  168. var kDimensionGroupTypeStr="dimensionGroup";
  169. var kDimensionTypeStr="dimension";
  170. var kMeasuresGroupTypeStr="Measures";
  171. var kMeasureTypeStr="measure";
  172. var asyncErrorPagePid="importWizard_communication_error_page";
  173. var G_App={};
  174. function ImportWizard(){
  175. this.credentials="";
  176. };
  177. ImportWizard.prototype.setDataSourceCredentials=function(_33){
  178. this.credentials=_33;
  179. urlRequestInvoker.RequestFinished();
  180. };
  181. ImportWizard.prototype.updateCredentials=function(_34){
  182. var _35=new Object();
  183. _35["pid"]="updateCredentials";
  184. _35["current_credentials"]=this.credentials;
  185. _35["newcredentials_password"]=_34;
  186. _35["error_pid"]=asyncErrorPagePid;
  187. var _36=GATEWAY_URL+"/metadataUIService";
  188. urlRequestInvoker.MakeAsyncRequestInIFrame(_36,_35);
  189. };
  190. IMPORTWIZARD=new ImportWizard();
  191. G_App.F_HAL_OnLoad=function(){
  192. G_ResManager.F_SetLocale("en");
  193. G_ResManager.F_LoadStrings([],this);
  194. G_HAL.F_EnableAccessibility(G_BrowserInfo.M_bIsFirefox);
  195. };
  196. G_App.initControls=function(){
  197. this.m_oDeck=new C_Deck(document.getElementById("divDeck"),this);
  198. UpdateButtonsEnableStatus(0);
  199. this.F_ApplySkin("corporate|portal");
  200. this.m_treeViewNodesDoc=U_XML.F_CreateDocument();
  201. var _37=this.m_treeViewNodesDoc.appendChild(this.m_treeViewNodesDoc.createElement("treeView"));
  202. _37.setAttribute("id","TreeView");
  203. _37.setAttribute("showCheckboxes","true");
  204. if(!IMPORTWIZARD.isEdit){
  205. this.PopulateTreeView_RootNode(this.m_treeViewNodesDoc,_37);
  206. }
  207. this.m_oTreeViewCheckboxes=new C_TreeView(document.getElementById("divTreeViewCheckboxes"),_37,this);
  208. g_expandTreeLevel=0;
  209. var _38=document.getElementById("useV5DataServer");
  210. _38.checked=IMPORTWIZARD.bUseV5DataServer;
  211. if(IMPORTWIZARD.bDisableClassic=="true"){
  212. _38.style.display="none";
  213. }
  214. var _39=document.getElementById("ms_useV5DataServer");
  215. _39.checked=IMPORTWIZARD.bUseV5DataServer;
  216. PopulateLanguagesListBox();
  217. if(IMPORTWIZARD.enableTest==false){
  218. ShowPackageRenameDlgIfNeeded();
  219. }
  220. };
  221. G_App.expandNode=function(_3a){
  222. if(IMPORTWIZARD.enableTest==true){
  223. if(_3a!=null){
  224. G_App.m_oTreeViewCheckboxes.F_ExpandNode(_3a);
  225. G_App.m_oTreeViewCheckboxes.F_Draw();
  226. }
  227. }
  228. };
  229. function PopulateLanguagesListBox(){
  230. var _3b=GATEWAY_URL+"/metadataUIService";
  231. D_Progress.F_DisableCancel();
  232. D_Progress.F_Show(null,localizedStrings["MSR_SAP_Loading"]);
  233. var _3c={};
  234. _3c["pid"]="OLAPImportWizard_Languages_pid";
  235. _3c["datasource"]=IMPORTWIZARD.dataSourceName;
  236. _3c["dataSourceCredentials"]=IMPORTWIZARD.credentials;
  237. _3c["error_pid"]=asyncErrorPagePid;
  238. urlRequestInvoker.MakeAsyncRequestInIFrame(_3b,_3c);
  239. };
  240. function providerLangResultsReceived(_3d){
  241. var _3e=_3d.lang;
  242. var _3f=document.getElementById("designLanguage");
  243. var _40=0;
  244. for(var i=0;i<_3e.length;i++){
  245. if(_3e[i].localeId==IMPORTWIZARD.productLocale){
  246. _40=i;
  247. }
  248. _3f.options[i]=new Option(_3e[i].localeName,_3e[i].localeId);
  249. }
  250. _3f.selectedIndex=_40;
  251. hideProgressIfShowing();
  252. urlRequestInvoker.RequestFinished();
  253. setTimeout(function(){
  254. var _42=G_App.m_oTreeViewCheckboxes.F_GetTreeViewNode();
  255. var _43=_42.selectSingleNode("treeNode");
  256. G_App.expandNode(_43);
  257. },700);
  258. };
  259. function OnUseV5DataServerBtnClicked(_44){
  260. G_App.m_oTreeViewCheckboxes.F_Detach();
  261. G_App.initializeTreeViewCheckBox();
  262. };
  263. ImportWizard.prototype.checkDesignLocaleSelected=function(){
  264. var _45=document.getElementById("designLanguage");
  265. if(_45.selectedIndex<0){
  266. return localizedStrings["MSR_SAP_designLocaleRequired"];
  267. }
  268. };
  269. G_App.initializeTreeViewCheckBox=function(){
  270. this.m_treeViewNodesDoc=U_XML.F_CreateDocument();
  271. var _46=this.m_treeViewNodesDoc.appendChild(this.m_treeViewNodesDoc.createElement("treeView"));
  272. _46.setAttribute("id","TreeView");
  273. _46.setAttribute("showCheckboxes","true");
  274. this.PopulateTreeView_RootNode(this.m_treeViewNodesDoc,_46);
  275. this.m_oTreeViewCheckboxes=new C_TreeView(document.getElementById("divTreeViewCheckboxes"),_46,this);
  276. g_expandTreeLevel=0;
  277. var _47=G_App.m_oTreeViewCheckboxes.F_GetTreeViewNode();
  278. var _48=_47.selectSingleNode("treeNode");
  279. if(_48!=null){
  280. setTimeout(function(){
  281. G_App.expandNode(_48);
  282. },700);
  283. }
  284. };
  285. function selectFirstItemInTreeControl(){
  286. var _49=G_App.m_oTreeViewCheckboxes.F_GetFirstVisibleTreeItem();
  287. if(_49){
  288. _49.focus();
  289. }
  290. };
  291. G_App.F_ResManager_OnStringsLoaded=function(_4a){
  292. G_ResManager.F_LoadResources([WEB_CONTENT+"/mdsrv/res/EditVariablesResources.xml"],this);
  293. };
  294. G_App.F_ResManager_OnResourcesLoaded=function(_4b){
  295. this.initControls();
  296. };
  297. function retrieveImportSpec(){
  298. var _4c=GATEWAY_URL+"/metadataUIService";
  299. D_Progress.F_DisableCancel();
  300. D_Progress.F_Show(null,localizedStrings["MSR_SAP_Loading"]);
  301. var _4d={};
  302. _4d["pid"]="importWizard_ImportSpec_pid";
  303. _4d["packageLocation"]=IMPORTWIZARD.packageLocation;
  304. _4d["packageName"]=IMPORTWIZARD.packageName;
  305. _4d["error_pid"]=asyncErrorPagePid;
  306. IMPORTWIZARD.onResumeFromNonRecoverableError=function(){
  307. hideProgressIfShowing();
  308. };
  309. urlRequestInvoker.MakeAsyncRequestInIFrame(_4c,_4d);
  310. };
  311. function GenerateJSONString(obj){
  312. var _4f="";
  313. for(var i in obj){
  314. _4f+="\t\t\""+i+"\": ";
  315. _4f+="\""+obj[i]+"\",\n";
  316. }
  317. var _51=_4f.lastIndexOf(",");
  318. _4f="\t{\n"+_4f.substr(0,_51)+"\n\t}\n";
  319. return _4f;
  320. };
  321. G_App.PopulateTreeView_RootNode=function(_52,_53){
  322. var _54=_53.appendChild(_52.createElement("treeNode"));
  323. var _55={};
  324. _55["type"]=kDatabaseTypeStr;
  325. _55["uniqueName"]=kDatabaseTypeStr;
  326. var _56=GetIconFilePath(kDatabaseTypeStr);
  327. var _57=GenerateJSONString(_55);
  328. _54.setAttribute("value",_57);
  329. _54.setAttribute("label",IMPORTWIZARD.dataSourceName);
  330. _54.setAttribute("smallIcon",_56);
  331. _54.setAttribute("expandedSmallIcon",_56);
  332. _54.setAttribute("expandable","true");
  333. _54.setAttribute("staticCheckbox","true");
  334. _54.setAttribute("role","treeItem");
  335. _54.setAttribute("tooltip",kDatabaseTypeStr);
  336. };
  337. function importSpecReceivedReceived(_58){
  338. D_Progress.F_Hide();
  339. urlRequestInvoker.RequestFinished();
  340. G_App.m_oTreeViewCheckboxes.F_StartAsyncLoad();
  341. var _59=G_App.m_treeViewNodesDoc;
  342. var _5a=G_App.m_oTreeViewCheckboxes.F_GetTreeViewNode();
  343. IMPORTWIZARD.dataSourceName=_58.node.Name;
  344. PopulateTreeView(_58.node,_59,_5a);
  345. G_App.m_oTreeViewCheckboxes.F_EndAsyncLoad(true);
  346. selectFirstItemInTreeControl();
  347. };
  348. function SaveModifiedSettings(){
  349. var _5b=GATEWAY_URL+"/metadataUIService";
  350. D_Progress.F_DisableCancel();
  351. D_Progress.F_Show(null,localizedStrings["MSR_SAP_Saving"]);
  352. var _5c={};
  353. _5c["pid"]="saveModifiedPackageSettings_pid";
  354. _5c["searchPath"]=IMPORTWIZARD.packageLocation+"/package[@name="+EncloseInQuotes(IMPORTWIZARD.packageName)+"]/model";
  355. _5c["property"]="http://developer.cognos.com/ceba/constants/queryOptionEnum#mode";
  356. var _5d=document.getElementById("ms_useV5DataServer");
  357. if(_5d.checked){
  358. _5c["value"]="http://developer.cognos.com/ceba/constants/queryModeEnum#dynamic";
  359. }else{
  360. _5c["value"]="http://developer.cognos.com/ceba/constants/queryModeEnum#compatible";
  361. }
  362. _5c["error_pid"]=asyncErrorPagePid;
  363. urlRequestInvoker.MakeAsyncRequestInIFrame(_5b,_5c);
  364. };
  365. function OnSaveModifiedPackageSettingsRequestCompleted(){
  366. D_Progress.F_Hide();
  367. urlRequestInvoker.RequestFinished();
  368. window.location.replace(IMPORTWIZARD.backURL);
  369. };
  370. function PopulateTreeView(_5e,_5f,_60){
  371. var _61=_5e.Name;
  372. var _62=_5e.Type;
  373. var _63=_5e.Selected!=null&&_5e.Selected!="false";
  374. var _64={};
  375. _64["type"]=_62;
  376. _64["uniqueName"]=(_5e.uniqueName!=null)?_5e.uniqueName:_5e.Name;
  377. var _65=GenerateJSONString(_64);
  378. var _66=GetIconFilePath(_62);
  379. var _67=GetIconFilePath(_62);
  380. var _68=(_62!=kCubeTypeStr);
  381. var _69=(_62==kDimensionGroupTypeStr||_62==kDimensionTypeStr||_62==kMeasuresGroupTypeStr||_62==kMeasureTypeStr);
  382. var _6a=(_62!=kCubeTypeStr);
  383. var _6b=!_69&&_63;
  384. var _6c=_60.appendChild(_5f.createElement("treeNode"));
  385. _6c.setAttribute("value",_65);
  386. _6c.setAttribute("label",_61);
  387. _6c.setAttribute("smallIcon",_66);
  388. _6c.setAttribute("expandedSmallIcon",_67);
  389. _6c.setAttribute("tooltip",_62);
  390. _6c.setAttribute("expandable",_68?"true":"false");
  391. _6c.setAttribute("hideCheckbox",_69?"true":"false");
  392. _6c.setAttribute("staticCheckbox",_6a?"true":"false");
  393. _6c.setAttribute("checked",_6b?"true":"false");
  394. if(IMPORTWIZARD.enableTest){
  395. if(_64["uniqueName"]==IMPORTWIZARD.treeLevels[g_expandTreeLevel]){
  396. g_viewNodeToExpand=_6c;
  397. }
  398. if(_64["type"]==kCubeTypeStr){
  399. if(_64["uniqueName"]==IMPORTWIZARD.cubeToSelect){
  400. _6c.setAttribute("checked","true");
  401. }
  402. }
  403. }
  404. if(_5e.children!=null){
  405. for(var i=0;i<_5e.children.length;i++){
  406. PopulateTreeView(_5e.children[i],_5f,_6c);
  407. }
  408. }
  409. };
  410. function ExtractSelectedTreeNodes(_6e,_6f){
  411. if(_6e.childNodes!=null&&_6e.childNodes.length>0){
  412. _6f.children=[];
  413. for(var i=0;i<_6e.childNodes.length;i++){
  414. var _71=_6e.childNodes[i].getAttribute("label");
  415. var _72=_6e.childNodes[i].getAttribute("value");
  416. var _73=eval("("+_72+")");
  417. var _74=_73.type;
  418. var _75=_73.uniqueName;
  419. _6f.children[i]={};
  420. _6f.children[i]["uniqueName"]=_75;
  421. _6f.children[i].Selected="true";
  422. _6f.children[i].Type=_74;
  423. _6f.children[i].Value="false";
  424. _6f.children[i].Name=_71;
  425. ExtractSelectedTreeNodes(_6e.childNodes[i],_6f.children[i]);
  426. }
  427. }
  428. };
  429. var g_treeNodeBeingPopulated=null;
  430. var g_expandTreeLevel=0;
  431. var g_viewNodeToExpand=null;
  432. G_App.F_TreeView_OnPopulateChildren=function(_76,_77){
  433. var _78=document.getElementById("finishButton");
  434. IMPORTWIZARD.isFinishButtonEnabled=IsButtonEnabled(_78);
  435. EnableButton(_78,false);
  436. var _79=_77;
  437. var _7a="";
  438. do{
  439. var _7b=_79.getAttribute("label");
  440. var _7c=_79.getAttribute("value");
  441. var _7d=eval("("+_7c+")");
  442. var _7e=_7d.type;
  443. var _7f=_7d.uniqueName;
  444. var _80=(_7a=="");
  445. var _81={};
  446. _81.Name=_7b;
  447. _81.Type=_7e;
  448. _81.Value="false";
  449. if(_7e==kDatabaseTypeStr){
  450. _81.dbType=IMPORTWIZARD.dataSourceType;
  451. }else{
  452. _81.uniqueName=_7f;
  453. }
  454. if(_80){
  455. _81.Selected="true";
  456. _81.expansion="true";
  457. ExtractSelectedTreeNodes(_77,_81);
  458. }
  459. strNodePathEntry=JSON.stringify(_81,null,"\t");
  460. var _82=(_79==_77)?"\n":",\n";
  461. _7a=strNodePathEntry+_82+_7a;
  462. _79=_79.parentNode;
  463. }while(_79!=null&&_79.tagName=="treeNode");
  464. _7a="{\"node\":[\n"+_7a+"]}";
  465. g_treeNodeBeingPopulated=_77;
  466. var _83=GATEWAY_URL+"/metadataUIService";
  467. var _84={};
  468. if(IMPORTWIZARD.enableTestNoDBConnection){
  469. _84["pid"]="importWizard_GetTreeNodes_TEST_pid";
  470. }else{
  471. _84["pid"]="importWizard_GetTreeNodes_pid";
  472. }
  473. _84["connectionName"]=IMPORTWIZARD.dataSourceName;
  474. _84["nodePath"]=_7a;
  475. _84["dataSourceCredentials"]=IMPORTWIZARD.credentials;
  476. _84["error_pid"]=asyncErrorPagePid;
  477. var _85=document.getElementById("useV5DataServer");
  478. _84["useV5DataServer"]=_85.checked?"true":"false";
  479. IMPORTWIZARD.onResumeFromRecoveredErrorHandler=function(){
  480. urlRequestInvoker.RequestFinished();
  481. G_App.m_oTreeViewCheckboxes.F_EndAsyncLoad(false);
  482. g_treeNodeBeingPopulated=null;
  483. if(this.retry){
  484. this.retry=false;
  485. G_App.m_oTreeViewCheckboxes.F_ExpandNode(_77);
  486. }
  487. };
  488. IMPORTWIZARD.onResumeFromNonRecoverableError=function(){
  489. G_App.m_oTreeViewCheckboxes.F_EndAsyncLoad(false);
  490. g_treeNodeBeingPopulated=null;
  491. urlRequestInvoker.RequestFinished();
  492. };
  493. urlRequestInvoker.MakeAsyncRequestInIFrame(_83,_84);
  494. return true;
  495. };
  496. G_App.F_HAL_OnUnLoad=function(){
  497. this.m_oTreeViewCheckboxes.F_Detach();
  498. if(this.m_oPropertySheet!=null){
  499. this.m_oPropertySheet.F_Detach();
  500. }
  501. };
  502. G_App.F_ApplySkin=function(_86){
  503. var _87=_86.split("|");
  504. var _88=_87[0];
  505. var _89=_87[1];
  506. var _8a=WEB_CONTENT+"/skins/"+_88+"/hal/hal_portal_skin.css";
  507. var _8b=WEB_CONTENT+"/skins/"+_88+"/hal/hal_skin.css";
  508. var _8c=document.getElementById("idHALSkinCSS");
  509. if(_8c){
  510. _8c.parentNode.removeChild(_8c);
  511. }
  512. var _8d=document.getElementsByTagName("head")[0];
  513. var _8e=document.createElement("link");
  514. _8e.id="idHALSkinCSS";
  515. _8e.type="text/css";
  516. _8e.rel="stylesheet";
  517. _8e.href=_8a;
  518. _8d.appendChild(_8e);
  519. var _8f=document.createElement("link");
  520. _8f.id="idHALSkinCSS";
  521. _8f.type="text/css";
  522. _8f.rel="stylesheet";
  523. _8f.href=_8b;
  524. _8d.appendChild(_8f);
  525. document.body.style.backgroundColor=(_89=="portal")?"#FFFFFF":"";
  526. var _90=new Date();
  527. _90.setUTCFullYear(_90.getUTCFullYear()+1);
  528. U_CookieJar.F_SetCookie("skin",_86,_90);
  529. };
  530. G_App.F_Deck_OnBeforeCardVisible=function(_91,_92,_93,_94){
  531. };
  532. G_App.F_Deck_OnAfterCardVisible=function(_95,_96,_97,_98){
  533. if(_95==this.m_oDeck){
  534. var _99=[localizedStrings["MSR_SAP_selectObjectsTitle"],localizedStrings["MSR_SAP_selectLanguagesTitle"],localizedStrings["MSR_SAP_generateDimensionsTitle"]];
  535. document.getElementById("dialogHeaderTitle").innerHTML=_99[_98];
  536. UpdateButtonsEnableStatus(_98);
  537. }
  538. };
  539. G_App.F_Back=function(){
  540. this.m_oDeck.F_Back();
  541. };
  542. G_App.F_TreeView_OnNodeCheck=function(_9a,_9b){
  543. };
  544. G_App.F_TreeView_OnNodeClick=function(_9c,_9d,_9e){
  545. };
  546. G_App.F_TreeView_OnNodeDblClick=function(_9f,_a0){
  547. };
  548. function IsButtonEnabled(_a1){
  549. return (_a1.className=="commandButton");
  550. };
  551. function EnableButton(_a2,_a3){
  552. var _a4=IsButtonEnabled(_a2);
  553. if(_a3==true){
  554. _a2.className="commandButton";
  555. _a2.onmouseover=function(e){
  556. this.className="commandButtonOver";
  557. };
  558. _a2.onmouseout=function(e){
  559. this.className="commandButton";
  560. };
  561. _a2.onmousedown=function(e){
  562. this.className="commandButton";
  563. };
  564. _a2.onkeypress=handle_onkeydown;
  565. _a2.children[0].tabIndex=0;
  566. if(_a4==false){
  567. if(_a2.onclick_enabled!=null){
  568. _a2.onclick=_a2.onclick_enabled;
  569. }
  570. if(_a2.ondblclick_enabled!=null){
  571. _a2.ondblclick=_a2.ondblclick_enabled;
  572. }
  573. }
  574. }else{
  575. if(_a3==false){
  576. _a2.className="commandButtonInactiveII";
  577. _a2.onmouseover=null;
  578. _a2.onmouseout=null;
  579. _a2.onmousedown=null;
  580. _a2.onkeypress=null;
  581. _a2.children[0].tabIndex=-1;
  582. if(_a4==true){
  583. _a2.onclick_enabled=_a2.onclick;
  584. _a2.ondblclick_enabled=_a2.ondblclick;
  585. }
  586. _a2.onclick="";
  587. _a2.ondblclick="";
  588. }
  589. }
  590. };
  591. function UpdateButtonsEnableStatus(_a8){
  592. var _a9=document.getElementById("prevButton");
  593. var _aa=(_a8!=0);
  594. if(_aa){
  595. _a9.onclick=function(e){
  596. G_App.F_Back();
  597. };
  598. _a9.ondblclick=function(e){
  599. G_App.F_Back();
  600. };
  601. }
  602. EnableButton(_a9,_aa);
  603. var _ad=document.getElementById("finishButton");
  604. var _ae=(_a8==G_App.m_oDeck.F_GetNumberOfCards()-1);
  605. if(_ae){
  606. _ad.onclick=function(e){
  607. WizardDone();
  608. };
  609. _ad.ondblclick=function(e){
  610. WizardDone();
  611. };
  612. EnableButton(_ad,_ae);
  613. }
  614. };
  615. function WizardDone(){
  616. var _b1=G_App.m_oTreeViewCheckboxes.F_GetCheckedNodes();
  617. if(_b1.length==0){
  618. alert("No objects have been selected for the import.\n\nImport action cancelled.\n");
  619. return;
  620. }
  621. var _b2=[];
  622. for(var n=0;n<_b1.length;n++){
  623. var _b4=_b1.item(n);
  624. _b2[n]=GetTreeNodePath(_b4);
  625. }
  626. ConsolidateTree(_b2,0);
  627. if(_b2.length!=1){
  628. alert("ASSERT FAILED: The number tree objects must be 1!\n\nIt is currently: "+_b2.length);
  629. }
  630. var _b5=_b2[0].children[0];
  631. while(_b5.children!=null){
  632. _b5=_b5.children[0];
  633. }
  634. var _b6={};
  635. _b6["node"]=[];
  636. _b6["node"][0]=_b2[0];
  637. var _b7=JSON.stringify(_b6,null,"\t");
  638. var _b8=_b5.Name;
  639. var _b9=document.getElementById("useV5DataServer");
  640. var _ba=document.getElementById("designLanguage");
  641. var _bb={};
  642. _bb["params"]={};
  643. _bb["params"]["UseV5DataServer"]=_b9.checked?"true":"false";
  644. _bb["params"]["CubeName"]=_b8;
  645. _bb["params"].designLocale=_ba.options[_ba.selectedIndex].value;
  646. var _bc=JSON.stringify(_bb,null,"\t");
  647. var _bd={};
  648. _bd["pkgInfo"]={};
  649. _bd["pkgInfo"]["Name"]=IMPORTWIZARD.packageName;
  650. _bd["pkgInfo"]["Description"]=IMPORTWIZARD.packageDescription;
  651. _bd["pkgInfo"]["ScreenTip"]=IMPORTWIZARD.packageScreentip;
  652. _bd["pkgInfo"]["Location"]=IMPORTWIZARD.packageLocation;
  653. var _be=JSON.stringify(_bd,null,"\t");
  654. IMPORTWIZARD.onResumeFromNonRecoverableError=function(){
  655. hideProgressIfShowing();
  656. };
  657. var _bf=new ImportHelper(_b7,_bc,_be);
  658. _bf.runImport();
  659. D_Progress.F_DisableCancel();
  660. D_Progress.F_Show(null,localizedStrings["MSR_SAP_creatingPackage"]);
  661. };
  662. function hideProgressIfShowing(){
  663. if(D_Progress.F_IsActiveDialog()){
  664. D_Progress.F_Hide();
  665. }
  666. };
  667. function GetTreeNodePath(_c0){
  668. var _c1=_c0;
  669. var _c2={};
  670. var _c3=true;
  671. do{
  672. var _c4=_c1.getAttribute("label");
  673. var _c5=_c1.getAttribute("value");
  674. var _c6=eval("("+_c5+")");
  675. var _c7=_c6.type;
  676. var _c8=_c6.uniqueName;
  677. var _c9={};
  678. _c9.Name=_c4;
  679. _c9.Type=_c7;
  680. _c9.Value=(_c7==kDatabaseTypeStr||_c7==kCatalogTypeStr)?"partial":"true";
  681. if(_c7==kDatabaseTypeStr){
  682. _c9.dbType=IMPORTWIZARD.dataSourceType;
  683. }else{
  684. _c9.uniqueName=_c8;
  685. }
  686. if(!_c3){
  687. _c9.children=[_c2];
  688. }
  689. _c2=_c9;
  690. _c1=_c1.parentNode;
  691. _c3=false;
  692. }while(_c1!=null&&_c1.tagName=="treeNode");
  693. return _c2;
  694. };
  695. function ConsolidateTree(_ca,_cb){
  696. if(_cb<_ca.length-2){
  697. ConsolidateTree(_ca,_cb+1);
  698. }
  699. for(var n=_ca.length-1;n>(_cb);n--){
  700. var _cd=_ca[_cb];
  701. var _ce=_ca[n];
  702. if(AreObjectsEqual(_cd,_ce,["children"])){
  703. if(_cd.children==undefined||_cd.children==null){
  704. _cd.children=_ce.children;
  705. }else{
  706. _cd.children=_cd.children.concat(_ce.children);
  707. }
  708. _ca.splice(n,1);
  709. ConsolidateTree(_cd.children,0);
  710. }
  711. }
  712. };
  713. G_App.F_OnCancel=function(){
  714. D_Progress.F_Hide();
  715. };
  716. function GetIconFilePath(_cf){
  717. var _d0=WEB_CONTENT+"/mdsrv/importWizardUI/images/";
  718. var _d1=[];
  719. _d1[kDatabaseTypeStr]=_d0+"icon_data_source.gif";
  720. _d1[kCatalogTypeStr]=_d0+"icon_catalog.gif";
  721. _d1[kCubeTypeStr]=_d0+"icon_cube.gif";
  722. _d1[kInfoQueryTypeStr]=_d0+"icon_info_query.gif";
  723. _d1[kDimensionGroupTypeStr]=_d0+"icon_folder_dimensions.gif";
  724. _d1[kDimensionTypeStr]=_d0+"icon_dimension.gif";
  725. _d1[kMeasuresGroupTypeStr]=_d0+"icon_folder_measures.gif";
  726. _d1[kMeasureTypeStr]=_d0+"icon_measure.gif";
  727. _d1["unknown"]=WEB_CONTENT+"/hal/images/btn_new.gif";
  728. var _d2=_d1[_cf];
  729. if(_d2==null){
  730. _d2=_d1["unknown"];
  731. }
  732. return _d2;
  733. };
  734. function metadataTreeResultsReceived(_d3){
  735. if(g_treeNodeBeingPopulated==null){
  736. return;
  737. }
  738. if(_d3==null){
  739. G_App.m_oTreeViewCheckboxes.F_EndAsyncLoad(true);
  740. g_treeNodeBeingPopulated=null;
  741. urlRequestInvoker.RequestFinished();
  742. return;
  743. }
  744. g_viewNodeToExpand=null;
  745. G_App.m_oTreeViewCheckboxes.F_Clear(g_treeNodeBeingPopulated);
  746. for(var i=0;i<_d3.node.children.length;i++){
  747. var _d5=G_App.m_treeViewNodesDoc;
  748. PopulateTreeView(_d3.node.children[i],_d5,g_treeNodeBeingPopulated);
  749. }
  750. G_App.m_oTreeViewCheckboxes.F_EndAsyncLoad(true);
  751. g_treeNodeBeingPopulated=null;
  752. urlRequestInvoker.RequestFinished();
  753. var _d6=document.getElementById("finishButton");
  754. EnableButton(_d6,IMPORTWIZARD.isFinishButtonEnabled);
  755. g_expandTreeLevel+=1;
  756. if(g_viewNodeToExpand!=null){
  757. setTimeout(function(){
  758. G_App.expandNode(g_viewNodeToExpand);
  759. },700);
  760. }
  761. if(IMPORTWIZARD.enableTest==true){
  762. if(g_expandTreeLevel==IMPORTWIZARD.treeLevels.length+1){
  763. setTimeout(function(){
  764. WizardDone();
  765. },700);
  766. }
  767. }
  768. };
  769. function HandleException(_d7){
  770. hideProgressIfShowing();
  771. var _d8=new ErrorPageManager();
  772. if(_d7.isQF){
  773. document.getElementById("main").style.display="none";
  774. _d8.handleQF(_d7.faultDom,ErrorPageClosed);
  775. }else{
  776. if(_d7.isCAM){
  777. document.getElementById("main").style.display="none";
  778. _d8.handleCAM(_d7,ErrorPageClosed);
  779. }else{
  780. var msg=_d7.messageString;
  781. if(msg===""){
  782. msg=localizedStrings["MSR_SAP_unknownErrorMessage"];
  783. }
  784. var _da=_d7.stackTrace;
  785. _da=unescape(_da);
  786. document.getElementById("main").style.display="none";
  787. document.getElementById("editSelection").style.display="none";
  788. _d8.setupAndDisplayErrorPage(localizedStrings["MSR_SAP_errorPageTitle"],"",msg,_da,ErrorPageClosed);
  789. }
  790. }
  791. };
  792. function ErrorPageClosed(_db){
  793. document.getElementById("main").style.display="block";
  794. if(IMPORTWIZARD.onResumeFromNonRecoverableError&&!_db){
  795. IMPORTWIZARD.onResumeFromNonRecoverableError();
  796. }
  797. };
  798. function launchFromEdit(){
  799. var _dc=document.getElementById("modifyMetadataSelections");
  800. var _dd=document.getElementById("editVariables");
  801. var _de=document.getElementById("modifySettings");
  802. var _df=document.getElementById("editSelection");
  803. if(_dc.checked){
  804. _df.style.display="none";
  805. var _e0=document.getElementById("main");
  806. _e0.style.display="block";
  807. retrieveImportSpec();
  808. }else{
  809. if(_dd.checked){
  810. _df.style.display="none";
  811. OnShowVariables();
  812. }else{
  813. if(_de.checked){
  814. SaveModifiedSettings();
  815. }
  816. }
  817. }
  818. };
  819. function ImportHelper(_e1,_e2,_e3){
  820. this.m_importSpec=_e1;
  821. this.m_parameters=_e2;
  822. this.m_packageInfo=_e3;
  823. };
  824. ImportHelper.prototype.runImport=function(){
  825. var _e4=GATEWAY_URL+"/metadataUIService";
  826. this.m_requestId=new Date().getTime();
  827. var _e5={};
  828. if(IMPORTWIZARD.enableTestNoDBConnection){
  829. _e5["pid"]="OLAPImportWizard_Import_TEST_pid";
  830. }else{
  831. _e5["pid"]="OLAPImportWizard_Import_pid";
  832. }
  833. _e5["importSpec"]=this.m_importSpec;
  834. _e5["parameters"]=this.m_parameters;
  835. _e5["packageInfo"]=this.m_packageInfo;
  836. _e5["requestId"]=this.m_requestId;
  837. _e5["dataSourceCredentials"]=IMPORTWIZARD.credentials;
  838. _e5["error_pid"]=asyncErrorPagePid;
  839. if(IMPORTWIZARD.enableTest==true){
  840. _e5["enableTest"]="true";
  841. }
  842. urlRequestInvoker.MakeAsyncRequestInIFrame(_e4,_e5);
  843. };