Skip to content

Commit d738c9a

Browse files
author
Aldo Torres
committed
handle patterns in rule
1 parent de43d3a commit d738c9a

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/main/java/apiaddicts/sonar/openapi/checks/operations/OAR017ResourcePathCheck.java

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

3+
import apiaddicts.sonar.openapi.checks.BaseCheck;
34
import com.google.common.collect.ImmutableSet;
45
import com.sonar.sslr.api.AstNodeType;
5-
import org.sonar.check.Rule;
6+
import java.util.Arrays;
7+
import java.util.HashSet;
8+
import java.util.Set;
9+
import java.util.stream.Stream;
610
import org.apiaddicts.apitools.dosonarapi.api.v2.OpenApi2Grammar;
711
import org.apiaddicts.apitools.dosonarapi.api.v3.OpenApi3Grammar;
812
import org.apiaddicts.apitools.dosonarapi.api.v31.OpenApi31Grammar;
9-
import apiaddicts.sonar.openapi.checks.BaseCheck;
1013
import org.apiaddicts.apitools.dosonarapi.sslr.yaml.grammar.JsonNode;
11-
12-
import java.util.Set;
13-
import java.util.stream.Stream;
14+
import org.sonar.check.Rule;
1415

1516
@Rule(key = OAR017ResourcePathCheck.KEY)
1617
public class OAR017ResourcePathCheck extends BaseCheck {
1718

1819
public static final String KEY = "OAR017";
1920
private static final String MESSAGE = "OAR017.error";
21+
public static final Set<String> EXCLUDE_PATTERNS = new HashSet<>(Arrays.asList("get", "me", "search"));
2022

2123
@Override
2224
public Set<AstNodeType> subscribedKinds() {
@@ -43,6 +45,10 @@ private boolean isCorrect(String path) {
4345
for (int i = 0; i < parts.length; i++) {
4446
boolean currentIsVariable = isVariable(parts[i]);
4547

48+
if(!currentIsVariable && EXCLUDE_PATTERNS.contains(parts[i])){
49+
twoOrMoreVariablesInARow = false;
50+
}
51+
4652
if (previousWasVariable && currentIsVariable) {
4753
twoOrMoreVariablesInARow = true;
4854
break;

0 commit comments

Comments
 (0)