123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522 |
- var ASYNC_CONTEXT = "context";
- var ASYNC_WORKING = "working";
- var ASYNC_PROMPTING = "prompting";
- var ASYNC_CONVERSATION = "conversation";
- var ASYNC_TRACKING = "tracking";
- var ASYNC_RESPONSE = "asyncResponse";
- var ASYNC_HTMLFRAGMENT = "htmlFragment";
- var ASYNC_ROUTINGSERVERGROUP = "routingServerGroup";
- var CANCEL_RESPONSE = "cancelResponse";
- var FAULT_SOAPFAULT = "soapFault";
- var FAULT_PASSPORT = "passport";
- var isAsynchRequestCancelledState = false;
- function setAsynchRequestCancelled(isCancelled){
- isAsynchRequestCancelledState = isCancelled;
- }
- function isAsynchRequestCancelled(){
- return isAsynchRequestCancelledState;
- }
- function processAsynchCancel(){
- getCommandStackManager().getCommandStack().cancel();
- doClosePopUp();
- isAsynchRequestCancelledState = false;
- }
- function doLoginFromFault(){
-
- var xmlNode = cfgGet( "doLoginFromFault" );
-
-
- var parsedResponse = new XMLResponseParser( xmlNode, "" );
-
-
- var htmlFaultObj = parsedResponse.getHtmlFault();
-
- if ( htmlFaultObj != null ) {
- var htmlFaultHtml = parsedResponse.getTextValueForXPath( "//fault//html" );
- var popUpFrame = getPopUpFrame();
-
- setResetOM( "/ags/doLoginProxy.xts" );
-
- popUpFrame.document.open();
- popUpFrame.document.write( htmlFaultHtml );
- popUpFrame.document.close();
- }
- return true;
- }
- function doPassportExpire(responseNode, tidyFunction,parsedResponse)
- {
- applicationActionManager.allowActions();
-
- if (typeof tidyFunction == "function") {
- tidyFunction();
- }
- if (responseNode) {
- if(parsedResponse.getErrorCode() == 'caf'){
-
- cfgSet("CAN_CANCEL_LOGON", true);
- }
-
-
-
-
- cfgSet("doLoginFromFault", responseNode);
- setTimeout("doLoginFromFault()",100);
- }else{
- setTimeout("checkLogin('getCommandStackManager().processCommandStack()')",100);
- }
- }
- function doSOAPFault(obj, tidyFunction,parsedResponse)
- {
-
-
- getCommandStackManager().getCommandStack().doFail();
- applicationActionManager.allowActions();
- if (typeof tidyFunction == "function") {
- tidyFunction();
- }
- processAsynchCancel();
-
-
- var msgs = parsedResponse.getErrorMessages();
- if (msgs.length > 0) {
- metadataFault(msgs);
- functionsTree.childrenReadyForNode(functionsTree.getRootNode());
-
- cfgSet("META_FunctionTreeLoadedFirstTime",null);
- }else{
- metadataFault(parsedResponse.getFaultAsMessage);
- }
- }
- function doCancel(obj, requestFunction, soapAction)
- {
-
- var conversationElements = obj.getElementsByTagName(ASYNC_CONVERSATION);
-
- var trackingElements = obj.getElementsByTagName(ASYNC_TRACKING);
-
- var contextElements = obj.getElementsByTagName(ASYNC_CONTEXT);
-
- var routingServerGroupElements = obj.getElementsByTagName(ASYNC_ROUTINGSERVERGROUP);
-
- var conversation = getTextNodeValue(conversationElements[0]);
- var tracking = getTextNodeValue(trackingElements[0]);
- var context = getTextNodeValue(contextElements[0]);
- var routingServerGroup = getTextNodeValue(routingServerGroupElements[0]);
-
- var request = URIEncode("conversation", conversation);
- request += URIEncode("disp_trackingInfo", tracking);
- request += URIEncode("context", context);
-
- if (routingServerGroup != null && routingServerGroup != "") {
- request += URIEncode("routingServerGroup", routingServerGroup);
- }
- request += URIEncode("method", "cancel");
-
- if(soapAction){
- request += URIEncode("soapAction", soapAction);
- }
-
- setTimeout(requestFunction + "(\'" + request + "\',true);", 100);
- }
- function doWorking(obj, requestFunction)
- {
-
- var conversationElements = obj.getElementsByTagName(ASYNC_CONVERSATION);
-
- var trackingElements = obj.getElementsByTagName(ASYNC_TRACKING);
-
- var contextElements = obj.getElementsByTagName(ASYNC_CONTEXT);
-
- var routingServerGroupElements = obj.getElementsByTagName(ASYNC_ROUTINGSERVERGROUP);
-
- var conversation = getTextNodeValue(conversationElements[0]);
- var tracking = getTextNodeValue(trackingElements[0]);
- var context = getTextNodeValue(contextElements[0]);
- var routingServerGroup = getTextNodeValue(routingServerGroupElements[0]);
-
- var request = URIEncode("doWait","1");
- request += URIEncode("conversation", conversation);
- request += URIEncode("disp_trackingInfo", tracking);
- request += URIEncode("context", context);
-
- if (routingServerGroup != null && routingServerGroup != "") {
- request += URIEncode("routingServerGroup", routingServerGroup);
- }
-
-
-
- request = jsStrEncode(request);
-
- setTimeout(requestFunction + "(\'" + request + "\',true);", 100);
- }
- function doPrompting(obj, callbackFunctionId, xslURL)
- {
-
- var conversationElements = obj.getElementsByTagName(ASYNC_CONVERSATION);
-
- var trackingElements = obj.getElementsByTagName(ASYNC_TRACKING);
-
- var htmlFragmentElement = obj.getElementsByTagName(ASYNC_HTMLFRAGMENT);
-
- var contextElements = obj.getElementsByTagName(ASYNC_CONTEXT);
-
- var routingServerGroupElements = obj.getElementsByTagName(ASYNC_ROUTINGSERVERGROUP);
-
- var conversation = getTextNodeValue(conversationElements[0]);
- var tracking = getTextNodeValue(trackingElements[0]);
- var htmlFragment = getTextNodeValue(htmlFragmentElement[0]);
- var context = getTextNodeValue(contextElements[0]);
- var routingServerGroup = getTextNodeValue(routingServerGroupElements[0]);
-
- dlgReset();
-
- dlgSetParm("m", "prompting/promptDataSource.xts");
-
- dlgSetParm("ccs_cbdata", callbackFunctionId);
- dlgSetParm("ccs_invoke", "parent");
-
-
- dlgSetParm("clientContext", context);
-
- dlgSetParm("isEncoded", "1");
-
- dlgSetParm("conversation", conversation);
-
- dlgSetParm("tracking", tracking);
-
- dlgSetParm("releaseConversation", "1");
-
- dlgSetParm("processRecursion", "1");
-
- dlgSetParm("htmlFragment", htmlFragment);
-
- if (routingServerGroup != null && routingServerGroup != "") {
- dlgSetParm("routingServerGroup", routingServerGroup);
- }
-
- dlgSetParm("returnEntireResponse", "1");
- if (xslURL) {
- dlgSetParm("run.xslURL", xslURL);
- }
- changeMenu(TAB_MODEL)
-
-
-
- var wasBlocked = applicationActionManager.isBlocked();
- applicationActionManager.allowActions();
-
- dlgSubmit("popUpFrame");
-
- if(wasBlocked ){
- applicationActionManager.blockActions();
- }
- }
- function pdsCallback(pdsState)
- {
-
-
-
-
-
-
-
-
-
-
-
-
- var cmdId = pdsState.ccs_cbdata ;
-
- switch(cmdId){
- case '1': promptFunctionResponse(pdsState.parameters, pdsState.state, pdsState.conversation, pdsState.clientContext, pdsState.tracking); break;
- case '2': promptGetParametersResponse(pdsState.parameters, pdsState.state, pdsState.conversation, pdsState.clientContext, pdsState.tracking); break;
- case '3': promptCollectResponse(pdsState.parameters, pdsState.state, pdsState.conversation, pdsState.clientContext, pdsState.tracking); break;
- case '4': promptGetSpDetailsResponse(pdsState.parameters, pdsState.state, pdsState.conversation, pdsState.clientContext, pdsState.tracking); break;
- case '5': promptMemberResponse(pdsState.parameters, pdsState.state, pdsState.conversation, pdsState.clientContext, pdsState.tracking); break;
- case '6': promptMetadataResponse(pdsState.parameters, pdsState.state, pdsState.conversation, pdsState.clientContext, pdsState.tracking); break;
- case '7': promptSelectDataResponse(pdsState.parameters, pdsState.state, pdsState.conversation, pdsState.clientContext, pdsState.tracking); break;
- case '8': promptValidateConditionResponse(pdsState.parameters, pdsState.state, pdsState.conversation, pdsState.clientContext, pdsState.tracking); break;
- default: alert('pdsCallBack: unknown cmd id '+cmdId);
- }
- }
- function doHTMLResponse(responseText)
- {
-
- var error_window = window.open("", "asyncError", "height=480,width=640,resizable=yes");
- var error_window_doc = error_window.document;
-
- error_window_doc.write(responseText);
- }
- function addDebugWaitMessage(message){
- var mArea = getPopUpFrame().document.getElementById("wait_debug_message");
-
- if(mArea){
-
- mArea.innerHTML = message;
- }
- }
- function removeXMLNameSpaces(obj,responseText) {
- if(!obj)return null;
- var cleanXML = null;
-
-
- if(document.documentMode > 10){
- cleanXML = responseText.replace(new RegExp("</[a-zA-Z0-9-]*:","gim"),"</");
- cleanXML = cleanXML.replace(new RegExp("<[a-zA-Z0-9-]*:","gim"),"<");
- }else{
- cleanXML = getXML(obj).replace(new RegExp("</[a-zA-Z0-9-]*:","gim"),"</");
- cleanXML = cleanXML.replace(new RegExp("<[a-zA-Z0-9-]*:","gim"),"<");
- }
-
- obj = parseXMLString(cleanXML);
- if (window.clipboardData) {
-
- obj.setProperty("SelectionLanguage","XPath");
- }
- return obj;
- }
- function getXML(obj) {
- if (window.clipboardData) {
- return obj.xml;
- } else {
- return (new XMLSerializer( )).serializeToString(obj);
- }
- }
- function parseResponse(obj,responseText) {
- return new XMLResponseParser(obj,responseText);
- }
- function XMLResponseParser(obj,responseText) {
- this.responseXML = obj;
-
- this.obj = removeXMLNameSpaces(obj,responseText);
- this.responseText = responseText?responseText:"";
-
- this.getTextValueForXPath = function(xpath) {
- var result = "";
- if (this.obj) {
- var node = selectSingleNode(xpath,this.obj);
- if (node) {
- result = getTextNodeValue(node);
- }
- }
- return (result);
- };
-
- this.isLogonFault = function() {
- var result = false;
- if (this.obj) {
-
- var camAction = selectSingleNode("//item[./name = 'h_CAM_action']",this.obj);
- if (camAction) {
-
- var value = selectSingleNode("./value",camAction);
- result = value && getTextNodeValue(value).indexOf("logon") > -1;
- }
- }
- return (result);
- };
- this.isCancelledWait = function() {
- var result = false;
- if (this.obj) {
-
- var isWait = selectSingleNode("//formFieldVars//item[./name = 'doWait']",this.obj);
- if (isWait) {
- result = selectSingleNode("//exception//message/messageString[contains(.,'RSV-BBP-0036') and contains(.,'asynchWait_Request')]",this.obj);
- }
- }
- return (result);
- };
- this.isSoapFault = function(){
- var result = false;
- if (this.obj) {
-
- var soapFault = selectSingleNode("//Body/Fault",this.obj);
- if (soapFault) {
- result = true;
- }
- }
- return (result);
- };
- this.getErrorCode = function(){
- var result = "";
- if (this.obj) {
-
- var errorCodeNode = selectSingleNode("//Body//errorCode",this.obj);
- if (errorCodeNode) {
- result = getTextNodeValue(errorCodeNode);
- }
- }
- return (result);
- };
- this.getErrorSeverity = function(){
- var result = "";
- if (this.obj) {
-
- var errorSeverityNode = selectSingleNode("//Body//exception//severity",this.obj);
- if (errorCodeNode) {
- result = getTextNodeValue(errorSeverityNode);
- }
- }
- return (result);
- };
- this.getErrorMessages = function(){
- var result = new Array();
- if (this.obj) {
-
- var msgStringNodes = selectNodes("//Body//exception//message//messageString",this.obj);
- if (!msgStringNodes || msgStringNodes.length == 0 ) {
-
- msgStringNodes = selectNodes("//Body//Fault//stackTrace",this.obj);
- }
- for (var i=0;msgStringNodes && i < msgStringNodes.length;i++) {
- result.push(getTextNodeValue(msgStringNodes[i]));
- }
- }
- return (result);
- };
- this.getErrorMessageNodes = function(){
- var result = new Array();
- if (this.obj) {
-
- var msgStringNodes = selectNodes("//Body//exception//message//messageString",this.obj);
- if (!msgStringNodes || msgStringNodes.length == 0 ) {
-
- msgStringNodes = selectNodes("//Body//Fault//stackTrace",this.obj);
- }
- for (var i=0;msgStringNodes && i < msgStringNodes.length;i++) {
- result.push(msgStringNodes[i]);
- }
- }
- return (result);
- };
-
-
- this.getFaultAsMessage = function(){
- var result = new Array();
- if (this.obj) {
- result.push(getXML(obj));
- }
- return (result);
- };
-
- this.getHtmlFault = function() {
- var result = "";
- if (this.obj) {
- result = selectSingleNode("//fault//html", this.obj);
- }
- return ( result );
- };
- this.isHTML = function() {
- return new RegExp("<\s*\/?\s*html\s*.*?>","gim").test(this.cleanUpHTML());
- };
- this.isEmptyBody = function() {
- var response = true;
- if (this.isHTML()) {
- var cleanHTHML = this.cleanUpHTML();
- cleanHTHML.match(new RegExp("<body[^>]*>(.*)</body>","gim"));
- response = RegExp.$1.replace(/^\s+|\s+$/g,"").length == 0;
- }
- return response;
- };
- this.contains = function(pattern) {
- return this.responseText.indexOf(pattern) > -1;
- };
-
- this.cleanUpHTML = function() {
- var html = this.responseText.replace(new RegExp("[\r\n]*","gim"),"");
- html = html.replace(new RegExp("</[a-zA-Z0-9-]*:","gim"),"</");
- html = html.replace(new RegExp("<[a-zA-Z0-9-]*:","gim"),"<");
- return html;
- }
- }
|