this.keepAlive = paramArray.keepAlive;
this.sessionID = null;
+ this.serviceId = paramArray.serviceId || null;
this.initStatusOK = false;
this.pingStatusOK = false;
this.searchStatusOK = false;
}
// else, auto init session or wait for a user init?
if (this.useSessions && paramArray.autoInit !== false) {
- this.init();
+ this.init(this.sessionId, this.serviceId);
}
};
this.resetCallback();
},
- init: function ( sessionId )
+ init: function (sessionId, serviceId)
{
this.reset();
// session id as a param
- if ( sessionId != undefined && this.useSessions ) {
+ if (sessionId && this.useSessions ) {
this.initStatusOK = true;
this.sessionID = sessionId;
this.ping();
} else if (this.useSessions) {
var context = this;
var request = new pzHttpRequest(this.pz2String, this.errorHandler);
+ var opts = {'command' : 'init'};
+ if (serviceId) opts.service = serviceId;
request.safeGet(
- { "command": "init" },
+ opts,
function(data) {
if ( data.getElementsByTagName("status")[0]
.childNodes[0].nodeValue == "OK" ) {
"block": 1,
"type": this.showResponseType
},
- function(data, type) {
+ function(data, type) {
var show = null;
+ var activeClients = 0;
if (type === "json") {
show = {};
- context.activeClients = Number(data.activeclients[0]);
- show.activeclients = context.activeClients;
+ activeClients = Number(data.activeclients[0]);
+ show.activeclients = activeClients;
show.merged = Number(data.merged[0]);
show.total = Number(data.total[0]);
show.start = Number(data.start[0]);
.childNodes[0].nodeValue == "OK") {
// first parse the status data send along with records
// this is strictly bound to the format
- var activeClients =
+ activeClients =
Number(data.getElementsByTagName("activeclients")[0]
.childNodes[0].nodeValue);
- context.activeClients = activeClients;
show = {
"activeclients": activeClients,
"merged":
Number( data.getElementsByTagName("num")[0]
.childNodes[0].nodeValue ),
"hits": []
- };
+ };
// parse all the first-level nodes for all <hit> tags
var hits = data.getElementsByTagName("hit");
for (i = 0; i < hits.length; i++)
context.throwError('Show failed. Malformed WS resonse.',
114);
}
+ context.activeClients = activeClients;
context.showCounter++;
var delay = context.showTime;
if (context.showCounter > context.showFastCount)
this.request.responseXML == null) {
if (this.request.responseText != null) {
//assume JSON
- var json = eval("(" + this.request.responseText + ")");
- this.callback(json, "json");
+
+ var json = null;
+ if (this.JSON == null)
+ json = eval("(" + this.request.responseText + ")");
+ else
+ json = JSON.parse(this.request.responseText, null);
+ this.callback(json, "json");
} else {
var err = new Error("XML response is empty but no error " +
"for " + savedUrlForErrorReporting);