Use Set instead of array
This commit is contained in:
@ -37,7 +37,6 @@ import net.sourceforge.pmd.lang.java.symboltable.VariableNameDeclaration;
|
|||||||
import net.sourceforge.pmd.lang.java.types.TypeTestUtil;
|
import net.sourceforge.pmd.lang.java.types.TypeTestUtil;
|
||||||
import net.sourceforge.pmd.lang.symboltable.NameDeclaration;
|
import net.sourceforge.pmd.lang.symboltable.NameDeclaration;
|
||||||
import net.sourceforge.pmd.lang.symboltable.Scope;
|
import net.sourceforge.pmd.lang.symboltable.Scope;
|
||||||
import net.sourceforge.pmd.util.StringUtil;
|
|
||||||
|
|
||||||
public class InvalidLogMessageFormatRule extends AbstractJavaRule {
|
public class InvalidLogMessageFormatRule extends AbstractJavaRule {
|
||||||
|
|
||||||
@ -53,8 +52,10 @@ public class InvalidLogMessageFormatRule extends AbstractJavaRule {
|
|||||||
/**
|
/**
|
||||||
* Whitelisted methods of net.logstash.logback.argument.StructuredArguments
|
* Whitelisted methods of net.logstash.logback.argument.StructuredArguments
|
||||||
*/
|
*/
|
||||||
private static final String[] STRUCTURED_ARGUMENTS_METHODS = {"a", "array", "defer", "e",
|
private static final Set<String> STRUCTURED_ARGUMENTS_METHODS = Collections.unmodifiableSet(new HashSet<>(
|
||||||
"entries", "f", "fields", "keyValue", "kv", "r", "raw", "v", "value"};
|
Arrays.asList("a", "array", "defer", "e",
|
||||||
|
"entries", "f", "fields", "keyValue",
|
||||||
|
"kv", "r", "raw", "v", "value")));
|
||||||
|
|
||||||
static {
|
static {
|
||||||
Map<String, Set<String>> loggersMap = new HashMap<>();
|
Map<String, Set<String>> loggersMap = new HashMap<>();
|
||||||
@ -382,7 +383,7 @@ public class InvalidLogMessageFormatRule extends AbstractJavaRule {
|
|||||||
if (suffix.isArguments() && prefix.getNumChildren() == 1 && prefix.getChild(0) instanceof ASTName) {
|
if (suffix.isArguments() && prefix.getNumChildren() == 1 && prefix.getChild(0) instanceof ASTName) {
|
||||||
ASTName name = (ASTName) prefix.getChild(0);
|
ASTName name = (ASTName) prefix.getChild(0);
|
||||||
return name.getImage().startsWith("StructuredArguments.")
|
return name.getImage().startsWith("StructuredArguments.")
|
||||||
|| StringUtil.isAnyOf(name.getImage(), STRUCTURED_ARGUMENTS_METHODS);
|
|| STRUCTURED_ARGUMENTS_METHODS.contains(name.getImage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user