Changeset 6856 for FCSSimpleEndpoint


Ignore:
Timestamp:
11/30/15 14:57:28 (8 years ago)
Author:
Oliver Schonefeld
Message:
  • (experimental) store FCSParser used to parse query in FCSQuery
File:
1 edited

Legend:

Unmodified
Added
Removed
  • FCSSimpleEndpoint/trunk/src/main/java/eu/clarin/sru/server/fcs/FCSQueryParser.java

    r6850 r6856  
    7272            CommonTokenStream tokens = new CommonTokenStream(lexer);
    7373            FCSParser parser = new FCSParser(tokens);
    74             return new FCSQuery(rawQuery, parser.query());
     74            return new FCSQuery(rawQuery, parser, parser.query());
    7575        } catch (Exception e) {
    7676            diagnostics.addDiagnostic(SRUConstants.SRU_QUERY_SYNTAX_ERROR,
     
    8282
    8383    public static final class FCSQuery extends SRUQueryBase<ParseTree> {
     84        private final FCSParser parser;
    8485
    85 
    86         private FCSQuery(String rawQuery, ParseTree parsedQuery) {
     86        private FCSQuery(String rawQuery, FCSParser parser, ParseTree parsedQuery) {
    8787            super(rawQuery, parsedQuery);
     88            this.parser = parser;
    8889        }
    8990
     
    9394            return Constants.FCS_QUERY_TYPE_FCS;
    9495        }
     96
     97
     98        /**
     99         * EXPERIMENTAL API: Get the parser that was used to parse the query.
     100         * Useful for outputting the parse tree.
     101         *
     102         * @return the parser that was used to parse the query.
     103         */
     104        public FCSParser getFCSParser() {
     105            return parser;
     106        }
    95107    }
    96108
Note: See TracChangeset for help on using the changeset viewer.