X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fmkjsf%2Fpazpar2%2Fdata%2FResponseParser.java;h=b38cb668a3179436eb6a038d6ddd86e51ff4d5a9;hb=d237859420496f6d1f183d0f64bf2f78b0799fc0;hp=56e4218809f192022ba169a7347a257051f12fc8;hpb=86f289cd42ba95846c80d22129ed565e4e9d6dde;p=mkjsf-moved-to-github.git diff --git a/src/main/java/com/indexdata/mkjsf/pazpar2/data/ResponseParser.java b/src/main/java/com/indexdata/mkjsf/pazpar2/data/ResponseParser.java index 56e4218..b38cb66 100644 --- a/src/main/java/com/indexdata/mkjsf/pazpar2/data/ResponseParser.java +++ b/src/main/java/com/indexdata/mkjsf/pazpar2/data/ResponseParser.java @@ -38,7 +38,7 @@ public class ResponseParser extends DefaultHandler { private String xml = null; private static Logger logger = Logger.getLogger(ResponseParser.class); - public static List docTypes = Arrays.asList( "bytarget","termlist","show","stat","record","search","init", + public static List docTypes = Arrays.asList( "bytarget","termlist","show","stat","record","search","init","info", /* SP extras */ "auth", "categories" ); public ResponseParser() { @@ -123,9 +123,13 @@ public class ResponseParser extends DefaultHandler { currentElement = new TermResponse(); } ((TermListResponse)dataElements.peek()).addTerm((TermResponse)currentElement); + } else if (localName.equals("info")) { + currentElement = new InfoResponse(); + } else if (localName.equals("version") && dataElements.peek().getType().equals("info")) { + currentElement = new Pazpar2VersionResponse(); } else if (localName.equals("applicationerror")) { currentElement = new CommandError(); - } else if (localName.equals("error") && dataElements.peek().getType().equals("applicationerror")) { + } else if (localName.equals("error") && (!dataElements.isEmpty() && dataElements.peek().getType().equals("applicationerror"))) { currentElement = new ServiceError(); // Service Proxy extras } else if (localName.equals("auth")) {