|
19 | 19 |
|
20 | 20 | /*
|
21 | 21 | * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
|
22 |
| - * Portions Copyright (c) 2018, Chris Fraire <[email protected]>. |
| 22 | + * Portions Copyright (c) 2018-2019, Chris Fraire <[email protected]>. |
23 | 23 | */
|
24 | 24 | package org.opengrok.indexer.analysis.sql;
|
25 | 25 |
|
26 |
| -import java.io.BufferedReader; |
27 |
| -import java.io.IOException; |
28 |
| -import java.io.InputStreamReader; |
29 |
| -import java.nio.charset.StandardCharsets; |
30 | 26 | import java.util.Collections;
|
31 | 27 | import java.util.HashSet;
|
32 |
| -import java.util.Locale; |
33 | 28 | import java.util.Set;
|
34 | 29 |
|
35 |
| -@SuppressWarnings("PMD.AvoidThrowingRawExceptionTypes") |
36 | 30 | public final class PLSQLConsts {
|
37 |
| - private static final Set<String> reservedKeywords; |
38 |
| - static { |
39 |
| - HashSet<String> kwds = new HashSet<String>(); |
40 |
| - try { |
41 |
| - //populateKeywordSet(kwds, "sql2003reserved.dat"); |
42 |
| - //populateKeywordSet(kwds, "sql2008reserved.dat"); |
43 |
| - populateKeywordSet(kwds, "/analysis/sql/sql2011reserved.dat"); |
44 |
| - populateKeywordSet(kwds, "/analysis/sql/plsql2011reserved.dat"); // this is just diff on top of sql iso |
45 |
| - } catch (IOException ioe) { |
46 |
| - throw new RuntimeException(ioe); |
47 |
| - } |
48 |
| - reservedKeywords = Collections.unmodifiableSet(kwds); |
49 |
| - } |
| 31 | + private static final Set<String> kwd = new HashSet<>(); |
50 | 32 |
|
51 |
| - private PLSQLConsts() { |
52 |
| - // Util class, can not be constructed. |
53 |
| - } |
| 33 | + static final Set<String> KEYWORDS = Collections.unmodifiableSet(kwd); |
54 | 34 |
|
55 |
| - private static void populateKeywordSet(Set<String> set, String file) throws IOException { |
56 |
| - try (BufferedReader reader = new BufferedReader(new InputStreamReader( |
57 |
| - Consts.class.getResourceAsStream(file), StandardCharsets.UTF_8))) { |
58 |
| - String line; |
59 |
| - while ((line = reader.readLine()) != null) { |
60 |
| - line = line.trim(); |
61 |
| - String lline = line.toLowerCase(Locale.ROOT); |
62 |
| - if (line.charAt(0) != '#') { |
63 |
| - set.add(line); |
64 |
| - set.add(lline); |
65 |
| - } |
66 |
| - } |
67 |
| - } |
| 35 | + static { |
| 36 | + kwd.addAll(org.opengrok.indexer.analysis.sql.Consts.KEYWORDS); |
| 37 | + |
| 38 | + kwd.add("asc"); // plsql2011reserved |
| 39 | + kwd.add("clusters"); // plsql2011reserved |
| 40 | + kwd.add("cluster"); // plsql2011reserved |
| 41 | + kwd.add("colauth"); // plsql2011reserved |
| 42 | + kwd.add("columns"); // plsql2011reserved |
| 43 | + kwd.add("compress"); // plsql2011reserved |
| 44 | + kwd.add("crash"); // plsql2011reserved |
| 45 | + kwd.add("desc"); // plsql2011reserved |
| 46 | + kwd.add("exception"); // plsql2011reserved |
| 47 | + kwd.add("exclusive"); // plsql2011reserved |
| 48 | + kwd.add("goto"); // plsql2011reserved |
| 49 | + kwd.add("identified"); // plsql2011reserved |
| 50 | + kwd.add("if"); // plsql2011reserved |
| 51 | + kwd.add("index"); // plsql2011reserved |
| 52 | + kwd.add("indexes"); // plsql2011reserved |
| 53 | + kwd.add("lock"); // plsql2011reserved |
| 54 | + kwd.add("minus"); // plsql2011reserved |
| 55 | + kwd.add("mode"); // plsql2011reserved |
| 56 | + kwd.add("nocompress"); // plsql2011reserved |
| 57 | + kwd.add("nowait"); // plsql2011reserved |
| 58 | + kwd.add("option"); // plsql2011reserved |
| 59 | + kwd.add("public"); // plsql2011reserved |
| 60 | + kwd.add("resource"); // plsql2011reserved |
| 61 | + kwd.add("share"); // plsql2011reserved |
| 62 | + kwd.add("size"); // plsql2011reserved |
| 63 | + kwd.add("subtype"); // plsql2011reserved |
| 64 | + kwd.add("tabauth"); // plsql2011reserved |
| 65 | + kwd.add("type"); // plsql2011reserved |
| 66 | + kwd.add("view"); // plsql2011reserved |
| 67 | + kwd.add("views"); // plsql2011reserved |
68 | 68 | }
|
69 | 69 |
|
70 |
| - static Set<String> getReservedKeywords() { |
71 |
| - return reservedKeywords; |
| 70 | + /** Private to enforce static. */ |
| 71 | + private PLSQLConsts() { |
72 | 72 | }
|
73 | 73 | }
|
0 commit comments