private Pazpar2ResponseData result = null;\r
\r
private static final List<String> docTypes = \r
- Arrays.asList("bytarget","termlist","show","stat","record");\r
+ Arrays.asList("bytarget","termlist","show","stat","record","search");\r
\r
public Pazpar2ResponseParser() { \r
try {\r
}\r
}\r
\r
+ public static Pazpar2ResponseParser getParser() {\r
+ return new Pazpar2ResponseParser();\r
+ }\r
+ \r
private void initSax() throws ParserConfigurationException, SAXException {\r
SAXParserFactory spf = SAXParserFactory.newInstance();\r
spf.setNamespaceAware(true);\r
xmlReader.setContentHandler(this); \r
}\r
\r
- public Pazpar2ResponseData getObject (String response) {\r
+ /**\r
+ * Parses a Pazpar2 XML response -- or an error response as XML -- and produces a \r
+ * Pazpar2ResponseData object, i.e. a 'show' object\r
+ * \r
+ * @param response XML response string from Pazpar2\r
+ * @return Response data object\r
+ */\r
+ public Pazpar2ResponseData getDataObject (String response) {\r
try {\r
xmlReader.parse(new InputSource(new ByteArrayInputStream(response.getBytes("UTF-8"))));\r
} catch (UnsupportedEncodingException e) {\r
((TermListResponse)dataElements.peek()).addTerm((TermResponse)currentElement);\r
} else if (localName.equals("record")) {\r
currentElement = new RecordResponse();\r
+ } else if (localName.equals("search")) {\r
+ currentElement = new SearchResponse();\r
+ } else if (localName.equals("applicationerror")) {\r
+ currentElement = new ApplicationError();\r
} else {\r
currentElement = new Pazpar2ResponseData();\r
}\r