Skip to content

Commit f823a84

Browse files
Hotfix 1.0.5, avoid issue sharing between files that use the same parser
1 parent bf7db42 commit f823a84

File tree

7 files changed

+11
-18
lines changed

7 files changed

+11
-18
lines changed

its/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.apiaddicts.apitools.dosonarapi</groupId>
77
<artifactId>dosonarapi</artifactId>
8-
<version>1.0.4</version>
8+
<version>1.0.5</version>
99
<relativePath>../pom.xml</relativePath>
1010
</parent>
1111
<modelVersion>4.0.0</modelVersion>

openapi-checks/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.apiaddicts.apitools.dosonarapi</groupId>
77
<artifactId>dosonarapi</artifactId>
8-
<version>1.0.4</version>
8+
<version>1.0.5</version>
99
<relativePath>../pom.xml</relativePath>
1010
</parent>
1111

openapi-front-end/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.apiaddicts.apitools.dosonarapi</groupId>
77
<artifactId>dosonarapi</artifactId>
8-
<version>1.0.4</version>
8+
<version>1.0.5</version>
99
<relativePath>../pom.xml</relativePath>
1010
</parent>
1111

openapi-test-tools/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.apiaddicts.apitools.dosonarapi</groupId>
77
<artifactId>dosonarapi</artifactId>
8-
<version>1.0.4</version>
8+
<version>1.0.5</version>
99
<relativePath>../pom.xml</relativePath>
1010
</parent>
1111

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<groupId>org.apiaddicts.apitools.dosonarapi</groupId>
1111
<artifactId>dosonarapi</artifactId>
12-
<version>1.0.4</version>
12+
<version>1.0.5</version>
1313
<packaging>pom</packaging>
1414

1515
<name>SonarOpenAPI</name>

sonar-openapi-plugin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.apiaddicts.apitools.dosonarapi</groupId>
77
<artifactId>dosonarapi</artifactId>
8-
<version>1.0.4</version>
8+
<version>1.0.5</version>
99
<relativePath>../pom.xml</relativePath>
1010
</parent>
1111

sonar-openapi-plugin/src/main/java/org/apiaddicts/apitools/dosonarapi/plugin/OpenApiAnalyzer.java

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,9 @@ public class OpenApiAnalyzer {
6060
private final SensorContext context;
6161
private final List<InputFile> inputFiles;
6262
private final OpenApiChecks checks;
63-
private final YamlParser v2parser;
64-
private final YamlParser v3parser;
65-
private final YamlParser genericParser;
6663
private final NoSonarFilter noSonarFilter;
6764
private final OpenApiCpdAnalyzer cpdAnalyzer;
65+
private final OpenApiConfiguration configuration;
6866
private FileLinesContextFactory fileLinesContextFactory;
6967

7068
public OpenApiAnalyzer(SensorContext context, OpenApiChecks checks, FileLinesContextFactory fileLinesContextFactory, NoSonarFilter noSonarFilter, List<InputFile> inputFiles/*, boolean isv2*/) {
@@ -74,10 +72,7 @@ public OpenApiAnalyzer(SensorContext context, OpenApiChecks checks, FileLinesCon
7472
this.noSonarFilter = noSonarFilter;
7573
this.cpdAnalyzer = new OpenApiCpdAnalyzer(context);
7674
this.inputFiles = inputFiles;
77-
OpenApiConfiguration configuration = new OpenApiConfiguration(context.fileSystem().encoding(), true);
78-
this.v2parser = OpenApiParser.createV2(configuration);
79-
this.v3parser = OpenApiParser.createV3(configuration);
80-
this.genericParser = OpenApiParser.createGeneric(configuration);
75+
this.configuration = new OpenApiConfiguration(context.fileSystem().encoding(), true);
8176
}
8277

8378
private static NewIssueLocation newLocation(InputFile inputFile, NewIssue issue, IssueLocation location) {
@@ -122,12 +117,12 @@ private void scanFile(InputFile inputFile) {
122117
try {
123118
String content = getContent(inputFile);
124119
if (!content.contains("swagger") && !content.contains("openapi")) return;
125-
JsonNode rootNode = genericParser.parse(content);
120+
JsonNode rootNode = OpenApiParser.createGeneric(configuration).parse(content);
126121
boolean isV2 = !rootNode.at("/swagger").isMissing();
127122
boolean isV3 = !rootNode.at("/openapi").isMissing();
128123
YamlParser targetParser = null;
129-
if (isV2) targetParser = v2parser;
130-
if (isV3) targetParser = v3parser;
124+
if (isV2) targetParser = OpenApiParser.createV2(configuration);
125+
if (isV3) targetParser = OpenApiParser.createV3(configuration);
131126
if (targetParser == null) return;
132127

133128
visitorContext = new OpenApiVisitorContext(targetParser.parse(content), targetParser.getIssues(), openApiFile);
@@ -138,12 +133,10 @@ private void scanFile(InputFile inputFile) {
138133
for (ValidationException cause : e.getCauses()) {
139134
dumpException(cause, inputFile);
140135
}
141-
142136
} catch (RecognitionException e) {
143137
visitorContext = new OpenApiVisitorContext(openApiFile, e);
144138
LOG.error("Unable to parse file in recognition: " + inputFile.filename() + "\"\n" + e.getMessage());
145139
dumpException(e, inputFile);
146-
147140
} catch (IOException ex) {
148141
RecognitionException re = new RecognitionException(0, ex.getMessage());
149142
visitorContext = new OpenApiVisitorContext(openApiFile, re);

0 commit comments

Comments
 (0)