{"action":"closed","issue":{"url":"https://api.github.com/repos/teamed/qulice/issues/418","labels_url":"https://api.github.com/repos/teamed/qulice/issues/418/labels{/name}","comments_url":"https://api.github.com/repos/teamed/qulice/issues/418/comments","events_url":"https://api.github.com/repos/teamed/qulice/issues/418/events","html_url":"https://github.com/teamed/qulice/issues/418","id":65507814,"number":418,"title":"PMD upgrade, rule UseIndexOfCharversion in version 5.1.1 cause NPE","user":{"login":"knieszporek","id":1110331,"avatar_url":"https://avatars.githubusercontent.com/u/1110331?v=3","gravatar_id":"","url":"https://api.github.com/users/knieszporek","html_url":"https://github.com/knieszporek","followers_url":"https://api.github.com/users/knieszporek/followers","following_url":"https://api.github.com/users/knieszporek/following{/other_user}","gists_url":"https://api.github.com/users/knieszporek/gists{/gist_id}","starred_url":"https://api.github.com/users/knieszporek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/knieszporek/subscriptions","organizations_url":"https://api.github.com/users/knieszporek/orgs","repos_url":"https://api.github.com/users/knieszporek/repos","events_url":"https://api.github.com/users/knieszporek/events{/privacy}","received_events_url":"https://api.github.com/users/knieszporek/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-03-31T17:47:09Z","updated_at":"2015-06-25T23:53:04Z","closed_at":"2015-06-25T23:53:04Z","body":"Hi,\r\n\r\nI use qulice-maven-plugin version 0.12.1 at java 8 project and I notice problem with PMD UseIndexOfCharversion rule. Upgrade PMD version should fix it.\r\n\r\nPMD bug was reported [here](http://sourceforge.net/p/pmd/bugs/1211/)\r\n\r\n```\r\nWARNING: Exception applying rule UseIndexOfChar, continuing with next rule\r\njava.lang.NullPointerException\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractPoorMethodCall.visit(AbstractPoorMethodCall.java:87)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTVariableDeclaratorId.jjtAccept(ASTVariableDeclaratorId.java:30)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:518)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTLambdaExpression.jjtAccept(ASTLambdaExpression.java:21)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:374)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTPrimaryPrefix.jjtAccept(ASTPrimaryPrefix.java:40)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:370)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTPrimaryExpression.jjtAccept(ASTPrimaryExpression.java:22)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:290)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTExpression.jjtAccept(ASTExpression.java:22)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:398)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTArgumentList.jjtAccept(ASTArgumentList.java:22)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:394)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTArguments.jjtAccept(ASTArguments.java:29)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:378)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTPrimarySuffix.jjtAccept(ASTPrimarySuffix.java:55)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:370)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTPrimaryExpression.jjtAccept(ASTPrimaryExpression.java:22)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:434)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTStatementExpression.jjtAccept(ASTStatementExpression.java:22)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:410)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTStatement.jjtAccept(ASTStatement.java:22)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:422)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTBlockStatement.jjtAccept(ASTBlockStatement.java:22)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:418)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTBlock.jjtAccept(ASTBlock.java:22)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:242)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTMethodDeclaration.jjtAccept(ASTMethodDeclaration.java:25)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:106)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceBodyDeclaration.jjtAccept(ASTClassOrInterfaceBodyDeclaration.java:41)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:102)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceBody.jjtAccept(ASTClassOrInterfaceBody.java:22)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:78)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceDeclaration.jjtAccept(ASTClassOrInterfaceDeclaration.java:26)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:218)\r\n\tat net.sourceforge.pmd.lang.java.ast.ASTTypeDeclaration.jjtAccept(ASTTypeDeclaration.java:36)\r\n\tat net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:55)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:69)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:198)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visitAll(AbstractJavaRule.java:30)\r\n\tat net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.apply(AbstractJavaRule.java:24)\r\n\tat net.sourceforge.pmd.lang.rule.AbstractDelegateRule.apply(AbstractDelegateRule.java:215)\r\n\tat net.sourceforge.pmd.RuleSet.apply(RuleSet.java:280)\r\n\tat net.sourceforge.pmd.RuleSets.apply(RuleSets.java:125)\r\n\tat net.sourceforge.pmd.SourceCodeProcessor.processSource(SourceCodeProcessor.java:150)\r\n\tat net.sourceforge.pmd.SourceCodeProcessor.processSourceCode(SourceCodeProcessor.java:80)\r\n\tat net.sourceforge.pmd.SourceCodeProcessor.processSourceCode(SourceCodeProcessor.java:47)\r\n\tat net.sourceforge.pmd.processor.PmdRunnable.call(PmdRunnable.java:78)\r\n\tat net.sourceforge.pmd.processor.PmdRunnable.call(PmdRunnable.java:25)\r\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\r\n\tat java.lang.Thread.run(Thread.java:745)\r\n```"}}