Ignore:
Timestamp:
11/17/15 12:28:02 (9 years ago)
Author:
Oliver Schonefeld
Message:
  • first step towards SRU 2.0 argument parsing and response serialization
File:
1 edited

Legend:

Unmodified
Added
Removed
  • SRUServer/trunk/src/main/java/eu/clarin/sru/server/SRUXMLStreamWriter.java

    r2729 r6816  
    4545    }
    4646    private static final SAXParserFactory factory;
    47     private final SRURecordPacking packing;
     47    private final SRURecordXmlEscaping recordEscaping;
    4848    private final Writer writer;
    4949    private final XMLStreamWriter xmlwriter;
     
    5555
    5656
    57     SRUXMLStreamWriter(OutputStream stream, XMLOutputFactory factory,
    58             SRURecordPacking recordPacking, int indent) throws IOException,
    59             XMLStreamException {
    60         this.packing = recordPacking;
     57    SRUXMLStreamWriter(OutputStream stream,
     58            XMLOutputFactory factory,
     59            SRURecordXmlEscaping recordXmlEscaping,
     60            int indent) throws IOException, XMLStreamException {
     61        this.recordEscaping = recordXmlEscaping;
    6162        this.writer = new OutputStreamWriter(stream,
    6263                SRUServer.RESPONSE_ENCODING) {
    6364            @Override
    6465            public void write(int c) throws IOException {
    65                 if (writingRecord && (packing == SRURecordPacking.STRING)) {
     66                if (writingRecord && (recordEscaping == SRURecordXmlEscaping.STRING)) {
    6667                    /*
    6768                     * NOTE: need to write single characters here, because
     
    9899            @Override
    99100            public void write(char[] c, int off, int len) throws IOException {
    100                 if (writingRecord && (packing == SRURecordPacking.STRING)) {
     101                if (writingRecord && (recordEscaping == SRURecordXmlEscaping.STRING)) {
    101102                    for (int i = off; i < len; i++) {
    102103                        this.write(c[i]);
     
    109110            @Override
    110111            public void write(String s, int off, int len) throws IOException {
    111                 if (writingRecord && (packing == SRURecordPacking.STRING)) {
     112                if (writingRecord && (recordEscaping == SRURecordXmlEscaping.STRING)) {
    112113                    for (int i = off; i < len; i++) {
    113114                        this.write(s.charAt(i));
     
    480481
    481482    private void onStartElement() throws XMLStreamException {
    482         if (!(writingRecord && (packing == SRURecordPacking.STRING))) {
     483        if (!(writingRecord && (recordEscaping == SRURecordXmlEscaping.STRING))) {
    483484            stateStack.push(IndentingState.SEEN_ELEMENT);
    484485            state = IndentingState.SEEN_NOTHING;
     
    493494
    494495    private void onEndElement() throws XMLStreamException {
    495         if (!(writingRecord && (packing == SRURecordPacking.STRING))) {
     496        if (!(writingRecord && (recordEscaping == SRURecordXmlEscaping.STRING))) {
    496497            depth--;
    497498            if (state == IndentingState.SEEN_ELEMENT) {
     
    505506
    506507    private void onEmptyElement() throws XMLStreamException {
    507         if (!(writingRecord && (packing == SRURecordPacking.STRING))) {
     508        if (!(writingRecord && (recordEscaping == SRURecordXmlEscaping.STRING))) {
    508509            state = IndentingState.SEEN_ELEMENT;
    509510            if (depth > 0) {
Note: See TracChangeset for help on using the changeset viewer.