Skip to content

Commit ffa324a

Browse files
committed
Small changes
1 parent 0250d71 commit ffa324a

File tree

3 files changed

+71
-66
lines changed

3 files changed

+71
-66
lines changed

src/sonar-sql-plugin/src/main/java/org/antlr/sql/dialects/rules/VSQLRules.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,18 +88,20 @@ protected Rule getCommitMissing() {
8888
sibling.setDistanceCheckType(RuleDistanceIndexMatchType.BEFOREORAFTER);
8989
sibling.getNames().getTextItem()
9090
.add(org.antlr.sql.dialects.vsql.VSqlParser.Delete_statementContext.class.getSimpleName());
91+
sibling.getNames().getTextItem()
92+
.add(org.antlr.sql.dialects.vsql.VSqlParser.Insert_statementContext.class.getSimpleName());
9193
sibling.getNames().getTextItem()
9294
.add(org.antlr.sql.dialects.vsql.VSqlParser.Update_statementContext.class.getSimpleName());
9395
rule.getRuleImplementation().getChildrenRules().getRuleImplementation().add(sibling);
9496
}
9597

9698
rule.getRuleImplementation().setRuleMatchType(RuleMatchType.CLASS_ONLY);
9799
rule.getRuleImplementation().setRuleResultType(RuleResultType.DEFAULT);
98-
rule.getRuleImplementation().getViolatingRulesCodeExamples().getRuleCodeExample().add("DELETE FROM temp1;");
100+
rule.getRuleImplementation().getViolatingRulesCodeExamples().getRuleCodeExample().add("DELETE FROM temp1;");
99101
rule.getRuleImplementation().getViolatingRulesCodeExamples().getRuleCodeExample()
100102
.add("COMMIT; DELETE FROM temp1;");
101-
rule.getRuleImplementation().getCompliantRulesCodeExamples().getRuleCodeExample()
102-
.add("SELECT 1; DELETE FROM temp1; COMMIT; SELECT 2; ");
103+
rule.getRuleImplementation().getCompliantRulesCodeExamples().getRuleCodeExample()
104+
.add("SELECT 1; DELETE FROM temp1; COMMIT; SELECT 2; ");
103105
return rule;
104106
}
105107
}

src/sonar-sql-plugin/src/main/java/org/antlr/sql/models/AntlrContext.java

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -13,38 +13,39 @@
1313

1414
public class AntlrContext {
1515

16-
public Lexer lexer;
16+
public Lexer lexer;
1717

18-
public ParseTree root;
18+
public ParseTree root;
1919

20-
public CommonTokenStream stream;
20+
public CommonTokenStream stream;
2121

22-
public DialectLanguageTypesMap types;
22+
public DialectLanguageTypesMap types;
2323

24-
public List<SqlRules> rules = new ArrayList<>();
24+
public List<SqlRules> rules = new ArrayList<>();
2525

26-
public List<SqlRules> getRules() {
27-
return rules;
28-
}
26+
public List<SqlRules> getRules() {
27+
return rules;
28+
}
2929

30-
public boolean isComment(Token token) {
31-
return types.getCommentTokens().contains(token.getType());
32-
}
30+
public boolean isComment(Token token) {
31+
return types.getCommentTokens().contains(token.getType());
32+
}
3333

34-
public ParseTree getRoot() {
35-
return root;
36-
}
34+
public ParseTree getRoot() {
35+
return root;
36+
}
3737

38-
public boolean isString(Token token) {
39-
return types.getStringTokens().contains(token.getType());
40-
}
38+
public boolean isString(Token token) {
39+
return types.getStringTokens().contains(token.getType());
40+
}
4141

42-
public boolean isKeyword(Token token) {
43-
String symbolicName = lexer.getVocabulary().getSymbolicName(token.getType());
44-
return (StringUtils.equalsAnyIgnoreCase(symbolicName, token.getText()));
45-
}
42+
public boolean isKeyword(Token token) {
43+
String symbolicName = lexer.getVocabulary().getSymbolicName(token.getType());
44+
return symbolicName != null && ((StringUtils.equalsAnyIgnoreCase(symbolicName, token.getText()))
45+
|| symbolicName.toLowerCase().contains(token.getText().toLowerCase()));
46+
}
4647

47-
public List<? extends Token> getAllTokens() {
48-
return stream.getTokens();
49-
}
48+
public List<? extends Token> getAllTokens() {
49+
return stream.getTokens();
50+
}
5051
}

src/sonar-sql-plugin/src/main/java/org/sonar/plugins/sql/fillers/HighlighterFiller.java

Lines changed: 41 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -14,44 +14,46 @@
1414

1515
public class HighlighterFiller implements Filler {
1616

17-
private static final Logger LOGGER = Loggers.get(HighlighterFiller.class);
18-
19-
@SuppressWarnings("deprecation")
20-
@Override
21-
public void fill(InputFile file, SensorContext context, AntlrContext antlrContext) {
22-
try {
23-
NewHighlighting newHighlighting = context.newHighlighting().onFile(file);
24-
List<? extends Token> tokens = antlrContext.getAllTokens();
25-
for (Token token : tokens) {
26-
try {
27-
final String text = token.getText();
28-
if (token.getType() == -1 || token.getStartIndex() >= token.getStopIndex()
29-
|| StringUtils.isEmpty(text)) {
30-
continue;
31-
}
32-
33-
if (antlrContext.isComment(token)) {
34-
newHighlighting.highlight(token.getStartIndex(), token.getStopIndex() + 1, TypeOfText.COMMENT);
35-
continue;
36-
}
37-
if (antlrContext.isString(token)) {
38-
newHighlighting.highlight(token.getStartIndex(), token.getStopIndex() + 1, TypeOfText.STRING);
39-
continue;
40-
}
41-
if (antlrContext.isKeyword(token)) {
42-
newHighlighting.highlight(token.getStartIndex(), token.getStopIndex() + 1, TypeOfText.KEYWORD);
43-
continue;
44-
}
45-
} catch (Exception e) {
46-
e.printStackTrace();
47-
}
48-
}
49-
synchronized (context) {
50-
newHighlighting.save();
51-
}
52-
} catch (Throwable e) {
53-
LOGGER.warn("Unexpected error adding highlighting on: " + file, e);
54-
}
55-
}
17+
private static final Logger LOGGER = Loggers.get(HighlighterFiller.class);
18+
19+
@SuppressWarnings("deprecation")
20+
@Override
21+
public void fill(InputFile file, SensorContext context, AntlrContext antlrContext) {
22+
try {
23+
NewHighlighting newHighlighting = context.newHighlighting().onFile(file);
24+
List<? extends Token> tokens = antlrContext.getAllTokens();
25+
for (Token token : tokens) {
26+
try {
27+
28+
final String text = token.getText();
29+
if (token.getType() == -1 || token.getStartIndex() >= token.getStopIndex()
30+
|| StringUtils.isEmpty(text)) {
31+
continue;
32+
}
33+
34+
if (antlrContext.isComment(token)) {
35+
newHighlighting.highlight(token.getStartIndex(), token.getStopIndex() + 1, TypeOfText.COMMENT);
36+
continue;
37+
}
38+
if (antlrContext.isString(token)) {
39+
newHighlighting.highlight(token.getStartIndex(), token.getStopIndex() + 1, TypeOfText.STRING);
40+
continue;
41+
}
42+
if (antlrContext.isKeyword(token)) {
43+
44+
newHighlighting.highlight(token.getStartIndex(), token.getStopIndex() + 1, TypeOfText.KEYWORD);
45+
continue;
46+
}
47+
} catch (Exception e) {
48+
e.printStackTrace();
49+
}
50+
}
51+
synchronized (context) {
52+
newHighlighting.save();
53+
}
54+
} catch (Throwable e) {
55+
LOGGER.warn("Unexpected error adding highlighting on: " + file, e);
56+
}
57+
}
5658

5759
}

0 commit comments

Comments
 (0)