// where are we?
this.currentStart = 0;
+ // currentNum can be overwritten in show
this.currentNum = 20;
// last full record retrieved
this.currRecOffset = null;
//timers
+ this.pingTimer = null;
this.statTime = paramArray.stattime || 1000;
this.statTimer = null;
this.termTime = paramArray.termtime || 1000;
}
// else, auto init session or wait for a user init?
if (this.useSessions && paramArray.autoInit !== false) {
- this.init(this.sessionId, this.serviceId);
+ this.init(this.sessionID, this.serviceId);
}
+ // Version parameter
+ this.version = paramArray.version || null;
};
pz2.prototype =
this.sessionID = null;
this.initStatusOK = false;
this.pingStatusOK = false;
+ clearTimeout(this.pingTimer);
}
this.searchStatusOK = false;
this.stop();
context.sessionID =
data.getElementsByTagName("session")[0]
.childNodes[0].nodeValue;
- setTimeout(
- function () {
- context.ping();
- },
- context.keepAlive
- );
+ context.pingTimer =
+ setTimeout(
+ function () {
+ context.ping();
+ },
+ context.keepAlive
+ );
if ( context.initCallback )
context.initCallback();
}
'Pz2.js: Ping not allowed (proxy mode) or session not initialized.'
);
var context = this;
+
+ clearTimeout(context.pingTimer);
+
var request = new pzHttpRequest(this.pz2String, this.errorHandler);
request.safeGet(
- { "command": "ping", "session": this.sessionID, "windowId" : self.window.name },
+ { "command": "ping", "session": this.sessionID, "windowid" : window.name },
function(data) {
if ( data.getElementsByTagName("status")[0]
.childNodes[0].nodeValue == "OK" ) {
context.pingStatusOK = true;
- setTimeout(
- function () {
- context.ping();
- },
- context.keepAlive
- );
+ context.pingTimer =
+ setTimeout(
+ function () {
+ context.ping();
+ },
+ context.keepAlive
+ );
}
else
context.throwError('Ping failed. Malformed WS resonse.',
"command": "search",
"query": this.currQuery,
"session": this.sessionID,
- "windowId" : self.window.name
+ "windowid" : window.name
};
if (filter !== undefined)
var context = this;
var request = new pzHttpRequest(this.pz2String, this.errorHandler);
request.safeGet(
- { "command": "stat", "session": this.sessionID, "windowId" : self.window.name },
+ { "command": "stat", "session": this.sessionID, "windowid" : window.name },
function(data) {
if ( data.getElementsByTagName("stat") ) {
var activeClients =
}
);
},
- show: function(start, num, sort)
+ show: function(start, num, sort, query_state)
{
if( !this.searchStatusOK && this.useSessions )
throw new Error(
var context = this;
var request = new pzHttpRequest(this.pz2String, this.errorHandler);
- request.safeGet(
+ var requestParameters =
{
- "command": "show",
- "session": this.sessionID,
- "start": this.currentStart,
- "num": this.currentNum,
- "sort": this.currentSort,
- "block": 1,
- "type": this.showResponseType,
- "windowId" : self.window.name
- },
+ "command": "show",
+ "session": this.sessionID,
+ "start": this.currentStart,
+ "num": this.currentNum,
+ "sort": this.currentSort,
+ "block": 1,
+ "type": this.showResponseType,
+ "windowid" : window.name,
+ };
+ if (query_state)
+ requestParameters["query-state"] = query_state;
+ if (this.version && this.version > 0)
+ requestParameters["version"] = this.version;
+ request.safeGet(
+ requestParameters,
function(data, type) {
var show = null;
var activeClients = 0;
} else {
context.throwError('Show failed. Malformed WS resonse.',
114);
- }
+ };
+
+ var approxNode = data.getElementsByTagName("approximation");
+ if (approxNode && approxNode[0] && approxNode[0].childNodes[0] && approxNode[0].childNodes[0].nodeValue)
+ show['approximation'] =
+ Number( approxNode[0].childNodes[0].nodeValue);
+
+
+ data.getElementsByTagName("")
context.activeClients = activeClients;
context.showCounter++;
var delay = context.showTime;
"command": "record",
"session": this.sessionID,
"id": this.currRecID,
- "windowId" : self.window.name
+ "windowid" : window.name
};
this.currRecOffset = null;
"command": "termlist",
"session": this.sessionID,
"name": this.termKeys,
- "windowId" : self.window.name
+ "windowid" : window.name,
+ "version" : this.version
+
},
function(data) {
if ( data.getElementsByTagName("termlist") ) {
.childNodes[0].nodeValue || 'ERROR'
};
+ // Only for xtargets: id, records, filtered
var termIdNode =
terms[j].getElementsByTagName("id");
if(terms[j].getElementsByTagName("id").length)
term["id"] =
termIdNode[0].childNodes[0].nodeValue;
termList[listName][j] = term;
+
+ var recordsNode = terms[j].getElementsByTagName("records");
+ if (recordsNode && recordsNode.length)
+ term["records"] = recordsNode[0].childNodes[0].nodeValue;
+
+ var filteredNode = terms[j].getElementsByTagName("filtered");
+ if (filteredNode && filteredNode.length)
+ term["filtered"] = filteredNode[0].childNodes[0].nodeValue;
+
}
}
var context = this;
var request = new pzHttpRequest(this.pz2String, this.errorHandler);
request.safeGet(
- { "command": "bytarget", "session": this.sessionID, "windowId" : self.window.name},
+ {
+ "command": "bytarget",
+ "session": this.sessionID,
+ "block": 1,
+ "windowid" : window.name,
+ "version" : this.version
+ },
function(data) {
if ( data.getElementsByTagName("status")[0]
.childNodes[0].nodeValue == "OK" ) {
== Node.ELEMENT_NODE ) {
var nodeName =
targetNodes[i].childNodes[j].nodeName;
- var nodeText =
- targetNodes[i].childNodes[j]
- .firstChild.nodeValue;
- bytarget[i][nodeName] = nodeText;
+ if (targetNodes[i].childNodes[j].firstChild != null)
+ {
+ var nodeText = targetNodes[i].childNodes[j]
+ .firstChild.nodeValue;
+ bytarget[i][nodeName] = nodeText;
+ }
+ else {
+ bytarget[i][nodeName] = "";
+ }
+
+
}
}
if (bytarget[i]["state"]=="Client_Disconnected") {
} else if (bytarget[i].diagnostic == "2") {
bytarget[i].diagnostic = "Temporary system error";
}
+ var targetsSuggestions = targetNodes[i].getElementsByTagName("suggestions");
+ if (targetsSuggestions != undefined && targetsSuggestions.length>0) {
+ var suggestions = targetsSuggestions[0];
+ bytarget[i]["suggestions"] = Element_parseChildNodes(suggestions);
+ }
}
context.bytargetCounter++;