Skip to content

Commit b12fc37

Browse files
Merge pull request #44 from apiaddicts/fix/43/parameters_in_some_resources
Adding validation to don't show errors when the resource has and {id}
2 parents de43d3a + 22fa64c commit b12fc37

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

src/main/java/apiaddicts/sonar/openapi/checks/parameters/OAR025LimitParameterCheck.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,19 @@
11
package apiaddicts.sonar.openapi.checks.parameters;
22

3+
import apiaddicts.sonar.openapi.checks.BaseCheck;
4+
import com.google.common.collect.ImmutableSet;
5+
import com.sonar.sslr.api.AstNode;
6+
import com.sonar.sslr.api.AstNodeType;
7+
import java.util.Arrays;
8+
import java.util.HashSet;
39
import java.util.Set;
410
import java.util.stream.Collectors;
5-
611
import org.apiaddicts.apitools.dosonarapi.api.v2.OpenApi2Grammar;
712
import org.apiaddicts.apitools.dosonarapi.api.v3.OpenApi3Grammar;
813
import org.apiaddicts.apitools.dosonarapi.api.v31.OpenApi31Grammar;
914
import org.apiaddicts.apitools.dosonarapi.sslr.yaml.grammar.JsonNode;
1015
import org.sonar.check.Rule;
1116
import org.sonar.check.RuleProperty;
12-
import apiaddicts.sonar.openapi.checks.BaseCheck;
13-
14-
import com.google.common.collect.ImmutableSet;
15-
import com.sonar.sslr.api.AstNode;
16-
import com.sonar.sslr.api.AstNodeType;
17-
18-
import java.util.Arrays;
19-
import java.util.HashSet;
2017

2118
@Rule(key = OAR025LimitParameterCheck.KEY)
2219
public class OAR025LimitParameterCheck extends BaseCheck {
@@ -71,7 +68,7 @@ public void visitNode(JsonNode node) {
7168

7269
boolean hasParameter = hasParameterInNode(node);
7370

74-
if (shouldIncludePath(path) && !hasParameter) {
71+
if (shouldIncludePath(path) && !hasParameter && !isSingleResourcePath(path)) {
7572
addIssue(KEY, translate(MESSAGE, PARAM_NAME), node.key());
7673
}
7774
}
@@ -170,4 +167,8 @@ private JsonNode resolveReference(String refValue, JsonNode root) {
170167

171168
return currentNode;
172169
}
170+
171+
private boolean isSingleResourcePath(String path) {
172+
return path.matches(".*/\\{[^/]+\\}$");
173+
}
173174
}

0 commit comments

Comments
 (0)