Changeset 2088 for SRUClient/trunk/src/main/java/eu/clarin/sru/fcs/ClarinFederatedContentSearchRecordParser.java
- Timestamp:
- 08/14/12 17:22:03 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
SRUClient/trunk/src/main/java/eu/clarin/sru/fcs/ClarinFederatedContentSearchRecordParser.java
r1977 r2088 1 /** 2 * This software is copyright (c) 2011 by 3 * - Institut fuer Deutsche Sprache (http://www.ids-mannheim.de) 4 * This is free software. You can redistribute it 5 * and/or modify it under the terms described in 6 * the GNU General Public License v3 of which you 7 * should have received a copy. Otherwise you can download 8 * it from 9 * 10 * http://www.gnu.org/licenses/gpl-3.0.txt 11 * 12 * @copyright Institut fuer Deutsche Sprache (http://www.ids-mannheim.de) 13 * 14 * @license http://www.gnu.org/licenses/gpl-3.0.txt 15 * GNU General Public License v3 16 */ 1 17 package eu.clarin.sru.fcs; 2 18 … … 12 28 import eu.clarin.sru.client.XmlStreamReaderUtils; 13 29 30 31 /** 32 * A record for CLARIN FCS. 33 */ 14 34 public class ClarinFederatedContentSearchRecordParser implements 15 35 SRURecordDataParser { … … 21 41 private static final String DATAVIEW_KWIC = "kwic"; 22 42 23 43 24 44 @Override 25 45 public String getRecordSchema() { … … 27 47 } 28 48 29 49 30 50 @Override 31 51 public SRURecordData parse(XMLStreamReader reader) 32 52 throws XMLStreamException, SRUClientException { 33 53 XmlStreamReaderUtils.readStart(reader, FCS_NS, "Resource", true, true); 34 String pid = XmlStreamReaderUtils.readAttributeValue(reader, null, "pid"); 54 String pid = XmlStreamReaderUtils.readAttributeValue(reader, null, 55 "pid"); 35 56 XmlStreamReaderUtils.consumeStart(reader); 36 37 String left 57 58 String left = null; 38 59 String keyword = null; 39 String right 60 String right = null; 40 61 41 62 boolean first = true; 42 63 boolean kwic = false; 43 44 while (XmlStreamReaderUtils.readStart(reader, FCS_NS, "DataView", first, true)) { 64 65 while (XmlStreamReaderUtils.readStart(reader, FCS_NS, "DataView", 66 first, true)) { 45 67 first = false; 46 String type = XmlStreamReaderUtils.readAttributeValue(reader, null, "type"); 68 String type = XmlStreamReaderUtils.readAttributeValue(reader, null, 69 "type"); 47 70 XmlStreamReaderUtils.consumeStart(reader); 48 71 if ((type == null) || type.isEmpty()) { … … 53 76 if (DATAVIEW_KWIC.equals(type)) { 54 77 if (kwic) { 55 throw new SRUClientException("only one KWIC dataview is allowed"); 78 throw new SRUClientException( 79 "only one KWIC dataview is allowed"); 56 80 } 57 XmlStreamReaderUtils.readStart(reader, FCS_KWIC_NS, "kwic", true); 58 if (XmlStreamReaderUtils.readStart(reader, FCS_KWIC_NS, "c", false)) { 81 XmlStreamReaderUtils.readStart(reader, FCS_KWIC_NS, "kwic", 82 true); 83 if (XmlStreamReaderUtils.readStart(reader, FCS_KWIC_NS, "c", 84 false)) { 59 85 left = XmlStreamReaderUtils.readString(reader, false); 60 86 XmlStreamReaderUtils.readEnd(reader, FCS_KWIC_NS, "c"); 61 87 } 62 keyword = XmlStreamReaderUtils.readContent(reader, FCS_KWIC_NS, "kw", true); 63 if (XmlStreamReaderUtils.readStart(reader, FCS_KWIC_NS, "c", false)) { 88 keyword = XmlStreamReaderUtils.readContent(reader, FCS_KWIC_NS, 89 "kw", true); 90 if (XmlStreamReaderUtils.readStart(reader, FCS_KWIC_NS, "c", 91 false)) { 64 92 right = XmlStreamReaderUtils.readString(reader, false); 65 93 XmlStreamReaderUtils.readEnd(reader, FCS_KWIC_NS, "c");
Note: See TracChangeset
for help on using the changeset viewer.