Changeset 1972
- Timestamp:
- 06/06/12 21:50:48 (12 years ago)
- Location:
- SRUClient/trunk/src/main/java/eu/clarin/sru/client
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
SRUClient/trunk/src/main/java/eu/clarin/sru/client/SRUClient.java
r1971 r1972 73 73 "parser.getRecordSchema() returns empty string"); 74 74 } 75 75 76 76 SRURecordDataParser old = parsers.putIfAbsent(recordSchema, parser); 77 77 if (old != null) { 78 78 throw new SRUClientException( 79 "record data parser already regist red: " + recordSchema);79 "record data parser already registered: " + recordSchema); 80 80 } 81 81 } … … 112 112 final long ts_end = System.nanoTime(); 113 113 114 final long delta_total = ts_end - ts_start; 115 final long delta_network = ts_parsing - ts_start; 116 final long delta_parsing = ts_end - ts_parsing; 114 final long millisTotal = 115 TimeUnit.NANOSECONDS.toMillis(ts_end - ts_start); 116 final long millisNetwork = 117 TimeUnit.NANOSECONDS.toMillis(ts_parsing - ts_start); 118 final long millisParsing = 119 TimeUnit.NANOSECONDS.toMillis(ts_end - ts_parsing); 117 120 logger.debug("{} byte(s) in {} milli(s) ({} milli(s) network / {} milli(s) parsing)", 118 121 new Object[] { reader.getByteCount(), 119 TimeUnit.NANOSECONDS.toMillis(delta_total),120 TimeUnit.NANOSECONDS.toMillis(delta_network),121 TimeUnit.NANOSECONDS.toMillis(delta_parsing) });122 millisTotal, millisNetwork, millisParsing }); 123 handler.onRequestStatistics((int) reader.getByteCount(), 124 millisTotal, millisNetwork, millisParsing); 122 125 } catch (IllegalStateException e) { 123 126 throw new SRUClientException("error reading response", e); … … 175 178 final long ts_end = System.nanoTime(); 176 179 177 final long delta_total = ts_end - ts_start; 178 final long delta_network = ts_parsing - ts_start; 179 final long delta_parsing = ts_end - ts_parsing; 180 final long millisTotal = 181 TimeUnit.NANOSECONDS.toMillis(ts_end - ts_start); 182 final long millisNetwork = 183 TimeUnit.NANOSECONDS.toMillis(ts_parsing - ts_start); 184 final long millisParsing = 185 TimeUnit.NANOSECONDS.toMillis(ts_end - ts_parsing); 180 186 logger.debug("{} byte(s) in {} milli(s) ({} milli(s) network / {} milli(s) parsing)", 181 187 new Object[] { reader.getByteCount(), 182 TimeUnit.NANOSECONDS.toMillis(delta_total),183 TimeUnit.NANOSECONDS.toMillis(delta_network),184 TimeUnit.NANOSECONDS.toMillis(delta_parsing) });188 millisTotal, millisNetwork, millisParsing }); 189 handler.onRequestStatistics((int) reader.getByteCount(), 190 millisTotal, millisNetwork, millisParsing); 185 191 } catch (IllegalStateException e) { 186 192 throw new SRUClientException("error reading response", e); … … 238 244 final long ts_end = System.nanoTime(); 239 245 240 final long delta_total = ts_end - ts_start; 241 final long delta_network = ts_parsing - ts_start; 242 final long delta_parsing = ts_end - ts_parsing; 246 final long millisTotal = 247 TimeUnit.NANOSECONDS.toMillis(ts_end - ts_start); 248 final long millisNetwork = 249 TimeUnit.NANOSECONDS.toMillis(ts_parsing - ts_start); 250 final long millisParsing = 251 TimeUnit.NANOSECONDS.toMillis(ts_end - ts_parsing); 243 252 logger.debug("{} byte(s) in {} milli(s) ({} milli(s) network / {} milli(s) parsing)", 244 253 new Object[] { reader.getByteCount(), 245 TimeUnit.NANOSECONDS.toMillis(delta_total),246 TimeUnit.NANOSECONDS.toMillis(delta_network),247 TimeUnit.NANOSECONDS.toMillis(delta_parsing) });254 millisTotal, millisNetwork, millisParsing }); 255 handler.onRequestStatistics((int) reader.getByteCount(), 256 millisTotal, millisNetwork, millisParsing); 248 257 } catch (IllegalStateException e) { 249 258 throw new SRUClientException("error reading response", e); … … 315 324 // explainResponse/record 316 325 reader.readStart(SRU_NS, "record", true); 326 317 327 String schema = 318 328 reader.readContent(SRU_NS, "recordSchema", true); … … 348 358 // explainResponse/extraResponseData 349 359 if (reader.readStart(SRU_NS, "extraResponseData", false)) { 360 reader.consumeWhitespace(); 361 proxy.reset(reader); 362 try { 363 handler.onExtraResponseData(proxy); 364 } catch (XMLStreamException e) { 365 throw new SRUClientException("handler triggered " + 366 "error while parsing 'extraResponseData'", e); 367 } 368 reader.consumeWhitespace(); 350 369 reader.readEnd(SRU_NS, "extraResponseData", true); 351 370 } … … 425 444 reader.consumeWhitespace(); 426 445 proxy.reset(reader); 427 handler.onExtraTermData(value, proxy); 446 try { 447 handler.onExtraTermData(value, proxy); 448 } catch (XMLStreamException e) { 449 throw new SRUClientException("handler " + 450 "triggered error while parsing " + 451 "'extraTermData'", e); 452 } 428 453 reader.consumeWhitespace(); 429 454 reader.readEnd(SRU_NS, "extraTermData", true); … … 446 471 // scanResponse/extraResponseData 447 472 if (reader.readStart(SRU_NS, "extraResponseData", false)) { 473 reader.consumeWhitespace(); 474 proxy.reset(reader); 475 try { 476 handler.onExtraResponseData(proxy); 477 } catch (XMLStreamException e) { 478 throw new SRUClientException("handler triggered " + 479 "error while parsing 'extraResponseData'", e); 480 } 481 reader.consumeWhitespace(); 448 482 reader.readEnd(SRU_NS, "extraResponseData", true); 449 483 } … … 476 510 477 511 // searchRetrieveResponse/numberOfRecords 478 String numberOfRecords =479 reader.readContent(SRU_NS, "numberOfRecords", true);512 int numberOfRecords = reader.readContent(SRU_NS, 513 "numberOfRecords", true, -1); 480 514 481 515 // searchRetrieveResponse/resultSetId 482 String resultSetId =483 reader.readContent(SRU_NS, "resultSetId", false);516 int resultSetId = reader.readContent(SRU_NS, "resultSetId", 517 false, -1); 484 518 485 519 // searchRetrieveResponse/resultSetIdleTime 486 String resultSetIdleTime =487 reader.readContent(SRU_NS, "resultSetIdleTime", false);520 int resultSetIdleTime = reader.readContent(SRU_NS, 521 "resultSetIdleTime", false, -1); 488 522 489 523 logger.debug("numberOfRecords = {}, resultSetId = {}, " + … … 500 534 if (first) { 501 535 first = false; 502 handler.onStartRecords( );536 handler.onStartRecords(numberOfRecords, resultSetId, resultSetIdleTime); 503 537 } 504 538 … … 569 603 reader.consumeWhitespace(); 570 604 proxy.reset(reader); 571 handler.onExtraRecordData(identifier, position, proxy); 605 try { 606 handler.onExtraRecordData(identifier, 607 position, proxy); 608 } catch (XMLStreamException e) { 609 throw new SRUClientException("handler triggered " + 610 "error while parsing 'extraRecordData'", e); 611 } 572 612 reader.consumeWhitespace(); 573 613 reader.readEnd(SRU_NS, "extraRecordData", true); … … 595 635 // explainResponse/extraResponseData 596 636 if (reader.readStart(SRU_NS, "extraResponseData", false)) { 637 reader.consumeWhitespace(); 638 proxy.reset(reader); 639 try { 640 handler.onExtraResponseData(proxy); 641 } catch (XMLStreamException e) { 642 throw new SRUClientException("handler triggered " + 643 "error while parsing 'extraResponseData'", e); 644 } 645 reader.consumeWhitespace(); 597 646 reader.readEnd(SRU_NS, "extraResponseData", true); 598 647 } … … 625 674 if (reader.readStart(SRU_NS, "diagnostics", false)) { 626 675 List<SRUDiagnostic> diagostics = null; 627 676 628 677 SRUDiagnostic diagnostic = null; 629 678 while ((diagnostic = parseDiagnostic(reader, … … 665 714 } 666 715 } 667 716 668 717 private static SRURecordPacking parseRecordPacking(SRUXMLStreamReader reader) 669 718 throws XMLStreamException, SRUClientException { -
SRUClient/trunk/src/main/java/eu/clarin/sru/client/SRUDefaultHandlerAdapter.java
r1971 r1972 13 13 } 14 14 15 15 16 @Override 17 public void onRequestStatistics(int bytes, long millisTotal, 18 long millisNetwork, long millisParsing) { 19 } 20 21 22 @Override 23 public void onExtraResponseData(XMLStreamReader reader) 24 throws XMLStreamException, SRUClientException { 25 } 26 27 16 28 @Override 17 29 public void onStartTerms() throws SRUClientException { … … 37 49 38 50 @Override 39 public void onStartRecords() throws SRUClientException { 51 public void onStartRecords(int numberOfRecords, int resultSetId, 52 int resultSetIdleTime) throws SRUClientException { 40 53 } 41 54 42 55 43 56 @Override 44 public void onFinishRecords(int nextRecordPosition) throws SRUClientException { 57 public void onFinishRecords(int nextRecordPosition) 58 throws SRUClientException { 45 59 } 46 47 60 48 61 @Override -
SRUClient/trunk/src/main/java/eu/clarin/sru/client/SRUExplainHandler.java
r1969 r1972 2 2 3 3 import java.util.List; 4 5 import javax.xml.stream.XMLStreamException; 6 import javax.xml.stream.XMLStreamReader; 4 7 5 8 public interface SRUExplainHandler { … … 8 11 throws SRUClientException; 9 12 13 public void onRequestStatistics(int bytes, long millisTotal, 14 long millisNetwork, long millisParsing); 15 16 public void onExtraResponseData(XMLStreamReader reader) 17 throws XMLStreamException, SRUClientException; 18 10 19 } // interface SRUExplainHandler -
SRUClient/trunk/src/main/java/eu/clarin/sru/client/SRUScanHandler.java
r1971 r1972 8 8 public interface SRUScanHandler { 9 9 public enum WhereInList { 10 FIRST, LAST, ONLY, INNER; 10 FIRST, LAST, ONLY, INNER; 11 11 } 12 12 13 13 public void onFatalError(List<SRUDiagnostic> diagnistics) 14 14 throws SRUClientException; 15 16 public void onRequestStatistics(int bytes, long millisTotal, 17 long millisNetwork, long millisParsing); 18 19 public void onExtraResponseData(XMLStreamReader reader) 20 throws XMLStreamException, SRUClientException; 15 21 16 22 public void onStartTerms() throws SRUClientException; … … 20 26 public void onTerm(String value, int numberOfRecords, String displayTerm, 21 27 WhereInList whereInList) throws SRUClientException; 22 28 23 29 public void onExtraTermData(String value, XMLStreamReader reader) 24 30 throws XMLStreamException, SRUClientException; -
SRUClient/trunk/src/main/java/eu/clarin/sru/client/SRUSearchRetrieveHandler.java
r1971 r1972 11 11 throws SRUClientException; 12 12 13 public void onStartRecords() throws SRUClientException; 14 15 public void onFinishRecords(int nextRecordPosition) throws SRUClientException; 13 public void onRequestStatistics(int bytes, long millisTotal, 14 long millisNetwork, long millisParsing); 15 16 public void onExtraResponseData(XMLStreamReader reader) 17 throws XMLStreamException, SRUClientException; 18 19 public void onStartRecords(int numberOfRecords, int resultSetId, 20 int resultSetIdleTime) throws SRUClientException; 21 22 public void onFinishRecords(int nextRecordPosition) 23 throws SRUClientException; 16 24 17 25 public void onRecord(String schema, String identifier, int position, … … 24 32 public void onSurrogateRecord(String identifier, int position, 25 33 SRUDiagnostic data) throws SRUClientException; 26 34 27 35 public void onExtraRecordData(String identifier, int position, 28 36 XMLStreamReader reader) throws XMLStreamException, -
SRUClient/trunk/src/main/java/eu/clarin/sru/client/TestClient.java
r1971 r1972 38 38 39 39 @Override 40 public void onRequestStatistics(int bytes, 41 long millisTotal, long millisNetwork, 42 long millisParsing) { 43 logger.info( 44 "onRequestStatistics(): {} bytes in {} millis", 45 bytes, millisTotal); 46 } 47 48 @Override 40 49 public void onStartTerms() throws SRUClientException { 41 50 logger.info("onStartTerms()"); … … 51 60 String displayTerm, WhereInList whereInList) 52 61 throws SRUClientException { 53 logger.info("onTerm() value = {}, numberOfRecords = {}, displayTerm = {}, whereInList = {}",62 logger.info("onTerm(): value = {}, numberOfRecords = {}, displayTerm = {}, whereInList = {}", 54 63 new Object[] { value, numberOfRecords, 55 64 displayTerm, whereInList }); 56 65 } 57 66 58 59 67 @Override 60 public void onStartRecords() throws SRUClientException { 61 logger.info("onStartRecords()"); 68 public void onStartRecords(int numberOfRecords, 69 int resultSetId, int resultSetIdleTime) 70 throws SRUClientException { 71 logger.info("onStartRecords(): numberOfRecords = {}", 72 numberOfRecords); 62 73 } 63 64 74 65 75 @Override
Note: See TracChangeset
for help on using the changeset viewer.