Communicator Subsystem (v1.4 and up)
Overview
Starting with version 1.4 of the web client, AJAX communication routines have been abstracted into a standardized subsystem. The communication subsystem consists of 2 primary object classes:
...
i2b2.ONT.cfg.parsers.GetSchemes = function(){ if (!this.error){ <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="580a5910da5414ef-58d2ecca-4cea4bcf-8221abaf-f800e204191522cddcd136e4"><ac:plain-text-body><![CDATA[ this.model = []; // extract records from XML msg ]]></ac:plain-text-body></ac:structured-macro> // extract records from XML msg var c = this.refXML.getElementsByTagName('concept'); for (var i=0; i < 1 * c.length; i++) { var o = new Object; <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="500724b5153b4d91-7afd958f-47174f50-894c8070-5a82f5f3937c077e672cc7aa"><ac:plain-text-body><![CDATA[ o.xmlOrig = c[i]; ]]></ac:plain-text-body></ac:structured-macro> <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="e3e89cf51d230be8-61b85de7-45854097-935c8195-2be0030bc70afd7cd5f76293"><ac:plain-text-body><![CDATA[ o.level = i2b2.h.getXNodeVal(c[i],'level'); ]]></ac:plain-text-body></ac:structured-macro> <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="10bbd42ae5fb6200-d89cf9b6-470548b8-8d2997f6-5455c4f9c1445f4bc9e88de6"><ac:plain-text-body><![CDATA[ o.key = i2b2.h.getXNodeVal(c[i],'key'); ]]></ac:plain-text-body></ac:structured-macro> <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="23b62b1349a27507-7625b0fd-44e1471d-9480997e-43659fa590980d9e2497d95d"><ac:plain-text-body><![CDATA[ o.name = i2b2.h.getXNodeVal(c[i],'name'); ]]></ac:plain-text-body></ac:structured-macro> <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="0161abed3ef3e520-78d53dab-41db47c0-b269aec3-f4238d975e3bf63df8ef66c7"><ac:plain-text-body><![CDATA[ o.total_num = i2b2.h.getXNodeVal(c[i], &'totalnum'); ]]></ac:plain-text-body></ac:structured-macro> // save extracted info this.model.push(o); } } else { this.model = false; console.error( Wiki Markup |
---|
"\[GetSchemes\] Could not parse() data\!" | ); } return this; }; | |
...
// create the object containing tag/value pairs to be used by the XML msg template var tagValues = { ont ont_synonym_records" "N", ont ont_hidden_records" "N", ont ont_search_strategory" "contains", ont_search_string" ont_search_string" "asthma", }; // use synchronous call to request results from the i2b2 Hive back-end var results_cdo = i2b2.ONT.ajax.GetNameInfo ("originated by test", tagValues);
// dump the Communication Data Object variable (Firefox w/Firebug only) console.dir (results_cdo);
// dump the sent xml (Firefox w/Firebug only) console.debug (results_cdo.msgRequest);
// dump the returned xml (Firefox w/Firebug only) console.debug (results_cdo.msgResponse); |
...
// create the object containing tag/value pairs to be used by the XML msg template var tagValues = { ont_synonym_records" "N", ont_hidden_records" "N", ont_search_strategory" "contains", ont_search_string" "asthma", };
// define a simple function to allow asynchronous call to the i2b2 Hive back-end var simpAsyncCallback = function (results_cdo) { // dump the Communication Data Object variable (Firefox w/Firebug only) console.dir (results_cdo); // dump the sent xml (Firefox w/Firebug only) console.debug (results_cdo.msgRequest); // dump the returned xml (Firefox w/Firebug only) console.debug (results_cdo.msgResponse); {color:#333333}};
// use asynchronous call to request results from the i2b2 Hive back-end i2b2.ONT.ajax.GetNameInfo ("originated by test", tagValues, simpAsyncCallback); |
...
// create the object containing tag/value pairs to be used by the XML msg template var tagValues = { ont_synonym_records" "N", ont_hidden_records" "N", ont_search_strategory" "contains", ont_search_string" "asthma", };
// define a simple function to allow asynchronous call to the i2b2 Hive back-end var complexAsyncCallback = function (results_cdo) { // dump the Communication Data Object variable (Firefox w/Firebug only) this.dir (results_cdo); // dump the sent xml (Firefox w/Firebug only) this.debug (results_cdo.msgRequest); // dump the returned xml (Firefox w/Firebug only) this.debug (results_cdo.msgResponse); };
// create scoped-callback object (attaches execution scope to complexAsynchCallback) var scopedCB = new i2b2_scopedCallback (complexAsyncCallback, window.console) ;
// use asynchronous call to request results from the i2b2 Hive back-end i2b2.ONT.ajax.GetNameInfo ("originated by test", tagValues, simpAsyncCallback); |
...