source: FCSSimpleEndpoint/trunk/src/test/java/eu/clarin/sru/server/fcs/parser/QueryParserRunner.java @ 7276

Last change on this file since 7276 was 7276, checked in by Oliver Schonefeld, 2 years ago
  • add missing copyright
  • Property svn:eol-style set to native
File size: 3.2 KB
Line 
1/**
2 * This software is copyright (c) 2013-2022 by
3 *  - Leibniz-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 Leibniz-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 */
17package eu.clarin.sru.server.fcs.parser;
18
19import java.io.BufferedReader;
20import java.io.File;
21import java.io.FileReader;
22import java.io.IOException;
23
24import org.slf4j.Logger;
25import org.slf4j.LoggerFactory;
26
27
28public class QueryParserRunner {
29    private static final Logger logger = LoggerFactory
30            .getLogger(QueryParserRunner.class);
31
32
33    public static void main(String[] args) {
34        if ((args != null) && (args.length > 0)) {
35            File file = new File(args[0]);
36            if (file.exists() || file.isFile()) {
37                BufferedReader reader = null;
38                try {
39                    reader = new BufferedReader(new FileReader(file));
40
41                    String line;
42                    while ((line = reader.readLine()) != null) {
43                        line = line.trim();
44                        if (line.isEmpty()) {
45                            continue;
46                        }
47                        try {
48                            logger.info("PARSING QUERY: >>>{}<<<", line);
49                            QueryParser parser = new QueryParser();
50                            QueryNode tree = parser.parse(line);
51                            logger.info("{}", tree);
52                            logger.info("... PARSED OK");
53                        } catch (QueryParserException e) {
54                            logger.error(
55                                    "error parsing query: " + e.getMessage(),
56                                    e);
57                        }
58
59                    }
60                } catch (IOException e) {
61                    logger.error("error reading file", e);
62                } finally {
63                    if (reader != null) {
64                        try {
65                            reader.close();
66                        } catch (IOException e) {
67                            /* IGNORE */
68                        }
69                    }
70                }
71            } else {
72                logger.error("DOES NOT EXIST OR IS NOT A FILE: {}", args[0]);
73            }
74        } else {
75            logger.error("NEED QUERY-FILE");
76        }
77    }
78
79    static {
80        org.apache.log4j.BasicConfigurator
81                .configure(new org.apache.log4j.ConsoleAppender(
82                        new org.apache.log4j.PatternLayout("%-5p [%t] %m%n"),
83                        org.apache.log4j.ConsoleAppender.SYSTEM_ERR));
84        org.apache.log4j.Logger logger = org.apache.log4j.Logger
85                .getRootLogger();
86        logger.setLevel(org.apache.log4j.Level.INFO);
87        logger.getLoggerRepository().getLogger("eu.clarin")
88                .setLevel(org.apache.log4j.Level.DEBUG);
89    }
90
91}
Note: See TracBrowser for help on using the repository browser.