From aeadc1f9129274949daaa57738c7c4550bdfbc7b Mon Sep 17 00:00:00 2001 From: simonbrandhof Date: Mon, 6 Sep 2010 14:08:06 +0000 Subject: SONAR-236 remove deprecated code from checkstyle plugin + display default value of rule parameters in Q profile console --- .../integration/pmd-extensions/pmd-extensions.xml | 17 ++++++++ tests/integration/pmd-extensions/pom.xml | 34 +++++++++++++++ .../org/sonar/it/pmd/MaximumMethodsCountCheck.java | 25 +++++++++++ .../src/main/resources/rulesets/extensions.xml | 51 ++++++++++++++++++++++ 4 files changed, 127 insertions(+) create mode 100644 tests/integration/pmd-extensions/pmd-extensions.xml create mode 100644 tests/integration/pmd-extensions/pom.xml create mode 100644 tests/integration/pmd-extensions/src/main/java/org/sonar/it/pmd/MaximumMethodsCountCheck.java create mode 100644 tests/integration/pmd-extensions/src/main/resources/rulesets/extensions.xml (limited to 'tests/integration/pmd-extensions') diff --git a/tests/integration/pmd-extensions/pmd-extensions.xml b/tests/integration/pmd-extensions/pmd-extensions.xml new file mode 100644 index 00000000000..abafbd45832 --- /dev/null +++ b/tests/integration/pmd-extensions/pmd-extensions.xml @@ -0,0 +1,17 @@ + + + Maximum Methods Count Check + rulesets/extensions.xml/MaximumMethodsCountCheck + + Maximum number of methods authorised + + Maximum number of methods authorised. Default is 2. + + + + Avoid if without using brace + rulesets/extensions.xml/AvoidIfWithoutBrace + + éviter les if sans crochet. + + \ No newline at end of file diff --git a/tests/integration/pmd-extensions/pom.xml b/tests/integration/pmd-extensions/pom.xml new file mode 100644 index 00000000000..a306799c4f7 --- /dev/null +++ b/tests/integration/pmd-extensions/pom.xml @@ -0,0 +1,34 @@ + + + 4.0.0 + + org.codehaus.sonar.tests + integration + 2.3-SNAPSHOT + + + pmd-extensions + Sonar :: Integration Tests :: PMD Extensions + Samples of PMD extensions + + + + pmd + pmd + 4.1 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + + + + + \ No newline at end of file diff --git a/tests/integration/pmd-extensions/src/main/java/org/sonar/it/pmd/MaximumMethodsCountCheck.java b/tests/integration/pmd-extensions/src/main/java/org/sonar/it/pmd/MaximumMethodsCountCheck.java new file mode 100644 index 00000000000..2d8abb00f49 --- /dev/null +++ b/tests/integration/pmd-extensions/src/main/java/org/sonar/it/pmd/MaximumMethodsCountCheck.java @@ -0,0 +1,25 @@ +package org.sonar.it.pmd; + +import java.util.ArrayList; +import java.util.List; +import net.sourceforge.pmd.AbstractRule; +import net.sourceforge.pmd.ast.ASTClassOrInterfaceBody; +import net.sourceforge.pmd.ast.ASTMethodDeclaration; +import net.sourceforge.pmd.properties.IntegerProperty; + +public class MaximumMethodsCountCheck extends AbstractRule { + + private static final IntegerProperty propertyDescriptor = new IntegerProperty( + "maxAuthorisedMethodsCount", "Maximum number of methods authorised", 2, 1.0f); + + public Object visit(ASTClassOrInterfaceBody node, Object data) { + List methods = new ArrayList(); + methods = (List)node.findChildrenOfType(ASTMethodDeclaration.class); + + if (methods.size() > getIntProperty(propertyDescriptor)) { + addViolation(data, node); + } + return super.visit(node,data); + } + +} diff --git a/tests/integration/pmd-extensions/src/main/resources/rulesets/extensions.xml b/tests/integration/pmd-extensions/src/main/resources/rulesets/extensions.xml new file mode 100644 index 00000000000..6997ed4406b --- /dev/null +++ b/tests/integration/pmd-extensions/src/main/resources/rulesets/extensions.xml @@ -0,0 +1,51 @@ + + + + + Avoid too many methods + + 3 + + + + + + + + + + Avoid if without using brace + + + + + + + + + + + + + \ No newline at end of file -- cgit v1.2.3