logger.debug("Ignoring record request due search error.");\r
return "";\r
} else {\r
+ logger.debug("Executing record command");\r
ResponseDataObject responseObject = doCommand("record");\r
- if (pzreq.getRecord().hasParameterValue("offset") ||\r
- pzreq.getRecord().hasParameterValue("checksum")) {\r
+ if ((pzreq.getRecord().hasParameterValue("offset") ||\r
+ pzreq.getRecord().hasParameterValue("checksum")) &&\r
+ !responseObject.getType().equals("record")) {\r
+ logger.debug("Storing record offset response as 'record'");\r
RecordResponse recordResponse = new RecordResponse();\r
recordResponse.setType("record");\r
recordResponse.setXml(responseObject.getXml());\r
pager = new ResultsPager(pzresp,pageRange,pzreq);\r
return pager;\r
}\r
- \r
+ \r
+ /**\r
+ * This methods main purpose is to support browser history.\r
+ * \r
+ * When the browsers back or forward buttons are pressed, a \r
+ * re-search /might/ be required - namely if the query changes.\r
+ * So, as the UI requests updates of the page (show,facets,\r
+ * etc) this method checks if a search must be executed\r
+ * before those updates are performed.\r
+ * \r
+ * @see {@link com.indexdata.mkjsf.pazpar2.state.StateManager#setCurrentStateKey} \r
+ * @param commands\r
+ */\r
protected void handleQueryStateChanges (String commands) {\r
if (stateMgr.hasPendingStateChange("search") && hasQuery()) { \r
logger.info("Triggered search: Found pending search change [" + pzreq.getCommand("search").toString() + "], doing search before updating " + commands); \r
responseLogger.debug("Response was: " + commandResponse.getResponseString());\r
responseObject = ResponseParser.getParser().getDataObject((ClientCommandResponse)commandResponse);\r
if (ResponseParser.docTypes.contains(responseObject.getType())) {\r
+ logger.debug("Storing " + responseObject.getType() + " in pzresp. ");\r
pzresp.put(commandName, responseObject);\r
- } \r
+ } else {\r
+ logger.info("Unrecognized response object type not cached in pzresp: " + responseObject.getType());\r
+ }\r
return responseObject;\r
}\r
\r