# CodeNarc Report

Report title: | Grails-core-2.0.0.RC1
Date: | Mar 23, 2012 5:46:27 PM
Generated with: | CodeNarc v0.17

## Summary by Package

Package | Total Files | Files with Violations | Priority 1 | Priority 2 | Priority 3
--- | --- | --- | --- | --- | ---
All Packages | 933 | 475 | - | 839 | 1722
buildSrc/src/main/groovy/org/grails/gradle | 1 | 1 | - | - | 2
grails-bootstrap/src/main/groovy/grails/build/interactive/completors | 14 | 8 | - | 1 | 8
grails-bootstrap/src/main/groovy/grails/util | 4 | 3 | - | 6 | 49
grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli | 1 | - | - | - | -
grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/interactive | 2 | 1 | - | 3 | 6
grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/interactive/completors | 1 | 1 | - | 1 | -
grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/support | 1 | - | - | - | -
grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins | 3 | 3 | - | 25 | 51
grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/build/scopes | 1 | - | - | - | -
grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve | 5 | 5 | - | 6 | 26
grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/config | 3 | 1 | - | - | 2
grails-core/src/main/groovy/grails/validation | 2 | - | - | - | -
grails-core/src/main/groovy/org/codehaus/groovy/grails/commons/cfg | 2 | 2 | - | - | 10
grails-core/src/main/groovy/org/codehaus/groovy/grails/commons/metaclass | 2 | 1 | - | - | 1
grails-core/src/main/groovy/org/codehaus/groovy/grails/compiler | 2 | 2 | - | 1 | 7
grails-core/src/main/groovy/org/codehaus/groovy/grails/documentation | 1 | - | - | - | -
grails-core/src/main/groovy/org/codehaus/groovy/grails/exceptions | 2 | 1 | - | 7 | 14
grails-core/src/main/groovy/org/codehaus/groovy/grails/plugins | 2 | 1 | - | - | 3
grails-core/src/main/groovy/org/codehaus/groovy/grails/plugins/publishing | 3 | 3 | - | 5 | 3
grails-core/src/main/groovy/org/codehaus/groovy/grails/plugins/support | 2 | 2 | - | 1 | 1
grails-core/src/main/groovy/org/codehaus/groovy/grails/support | 1 | - | - | - | -
grails-core/src/main/groovy/org/codehaus/groovy/grails/validation | 1 | - | - | - | -
grails-crud/src/main/groovy/org/codehaus/groovy/grails/scaffolding | 1 | 1 | - | 4 | 4
grails-docs/src/main/groovy/grails/doc | 4 | 3 | - | 12 | 7
grails-docs/src/main/groovy/grails/doc/ant | 1 | - | - | - | -
grails-docs/src/main/groovy/grails/doc/filters | 3 | 2 | - | 2 | 9
grails-docs/src/main/groovy/grails/doc/gradle | 3 | 1 | - | - | 6
grails-docs/src/main/groovy/grails/doc/internal | 4 | - | - | - | -
grails-docs/src/main/groovy/grails/doc/macros | 2 | 1 | - | 1 | -
grails-docs/src/test/groovy/grails/doc/internal | 1 | - | - | - | -
grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate | 2 | 2 | - | 2 | 7
grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/cfg | 12 | 3 | - | 3 | 11
grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/plugins/orm/hibernate | 1 | 1 | - | 7 | 11
grails-plugin-async/src/main/groovy/org/codehaus/groovy/grails/plugins/web/async | 2 | 2 | - | - | 7
grails-plugin-async/src/main/groovy/org/codehaus/groovy/grails/plugins/web/async/api | 1 | 1 | - | 1 | -
grails-plugin-codecs/src/main/groovy/org/codehaus/groovy/grails/plugins | 1 | 1 | - | - | 3
grails-plugin-codecs/src/main/groovy/org/codehaus/groovy/grails/plugins/codecs | 11 | 4 | - | - | 10
grails-plugin-codecs/src/test/groovy/org/codehaus/groovy/grails/web/codecs | 11 | 3 | - | 3 | 2
grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/plugins/web | 1 | 1 | - | 3 | 10
grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/web/metaclass | 3 | 2 | - | 3 | 6
grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/web/plugins/support | 1 | 1 | - | 2 | 10
grails-plugin-converters/src/main/groovy/grails/web | 1 | - | - | - | -
grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/plugins/converters | 2 | 2 | - | 1 | 3
grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/plugins/converters/api | 1 | - | - | - | -
grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/plugins/converters/codecs | 2 | - | - | - | -
grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/web/converters | 3 | 2 | - | - | 2
grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/web/converters/configuration | 1 | 1 | - | - | 5
grails-plugin-datasource/src/main/groovy/org/codehaus/groovy/grails/plugins/datasource | 1 | 1 | - | 3 | 6
grails-plugin-domain-class/src/main/groovy/org/codehaus/groovy/grails/domain | 1 | 1 | - | - | 1
grails-plugin-domain-class/src/main/groovy/org/codehaus/groovy/grails/plugins | 2 | 2 | - | 2 | 13
grails-plugin-filters/src/main/groovy/org/codehaus/groovy/grails/plugins/web/filters | 6 | 3 | - | 6 | 6
grails-plugin-gsp/src/main/groovy/org/codehaus/groovy/grails/plugins/web | 1 | 1 | - | 2 | 14
grails-plugin-gsp/src/main/groovy/org/codehaus/groovy/grails/plugins/web/taglib | 9 | 8 | - | 10 | 48
grails-plugin-gsp/src/main/groovy/org/codehaus/groovy/grails/web/filters | 1 | - | - | - | -
grails-plugin-i18n/src/main/groovy/org/codehaus/groovy/grails/plugins/i18n | 1 | 1 | - | - | 1
grails-plugin-log4j/src/main/groovy/org/codehaus/groovy/grails/plugins/log4j | 2 | 2 | - | - | 10
grails-plugin-mimetypes/src/main/groovy/org/codehaus/groovy/grails/plugins/web/api | 4 | 3 | - | 2 | 5
grails-plugin-mimetypes/src/main/groovy/org/codehaus/groovy/grails/plugins/web/mimes | 3 | 1 | - | - | 1
grails-plugin-mimetypes/src/main/groovy/org/codehaus/groovy/grails/web/mime | 2 | 1 | - | 1 | 2
grails-plugin-scaffolding/src/main/groovy/org/codehaus/groovy/grails/plugins/scaffolding | 1 | 1 | - | 1 | 2
grails-plugin-services/src/main/groovy/org/codehaus/groovy/grails/plugins/services | 1 | 1 | - | - | 3
grails-plugin-servlets/src/main/groovy/org/codehaus/groovy/grails/plugins/web | 2 | 1 | - | - | 1
grails-plugin-servlets/src/main/groovy/org/codehaus/groovy/grails/plugins/web/api | 1 | - | - | - | -
grails-plugin-testing/src/main/groovy/grails/test | 7 | 6 | - | 23 | 10
grails-plugin-testing/src/main/groovy/grails/test/mixin/domain | 1 | 1 | - | - | 1
grails-plugin-testing/src/main/groovy/grails/test/mixin/services | 1 | - | - | - | -
grails-plugin-testing/src/main/groovy/grails/test/mixin/support | 1 | 1 | - | - | 6
grails-plugin-testing/src/main/groovy/grails/test/mixin/web | 4 | 4 | - | 1 | 20
grails-plugin-testing/src/main/groovy/grails/test/mixin/webflow | 2 | - | - | - | -
grails-plugin-testing/src/test/groovy/grails/test/mixin | 4 | - | - | - | -
grails-plugin-tomcat/src/main/groovy/org/grails/plugins/tomcat | 5 | 4 | - | 10 | 11
grails-plugin-url-mappings/src/main/groovy/grails/test | 1 | 1 | - | 17 | 13
grails-plugin-url-mappings/src/main/groovy/org/codehaus/groovy/grails/plugins/web/mapping | 1 | 1 | - | 2 | 16
grails-plugin-url-mappings/src/main/groovy/org/codehaus/groovy/grails/web/mapping | 1 | - | - | - | -
grails-plugin-validation/src/main/groovy/org/codehaus/groovy/grails/plugins | 1 | 1 | - | 1 | 6
grails-plugin-validation/src/main/groovy/org/codehaus/groovy/grails/validation | 1 | - | - | - | -
grails-plugin-validation/src/main/groovy/org/codehaus/groovy/grails/web/plugins/support | 1 | - | - | - | -
grails-plugin-validation/src/test/groovy/org/codehaus/groovy/grails/plugins | 1 | 1 | - | - | 2
grails-resources/src/grails/grails-app/conf | 6 | - | - | - | -
grails-resources/src/grails/grails-app/conf/spring | 1 | - | - | - | -
grails-resources/src/grails/plugin/grails-app/conf | 2 | - | - | - | -
grails-spring/src/main/groovy/grails/spring | 1 | 1 | - | 1 | 6
grails-test-suite-base/src/main/groovy/org/codehaus/groovy/grails/plugins/web | 1 | 1 | - | 1 | 2
grails-test-suite-base/src/main/groovy/org/codehaus/groovy/grails/web/servlet/mvc | 1 | 1 | - | 3 | 5
grails-test-suite-base/src/main/groovy/org/codehaus/groovy/grails/web/taglib | 1 | 1 | - | 18 | 5
grails-test-suite-persistence/src/test/groovy/grails/test/mixin/domain | 1 | - | - | - | -
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate | 216 | 90 | - | 115 | 199
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/binding | 4 | 2 | - | 2 | 3
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/cfg | 6 | 4 | - | 10 | 32
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/metaclass | 1 | 1 | - | 2 | 2
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/support | 2 | 2 | - | - | 25
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/validation | 8 | 1 | - | 2 | 28
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/support | 1 | 1 | - | - | 1
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/plugins | 1 | 1 | - | 2 | -
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/plugins/scaffolding | 1 | 1 | - | - | 2
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/plugins/services | 2 | 2 | - | 1 | 2
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/reload | 2 | 1 | - | 1 | -
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/scaffolding | 2 | 2 | - | 2 | 4
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/scaffolding/view | 2 | 2 | - | 2 | 2
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/validation | 3 | 1 | - | - | 1
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/web/binding | 3 | 2 | - | 2 | 2
grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/web/converters | 1 | 1 | - | 2 | -
grails-test-suite-uber/src/test/groovy/grails/ant | 1 | 1 | - | 2 | -
grails-test-suite-uber/src/test/groovy/grails/persistence | 1 | - | - | - | -
grails-test-suite-uber/src/test/groovy/grails/spring | 2 | 1 | - | 10 | 21
grails-test-suite-uber/src/test/groovy/grails/test | 11 | 10 | - | 48 | 27
grails-test-suite-uber/src/test/groovy/grails/test/mixin | 19 | 13 | - | 19 | 43
grails-test-suite-uber/src/test/groovy/grails/util | 7 | 5 | - | 9 | 40
grails-test-suite-uber/src/test/groovy/grails/web | 1 | - | - | - | -
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/cli | 2 | 1 | - | 2 | 4
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/cli/support | 2 | 2 | - | 1 | 8
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/commons | 11 | 6 | - | 16 | 26
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/commons/cfg | 3 | - | - | - | -
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/commons/metaclass | 4 | 3 | - | 11 | 5
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/compiler | 1 | 1 | - | - | 4
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/compiler/injection | 1 | 1 | - | - | 2
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/context/support | 1 | 1 | - | 3 | 2
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/documentation | 1 | 1 | - | - | 2
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/domain | 8 | - | - | - | -
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins | 7 | 6 | - | 11 | 10
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/datasource | 1 | - | - | - | -
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/grails-app/conf | 2 | - | - | - | -
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/grails-app/services | 1 | - | - | - | -
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/i18n | 1 | 1 | - | - | 5
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging | 1 | 1 | - | 1 | 5
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/metadata | 1 | - | - | - | -
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/publishing | 1 | 1 | - | 2 | -
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/testing | 3 | - | - | - | -
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/web | 3 | 3 | - | 6 | 9
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/web/mapping | 1 | 1 | - | 1 | -
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/reload | 2 | 1 | - | 3 | 1
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/resolve | 2 | 1 | - | 9 | 14
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/test/support | 2 | - | - | - | -
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/validation | 6 | 3 | - | 4 | 164
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/context | 1 | 1 | - | 2 | 3
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/errors | 1 | 1 | - | 2 | 1
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/filters | 1 | 1 | - | - | 3
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/i18n | 1 | 1 | - | 1 | 12
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/json | 1 | 1 | - | - | 1
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/metaclass | 3 | 1 | - | 3 | 1
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/servlet | 6 | 5 | - | 7 | 11
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/servlet/filter | 1 | 1 | - | 1 | -
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/servlet/mvc | 14 | 7 | - | 6 | 23
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/sitemesh | 3 | 2 | - | 14 | 2
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/util | 4 | 2 | - | 4 | 7
grails-test-suite-uber/src/test/resources/grails/spring | 1 | - | - | - | -
grails-test-suite-uber/src/test/resources/org/codehaus/groovy/grails/commons | 1 | - | - | - | -
grails-test-suite-uber/src/test/resources/org/codehaus/groovy/grails/commons/cfg | 2 | - | - | - | -
grails-test-suite-uber/src/test/resources/org/codehaus/groovy/grails/plugins | 1 | 1 | - | 3 | -
grails-test-suite-uber/test/resources/grails-app/conf | 1 | - | - | - | -
grails-test-suite-uber/test/resources/grails-plugin-utils/global-plugins/logging-0.1 | 1 | - | - | - | -
grails-test-suite-uber/test/resources/grails-plugin-utils/global-plugins/logging-0.1/scripts | 2 | - | - | - | -
grails-test-suite-uber/test/resources/grails-plugin-utils/grails-debug/scripts | 1 | - | - | - | -
grails-test-suite-uber/test/resources/grails-plugin-utils/plugins/jsecurity-0.3 | 1 | - | - | - | -
grails-test-suite-uber/test/resources/grails-plugin-utils/plugins/jsecurity-0.3/scripts | 2 | - | - | - | -
grails-test-suite-uber/test/resources/spring | 1 | - | - | - | -
grails-test-suite-uber/test/test-projects/inline-plugins/app/grails-app/conf | 1 | - | - | - | -
grails-test-suite-uber/test/test-projects/inline-plugins/plugins/foo | 1 | - | - | - | -
grails-test-suite-uber/test/test-projects/inline-plugins/plugins/foo/grails-app/controllers/foo | 1 | - | - | - | -
grails-test-suite-uber/test/test-projects/inline-plugins/plugins/foobar | 1 | - | - | - | -
grails-test-suite-uber/test/test-projects/inline-plugins/plugins/foobar/grails-app/controllers/foobar | 1 | - | - | - | -
grails-test-suite-uber/test/test-projects/nested-inline-plugins/app/grails-app/conf | 1 | - | - | - | -
grails-test-suite-uber/test/test-projects/nested-inline-plugins/plugins/plugin-one | 1 | - | - | - | -
grails-test-suite-uber/test/test-projects/nested-inline-plugins/plugins/plugin-one/grails-app/conf | 1 | - | - | - | -
grails-test-suite-uber/test/test-projects/nested-inline-plugins/plugins/plugin-two | 1 | - | - | - | -
grails-test-suite-uber/test/test-projects/plugin-build-settings/grails-app/conf | 5 | - | - | - | -
grails-test-suite-uber/test/test-projects/plugin-build-settings/grails-app/conf/spring | 1 | - | - | - | -
grails-test-suite-uber/test/test-projects/plugin-build-settings/plugins/hibernate-1.2-SNAPSHOT | 2 | - | - | - | -
grails-test-suite-uber/test/test-projects/plugin-build-settings/plugins/hibernate-1.2-SNAPSHOT/scripts | 3 | - | - | - | -
grails-test-suite-uber/test/test-projects/plugin-build-settings/plugins/webflow-1.2-SNAPSHOT | 2 | - | - | - | -
grails-test-suite-uber/test/test-projects/plugin-build-settings/plugins/webflow-1.2-SNAPSHOT/scripts | 3 | - | - | - | -
grails-test-suite-web/src/test/groovy/grails/test | 1 | 1 | - | 43 | 8
grails-test-suite-web/src/test/groovy/grails/test/mixin | 2 | 2 | - | 1 | 1
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/plugins/web | 1 | - | - | - | -
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/plugins/web/filters | 5 | 1 | - | 2 | 3
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/plugins/webflow | 2 | 1 | - | - | 1
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/binding | 14 | 3 | - | 4 | 2
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/converters | 7 | 3 | - | 3 | 5
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/filters | 1 | 1 | - | - | 4
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/mapping | 22 | 14 | - | 5 | 32
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/mapping/filter | 2 | 1 | - | - | 3
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/mime | 2 | 1 | - | 2 | -
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/pages | 17 | 9 | - | 18 | 9
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/pages/ext/jsp | 9 | 9 | - | 8 | 33
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/servlet/view | 1 | 1 | - | 1 | 1
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/taglib | 39 | 26 | - | 58 | 73
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/webflow | 5 | 5 | - | 6 | 15
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/webflow/engine/builder | 8 | 8 | - | 12 | 9
grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/webflow/support | 1 | 1 | - | 6 | 10
grails-test/src/main/groovy/grails/test | 1 | 1 | - | - | 1
grails-test/src/main/groovy/org/codehaus/groovy/grails/plugins/testing | 4 | 3 | - | 3 | 19
grails-test/src/main/groovy/org/codehaus/groovy/grails/test | 3 | 1 | - | - | 2
grails-test/src/main/groovy/org/codehaus/groovy/grails/test/event | 2 | 1 | - | 4 | -
grails-test/src/main/groovy/org/codehaus/groovy/grails/test/io | 2 | - | - | - | -
grails-test/src/main/groovy/org/codehaus/groovy/grails/test/junit4 | 1 | 1 | - | - | 2
grails-test/src/main/groovy/org/codehaus/groovy/grails/test/junit4/listener | 2 | 1 | - | 5 | 1
grails-test/src/main/groovy/org/codehaus/groovy/grails/test/junit4/result | 1 | - | - | - | -
grails-test/src/main/groovy/org/codehaus/groovy/grails/test/junit4/runner | 3 | 1 | - | - | 2
grails-test/src/main/groovy/org/codehaus/groovy/grails/test/report/junit | 1 | - | - | - | -
grails-test/src/main/groovy/org/codehaus/groovy/grails/test/support | 7 | 3 | - | 1 | 7
grails-web/src/jsp21/groovy/org/codehaus/groovy/grails/web/pages/ext/jsp | 2 | 2 | - | - | 6
grails-web/src/main/groovy/grails/gsp | 1 | 1 | - | 49 | 11
grails-web/src/main/groovy/org/codehaus/groovy/grails/web/errors | 1 | - | - | - | -
grails-web/src/main/groovy/org/codehaus/groovy/grails/web/i18n | 1 | - | - | - | -
grails-web/src/main/groovy/org/codehaus/groovy/grails/web/mapping | 2 | 2 | - | 2 | 8
grails-web/src/main/groovy/org/codehaus/groovy/grails/web/mime | 1 | 1 | - | - | 1
grails-web/src/main/groovy/org/codehaus/groovy/grails/web/pages | 3 | 3 | - | - | 8
grails-web/src/main/groovy/org/codehaus/groovy/grails/web/pages/ext/jsp | 7 | 6 | - | 20 | 24
grails-web/src/main/groovy/org/codehaus/groovy/grails/web/servlet/mvc | 1 | - | - | - | -
grails-web/src/main/groovy/org/codehaus/groovy/grails/web/servlet/mvc/exceptions | 1 | - | - | - | -
grails-web/src/main/groovy/org/codehaus/groovy/grails/web/taglib | 2 | 2 | - | 1 | 3
grails-web/src/main/groovy/org/codehaus/groovy/grails/web/util | 1 | 1 | - | - | 1
grails-webflow/src/main/groovy/grails/test | 1 | 1 | - | 4 | 7
grails-webflow/src/main/groovy/org/codehaus/groovy/grails/webflow | 1 | 1 | - | - | 21
grails-webflow/src/main/groovy/org/codehaus/groovy/grails/webflow/context/servlet | 1 | 1 | - | - | 4
grails-webflow/src/main/groovy/org/codehaus/groovy/grails/webflow/engine/builder | 13 | 9 | - | 16 | 33
scripts | 73 | 24 | - | 17 | 81

## Package: buildSrc.src.main.groovy.org.grails.gradle

### ➥ GrailsBuildPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 10 | [SRC]import org.gradle.api.DefaultTask [MSG]The [org.gradle.api.DefaultTask] import is never referenced
UnusedImport | 3 | 12 | [SRC]import org.gradle.api.specs.Specs [MSG]The [org.gradle.api.specs.Specs] import is never referenced

## Package: grails-bootstrap.src.main.groovy.grails.build.interactive.completors

### ➥ CreateController.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 31 | [SRC]GrailsResourceUtils.isDomainClass(res.getURL()) [MSG]Violation in class grails.build.interactive.completors.CreateController. getURL() can probably be rewritten as URL

### ➥ CreateScaffoldController.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 31 | [SRC]GrailsResourceUtils.isDomainClass(res.getURL()) [MSG]Violation in class grails.build.interactive.completors.CreateScaffoldController. getURL() can probably be rewritten as URL

### ➥ CreateService.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 31 | [SRC]GrailsResourceUtils.isDomainClass(res.getURL()) [MSG]Violation in class grails.build.interactive.completors.CreateService. getURL() can probably be rewritten as URL

### ➥ CreateTagLib.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 31 | [SRC]GrailsResourceUtils.isDomainClass(res.getURL()) [MSG]Violation in class grails.build.interactive.completors.CreateTagLib. getURL() can probably be rewritten as URL

### ➥ GenerateAll.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 35 | [SRC]GrailsResourceUtils.isDomainClass(res.getURL()) [MSG]Violation in class grails.build.interactive.completors.GenerateAll. getURL() can probably be rewritten as URL

### ➥ GenerateController.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 35 | [SRC]GrailsResourceUtils.isDomainClass(res.getURL()) [MSG]Violation in class grails.build.interactive.completors.GenerateController. getURL() can probably be rewritten as URL

### ➥ GenerateViews.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 35 | [SRC]GrailsResourceUtils.isDomainClass(res.getURL()) [MSG]Violation in class grails.build.interactive.completors.GenerateViews. getURL() can probably be rewritten as URL

### ➥ RegexCompletor.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 34 | [SRC]int complete(String buffer, int cursor, List candidates) { [MSG]Violation in class RegexCompletor. Method parameter [cursor] is never referenced in the method complete of class grails.build.interactive.completors.RegexCompletor
UnnecessaryElseStatement | 3 | 39 | [SRC]else return -1 [MSG]When an if statement block ends with a return statement the else is unnecessary

## Package: grails-bootstrap.src.main.groovy.grails.util

### ➥ BuildSettings.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 | 1003 | [SRC]protected void postLoadConfig() { [MSG]Violation in class grails.util.BuildSettings. The cyclomatic complexity for method [postLoadConfig] is [21]
CyclomaticComplexity | 2 | 1316 | [SRC]private void establishProjectStructure() { [MSG]Violation in class grails.util.BuildSettings. The cyclomatic complexity for method [establishProjectStructure] is [25]
UnnecessaryElseStatement | 3 | 488 | [SRC]else { [MSG]When an if statement block ends with a return statement the else is unnecessary
UnnecessaryGetter | 3 | 589 | [SRC]getCompileDependencies() [MSG]Violation in class grails.util.BuildSettings. getCompileDependencies() can probably be rewritten as compileDependencies
UnnecessaryGetter | 3 | 603 | [SRC]getProvidedDependencies() [MSG]Violation in class grails.util.BuildSettings. getProvidedDependencies() can probably be rewritten as providedDependencies
UnnecessaryGetter | 3 | 616 | [SRC]getRuntimeDependencies() [MSG]Violation in class grails.util.BuildSettings. getRuntimeDependencies() can probably be rewritten as runtimeDependencies
UnnecessaryGetter | 3 | 630 | [SRC]getTestDependencies() [MSG]Violation in class grails.util.BuildSettings. getTestDependencies() can probably be rewritten as testDependencies
UnnecessaryGetter | 3 | 644 | [SRC]getBuildDependencies() [MSG]Violation in class grails.util.BuildSettings. getBuildDependencies() can probably be rewritten as buildDependencies
UnnecessaryDefInMethodDeclaration | 3 | 783 | [SRC]protected def loadBuildPropertiesFromClasspath(Propertie..uildProps) { [MSG]Violation in class grails.util.BuildSettings. The def keyword is unneeded when a method is marked protected
UnnecessaryGetter | 3 | 1011 | [SRC]def configURL = config.getConfigFile() [MSG]Violation in class grails.util.BuildSettings. getConfigFile() can probably be rewritten as configFile
UnnecessaryGetter | 3 | 1012 | [SRC]def configFile = configURL ? new File(configURL.getFile()) : null [MSG]Violation in class grails.util.BuildSettings. getFile() can probably be rewritten as file
UnnecessaryGetter | 3 | 1014 | [SRC]def metadataFile = Metadata.current.getMetadataFile() [MSG]Violation in class grails.util.BuildSettings. getMetadataFile() can probably be rewritten as metadataFile
UnnecessaryGetter | 3 | 1148 | [SRC]gcl = rootLoader != null ? new GroovyClassLoader(rootLoa..assLoader()) [MSG]Violation in class grails.util.BuildSettings. getSystemClassLoader() can probably be rewritten as systemClassLoader
UnnecessaryGetter | 3 | 1157 | [SRC]def appName = metadata.getApplicationName() ?: "grails" [MSG]Violation in class grails.util.BuildSettings. getApplicationName() can probably be rewritten as applicationName
UnnecessaryGetter | 3 | 1158 | [SRC]def appVersion = metadata.getApplicationVersion() ?: grailsVersion [MSG]Violation in class grails.util.BuildSettings. getApplicationVersion() can probably be rewritten as applicationVersion
UnnecessaryGetter | 3 | 1217 | [SRC]def pluginDirs = getPluginDirectories() [MSG]Violation in class grails.util.BuildSettings. getPluginDirectories() can probably be rewritten as pluginDirectories
UnnecessaryGetter | 3 | 1311 | [SRC]appName: Metadata.current.getApplicationName(), [MSG]Violation in class grails.util.BuildSettings. getApplicationName() can probably be rewritten as applicationName
UnnecessaryGetter | 3 | 1312 | [SRC]appVersion: Metadata.current.getApplicationVersion()) [MSG]Violation in class grails.util.BuildSettings. getApplicationVersion() can probably be rewritten as applicationVersion
UnnecessaryGetter | 3 | 1335 | [SRC]def workingDirName = metadata.getApplicationName() ?: CO..ING_DIR_NAME [MSG]Violation in class grails.util.BuildSettings. getApplicationName() can probably be rewritten as applicationName
UnnecessaryGetter | 3 | 1344 | [SRC]def version = metadata.getApplicationVersion() [MSG]Violation in class grails.util.BuildSettings. getApplicationVersion() can probably be rewritten as applicationVersion
UnnecessaryGetter | 3 | 1345 | [SRC]def appName = metadata.getApplicationName() ?: baseDir.name [MSG]Violation in class grails.util.BuildSettings. getApplicationName() can probably be rewritten as applicationName
UnnecessaryGetter | 3 | 1512 | [SRC]getBasePluginDescriptor() != null [MSG]Violation in class grails.util.BuildSettings. getBasePluginDescriptor() can probably be rewritten as basePluginDescriptor

### ➥ GrailsMain.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 24 | [SRC]props.load(getClass().getClassLoader().getResourceAsStre..roperties")) [MSG]Violation in class grails.util.None. getClassLoader() can probably be rewritten as classLoader

### ➥ PluginBuildSettings.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 187 | [SRC]GrailsPluginInfo[] getPluginInfos(String pluginDirPath=t..inDirPath) { [MSG]Violation in class PluginBuildSettings. Method parameter [pluginDirPath] is never referenced in the method getPluginInfos of class grails.util.PluginBuildSettings
EmptyCatchBlock | 2 | 203 | [SRC]catch (e) { [MSG]The catch block is empty
EmptyCatchBlock | 2 | 739 | [SRC]catch (e) { [MSG]The catch block is empty
UnusedVariable | 2 | 759 | [SRC]def (name, version, xml) = result [MSG]The variable [xml] in class grails.util.PluginBuildSettings is not used
UnnecessaryGetter | 3 | 112 | [SRC]for (pluginDir in getInlinePluginDirectories()) { [MSG]Violation in class grails.util.PluginBuildSettings. getInlinePluginDirectories() can probably be rewritten as inlinePluginDirectories
UnnecessaryDefInMethodDeclaration | 3 | 160 | [SRC]protected def addPluginScopeInfoForDirAndInfo(PluginScop..ource dir) { [MSG]Violation in class grails.util.PluginBuildSettings. The def keyword is unneeded when a method is marked protected
UnnecessaryGetter | 3 | 192 | [SRC]Resource[] pluginDescriptors = getPluginDescriptors() [MSG]Violation in class grails.util.PluginBuildSettings. getPluginDescriptors() can probably be rewritten as pluginDescriptors
UnnecessaryGetter | 3 | 215 | [SRC]buildSettings?.isInlinePluginLocation(pluginLocation?.getFile()) [MSG]Violation in class grails.util.PluginBuildSettings. getFile() can probably be rewritten as file
UnnecessaryGetter | 3 | 226 | [SRC]locations = buildSettings.getInlinePluginDirectories().c..source(it) } [MSG]Violation in class grails.util.PluginBuildSettings. getInlinePluginDirectories() can probably be rewritten as inlinePluginDirectories
UnnecessaryGetter | 3 | 239 | [SRC]if (!pluginInfosMap) getPluginInfos() // initialize the infos [MSG]Violation in class grails.util.PluginBuildSettings. getPluginInfos() can probably be rewritten as pluginInfos
UnnecessaryGetter | 3 | 252 | [SRC]if (!pluginInfosMap) getPluginInfos() // initialize the infos [MSG]Violation in class grails.util.PluginBuildSettings. getPluginInfos() can probably be rewritten as pluginInfos
UnnecessaryGetter | 3 | 264 | [SRC]def pluginDirs = getPluginDirectories() [MSG]Violation in class grails.util.PluginBuildSettings. getPluginDirectories() can probably be rewritten as pluginDirectories
UnnecessarySubstring | 3 | 275 | [SRC]sourcePath = sourcePath.substring(pluginPath.length()) [MSG]Violation in class grails.util.PluginBuildSettings. The String.substring(int) method can be replaced with the subscript operator
UnnecessaryGetter | 3 | 287 | [SRC]def baseDir = buildSettings?.getBaseDir()?.getCanonicalPath() [MSG]Violation in class grails.util.PluginBuildSettings. getCanonicalPath() can probably be rewritten as canonicalPath
UnnecessaryGetter | 3 | 287 | [SRC]def baseDir = buildSettings?.getBaseDir()?.getCanonicalPath() [MSG]Violation in class grails.util.PluginBuildSettings. getBaseDir() can probably be rewritten as baseDir
UnnecessaryGetter | 3 | 386 | [SRC]return getPluginSourceDirectories() [MSG]Violation in class grails.util.PluginBuildSettings. getPluginSourceDirectories() can probably be rewritten as pluginSourceDirectories
UnnecessaryGetter | 3 | 414 | [SRC]getPluginSourceDirectories() // initialize cache [MSG]Violation in class grails.util.PluginBuildSettings. getPluginSourceDirectories() can probably be rewritten as pluginSourceDirectories
UnnecessaryGetter | 3 | 454 | [SRC]pluginDirectoryResources = buildSettings.getPluginDirect..s Resource[] [MSG]Violation in class grails.util.PluginBuildSettings. getPluginDirectories() can probably be rewritten as pluginDirectories
UnnecessaryGetter | 3 | 469 | [SRC]if (pluginManager == null) return getPluginInfos() [MSG]Violation in class grails.util.PluginBuildSettings. getPluginInfos() can probably be rewritten as pluginInfos
UnnecessaryGetter | 3 | 471 | [SRC]def pluginInfos = getPluginInfos().findAll {GrailsPluginInfo info -> [MSG]Violation in class grails.util.PluginBuildSettings. getPluginInfos() can probably be rewritten as pluginInfos
UnnecessaryGetter | 3 | 472 | [SRC]def plugin = pluginManager.getGrailsPlugin(info.getName()) [MSG]Violation in class grails.util.PluginBuildSettings. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 486 | [SRC]implicitPluginDirectories = buildSettings.getImplicitPlu..source(it) } [MSG]Violation in class grails.util.PluginBuildSettings. getImplicitPluginDirectories() can probably be rewritten as implicitPluginDirectories
UnnecessaryGetter | 3 | 498 | [SRC]return buildSettings?.getPluginBaseDirectories() ?: [] [MSG]Violation in class grails.util.PluginBuildSettings. getPluginBaseDirectories() can probably be rewritten as pluginBaseDirectories
UnnecessaryGetter | 3 | 578 | [SRC]artefactResources.addAll compileScopePluginInfo.getArtefactResources() [MSG]Violation in class grails.util.PluginBuildSettings. getArtefactResources() can probably be rewritten as artefactResources
UnnecessaryGetter | 3 | 579 | [SRC]artefactResources.addAll providedScopePluginInfo.getArte..tResources() [MSG]Violation in class grails.util.PluginBuildSettings. getArtefactResources() can probably be rewritten as artefactResources
UnnecessaryGetter | 3 | 581 | [SRC]if (Environment.getCurrent() == Environment.TEST) { [MSG]Violation in class grails.util.PluginBuildSettings. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 582 | [SRC]artefactResources.addAll testScopePluginInfo.getArtefactResources() [MSG]Violation in class grails.util.PluginBuildSettings. getArtefactResources() can probably be rewritten as artefactResources
UnnecessaryGetter | 3 | 584 | [SRC]def inlineDirectories = getInlinePluginDirectories() [MSG]Violation in class grails.util.PluginBuildSettings. getInlinePluginDirectories() can probably be rewritten as inlinePluginDirectories
UnnecessaryGetter | 3 | 615 | [SRC]def baseDescriptor = getBasePluginDescriptor() [MSG]Violation in class grails.util.PluginBuildSettings. getBasePluginDescriptor() can probably be rewritten as basePluginDescriptor
UnnecessaryGetter | 3 | 619 | [SRC]for (inlinePluginDir in getInlinePluginDirectories()) { [MSG]Violation in class grails.util.PluginBuildSettings. getInlinePluginDirectories() can probably be rewritten as inlinePluginDirectories
UnnecessaryGetter | 3 | 635 | [SRC]def pluginDirs = getPluginDirectories().toList() [MSG]Violation in class grails.util.PluginBuildSettings. getPluginDirectories() can probably be rewritten as pluginDirectories
UnnecessaryGetter | 3 | 824 | [SRC]Resource[] pluginDirs = getPluginDirectories() [MSG]Violation in class grails.util.PluginBuildSettings. getPluginDirectories() can probably be rewritten as pluginDirectories

## Package: grails-bootstrap.src.main.groovy.org.codehaus.groovy.grails.cli.interactive

### ➥ InteractiveMode.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 | 85 | [SRC]void run() { [MSG]Violation in class org.codehaus.groovy.grails.cli.interactive.InteractiveMode. The cyclomatic complexity for method [run] is [31]
EmptyCatchBlock | 2 | 203 | [SRC]catch(ScriptExitException e) { [MSG]The catch block is empty
EmptyCatchBlock | 2 | 226 | [SRC]} catch (e) { [MSG]The catch block is empty
UnnecessaryGetter | 3 | 48 | [SRC]@Delegate GrailsConsole console = GrailsConsole.getInstance() [MSG]Violation in class org.codehaus.groovy.grails.cli.interactive.InteractiveMode. getInstance() can probably be rewritten as instance
UnnecessaryGetter | 3 | 64 | [SRC]GroovySystem.getMetaClassRegistry().addMetaClassRegistry..stryCleaner) [MSG]Violation in class org.codehaus.groovy.grails.cli.interactive.InteractiveMode. getMetaClassRegistry() can probably be rewritten as metaClassRegistry
UnnecessaryGetter | 3 | 82 | [SRC]getCurrent() != null && getCurrent().interactiveModeActive [MSG]Violation in class org.codehaus.groovy.grails.cli.interactive.InteractiveMode. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 82 | [SRC]getCurrent() != null && getCurrent().interactiveModeActive [MSG]Violation in class org.codehaus.groovy.grails.cli.interactive.InteractiveMode. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 136 | [SRC]final desktop = Desktop.getDesktop() [MSG]Violation in class org.codehaus.groovy.grails.cli.interactive.InteractiveMode. getDesktop() can probably be rewritten as desktop
UnnecessaryGetter | 3 | 238 | [SRC]def parser = GrailsScriptRunner.getCommandLineParser() [MSG]Violation in class org.codehaus.groovy.grails.cli.interactive.InteractiveMode. getCommandLineParser() can probably be rewritten as commandLineParser

## Package: grails-bootstrap.src.main.groovy.org.codehaus.groovy.grails.cli.interactive.completors

### ➥ ClassNameCompletor.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 61 | [SRC]boolean shouldInclude(Resource res) { true } [MSG]Violation in class ClassNameCompletor. Method parameter [res] is never referenced in the method shouldInclude of class org.codehaus.groovy.grails.cli.interactive.completors.ClassNameCompletor

## Package: grails-bootstrap.src.main.groovy.org.codehaus.groovy.grails.plugins

### ➥ GrailsPluginUtils.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
SynchronizedMethod | 2 | 120 | [SRC]static synchronized PluginBuildSettings getPluginBuildSettings() { [MSG]Violation in class GrailsPluginUtils. The method getPluginBuildSettings is synchronized at the method level
SynchronizedMethod | 2 | 127 | [SRC]static synchronized setPluginBuildSettings(PluginBuildSe.. settings) { [MSG]Violation in class GrailsPluginUtils. The method setPluginBuildSettings is synchronized at the method level
UnusedMethodParameter | 2 | 134 | [SRC]static GrailsPluginInfo[] getPluginInfos(String pluginDi..Dir?.path) { [MSG]Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getPluginInfos of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 144 | [SRC]static GrailsPluginInfo[] getSupportedPluginInfos(String..Dir?.path) { [MSG]Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getSupportedPluginInfos of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 152 | [SRC]static List<String> getPluginBaseDirectories(String pluginDirPath) { [MSG]Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getPluginBaseDirectories of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 167 | [SRC]static Resource[] getPluginDirectories(String pluginDirPath) { [MSG]Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getPluginDirectories of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 174 | [SRC]static List<Resource> getImplicitPluginDirectories(Strin..Dir?.path) { [MSG]Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getImplicitPluginDirectories of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 185 | [SRC]static Resource[] getArtefactResources(String basedir) { [MSG]Violation in class GrailsPluginUtils. Method parameter [basedir] is never referenced in the method getArtefactResources of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 199 | [SRC]static Resource[] getPluginXmlMetadata(String pluginsDirPath) { [MSG]Violation in class GrailsPluginUtils. Method parameter [pluginsDirPath] is never referenced in the method getPluginXmlMetadata of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 206 | [SRC]static Resource[] getAvailableScripts(String grailsHome,..g basedir) { [MSG]Violation in class GrailsPluginUtils. Method parameter [grailsHome] is never referenced in the method getAvailableScripts of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 206 | [SRC]static Resource[] getAvailableScripts(String grailsHome,..g basedir) { [MSG]Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getAvailableScripts of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 206 | [SRC]static Resource[] getAvailableScripts(String grailsHome,..g basedir) { [MSG]Violation in class GrailsPluginUtils. Method parameter [basedir] is never referenced in the method getAvailableScripts of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 213 | [SRC]static Resource[] getPluginScripts(String pluginDirPath) { [MSG]Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getPluginScripts of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 220 | [SRC]static Resource[] getPluginResourceBundles(String pluginDirPath) { [MSG]Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getPluginResourceBundles of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 227 | [SRC]static Resource[] getPluginSourceFiles(String pluginsDirPath) { [MSG]Violation in class GrailsPluginUtils. Method parameter [pluginsDirPath] is never referenced in the method getPluginSourceFiles of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 234 | [SRC]static Resource[] getPluginJarFiles(String pluginsDirPath) { [MSG]Violation in class GrailsPluginUtils. Method parameter [pluginsDirPath] is never referenced in the method getPluginJarFiles of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 241 | [SRC]static Resource[] getPluginDescriptors(String basedir, S..nsDirPath) { [MSG]Violation in class GrailsPluginUtils. Method parameter [basedir] is never referenced in the method getPluginDescriptors of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 241 | [SRC]static Resource[] getPluginDescriptors(String basedir, S..nsDirPath) { [MSG]Violation in class GrailsPluginUtils. Method parameter [pluginsDirPath] is never referenced in the method getPluginDescriptors of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 260 | [SRC]static Resource[] getPluginLibDirectories(String pluginsDirPath) { [MSG]Violation in class GrailsPluginUtils. Method parameter [pluginsDirPath] is never referenced in the method getPluginLibDirectories of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 267 | [SRC]static Resource[] getPluginI18nDirectories(String plugin..Dir?.path) { [MSG]Violation in class GrailsPluginUtils. Method parameter [pluginsDirPath] is never referenced in the method getPluginI18nDirectories of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
UnusedMethodParameter | 2 | 302 | [SRC]static Resource getPluginDirForName(String pluginsDirPat..luginName) { [MSG]Violation in class GrailsPluginUtils. Method parameter [pluginsDirPath] is never referenced in the method getPluginDirForName of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils
SynchronizedMethod | 2 | 309 | [SRC]static synchronized clearCaches() { [MSG]Violation in class GrailsPluginUtils. The method clearCaches is synchronized at the method level
UnnecessaryGetter | 3 | 135 | [SRC]return getPluginBuildSettings().getPluginInfos() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginInfos() can probably be rewritten as pluginInfos
UnnecessaryGetter | 3 | 135 | [SRC]return getPluginBuildSettings().getPluginInfos() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 145 | [SRC]final PluginBuildSettings settings = getPluginBuildSettings() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 146 | [SRC]return settings.getSupportedPluginInfos() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getSupportedPluginInfos() can probably be rewritten as supportedPluginInfos
UnnecessaryGetter | 3 | 153 | [SRC]getPluginBuildSettings().getPluginBaseDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBaseDirectories() can probably be rewritten as pluginBaseDirectories
UnnecessaryGetter | 3 | 153 | [SRC]getPluginBuildSettings().getPluginBaseDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 160 | [SRC]getPluginBuildSettings().getPluginBaseDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBaseDirectories() can probably be rewritten as pluginBaseDirectories
UnnecessaryGetter | 3 | 160 | [SRC]getPluginBuildSettings().getPluginBaseDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 164 | [SRC]getPluginBuildSettings().getPluginDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginDirectories() can probably be rewritten as pluginDirectories
UnnecessaryGetter | 3 | 164 | [SRC]getPluginBuildSettings().getPluginDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 168 | [SRC]getPluginBuildSettings().getPluginDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginDirectories() can probably be rewritten as pluginDirectories
UnnecessaryGetter | 3 | 168 | [SRC]getPluginBuildSettings().getPluginDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 175 | [SRC]getPluginBuildSettings().getImplicitPluginDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getImplicitPluginDirectories() can probably be rewritten as implicitPluginDirectories
UnnecessaryGetter | 3 | 175 | [SRC]getPluginBuildSettings().getImplicitPluginDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 179 | [SRC]getPluginBuildSettings().isGlobalPluginLocation(pluginDir) [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 186 | [SRC]getPluginBuildSettings().getArtefactResources() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getArtefactResources() can probably be rewritten as artefactResources
UnnecessaryGetter | 3 | 186 | [SRC]getPluginBuildSettings().getArtefactResources() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 193 | [SRC]getPluginBuildSettings().getArtefactResourcesForOne(projectDir) [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 200 | [SRC]getPluginBuildSettings().getPluginXmlMetadata() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginXmlMetadata() can probably be rewritten as pluginXmlMetadata
UnnecessaryGetter | 3 | 200 | [SRC]getPluginBuildSettings().getPluginXmlMetadata() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 207 | [SRC]getPluginBuildSettings().getAvailableScripts() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getAvailableScripts() can probably be rewritten as availableScripts
UnnecessaryGetter | 3 | 207 | [SRC]getPluginBuildSettings().getAvailableScripts() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 214 | [SRC]getPluginBuildSettings().getPluginScripts() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginScripts() can probably be rewritten as pluginScripts
UnnecessaryGetter | 3 | 214 | [SRC]getPluginBuildSettings().getPluginScripts() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 221 | [SRC]getPluginBuildSettings().getPluginResourceBundles() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginResourceBundles() can probably be rewritten as pluginResourceBundles
UnnecessaryGetter | 3 | 221 | [SRC]getPluginBuildSettings().getPluginResourceBundles() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 228 | [SRC]getPluginBuildSettings().getPluginSourceFiles() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginSourceFiles() can probably be rewritten as pluginSourceFiles
UnnecessaryGetter | 3 | 228 | [SRC]getPluginBuildSettings().getPluginSourceFiles() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 235 | [SRC]getPluginBuildSettings().getPluginJarFiles() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginJarFiles() can probably be rewritten as pluginJarFiles
UnnecessaryGetter | 3 | 235 | [SRC]getPluginBuildSettings().getPluginJarFiles() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 242 | [SRC]getPluginBuildSettings().getPluginDescriptors() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginDescriptors() can probably be rewritten as pluginDescriptors
UnnecessaryGetter | 3 | 242 | [SRC]getPluginBuildSettings().getPluginDescriptors() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 246 | [SRC]getPluginBuildSettings().getBasePluginDescriptor(basedir) [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 254 | [SRC]getPluginBuildSettings().getDescriptorForPlugin(pluginDir) [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 261 | [SRC]getPluginBuildSettings().getPluginLibDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginLibDirectories() can probably be rewritten as pluginLibDirectories
UnnecessaryGetter | 3 | 261 | [SRC]getPluginBuildSettings().getPluginLibDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 268 | [SRC]getPluginBuildSettings().getPluginI18nDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginI18nDirectories() can probably be rewritten as pluginI18nDirectories
UnnecessaryGetter | 3 | 268 | [SRC]getPluginBuildSettings().getPluginI18nDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 275 | [SRC]getPluginBuildSettings().getGlobalPluginsPath() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getGlobalPluginsPath() can probably be rewritten as globalPluginsPath
UnnecessaryGetter | 3 | 275 | [SRC]getPluginBuildSettings().getGlobalPluginsPath() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 282 | [SRC]getPluginBuildSettings().getPluginDirForName(pluginName) [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 289 | [SRC]getPluginBuildSettings().getMetadataForPlugin(pluginName) [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 296 | [SRC]getPluginBuildSettings().getMetadataForPlugin(pluginDir) [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 303 | [SRC]getPluginBuildSettings().getPluginDirForName(pluginName) [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 310 | [SRC]getPluginBuildSettings().clearCache() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings

### ➥ GrailsVersionUtils.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EqualsAndHashCode | 2 | 100 | [SRC]class VersionComparator implements Comparator { [MSG]The class org.codehaus.groovy.grails.plugins.VersionComparator defines equals(Object) but not hashCode()
UnusedMethodParameter | 2 | 167 | [SRC]boolean equals(obj) { false } [MSG]Violation in class VersionComparator. Method parameter [obj] is never referenced in the method equals of class org.codehaus.groovy.grails.plugins.VersionComparator

### ➥ PluginInfo.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyCatchBlock | 2 | 44 | [SRC]catch(e) { [MSG]The catch block is empty
UnnecessaryGetter | 3 | 56 | [SRC]input = pluginXml.getInputStream() [MSG]Violation in class org.codehaus.groovy.grails.plugins.PluginInfo. getInputStream() can probably be rewritten as inputStream
UnnecessaryGetter | 3 | 97 | [SRC]"${getName()}-${getVersion()}" [MSG]Violation in class org.codehaus.groovy.grails.plugins.PluginInfo. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 97 | [SRC]"${getName()}-${getVersion()}" [MSG]Violation in class org.codehaus.groovy.grails.plugins.PluginInfo. getVersion() can probably be rewritten as version
UnnecessaryGetter | 3 | 101 | [SRC][name:getName(), version:getVersion()] [MSG]Violation in class org.codehaus.groovy.grails.plugins.PluginInfo. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 101 | [SRC][name:getName(), version:getVersion()] [MSG]Violation in class org.codehaus.groovy.grails.plugins.PluginInfo. getVersion() can probably be rewritten as version
UnnecessaryDefInMethodDeclaration | 3 | 119 | [SRC]private def lookupFromMetadata(String name) { [MSG]Violation in class org.codehaus.groovy.grails.plugins.PluginInfo. The def keyword is unneeded when a method is marked private

## Package: grails-bootstrap.src.main.groovy.org.codehaus.groovy.grails.resolve

### ➥ EnhancedDefaultDependencyDescriptor.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 121 | [SRC]Field field = getClass().getSuperclass().getDeclaredFiel..Transitive") [MSG]Violation in class org.codehaus.groovy.grails.resolve.EnhancedDefaultDependencyDescriptor. getSuperclass() can probably be rewritten as superclass
UnnecessaryGetter | 3 | 128 | [SRC]Field field = getClass().getSuperclass().getDeclaredFiel..isChanging") [MSG]Violation in class org.codehaus.groovy.grails.resolve.EnhancedDefaultDependencyDescriptor. getSuperclass() can probably be rewritten as superclass

### ➥ IvyDependencyManager.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 34 | [SRC]import org.apache.ivy.plugins.resolver.ChainResolver [MSG]The [org.apache.ivy.plugins.resolver.ChainResolver] import is never referenced
UnusedImport | 3 | 35 | [SRC]import org.apache.ivy.util.Message [MSG]The [org.apache.ivy.util.Message] import is never referenced
UnusedImport | 3 | 36 | [SRC]import org.apache.ivy.util.MessageLogger [MSG]The [org.apache.ivy.util.MessageLogger] import is never referenced
UnnecessaryElseStatement | 3 | 254 | [SRC]else { [MSG]When an if statement block ends with a return statement the else is unnecessary
UnnecessaryGetter | 3 | 396 | [SRC]def candidates = getPluginDependencyDescriptors().findAl..pplication } [MSG]Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManager. getPluginDependencyDescriptors() can probably be rewritten as pluginDependencyDescriptors

### ➥ PluginInstallEngine.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 366 | [SRC]def (name, version, xml) = readMetadataFromZip(zipLocation) [MSG]The variable [xml] in class org.codehaus.groovy.grails.resolve.PluginInstallEngine is not used
UnusedMethodParameter | 2 | 429 | [SRC]protected void resolvePluginJarDependencies(fullPluginNa..ies = [:]) { [MSG]Violation in class PluginInstallEngine. Method parameter [pluginName] is never referenced in the method resolvePluginJarDependencies of class org.codehaus.groovy.grails.resolve.PluginInstallEngine
BooleanGetBoolean | 2 | 446 | [SRC]def runningUpgrade = Boolean.getBoolean('runningGrailsUpgrade') [MSG]Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. Boolean.getBoolean(String) is a confusing API for reading System properties. Prefer the System.getProperty(String) API.
UnusedMethodParameter | 2 | 504 | [SRC]protected Map processPluginDependencies(String pluginNam..pluginXml) { [MSG]Violation in class PluginInstallEngine. Method parameter [pluginName] is never referenced in the method processPluginDependencies of class org.codehaus.groovy.grails.resolve.PluginInstallEngine
UnusedPrivateMethod | 2 | 731 | [SRC]private registerMetadataForPluginLocation(Resource pluginDir) { [MSG]The method registerMetadataForPluginLocation is not used within PluginInstallEngine.groovy
UnnecessaryGetter | 3 | 91 | [SRC]applicationPluginsLocation = settings.getProjectPluginsDir() [MSG]Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getProjectPluginsDir() can probably be rewritten as projectPluginsDir
UnnecessaryGetter | 3 | 228 | [SRC]cacheDir currentDependencyManager.ivySettings.getDefault..absolutePath [MSG]Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getDefaultCache() can probably be rewritten as defaultCache
UnnecessaryObjectReferences | 3 | 237 | [SRC]pluginResolver.setCheckmodified(true) [MSG]The code could be more concise by using a with() or identity() block
UnnecessarySelfAssignment | 3 | 390 | [SRC]PluginBuildSettings pluginSettings = pluginSettings [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessaryGetter | 3 | 461 | [SRC]grails.build.logging.GrailsConsole.getInstance().warn(""" [MSG]Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getInstance() can probably be rewritten as instance
UnnecessaryPackageReference | 3 | 461 | [SRC]grails.build.logging.GrailsConsole.getInstance().warn(""" [MSG]The grails.build.logging.GrailsConsole class was explicitly imported, so specifying the package name is not necessary
UnnecessaryGetter | 3 | 510 | [SRC]def grailsVersion = settings.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getGrailsVersion() can probably be rewritten as grailsVersion
UnnecessaryGetter | 3 | 563 | [SRC]GrailsConsole.getInstance().addStatus("Uninstalled plugin [$name]") [MSG]Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getInstance() can probably be rewritten as instance
UnnecessaryGetter | 3 | 566 | [SRC]GrailsConsole.getInstance().warning("No plugin [$name${v.. uninstall") [MSG]Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getInstance() can probably be rewritten as instance
UnnecessaryDefInMethodDeclaration | 3 | 585 | [SRC]private def addToMetadata(pluginName, pluginVersion) { [MSG]Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. The def keyword is unneeded when a method is marked private
UnnecessaryGetter | 3 | 649 | [SRC]GrailsConsole.getInstance().userInput(msg, ['y','n'] as ..ng[]) == 'y' [MSG]Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getInstance() can probably be rewritten as instance
UnnecessaryGetter | 3 | 657 | [SRC]def pluginInfos = pluginSettings.getPluginInfos() [MSG]Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getPluginInfos() can probably be rewritten as pluginInfos

### ➥ PluginResolveEngine.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyCatchBlock | 2 | 273 | [SRC]catch(e) { [MSG]The catch block is empty
UnnecessaryGetter | 3 | 74 | [SRC]output.println getPluginInfoHeader() [MSG]Violation in class org.codehaus.groovy.grails.resolve.PluginResolveEngine. getPluginInfoHeader() can probably be rewritten as pluginInfoHeader
UnnecessaryGetter | 3 | 129 | [SRC]output.println getPluginInfoFooter() [MSG]Violation in class org.codehaus.groovy.grails.resolve.PluginResolveEngine. getPluginInfoFooter() can probably be rewritten as pluginInfoFooter
UnnecessaryDefInMethodDeclaration | 3 | 136 | [SRC]protected def printDependencies(output, dependencies) { [MSG]Violation in class org.codehaus.groovy.grails.resolve.PluginResolveEngine. The def keyword is unneeded when a method is marked protected
UnnecessaryDefInMethodDeclaration | 3 | 145 | [SRC]protected def printSectionTitle(PrintWriter output, String title) { [MSG]Violation in class org.codehaus.groovy.grails.resolve.PluginResolveEngine. The def keyword is unneeded when a method is marked protected
UnnecessaryDefInMethodDeclaration | 3 | 151 | [SRC]protected def printLineSeparator(PrintWriter output) { [MSG]Violation in class org.codehaus.groovy.grails.resolve.PluginResolveEngine. The def keyword is unneeded when a method is marked protected

### ➥ ResolveException.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 28 | [SRC]for(IvyNode node in confReport.getUnresolvedDependencies()) { [MSG]Violation in class org.codehaus.groovy.grails.resolve.ResolveException. getUnresolvedDependencies() can probably be rewritten as unresolvedDependencies
UnnecessaryGetter | 3 | 31 | [SRC]def failedDownloads = confReport.getFailedArtifactsReports() [MSG]Violation in class org.codehaus.groovy.grails.resolve.ResolveException. getFailedArtifactsReports() can probably be rewritten as failedArtifactsReports

## Package: grails-bootstrap.src.main.groovy.org.codehaus.groovy.grails.resolve.config

### ➥ RepositoriesConfigurer.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryObjectReferences | 3 | 91 | [SRC]fileSystemResolver.settings = dependencyManager.ivySettings [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 169 | [SRC]urlResolver.setCheckmodified(true) [MSG]The code could be more concise by using a with() or identity() block

## Package: grails-core.src.main.groovy.org.codehaus.groovy.grails.commons.cfg

### ➥ ConfigurationHelper.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGroovyImport | 3 | 21 | [SRC]import java.util.Map
UnnecessaryGetter | 3 | 53 | [SRC]getCachedConfigs().clear() [MSG]Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getCachedConfigs() can probably be rewritten as cachedConfigs
UnnecessaryGetter | 3 | 64 | [SRC]classLoader = application.getClassLoader() [MSG]Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getClassLoader() can probably be rewritten as classLoader
UnnecessaryGetter | 3 | 77 | [SRC]co = getCachedConfigs().get(cacheKey) [MSG]Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getCachedConfigs() can probably be rewritten as cachedConfigs
UnnecessaryGetter | 3 | 111 | [SRC]getCachedConfigs().put(cacheKey, co) [MSG]Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getCachedConfigs() can probably be rewritten as cachedConfigs
UnnecessaryGetter | 3 | 127 | [SRC]binding.put(CONFIG_BINDING_APP_NAME, application.getMeta..ATION_NAME)) [MSG]Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getMetadata() can probably be rewritten as metadata
UnnecessaryGetter | 3 | 128 | [SRC]binding.put(CONFIG_BINDING_APP_VERSION, application.getM..ON_VERSION)) [MSG]Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getMetadata() can probably be rewritten as metadata
UnnecessaryGetter | 3 | 142 | [SRC]getCachedConfigs().put(DEV_CACHE_KEY, config) [MSG]Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getCachedConfigs() can probably be rewritten as cachedConfigs
UnnecessaryGetter | 3 | 192 | [SRC]stream = resource.getInputStream() [MSG]Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getInputStream() can probably be rewritten as inputStream

### ➥ MapBasedSmartPropertyOverrideConfigurer.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 45 | [SRC]def beans = getBeansConfig() [MSG]Violation in class org.codehaus.groovy.grails.commons.cfg.MapBasedSmartPropertyOverrideConfigurer. getBeansConfig() can probably be rewritten as beansConfig

## Package: grails-core.src.main.groovy.org.codehaus.groovy.grails.commons.metaclass

### ➥ MetaClassEnhancer.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 46 | [SRC]method.invoke(method.getDeclaringClass(), instance, *args) [MSG]Violation in class org.codehaus.groovy.grails.commons.metaclass.MetaClassEnhancer$1. getDeclaringClass() can probably be rewritten as declaringClass

## Package: grails-core.src.main.groovy.org.codehaus.groovy.grails.compiler

### ➥ GrailsProjectCompiler.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedPrivateField | 2 | 43 | [SRC]private static final List<String> PLUGIN_EXCLUDE_PATHS =..ial handling [MSG]The field PLUGIN_EXCLUDE_PATHS is not used within the class org.codehaus.groovy.grails.compiler.GrailsProjectCompiler
UnnecessaryGetter | 3 | 97 | [SRC]pluginSettings.getArtefactResourcesForCurrentEnvironment()) [MSG]Violation in class org.codehaus.groovy.grails.compiler.GrailsProjectCompiler. getArtefactResourcesForCurrentEnvironment() can probably be rewritten as artefactResourcesForCurrentEnvironment
UnnecessaryGetter | 3 | 142 | [SRC]def jarFiles = getJarFiles() [MSG]Violation in class org.codehaus.groovy.grails.compiler.GrailsProjectCompiler. getJarFiles() can probably be rewritten as jarFiles
UnnecessaryGetter | 3 | 195 | [SRC]jarFiles.addAll(getExtraDependencies()) [MSG]Violation in class org.codehaus.groovy.grails.compiler.GrailsProjectCompiler. getExtraDependencies() can probably be rewritten as extraDependencies

### ➥ GrailsProjectPackager.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 42 | [SRC]GrailsConsole grailsConsole = GrailsConsole.getInstance() [MSG]Violation in class org.codehaus.groovy.grails.compiler.GrailsProjectPackager. getInstance() can probably be rewritten as instance
UnnecessaryGetter | 3 | 119 | [SRC]ant.copy(todir:buildSettings.getClassesDir(), failonerror:false) { [MSG]Violation in class org.codehaus.groovy.grails.compiler.GrailsProjectPackager. getClassesDir() can probably be rewritten as classesDir
UnnecessaryGetter | 3 | 269 | [SRC]def pluginInfos = pluginSettings.getSupportedPluginInfos() [MSG]Violation in class org.codehaus.groovy.grails.compiler.GrailsProjectPackager. getSupportedPluginInfos() can probably be rewritten as supportedPluginInfos
UnnecessaryGetter | 3 | 295 | [SRC]def pluginInfos = pluginSettings.getSupportedPluginInfos() [MSG]Violation in class org.codehaus.groovy.grails.compiler.GrailsProjectPackager. getSupportedPluginInfos() can probably be rewritten as supportedPluginInfos

## Package: grails-core.src.main.groovy.org.codehaus.groovy.grails.exceptions

### ➥ DefaultStackTracePrinter.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 | 43 | [SRC]String prettyPrint(Throwable t) { [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. The cyclomatic complexity for method [prettyPrint] is [23]
CyclomaticComplexity | 2 | 167 | [SRC]String prettyPrintCodeSnippet(Throwable exception) { [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. The cyclomatic complexity for method [prettyPrintCodeSnippet] is [21]
EmptyCatchBlock | 2 | 239 | [SRC]catch (e) { [MSG]The catch block is empty
EmptyCatchBlock | 2 | 245 | [SRC]} catch (e) { [MSG]The catch block is empty
EmptyCatchBlock | 2 | 278 | [SRC]} catch (e) { [MSG]The catch block is empty
UnusedMethodParameter | 2 | 318 | [SRC]String formatCodeSnippetEnd(Resource resource, int lineNumber) { [MSG]Violation in class DefaultStackTracePrinter. Method parameter [resource] is never referenced in the method formatCodeSnippetEnd of class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter
UnusedMethodParameter | 2 | 318 | [SRC]String formatCodeSnippetEnd(Resource resource, int lineNumber) { [MSG]Violation in class DefaultStackTracePrinter. Method parameter [lineNumber] is never referenced in the method formatCodeSnippetEnd of class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter
UnnecessaryDefInMethodDeclaration | 3 | 139 | [SRC]protected def printCausedByMessage(PrintWriter sb, Throwable e) { [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. The def keyword is unneeded when a method is marked protected
UnnecessaryDefInMethodDeclaration | 3 | 144 | [SRC]protected def printHeader(PrintWriter sb, String header) { [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. The def keyword is unneeded when a method is marked protected
UnnecessaryGetter | 3 | 164 | [SRC]res == null ? te.className : res.getFilename() [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getFilename() can probably be rewritten as filename
UnnecessaryGetter | 3 | 284 | [SRC]Object message = mcee.getErrorCollector().getErrors().it..tor().next() [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 284 | [SRC]Object message = mcee.getErrorCollector().getErrors().it..tor().next() [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getErrorCollector() can probably be rewritten as errorCollector
UnnecessaryGetter | 3 | 287 | [SRC]final tmp = new FileSystemResource(sem.getCause().getSourceLocator()) [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getSourceLocator() can probably be rewritten as sourceLocator
UnnecessaryGetter | 3 | 287 | [SRC]final tmp = new FileSystemResource(sem.getCause().getSourceLocator()) [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getCause() can probably be rewritten as cause
UnnecessaryGetter | 3 | 309 | [SRC]Object message = mcee.getErrorCollector().getErrors().it..tor().next() [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 309 | [SRC]Object message = mcee.getErrorCollector().getErrors().it..tor().next() [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getErrorCollector() can probably be rewritten as errorCollector
UnnecessaryGetter | 3 | 312 | [SRC]lineNumber = sem.getCause().getLine() [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getLine() can probably be rewritten as line
UnnecessaryGetter | 3 | 312 | [SRC]lineNumber = sem.getCause().getLine() [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getCause() can probably be rewritten as cause
UnnecessaryGetter | 3 | 344 | [SRC]while (ex.getCause() != null && !ex.equals(ex.getCause())) { [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getCause() can probably be rewritten as cause
UnnecessaryGetter | 3 | 344 | [SRC]while (ex.getCause() != null && !ex.equals(ex.getCause())) { [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getCause() can probably be rewritten as cause
UnnecessaryGetter | 3 | 345 | [SRC]ex = ex.getCause() [MSG]Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getCause() can probably be rewritten as cause

## Package: grails-core.src.main.groovy.org.codehaus.groovy.grails.plugins

### ➥ CoreGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 45 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.CoreGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion
UnnecessaryGetter | 3 | 80 | [SRC]if (getParentCtx()?.containsBean('pluginManager')) { [MSG]Violation in class org.codehaus.groovy.grails.plugins.CoreGrailsPlugin. getParentCtx() can probably be rewritten as parentCtx
UnnecessaryCollectCall | 3 | 99 | [SRC]def locations = new ArrayList(settings.pluginDirectories..olutePath }) [MSG]Violation in class org.codehaus.groovy.grails.plugins.CoreGrailsPlugin. The call to collect could probably be rewritten as a spread expression: settings.pluginDirectories*.absolutePath

## Package: grails-core.src.main.groovy.org.codehaus.groovy.grails.plugins.publishing

### ➥ DefaultPluginPublisher.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 157 | [SRC]protected GPathResult getPluginMetadata(String pluginName) { [MSG]Violation in class DefaultPluginPublisher. Method parameter [pluginName] is never referenced in the method getPluginMetadata of class org.codehaus.groovy.grails.plugins.publishing.DefaultPluginPublisher
UnnecessaryCallForLastElement | 3 | 120 | [SRC]def lastPlugin = allPlugins[allPlugins.size()-1] [MSG]Unnecessarily complex access of last element. This can be simplified to allPlugins.last() or allPlugins[-1]
UnnecessaryGetter | 3 | 140 | [SRC]InputStream stream = pluginsListFile.getInputStream() [MSG]Violation in class org.codehaus.groovy.grails.plugins.publishing.DefaultPluginPublisher. getInputStream() can probably be rewritten as inputStream

### ➥ PluginDescriptorGenerator.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 | 83 | [SRC]protected void generatePluginXml(pluginProps, MarkupBuilder xml) { [MSG]Violation in class org.codehaus.groovy.grails.plugins.publishing.PluginDescriptorGenerator. The cyclomatic complexity for method [generatePluginXml] is [28]
UnusedImport | 3 | 27 | [SRC]import org.apache.ivy.plugins.resolver.URLResolver [MSG]The [org.apache.ivy.plugins.resolver.URLResolver] import is never referenced

### ➥ PluginPackager.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 139 | [SRC]String packageSource(String pluginName, File classesDir,..targetDir) { [MSG]Violation in class PluginPackager. Method parameter [classesDir] is never referenced in the method packageSource of class org.codehaus.groovy.grails.plugins.publishing.PluginPackager
UnusedMethodParameter | 2 | 139 | [SRC]String packageSource(String pluginName, File classesDir,..targetDir) { [MSG]Violation in class PluginPackager. Method parameter [targetDir] is never referenced in the method packageSource of class org.codehaus.groovy.grails.plugins.publishing.PluginPackager
UnusedVariable | 2 | 149 | [SRC]def pluginGrailsVersion = "${GrailsUtil.grailsVersion} > *" [MSG]The variable [pluginGrailsVersion] in class org.codehaus.groovy.grails.plugins.publishing.PluginPackager is not used

## Package: grails-core.src.main.groovy.org.codehaus.groovy.grails.plugins.support

### ➥ GrailsPluginUtils.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 13 | [SRC]return GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.support.GrailsPluginUtils. getGrailsVersion() can probably be rewritten as grailsVersion

### ➥ WatchPattern.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyCatchBlock | 2 | 59 | [SRC]} catch (e) { [MSG]The catch block is empty

## Package: grails-crud.src.main.groovy.org.codehaus.groovy.grails.scaffolding

### ➥ DefaultGrailsTemplateGenerator.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedPrivateMethod | 2 | 144 | [SRC]private generateListView(domainClass, destDir) { [MSG]The method generateListView is not used within DefaultGrailsTemplateGenerator.groovy
UnusedPrivateMethod | 2 | 154 | [SRC]private generateShowView(domainClass, destDir) { [MSG]The method generateShowView is not used within DefaultGrailsTemplateGenerator.groovy
UnusedPrivateMethod | 2 | 164 | [SRC]private generateEditView(domainClass, destDir) { [MSG]The method generateEditView is not used within DefaultGrailsTemplateGenerator.groovy
UnusedPrivateMethod | 2 | 174 | [SRC]private generateCreateView(domainClass, destDir) { [MSG]The method generateCreateView is not used within DefaultGrailsTemplateGenerator.groovy
UnnecessaryGetter | 3 | 113 | [SRC]for (t in getTemplateNames()) { [MSG]Violation in class org.codehaus.groovy.grails.scaffolding.DefaultGrailsTemplateGenerator. getTemplateNames() can probably be rewritten as templateNames
UnnecessaryGetter | 3 | 255 | [SRC]def response = GrailsConsole.getInstance().userInput("Fi..as String[]) [MSG]Violation in class org.codehaus.groovy.grails.scaffolding.DefaultGrailsTemplateGenerator. getInstance() can probably be rewritten as instance
UnnecessaryGetter | 3 | 284 | [SRC]return templateFile.inputStream.getText() [MSG]Violation in class org.codehaus.groovy.grails.scaffolding.DefaultGrailsTemplateGenerator. getText() can probably be rewritten as text
UnnecessarySubstring | 3 | 306 | [SRC]template = template.substring(1) [MSG]Violation in class org.codehaus.groovy.grails.scaffolding.DefaultGrailsTemplateGenerator. The String.substring(int) method can be replaced with the subscript operator

## Package: grails-docs.src.main.groovy.grails.doc

### ➥ DocEngine.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 227 | [SRC]void appendCreateLink(StringBuffer buffer, String name, String view) { [MSG]Violation in class DocEngine. Method parameter [view] is never referenced in the method appendCreateLink of class grails.doc.DocEngine
UnusedMethodParameter | 2 | 301 | [SRC]void handleMatch(StringBuffer buffer, MatchResult result..t context) { [MSG]Violation in class BlockQuoteFilter. Method parameter [context] is never referenced in the method handleMatch of class grails.doc.BlockQuoteFilter
UnusedMethodParameter | 2 | 310 | [SRC]void handleMatch(StringBuffer buffer, MatchResult result..t context) { [MSG]Violation in class ItalicFilter. Method parameter [context] is never referenced in the method handleMatch of class grails.doc.ItalicFilter
UnusedMethodParameter | 2 | 319 | [SRC]void handleMatch(StringBuffer buffer, MatchResult result..t context) { [MSG]Violation in class BoldFilter. Method parameter [context] is never referenced in the method handleMatch of class grails.doc.BoldFilter
UnusedMethodParameter | 2 | 329 | [SRC]void handleMatch(StringBuffer buffer, MatchResult result..t context) { [MSG]Violation in class CodeFilter. Method parameter [context] is never referenced in the method handleMatch of class grails.doc.CodeFilter
UnusedMethodParameter | 2 | 363 | [SRC]void handleMatch(StringBuffer buffer, MatchResult result..t context) { [MSG]Violation in class TextileLinkFilter. Method parameter [context] is never referenced in the method handleMatch of class grails.doc.TextileLinkFilter
UnusedImport | 3 | 21 | [SRC]import java.util.regex.Pattern [MSG]The [java.util.regex.Pattern] import is never referenced
UnusedImport | 3 | 30 | [SRC]import org.radeox.macro.CodeMacro [MSG]The [org.radeox.macro.CodeMacro] import is never referenced
UnusedImport | 3 | 32 | [SRC]import org.radeox.macro.parameter.BaseMacroParameter [MSG]The [org.radeox.macro.parameter.BaseMacroParameter] import is never referenced
UnusedImport | 3 | 36 | [SRC]import org.radeox.util.Encoder [MSG]The [org.radeox.util.Encoder] import is never referenced

### ➥ DocPublisher.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyCatchBlock | 2 | 101 | [SRC]catch (e) { [MSG]The catch block is empty
CyclomaticComplexity | 2 | 130 | [SRC]private void catPublish() { [MSG]Violation in class grails.doc.DocPublisher. The cyclomatic complexity for method [catPublish] is [28]
UnusedVariable | 2 | 251 | [SRC]def fullToc = new StringBuilder() [MSG]The variable [fullToc] in class grails.doc.DocPublisher is not used
UnusedVariable | 2 | 295 | [SRC]def reference = [:] [MSG]The variable [reference] in class grails.doc.DocPublisher is not used
UnnecessaryObjectReferences | 3 | 404 | [SRC]varsCopy.content = engine.render(sourceFile.text, context) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryGetter | 3 | 586 | [SRC]URL url = getClass().getClassLoader().getResource(src) [MSG]Violation in class grails.doc.DocPublisher. getClassLoader() can probably be rewritten as classLoader

### ➥ PdfBuilder.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedPrivateField | 2 | 25 | [SRC]private static final String LIVE_DOC_SITE = 'http://grails.org' [MSG]The field LIVE_DOC_SITE is not used within the class grails.doc.PdfBuilder
UnusedMethodParameter | 2 | 27 | [SRC]static void build(String baseDir, String styleDir = null) { [MSG]Violation in class PdfBuilder. Method parameter [styleDir] is never referenced in the method build of class grails.doc.PdfBuilder
UnnecessaryGetter | 3 | 73 | [SRC]Document doc = builder.parse(new ByteArrayInputStream(xml.getBytes())) [MSG]Violation in class grails.doc.PdfBuilder. getBytes() can probably be rewritten as bytes

## Package: grails-docs.src.main.groovy.grails.doc.filters

### ➥ HeaderFilter.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 32 | [SRC]void handleMatch(StringBuffer out, MatchResult matchResu..erContext) { [MSG]Violation in class HeaderFilter. Method parameter [filterContext] is never referenced in the method handleMatch of class grails.doc.filters.HeaderFilter
UnusedImport | 3 | 17 | [SRC]import org.radeox.filter.regex.RegexFilter [MSG]The [org.radeox.filter.regex.RegexFilter] import is never referenced

### ➥ LinkTestFilter.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 54 | [SRC]Writer writer = new StringBufferWriter(buffer) [MSG]The variable [writer] in class grails.doc.filters.LinkTestFilter is not used
UnusedImport | 3 | 22 | [SRC]import org.radeox.filter.interwiki.InterWiki [MSG]The [org.radeox.filter.interwiki.InterWiki] import is never referenced
UnnecessaryGetter | 3 | 48 | [SRC]def engine = context.getRenderContext().getRenderEngine() [MSG]Violation in class grails.doc.filters.LinkTestFilter. getRenderEngine() can probably be rewritten as renderEngine
UnnecessaryGetter | 3 | 48 | [SRC]def engine = context.getRenderContext().getRenderEngine() [MSG]Violation in class grails.doc.filters.LinkTestFilter. getRenderContext() can probably be rewritten as renderContext
UnnecessarySubstring | 3 | 71 | [SRC]alias = name.substring(0, pipeIndex) [MSG]Violation in class grails.doc.filters.LinkTestFilter. The String.substring(int, int) method can be replaced with the subscript operator
UnnecessarySubstring | 3 | 72 | [SRC]name = name.substring(pipeIndex + 1) [MSG]Violation in class grails.doc.filters.LinkTestFilter. The String.substring(int) method can be replaced with the subscript operator
UnnecessarySubstring | 3 | 79 | [SRC]hash = name.substring(hashIndex + 1) [MSG]Violation in class grails.doc.filters.LinkTestFilter. The String.substring(int) method can be replaced with the subscript operator
UnnecessarySubstring | 3 | 80 | [SRC]name = name.substring(0, hashIndex) [MSG]Violation in class grails.doc.filters.LinkTestFilter. The String.substring(int, int) method can be replaced with the subscript operator
UnnecessaryGetter | 3 | 106 | [SRC]context.getRenderContext().setCacheable(false) [MSG]Violation in class grails.doc.filters.LinkTestFilter. getRenderContext() can probably be rewritten as renderContext

## Package: grails-docs.src.main.groovy.grails.doc.gradle

### ➥ PublishGuide.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryObjectReferences | 3 | 56 | [SRC]publisher.css = project.file("${resourcesDir}/css") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 57 | [SRC]publisher.js = project.file("${resourcesDir}/js") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 58 | [SRC]publisher.style = project.file("${resourcesDir}/style") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 59 | [SRC]publisher.version = props."grails.version" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 60 | [SRC]publisher.logo = '<a href="http://grails.org" target="_b..r="0"/></a>' [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 61 | [SRC]publisher.sponsorLogo = '<a href="http://springsource.co..r="0"/></a>' [MSG]The code could be more concise by using a with() or identity() block

## Package: grails-docs.src.main.groovy.grails.doc.macros

### ➥ GspTagSourceMacro.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 27 | [SRC]String code [MSG]The variable [code] in class grails.doc.macros.GspTagSourceMacro is not used

## Package: grails-hibernate.src.main.groovy.org.codehaus.groovy.grails.orm.hibernate

### ➥ GrailsHibernateTransactionManager.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 19 | [SRC]import org.hibernate.Session [MSG]The [org.hibernate.Session] import is never referenced

### ➥ HibernateGormEnhancer.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyCatchBlock | 2 | 194 | [SRC]} catch (e) { [MSG]The catch block is empty
ThrowExceptionFromFinallyBlock | 2 | 961 | [SRC]throw e [MSG]Throwing an exception from a finally block can hide an underlying error
UnnecessaryGetter | 3 | 148 | [SRC]this.sessionFactory = datastore.getSessionFactory() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateGormStaticApi. getSessionFactory() can probably be rewritten as sessionFactory
UnnecessaryGetter | 3 | 156 | [SRC]grailsApplication = domainClassMappingContext.getGrailsApplication() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateGormStaticApi. getGrailsApplication() can probably be rewritten as grailsApplication
UnnecessaryGetter | 3 | 668 | [SRC]def sessionFactory = datastore.getSessionFactory() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateGormValidationApi. getSessionFactory() can probably be rewritten as sessionFactory
UnnecessaryGetter | 3 | 673 | [SRC]def grailsApplication = domainClassMappingContext.getGra..pplication() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateGormValidationApi. getGrailsApplication() can probably be rewritten as grailsApplication
UnnecessaryGetter | 3 | 736 | [SRC]sessionFactory = datastore.getSessionFactory() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateGormInstanceApi. getSessionFactory() can probably be rewritten as sessionFactory
UnnecessaryGetter | 3 | 741 | [SRC]def grailsApplication = domainClassMappingContext.getGra..pplication() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateGormInstanceApi. getGrailsApplication() can probably be rewritten as grailsApplication

## Package: grails-hibernate.src.main.groovy.org.codehaus.groovy.grails.orm.hibernate.cfg

### ➥ GORMEnhancingBeanPostProcessor.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 43 | [SRC]def postProcessBeforeInitialization(Object bean, String ..me) { bean } [MSG]Violation in class GORMEnhancingBeanPostProcessor. Method parameter [beanName] is never referenced in the method postProcessBeforeInitialization of class org.codehaus.groovy.grails.orm.hibernate.cfg.GORMEnhancingBeanPostProcessor
UnusedMethodParameter | 2 | 45 | [SRC]Object postProcessAfterInitialization(Object bean, String beanName) { [MSG]Violation in class GORMEnhancingBeanPostProcessor. Method parameter [beanName] is never referenced in the method postProcessAfterInitialization of class org.codehaus.groovy.grails.orm.hibernate.cfg.GORMEnhancingBeanPostProcessor

### ➥ HibernateMappingBuilder.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 | 373 | [SRC]private handleMethodMissing = { String name, args -> [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.HibernateMappingBuilder. The cyclomatic complexity for method [handleMethodMissing] is [46]
UnnecessaryObjectReferences | 3 | 382 | [SRC]property.cascade = namedArgs.cascade ?: property.cascade [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 383 | [SRC]property.sort = namedArgs.sort ?: property.sort [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 384 | [SRC]property.order = namedArgs.order ?: property.order [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 385 | [SRC]property.batchSize = namedArgs.batchSize instanceof Inte..ty.batchSize [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 386 | [SRC]property.ignoreNotFound = namedArgs.ignoreNotFound != nu..noreNotFound [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 387 | [SRC]property.typeParams = namedArgs.params ?: property.typeParams [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 577 | [SRC]column.length = args["length"] ?: -1 [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 578 | [SRC]column.precision = args["precision"] ?: -1 [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 579 | [SRC]column.scale = args["scale"] ?: -1 [MSG]The code could be more concise by using a with() or identity() block

### ➥ HibernateNamedQueriesBuilder.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 231 | [SRC]def preparedClosure = getPreparedCriteriaClosure() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.NamedCriteriaProxy. getPreparedCriteriaClosure() can probably be rewritten as preparedCriteriaClosure
UnnecessaryGetter | 3 | 287 | [SRC]def previousClosure = previousInChain.getPreparedCriteriaClosure() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.NamedCriteriaProxy. getPreparedCriteriaClosure() can probably be rewritten as preparedCriteriaClosure

## Package: grails-hibernate.src.main.groovy.org.codehaus.groovy.grails.plugins.orm.hibernate

### ➥ HibernatePluginSupport.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 | 79 | [SRC]static doWithSpring = { [MSG]Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. The cyclomatic complexity for method [doWithSpring] is [55]
UnusedVariable | 2 | 186 | [SRC]def cacheClass = getClass().classLoader.loadClass(cacheProvider) [MSG]The variable [cacheClass] in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport is not used
UnusedVariable | 2 | 349 | [SRC]String prefix = isDefault ? '' : datasourceName + '_' [MSG]The variable [prefix] in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport is not used
UnusedPrivateMethod | 2 | 590 | [SRC]private static List<String> removeNullNames(Map query) { [MSG]The method removeNullNames is not used within HibernatePluginSupport.groovy
ThrowExceptionFromFinallyBlock | 2 | 612 | [SRC]throw e [MSG]Throwing an exception from a finally block can hide an underlying error
EmptyCatchBlock | 2 | 638 | [SRC]} catch (TypeMismatchException e) { [MSG]The catch block is empty
EmptyCatchBlock | 2 | 669 | [SRC]} catch (FileNotFoundException fnfe) { [MSG]The catch block is empty
UnusedImport | 3 | 32 | [SRC]import org.codehaus.groovy.grails.orm.hibernate.cfg.Defa..onfiguration [MSG]The [org.codehaus.groovy.grails.orm.hibernate.cfg.DefaultGrailsDomainConfiguration] import is never referenced
UnusedImport | 3 | 67 | [SRC]import org.codehaus.groovy.grails.domain.GrailsDomainCla..istentEntity [MSG]The [org.codehaus.groovy.grails.domain.GrailsDomainClassPersistentEntity] import is never referenced
UnnecessaryGetter | 3 | 81 | [SRC]if (getSpringConfig().containsBean(ConstraintsEvaluator.BEAN_NAME)) { [MSG]Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. getSpringConfig() can probably be rewritten as springConfig
UnnecessaryGetter | 3 | 96 | [SRC]if (getSpringConfig().containsBean('dataSource')) { [MSG]Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. getSpringConfig() can probably be rewritten as springConfig
UnnecessaryGetter | 3 | 107 | [SRC]new PersistentConstraintFactory(getSpringConfig().getUnr..onContext(), [MSG]Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. getUnrefreshedApplicationContext() can probably be rewritten as unrefreshedApplicationContext
UnnecessaryGetter | 3 | 107 | [SRC]new PersistentConstraintFactory(getSpringConfig().getUnr..onContext(), [MSG]Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. getSpringConfig() can probably be rewritten as springConfig
UnnecessaryCollectCall | 3 | 252 | [SRC]hibConfigLocations.addAll(explicitLocations.collect { it.toString() }) [MSG]Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. The call to collect could probably be rewritten as a spread expression: explicitLocations*.toString()
UnnecessaryGetter | 3 | 320 | [SRC]if (getSpringConfig().containsBean("controllerHandlerMappings")) { [MSG]Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. getSpringConfig() can probably be rewritten as springConfig
UnnecessaryGetter | 3 | 323 | [SRC]if (getSpringConfig().containsBean("annotationHandlerMapping")) { [MSG]Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. getSpringConfig() can probably be rewritten as springConfig
UnnecessaryGetter | 3 | 510 | [SRC]for (PersistentEntity entity in mappingContext.getPersis..ntities()) { [MSG]Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. getPersistentEntities() can probably be rewritten as persistentEntities
UnnecessaryObjectReferences | 3 | 701 | [SRC]validateMethods.remove 'setValidateMethod' [MSG]The code could be more concise by using a with() or identity() block

## Package: grails-plugin-async.src.main.groovy.org.codehaus.groovy.grails.plugins.web.async

### ➥ ControllersAsyncGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 31 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.async.ControllersAsyncGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion

### ➥ GrailsAsyncContext.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 25 | [SRC]import org.codehaus.groovy.grails.web.sitemesh.SpringMVCViewDecorator [MSG]The [org.codehaus.groovy.grails.web.sitemesh.SpringMVCViewDecorator] import is never referenced
UnnecessaryGetter | 3 | 45 | [SRC]def applicationContext = webRequest.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.async.GrailsAsyncContext. getApplicationContext() can probably be rewritten as applicationContext
UnnecessaryGetter | 3 | 58 | [SRC]GrailsWebRequest webRequest = new GrailsWebRequest(reque..etContext()) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.async.GrailsAsyncContext. getServletContext() can probably be rewritten as servletContext
UnnecessaryGetter | 3 | 84 | [SRC]def targetResponse = bufferingResponse.getTargetResponse() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.async.GrailsAsyncContext. getTargetResponse() can probably be rewritten as targetResponse
UnnecessaryGetter | 3 | 85 | [SRC]def content = bufferingResponse.getContent() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.async.GrailsAsyncContext. getContent() can probably be rewritten as content
UnnecessaryGetter | 3 | 91 | [SRC]content.writeOriginal(targetResponse.getWriter()) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.async.GrailsAsyncContext. getWriter() can probably be rewritten as writer

## Package: grails-plugin-async.src.main.groovy.org.codehaus.groovy.grails.plugins.web.async.api

### ➥ ControllersAsyncApi.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 39 | [SRC]AsyncContext startAsync(instance) { [MSG]Violation in class ControllersAsyncApi. Method parameter [instance] is never referenced in the method startAsync of class org.codehaus.groovy.grails.plugins.web.async.api.ControllersAsyncApi

## Package: grails-plugin-codecs.src.main.groovy.org.codehaus.groovy.grails.plugins

### ➥ CodecsGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 32 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.CodecsGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion
UnnecessaryGetter | 3 | 72 | [SRC]def encodeMethod = codecClass.getEncodeMethod() [MSG]Violation in class org.codehaus.groovy.grails.plugins.CodecsGrailsPlugin. getEncodeMethod() can probably be rewritten as encodeMethod
UnnecessaryGetter | 3 | 84 | [SRC]def decodeMethod = codecClass.getDecodeMethod() [MSG]Violation in class org.codehaus.groovy.grails.plugins.CodecsGrailsPlugin. getDecodeMethod() can probably be rewritten as decodeMethod

## Package: grails-plugin-codecs.src.main.groovy.org.codehaus.groovy.grails.plugins.codecs

### ➥ Base64Codec.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 18 | [SRC]import org.codehaus.groovy.runtime.DefaultGroovyMethods [MSG]The [org.codehaus.groovy.runtime.DefaultGroovyMethods] import is never referenced
UnnecessaryGetter | 3 | 49 | [SRC]return Base64.decodeBase64(theTarget.toString().getBytes()) [MSG]Violation in class org.codehaus.groovy.grails.plugins.codecs.Base64Codec. getBytes() can probably be rewritten as bytes

### ➥ HexCodec.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 32 | [SRC]theTarget.each() { [MSG]Violation in class org.codehaus.groovy.grails.plugins.codecs.HexCodec. Parentheses in the 'each' method call are unnecessary and can be removed.

### ➥ SHA256Codec.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 18 | [SRC]import java.security.MessageDigest [MSG]The [java.security.MessageDigest] import is never referenced

### ➥ URLCodec.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGroovyImport | 3 | 18 | [SRC]import java.net.URLEncoder
UnnecessaryGroovyImport | 3 | 19 | [SRC]import java.net.URLDecoder
UnnecessaryGetter | 3 | 30 | [SRC]URLEncoder.encode(obj.toString(), URLCodec.getEncoding()) [MSG]Violation in class org.codehaus.groovy.grails.plugins.codecs.URLCodec. getEncoding() can probably be rewritten as encoding
UnnecessaryGetter | 3 | 34 | [SRC]URLDecoder.decode(obj.toString(), URLCodec.getEncoding()) [MSG]Violation in class org.codehaus.groovy.grails.plugins.codecs.URLCodec. getEncoding() can probably be rewritten as encoding
UnnecessaryDefInMethodDeclaration | 3 | 37 | [SRC]private static def getEncoding() { [MSG]Violation in class org.codehaus.groovy.grails.plugins.codecs.URLCodec. The def keyword is unneeded when a method is marked private
UnnecessaryGetter | 3 | 38 | [SRC]def request = RequestContextHolder.getRequestAttributes()?.request [MSG]Violation in class org.codehaus.groovy.grails.plugins.codecs.URLCodec. getRequestAttributes() can probably be rewritten as requestAttributes

## Package: grails-plugin-codecs.src.test.groovy.org.codehaus.groovy.grails.web.codecs

### ➥ Base64CodecTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 14 | [SRC]protected void setUp() { [MSG]Violation in class Base64CodecTests. The method setUp() does not call super.setUp()

### ➥ HexCodecTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UseAssertNullInsteadOfAssertEquals | 3 | 21 | [SRC]assertEquals(codec.encode(null), null) [MSG]Violation in class org.codehaus.groovy.grails.web.codecs.HexCodecTests. assertEquals can be simplified using assertNull
UseAssertNullInsteadOfAssertEquals | 3 | 30 | [SRC]assertEquals(codec.decode(null), null) [MSG]Violation in class org.codehaus.groovy.grails.web.codecs.HexCodecTests. assertEquals can be simplified using assertNull

### ➥ URLCodecTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 14 | [SRC]protected void setUp() { [MSG]Violation in class URLCodecTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 19 | [SRC]protected void tearDown() { [MSG]Violation in class URLCodecTests. The method tearDown() does not call super.tearDown()

## Package: grails-plugin-controllers.src.main.groovy.org.codehaus.groovy.grails.plugins.web

### ➥ ControllersGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 109 | [SRC]def basedir = System.getProperty("base.dir") [MSG]The variable [basedir] in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPlugin is not used
UnusedVariable | 2 | 110 | [SRC]def grailsEnv = Environment.current.name [MSG]The variable [grailsEnv] in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPlugin is not used
UnusedMethodParameter | 2 | 201 | [SRC]static void enhanceDomainWithBinding(ApplicationContext ..aClass mc) { [MSG]Violation in class ControllersGrailsPlugin. Method parameter [ctx] is never referenced in the method enhanceDomainWithBinding of class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPlugin
UnnecessaryGetter | 3 | 50 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion
UnnecessaryCallForLastElement | 3 | 113 | [SRC]mappingElement = mappingElement[mappingElement.size() - 1] [MSG]Unnecessarily complex access of last element. This can be simplified to mappingElement.last() or mappingElement[-1]
UnnecessaryCallForLastElement | 3 | 113 | [SRC]mappingElement = mappingElement[mappingElement.size() - 1] [MSG]Unnecessarily complex access of last element. This can be simplified to mappingElement.last() or mappingElement[-1]
UnnecessaryCallForLastElement | 3 | 125 | [SRC]def lastFilter = filters[filters.size() - 1] [MSG]Unnecessarily complex access of last element. This can be simplified to filters.last() or filters[-1]
UnnecessaryCallForLastElement | 3 | 125 | [SRC]def lastFilter = filters[filters.size() - 1] [MSG]Unnecessarily complex access of last element. This can be simplified to filters.last() or filters[-1]
UnnecessaryCallForLastElement | 3 | 126 | [SRC]def lastFilterMapping = filterMappings[filterMappings.size() - 1] [MSG]Unnecessarily complex access of last element. This can be simplified to filterMappings.last() or filterMappings[-1]
UnnecessaryCallForLastElement | 3 | 126 | [SRC]def lastFilterMapping = filterMappings[filterMappings.size() - 1] [MSG]Unnecessarily complex access of last element. This can be simplified to filterMappings.last() or filterMappings[-1]
UnnecessaryGetter | 3 | 169 | [SRC]Object gspEnc = application.getFlatConfig().get("grails....encoding"); [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPlugin. getFlatConfig() can probably be rewritten as flatConfig
UnnecessaryDotClass | 3 | 175 | [SRC]def redirectListeners = ctx.getBeansOfType(RedirectEvent..tener.class) [MSG]RedirectEventListener.class can be rewritten as RedirectEventListener
UnnecessaryGetter | 3 | 178 | [SRC]Object o = application.getFlatConfig().get(RedirectDynam..JSESSIONID); [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPlugin. getFlatConfig() can probably be rewritten as flatConfig

## Package: grails-plugin-controllers.src.main.groovy.org.codehaus.groovy.grails.web.metaclass

### ➥ ChainMethod.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 46 | [SRC]def flash = webRequest.getFlashScope() [MSG]Violation in class org.codehaus.groovy.grails.web.metaclass.ChainMethod. getFlashScope() can probably be rewritten as flashScope
UnnecessaryGetter | 3 | 65 | [SRC]def appCtx = webRequest.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.web.metaclass.ChainMethod. getApplicationContext() can probably be rewritten as applicationContext
UnnecessaryGetter | 3 | 74 | [SRC]def response = webRequest.getCurrentResponse() [MSG]Violation in class org.codehaus.groovy.grails.web.metaclass.ChainMethod. getCurrentResponse() can probably be rewritten as currentResponse

### ➥ WithFormMethod.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
SynchronizedMethod | 2 | 66 | [SRC]protected synchronized boolean isTokenValid(GrailsWebReq..ebRequest) { [MSG]Violation in class WithFormMethod. The method isTokenValid is synchronized at the method level
SynchronizedMethod | 2 | 88 | [SRC]protected synchronized resetToken(GrailsWebRequest webRequest) { [MSG]Violation in class WithFormMethod. The method resetToken is synchronized at the method level
UnusedMethodParameter | 2 | 118 | [SRC]protected Object invalidTokenInternal(Closure callable) { model } [MSG]Violation in class ValidResponseHandler. Method parameter [callable] is never referenced in the method invalidTokenInternal of class org.codehaus.groovy.grails.web.metaclass.ValidResponseHandler
UnusedImport | 3 | 17 | [SRC]import javax.servlet.http.HttpServletRequest [MSG]The [javax.servlet.http.HttpServletRequest] import is never referenced
UnnecessaryGetter | 3 | 67 | [SRC]final request = webRequest.getCurrentRequest() [MSG]Violation in class org.codehaus.groovy.grails.web.metaclass.WithFormMethod. getCurrentRequest() can probably be rewritten as currentRequest
UnnecessaryGetter | 3 | 89 | [SRC]final request = webRequest.getCurrentRequest() [MSG]Violation in class org.codehaus.groovy.grails.web.metaclass.WithFormMethod. getCurrentRequest() can probably be rewritten as currentRequest

## Package: grails-plugin-controllers.src.main.groovy.org.codehaus.groovy.grails.web.plugins.support

### ➥ WebMetaUtils.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 85 | [SRC]static void prepareCommandObjectBindingAction(Method act..ntext ctx) { [MSG]Violation in class WebMetaUtils. Method parameter [action] is never referenced in the method prepareCommandObjectBindingAction of class org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils
UnusedMethodParameter | 2 | 230 | [SRC]static registerCommonWebProperties(MetaClass mc, GrailsA..plication) { [MSG]Violation in class WebMetaUtils. Method parameter [application] is never referenced in the method registerCommonWebProperties of class org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils
UnnecessaryGetter | 3 | 101 | [SRC]def paramTypes = originalAction.getParameterTypes() [MSG]Violation in class org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils. getParameterTypes() can probably be rewritten as parameterTypes
UnnecessaryGetter | 3 | 137 | [SRC]constrainedProperty.getPropertyName()), errors) [MSG]Violation in class org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils. getPropertyName() can probably be rewritten as propertyName
UnnecessarySubstring | 3 | 164 | [SRC]return result.substring(0, result.size() - 8) [MSG]Violation in class org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils. The String.substring(int, int) method can be replaced with the subscript operator
UnnecessaryObjectReferences | 3 | 250 | [SRC]mc.getResponse = responseObject [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 252 | [SRC]mc.getGrailsAttributes = grailsAttrsObject [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 254 | [SRC]mc.getGrailsApplication = {-> RCH.currentRequestAttribut..pplication } [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 256 | [SRC]mc.getActionName = {-> RCH.currentRequestAttributes().actionName } [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 257 | [SRC]mc.getControllerName = {-> RCH.currentRequestAttributes(..rollerName } [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 258 | [SRC]mc.getWebRequest = {-> RCH.currentRequestAttributes() } [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryGetter | 3 | 264 | [SRC]final MetaClass mc = taglib.getMetaClass() [MSG]Violation in class org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils. getMetaClass() can probably be rewritten as metaClass

## Package: grails-plugin-converters.src.main.groovy.org.codehaus.groovy.grails.plugins.converters

### ➥ ConvertersGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 40 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.converters.ConvertersGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion
UnnecessaryGetter | 3 | 52 | [SRC]controllers: GrailsUtil.getGrailsVersion(), [MSG]Violation in class org.codehaus.groovy.grails.plugins.converters.ConvertersGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion
UnnecessaryGetter | 3 | 53 | [SRC]domainClass: GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.converters.ConvertersGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion

### ➥ ConvertersPluginSupport.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 44 | [SRC]static void enhanceApplication(GrailsApplication applica..onContext) { [MSG]Violation in class ConvertersPluginSupport. Method parameter [application] is never referenced in the method enhanceApplication of class org.codehaus.groovy.grails.plugins.converters.ConvertersPluginSupport

## Package: grails-plugin-converters.src.main.groovy.org.codehaus.groovy.grails.web.converters

### ➥ JSONParsingParameterCreationListener.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 36 | [SRC]def request = params.getRequest() [MSG]Violation in class org.codehaus.groovy.grails.web.converters.JSONParsingParameterCreationListener. getRequest() can probably be rewritten as request

### ➥ XMLParsingParameterCreationListener.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 35 | [SRC]def request = params.getRequest() [MSG]Violation in class org.codehaus.groovy.grails.web.converters.XMLParsingParameterCreationListener. getRequest() can probably be rewritten as request

## Package: grails-plugin-converters.src.main.groovy.org.codehaus.groovy.grails.web.converters.configuration

### ➥ configtest.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
ImportFromSamePackage | 3 | 3 | [SRC]import org.codehaus.groovy.grails.web.converters.configu..nInitializer
ImportFromSamePackage | 3 | 4 | [SRC]import org.codehaus.groovy.grails.web.converters.configu..rationHolder
ImportFromSamePackage | 3 | 6 | [SRC]import org.codehaus.groovy.grails.web.converters.configu..onfiguration
ImportFromSamePackage | 3 | 7 | [SRC]import org.codehaus.groovy.grails.web.converters.configu..onfiguration
UnnecessaryDotClass | 3 | 15 | [SRC]def defcfg = ConvertersConfigurationHolder.getConverterC..(JSON.class) [MSG]JSON.class can be rewritten as JSON

## Package: grails-plugin-datasource.src.main.groovy.org.codehaus.groovy.grails.plugins.datasource

### ➥ DataSourceGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 | 72 | [SRC]def createDatasource = { String datasourceName, ds -> [MSG]Violation in class org.codehaus.groovy.grails.plugins.datasource.DataSourceGrailsPlugin. The cyclomatic complexity for method [createDatasource] is [22]
ClassForName | 2 | 186 | [SRC]codecClass = Class.forName(encryptionCodec, true, applic..classLoader) [MSG]Violation in class org.codehaus.groovy.grails.plugins.datasource.DataSourceGrailsPlugin. Methods calls to Class.forName(...) can create resource leaks and should almost always be replaced with calls to ClassLoader.loadClass(...)
EmptyCatchBlock | 2 | 275 | [SRC]} catch (e) { [MSG]The catch block is empty
UnnecessaryGetter | 3 | 46 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.datasource.DataSourceGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion
UnnecessaryGetter | 3 | 47 | [SRC]def dependsOn = [core: GrailsUtil.getGrailsVersion()] [MSG]Violation in class org.codehaus.groovy.grails.plugins.datasource.DataSourceGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion
UnnecessaryElseStatement | 3 | 191 | [SRC]else { [MSG]When an if statement block ends with a return statement the else is unnecessary
UnnecessaryCallForLastElement | 3 | 221 | [SRC]listeners[listeners.size() - 1] + { [MSG]Unnecessarily complex access of last element. This can be simplified to listeners.last() or listeners[-1]
UnnecessaryCallForLastElement | 3 | 221 | [SRC]listeners[listeners.size() - 1] + { [MSG]Unnecessarily complex access of last element. This can be simplified to listeners.last() or listeners[-1]
UnnecessaryGetter | 3 | 269 | [SRC]connection = dataSource.getConnection() [MSG]Violation in class org.codehaus.groovy.grails.plugins.datasource.DataSourceGrailsPlugin. getConnection() can probably be rewritten as connection

## Package: grails-plugin-domain-class.src.main.groovy.org.codehaus.groovy.grails.domain

### ➥ GormApiSupport.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 34 | [SRC]PersistentEntity entity = ctx.getPersistentEntity(cls.getName()) [MSG]Violation in class org.codehaus.groovy.grails.domain.GormApiSupport. getName() can probably be rewritten as name

## Package: grails-plugin-domain-class.src.main.groovy.org.codehaus.groovy.grails.plugins

### ➥ DomainClassGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyCatchBlock | 2 | 113 | [SRC]} catch (e) { [MSG]The catch block is empty
CyclomaticComplexity | 2 | 289 | [SRC]public static addRelationshipManagementMethods(GrailsDom..ntext ctx) { [MSG]Violation in class org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin. The cyclomatic complexity for method [addRelationshipManagementMethods] is [27]
UnusedImport | 3 | 19 | [SRC]import grails.util.ClosureToMapPopulator [MSG]The [grails.util.ClosureToMapPopulator] import is never referenced
UnusedImport | 3 | 40 | [SRC]import org.codehaus.groovy.grails.commons.spring.GrailsR..Configurator [MSG]The [org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator] import is never referenced
UnnecessaryGetter | 3 | 55 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion
UnnecessaryPackageReference | 3 | 112 | [SRC]org.grails.datastore.mapping.reflect.ClassPropertyFetche..hers.clear() [MSG]The org.grails.datastore.mapping.reflect.ClassPropertyFetcher class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 112 | [SRC]org.grails.datastore.mapping.reflect.ClassPropertyFetche..hers.clear() [MSG]The org.grails.datastore.mapping.reflect.ClassPropertyFetcher class was explicitly imported, so specifying the package name is not necessary
UnnecessaryGetter | 3 | 170 | [SRC]for (GrailsDomainClass component in dc.getComponents()) { [MSG]Violation in class org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin. getComponents() can probably be rewritten as components
UnnecessaryGetter | 3 | 225 | [SRC]def attributes = rch.getRequestAttributes() [MSG]Violation in class org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin. getRequestAttributes() can probably be rewritten as requestAttributes
UnnecessaryGetter | 3 | 232 | [SRC]def attributes = rch.getRequestAttributes() [MSG]Violation in class org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin. getRequestAttributes() can probably be rewritten as requestAttributes
UnnecessaryGetter | 3 | 261 | [SRC]delegate.setErrors (new BeanPropertyBindingResult(delega...getName())) [MSG]Violation in class org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin. getName() can probably be rewritten as name
UnnecessaryElseStatement | 3 | 306 | [SRC]else { [MSG]When an if statement block ends with a return statement the else is unnecessary

### ➥ DomainClassPluginSupport.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 19 | [SRC]import org.springframework.validation.BeanPropertyBindingResult [MSG]The [org.springframework.validation.BeanPropertyBindingResult] import is never referenced
UnnecessaryGetter | 3 | 41 | [SRC]prop.validate(object, object.getProperty(prop.getPropert..localErrors) [MSG]Violation in class org.codehaus.groovy.grails.plugins.DomainClassPluginSupport. getPropertyName() can probably be rewritten as propertyName
UnnecessaryGetter | 3 | 46 | [SRC]def fieldName = localError.getField() [MSG]Violation in class org.codehaus.groovy.grails.plugins.DomainClassPluginSupport. getField() can probably be rewritten as field

## Package: grails-plugin-filters.src.main.groovy.org.codehaus.groovy.grails.plugins.web.filters

### ➥ FilterConfig.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
ConsecutiveStringConcatenation | 3 | 100 | [SRC]"Invalid filter definition in ${filtersDefinition.getCla..} - trying " [MSG]String concatenation in class org.codehaus.groovy.grails.plugins.web.filters.FilterConfig can be joined into a single literal

### ➥ FilterToHandlerAdapter.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 116 | [SRC]boolean preHandle(HttpServletRequest request, HttpServle.. Object o) { [MSG]Violation in class FilterToHandlerAdapter. Method parameter [o] is never referenced in the method preHandle of class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter
UnusedMethodParameter | 2 | 138 | [SRC]void postHandle(HttpServletRequest request, HttpServletR..elAndView) { [MSG]Violation in class FilterToHandlerAdapter. Method parameter [o] is never referenced in the method postHandle of class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter
UnusedMethodParameter | 2 | 182 | [SRC]void afterCompletion(HttpServletRequest request, HttpSer...Exception { [MSG]Violation in class FilterToHandlerAdapter. Method parameter [response] is never referenced in the method afterCompletion of class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter
UnusedMethodParameter | 2 | 182 | [SRC]void afterCompletion(HttpServletRequest request, HttpSer...Exception { [MSG]Violation in class FilterToHandlerAdapter. Method parameter [o] is never referenced in the method afterCompletion of class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter
UnnecessaryGetter | 3 | 112 | [SRC]if (!uri) uri = request.getRequestURI() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter. getRequestURI() can probably be rewritten as requestURI
UnnecessaryGetter | 3 | 113 | [SRC]return uri.substring(request.getContextPath().length()) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter. getContextPath() can probably be rewritten as contextPath
UnnecessarySubstring | 3 | 113 | [SRC]return uri.substring(request.getContextPath().length()) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter. The String.substring(int) method can be replaced with the subscript operator
UnnecessaryGetter | 3 | 223 | [SRC]actionName = controllerClass?.getDefaultAction() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter. getDefaultAction() can probably be rewritten as defaultAction

### ➥ FiltersGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 100 | [SRC]def filterClass = applicationContext.getBean("${c.fullName}Class") [MSG]The variable [filterClass] in class org.codehaus.groovy.grails.plugins.web.filters.FiltersGrailsPlugin is not used
UnusedVariable | 2 | 149 | [SRC]def filterClass = applicationContext.getBean("${c.fullName}Class") [MSG]The variable [filterClass] in class org.codehaus.groovy.grails.plugins.web.filters.FiltersGrailsPlugin is not used
UnnecessaryGetter | 3 | 40 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.filters.FiltersGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion

## Package: grails-plugin-gsp.src.main.groovy.org.codehaus.groovy.grails.plugins.web

### ➥ GroovyPagesGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 | 89 | [SRC]def doWithSpring = { [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.GroovyPagesGrailsPlugin. The cyclomatic complexity for method [doWithSpring] is [23]
UnusedVariable | 2 | 289 | [SRC]GrailsPluginManager pluginManager = getManager() [MSG]The variable [pluginManager] in class org.codehaus.groovy.grails.plugins.web.GroovyPagesGrailsPlugin is not used
UnusedImport | 3 | 25 | [SRC]import org.codehaus.groovy.grails.commons.GrailsClassUtils [MSG]The [org.codehaus.groovy.grails.commons.GrailsClassUtils] import is never referenced
UnusedImport | 3 | 26 | [SRC]import org.codehaus.groovy.grails.commons.GrailsTagLibClass [MSG]The [org.codehaus.groovy.grails.commons.GrailsTagLibClass] import is never referenced
UnnecessaryGetter | 3 | 61 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.GroovyPagesGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion
UnnecessarySelfAssignment | 3 | 167 | [SRC]groovyPageLocator = groovyPageLocator [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessarySelfAssignment | 3 | 167 | [SRC]groovyPageLocator = groovyPageLocator [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessarySelfAssignment | 3 | 172 | [SRC]jspTagLibraryResolver = jspTagLibraryResolver [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessarySelfAssignment | 3 | 172 | [SRC]jspTagLibraryResolver = jspTagLibraryResolver [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessarySelfAssignment | 3 | 178 | [SRC]groovyPageLocator = groovyPageLocator [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessarySelfAssignment | 3 | 178 | [SRC]groovyPageLocator = groovyPageLocator [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessarySelfAssignment | 3 | 202 | [SRC]groovyPageLocator = groovyPageLocator [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessarySelfAssignment | 3 | 202 | [SRC]groovyPageLocator = groovyPageLocator [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessaryGetter | 3 | 269 | [SRC]if (Modifier.isAbstract(superClass.getModifiers()) && !s..Enhanced)) { [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.GroovyPagesGrailsPlugin. getModifiers() can probably be rewritten as modifiers
UnnecessaryGetter | 3 | 278 | [SRC]nonEnhancedClasses.each { enhancer.enhance it.getMetaClass() } [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.GroovyPagesGrailsPlugin. getMetaClass() can probably be rewritten as metaClass
UnnecessaryGetter | 3 | 289 | [SRC]GrailsPluginManager pluginManager = getManager() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.GroovyPagesGrailsPlugin. getManager() can probably be rewritten as manager

## Package: grails-plugin-gsp.src.main.groovy.org.codehaus.groovy.grails.plugins.web.taglib

### ➥ ApplicationTagLib.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 26 | [SRC]import org.codehaus.groovy.runtime.DefaultGroovyMethods; [MSG]The [org.codehaus.groovy.runtime.DefaultGroovyMethods] import is never referenced
UnnecessaryElseStatement | 3 | 80 | [SRC]} else { [MSG]When an if statement block ends with a return statement the else is unnecessary
UnnecessaryElseStatement | 3 | 203 | [SRC]} else { [MSG]When an if statement block ends with a return statement the else is unnecessary
UnnecessaryGetter | 3 | 233 | [SRC]def writer = getOut() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib. getOut() can probably be rewritten as out
UnnecessaryElseStatement | 3 | 398 | [SRC]else { [MSG]When an if statement block ends with a return statement the else is unnecessary

### ➥ CountryTagLib.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryCollectCall | 3 | 274 | [SRC]ISO3166_3.entrySet().sort { a, b -> a.value.compareTo(b...) { it.key } [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.CountryTagLib. The call to collect could probably be rewritten as a spread expression: ISO3166_3.entrySet().sort(<not implemented yet for class: org.codehaus.groovy.ast.expr.ClosureExpression>)*.key
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 274 | [SRC]ISO3166_3.entrySet().sort { a, b -> a.value.compareTo(b...) { it.key } [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.CountryTagLib. Parentheses in the 'collect' method call are unnecessary and can be removed.

### ➥ FormTagLib.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 | 477 | [SRC]Closure datePicker = { attrs -> [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. The cyclomatic complexity for method [datePicker] is [58]
AddEmptyString | 2 | 667 | [SRC]def h = '' + i [MSG]Concatenating an empty string is an inefficient way to convert an object to a String. Consider using toString() or String.valueOf(Object)
AddEmptyString | 2 | 696 | [SRC]def m = '' + i [MSG]Concatenating an empty string is an inefficient way to convert an object to a String. Consider using toString() or String.valueOf(Object)
CyclomaticComplexity | 2 | 813 | [SRC]Closure select = { attrs -> [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. The cyclomatic complexity for method [select] is [26]
EmptyCatchBlock | 2 | 952 | [SRC]catch (e) { [MSG]The catch block is empty
UnusedImport | 3 | 25 | [SRC]import org.codehaus.groovy.grails.web.util.StreamCharBuffer [MSG]The [org.codehaus.groovy.grails.web.util.StreamCharBuffer] import is never referenced
UnnecessaryGetter | 3 | 319 | [SRC]def writer = getOut() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. getOut() can probably be rewritten as out
UnnecessarySelfAssignment | 3 | 478 | [SRC]def out = out // let x = x ? [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessarySelfAssignment | 3 | 478 | [SRC]def out = out // let x = x ? [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessaryGetter | 3 | 485 | [SRC]xdefault = DateFormat.getInstance().parse(xdefault) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. getInstance() can probably be rewritten as instance
UnnecessaryGetter | 3 | 723 | [SRC]attrs.from = TimeZone.getAvailableIDs() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. getAvailableIDs() can probably be rewritten as availableIDs
UnnecessaryGetter | 3 | 724 | [SRC]attrs.value = (attrs.value ? attrs.value.ID : TimeZone.g..efault().ID) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. getDefault() can probably be rewritten as default
UnnecessaryGetter | 3 | 755 | [SRC]attrs.from = Locale.getAvailableLocales() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. getAvailableLocales() can probably be rewritten as availableLocales
UnnecessaryGetter | 3 | 820 | [SRC]def messageSource = grailsAttributes.getApplicationConte..sageSource") [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. getApplicationContext() can probably be rewritten as applicationContext

### ➥ FormatTagLib.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 | 227 | [SRC]Closure formatNumber = { attrs -> [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormatTagLib. The cyclomatic complexity for method [formatNumber] is [26]
UnnecessaryGetter | 3 | 162 | [SRC]timeZone = TimeZone.getDefault() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormatTagLib. getDefault() can probably be rewritten as default
UnnecessaryGetter | 3 | 281 | [SRC]dcfs = decimalFormat.getDecimalFormatSymbols() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormatTagLib. getDecimalFormatSymbols() can probably be rewritten as decimalFormatSymbols
UnnecessaryGetter | 3 | 338 | [SRC]locale = Locale.getDefault() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormatTagLib. getDefault() can probably be rewritten as default

### ➥ JavascriptTagLib.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyCatchBlock | 2 | 55 | [SRC]} catch (e) { [MSG]The catch block is empty
UnusedPrivateMethod | 2 | 62 | [SRC]private void initHasResourceProcessor() { [MSG]The method initHasResourceProcessor is not used within JavascriptTagLib.groovy
UnnecessarySubstring | 3 | 162 | [SRC]reqResCtx = (requestPluginContext.startsWith("/") ? requ..ntext) + '/' [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.JavascriptTagLib. The String.substring(int) method can be replaced with the subscript operator
UnnecessaryGetter | 3 | 193 | [SRC]getProvider().doRemoteFunction(owner, attrs, out) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.JavascriptTagLib. getProvider() can probably be rewritten as provider
UnnecessaryGetter | 3 | 349 | [SRC]def p = getProvider() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.JavascriptTagLib. getProvider() can probably be rewritten as provider
UnnecessaryGetter | 3 | 388 | [SRC]def p = getProvider() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.JavascriptTagLib. getProvider() can probably be rewritten as provider

### ➥ RenderTagLib.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 | 329 | [SRC]Closure paginate = { attrs -> [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. The cyclomatic complexity for method [paginate] is [40]
UnnecessaryGetter | 3 | 52 | [SRC]return getRequest().getAttribute(PAGE) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getRequest() can probably be rewritten as request
UnnecessaryGetter | 3 | 107 | [SRC]def oldPage = getPage() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getPage() can probably be rewritten as page
UnnecessaryGetter | 3 | 151 | [SRC]def parser = getFactory().getPageParser(contentType) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getFactory() can probably be rewritten as factory
UnnecessaryGetter | 3 | 158 | [SRC]def decoratorMapper = getFactory().getDecoratorMapper() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getDecoratorMapper() can probably be rewritten as decoratorMapper
UnnecessaryGetter | 3 | 158 | [SRC]def decoratorMapper = getFactory().getDecoratorMapper() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getFactory() can probably be rewritten as factory
UnnecessaryGetter | 3 | 165 | [SRC]def t = groovyPagesTemplateEngine.createTemplate(d.getPage()) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getPage() can probably be rewritten as page
UnnecessaryGetter | 3 | 177 | [SRC]return FactoryHolder.getFactory() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getFactory() can probably be rewritten as factory
UnnecessaryGetter | 3 | 197 | [SRC]def htmlPage = getPage() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getPage() can probably be rewritten as page
UnnecessarySubstring | 3 | 216 | [SRC]out << propertyName.substring(propertyName.lastIndexOf('.') + 1) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. The String.substring(int) method can be replaced with the subscript operator
UnnecessaryGetter | 3 | 244 | [SRC]def htmlPage = getPage() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getPage() can probably be rewritten as page
UnnecessaryGetter | 3 | 291 | [SRC]getPage().writeBody(out) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getPage() can probably be rewritten as page
UnnecessaryGetter | 3 | 302 | [SRC]getPage().writeHead(out) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getPage() can probably be rewritten as page
UnnecessaryGetter | 3 | 565 | [SRC]groovyPagesTemplateRenderer.render(getWebRequest(), getP..y, getOut()) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getWebRequest() can probably be rewritten as webRequest
UnnecessaryGetter | 3 | 565 | [SRC]groovyPagesTemplateRenderer.render(getWebRequest(), getP..y, getOut()) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getPageScope() can probably be rewritten as pageScope
UnnecessaryGetter | 3 | 565 | [SRC]groovyPagesTemplateRenderer.render(getWebRequest(), getP..y, getOut()) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getOut() can probably be rewritten as out

### ➥ SitemeshTagLib.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 172 | [SRC]def content = captureTagContent(out, 'meta', attrs, body, true) [MSG]The variable [content] in class org.codehaus.groovy.grails.plugins.web.taglib.SitemeshTagLib is not used

### ➥ ValidationTagLib.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryCollectCall | 3 | 115 | [SRC]checkList = model.findAll {it.value?.errors instanceof E..t {it.value} [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. The call to collect could probably be rewritten as a spread expression: model.findAll(<not implemented yet for class: org.codehaus.groovy.ast.expr.ClosureExpression>)*.value
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 249 | [SRC]mkp.errors() { [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. Parentheses in the 'errors' method call are unnecessary and can be removed.
UnnecessarySubstring | 3 | 348 | [SRC]def againstClass = attrs.against ?: form.substring(0,1)...substring(1) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. The String.substring(int, int) method can be replaced with the subscript operator
UnnecessarySubstring | 3 | 348 | [SRC]def againstClass = attrs.against ?: form.substring(0,1)...substring(1) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. The String.substring(int) method can be replaced with the subscript operator
UnnecessaryCollectCall | 3 | 356 | [SRC]appliedConstraints += it.collect{ it.appliedConstraints } [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. The call to collect could probably be rewritten as a spread expression: it*.appliedConstraints
UnnecessarySubstring | 3 | 384 | [SRC]def scriptName = "org/apache/commons/validator/javascrip..g(1) + ".js" [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. The String.substring(int, int) method can be replaced with the subscript operator
UnnecessarySubstring | 3 | 384 | [SRC]def scriptName = "org/apache/commons/validator/javascrip..g(1) + ".js" [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. The String.substring(int) method can be replaced with the subscript operator
UnnecessarySubstring | 3 | 410 | [SRC]def validateType = k.substring(0,1).toUpperCase() + k.substring(1) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. The String.substring(int, int) method can be replaced with the subscript operator
UnnecessarySubstring | 3 | 410 | [SRC]def validateType = k.substring(0,1).toUpperCase() + k.substring(1) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. The String.substring(int) method can be replaced with the subscript operator
UnnecessaryGetter | 3 | 426 | [SRC]PropertyEditorRegistry registry = RequestContextHolder.c..orRegistry() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. getPropertyEditorRegistry() can probably be rewritten as propertyEditorRegistry

## Package: grails-plugin-i18n.src.main.groovy.org.codehaus.groovy.grails.plugins.i18n

### ➥ I18nGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 46 | [SRC]String version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.i18n.I18nGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion

## Package: grails-plugin-log4j.src.main.groovy.org.codehaus.groovy.grails.plugins.log4j

### ➥ Log4jConfig.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 181 | [SRC]Logger root = Logger.getRootLogger() [MSG]Violation in class org.codehaus.groovy.grails.plugins.log4j.Log4jConfig. getRootLogger() can probably be rewritten as rootLogger
UnnecessaryGetter | 3 | 229 | [SRC]BuildSettings settings = BuildSettingsHolder.getSettings() [MSG]Violation in class org.codehaus.groovy.grails.plugins.log4j.Log4jConfig. getSettings() can probably be rewritten as settings
UnnecessaryGetter | 3 | 230 | [SRC]def targetDir = settings?.getProjectTargetDir() [MSG]Violation in class org.codehaus.groovy.grails.plugins.log4j.Log4jConfig. getProjectTargetDir() can probably be rewritten as projectTargetDir
UnnecessaryGetter | 3 | 240 | [SRC]def root = Logger.getRootLogger() [MSG]Violation in class org.codehaus.groovy.grails.plugins.log4j.Log4jConfig. getRootLogger() can probably be rewritten as rootLogger
UnnecessaryGetter | 3 | 320 | [SRC]LogLog.error "Appender $appender not found configuring l...getName()}" [MSG]Violation in class org.codehaus.groovy.grails.plugins.log4j.Log4jConfig. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 375 | [SRC]Logger.getRootLogger().removeAppender name [MSG]Violation in class org.codehaus.groovy.grails.plugins.log4j.Log4jConfig. getRootLogger() can probably be rewritten as rootLogger
UnnecessaryDefInMethodDeclaration | 3 | 444 | [SRC]def EnvironmentsLog4JConfig(Log4jConfig config) { [MSG]Violation in class org.codehaus.groovy.grails.plugins.log4j.EnvironmentsLog4JConfig. The def keyword is unneeded on constructors

### ➥ LoggingGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 35 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.log4j.LoggingGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion
UnnecessaryCallForLastElement | 3 | 55 | [SRC]mappingElement = mappingElement[mappingElement.size() - 1] [MSG]Unnecessarily complex access of last element. This can be simplified to mappingElement.last() or mappingElement[-1]
UnnecessaryCallForLastElement | 3 | 55 | [SRC]mappingElement = mappingElement[mappingElement.size() - 1] [MSG]Unnecessarily complex access of last element. This can be simplified to mappingElement.last() or mappingElement[-1]

## Package: grails-plugin-mimetypes.src.main.groovy.org.codehaus.groovy.grails.plugins.web.api

### ➥ ControllersMimeTypesApi.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 50 | [SRC]def withFormat(instance, Closure callable) { [MSG]Violation in class ControllersMimeTypesApi. Method parameter [instance] is never referenced in the method withFormat of class org.codehaus.groovy.grails.plugins.web.api.ControllersMimeTypesApi

### ➥ RequestMimeTypesApi.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 76 | [SRC]parser.configuredMimeTypes = getMimeTypes() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.api.RequestMimeTypesApi. getMimeTypes() can probably be rewritten as mimeTypes

### ➥ ResponseMimeTypesApi.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedPrivateMethodParameter | 2 | 122 | [SRC]private MimeType[] getMimeTypesInternal(HttpServletReque.. response) { [MSG]Violation in class ResponseMimeTypesApi. Method parameter [response] is never referenced in the method getMimeTypesInternal of class org.codehaus.groovy.grails.plugins.web.api.ResponseMimeTypesApi
UnnecessaryGetter | 3 | 72 | [SRC]HttpServletRequest request = webRequest.getCurrentRequest() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.api.ResponseMimeTypesApi. getCurrentRequest() can probably be rewritten as currentRequest
UnnecessaryGetter | 3 | 77 | [SRC]def allMimes = getMimeTypes() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.api.ResponseMimeTypesApi. getMimeTypes() can probably be rewritten as mimeTypes
UnnecessaryGetter | 3 | 79 | [SRC]result = mime ? mime.extension : getMimeTypes()[0].extension [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.api.ResponseMimeTypesApi. getMimeTypes() can probably be rewritten as mimeTypes
UnnecessaryGetter | 3 | 130 | [SRC]parser.configuredMimeTypes = getMimeTypes() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.api.ResponseMimeTypesApi. getMimeTypes() can probably be rewritten as mimeTypes

## Package: grails-plugin-mimetypes.src.main.groovy.org.codehaus.groovy.grails.plugins.web.mimes

### ➥ MimeTypesGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 37 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.mimes.MimeTypesGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion

## Package: grails-plugin-mimetypes.src.main.groovy.org.codehaus.groovy.grails.web.mime

### ➥ DefaultAcceptHeaderParser.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 45 | [SRC]def qualifiedMimes = [] [MSG]The variable [qualifiedMimes] in class org.codehaus.groovy.grails.web.mime.DefaultAcceptHeaderParser is not used
UnnecessaryGetter | 3 | 43 | [SRC]def config = application?.getConfig() [MSG]Violation in class org.codehaus.groovy.grails.web.mime.DefaultAcceptHeaderParser. getConfig() can probably be rewritten as config
UnnecessaryGetter | 3 | 56 | [SRC]return MimeType.getConfiguredMimeTypes() [MSG]Violation in class org.codehaus.groovy.grails.web.mime.DefaultAcceptHeaderParser. getConfiguredMimeTypes() can probably be rewritten as configuredMimeTypes

## Package: grails-plugin-scaffolding.src.main.groovy.org.codehaus.groovy.grails.plugins.scaffolding

### ➥ ScaffoldingGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyCatchBlock | 2 | 188 | [SRC]catch (Exception e) { [MSG]The catch block is empty
UnusedImport | 3 | 29 | [SRC]import org.springframework.beans.factory.config.BeanDefinition [MSG]The [org.springframework.beans.factory.config.BeanDefinition] import is never referenced
UnnecessaryGetter | 3 | 50 | [SRC]def version = grails.util.GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.scaffolding.ScaffoldingGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion

## Package: grails-plugin-services.src.main.groovy.org.codehaus.groovy.grails.plugins.services

### ➥ ServicesGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 39 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.services.ServicesGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion
UnnecessaryGetter | 3 | 90 | [SRC]"${serviceClass.propertyName}"(serviceClass.getClazz()) { bean -> [MSG]Violation in class org.codehaus.groovy.grails.plugins.services.ServicesGrailsPlugin. getClazz() can probably be rewritten as clazz
UnnecessaryGetter | 3 | 158 | [SRC]"$serviceName"(serviceClass.getClazz()) { bean -> [MSG]Violation in class org.codehaus.groovy.grails.plugins.services.ServicesGrailsPlugin. getClazz() can probably be rewritten as clazz

## Package: grails-plugin-servlets.src.main.groovy.org.codehaus.groovy.grails.plugins.web

### ➥ ServletsGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 31 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.ServletsGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion

## Package: grails-plugin-testing.src.main.groovy.grails.test

### ➥ AbstractCliTestCase.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedPrivateField | 2 | 22 | [SRC]private final Condition waiting = lock.newCondition() [MSG]The field waiting is not used within the class grails.test.AbstractCliTestCase
JUnitPublicNonTestMethod | 2 | 91 | [SRC]String getOutput() { [MSG]Violation in class AbstractCliTestCase. The method getOutput is public but not a test method
JUnitPublicNonTestMethod | 2 | 95 | [SRC]void setOutput(String output) { [MSG]Violation in class AbstractCliTestCase. The method setOutput is public but not a test method
JUnitPublicNonTestMethod | 2 | 103 | [SRC]File getWorkDir() { [MSG]Violation in class AbstractCliTestCase. The method getWorkDir is public but not a test method
JUnitPublicNonTestMethod | 2 | 107 | [SRC]void setWorkDir(File dir) { [MSG]Violation in class AbstractCliTestCase. The method setWorkDir is public but not a test method
JUnitPublicNonTestMethod | 2 | 117 | [SRC]void enterInput(String input) { [MSG]Violation in class AbstractCliTestCase. The method enterInput is public but not a test method
JUnitPublicNonTestMethod | 2 | 127 | [SRC]int waitForProcess() { [MSG]Violation in class AbstractCliTestCase. The method waitForProcess is public but not a test method
UnusedVariable | 2 | 129 | [SRC]final monitor = "monitor" [MSG]The variable [monitor] in class grails.test.AbstractCliTestCase is not used
EmptyCatchBlock | 2 | 139 | [SRC]catch (InterruptedException ex) { [MSG]The catch block is empty
JUnitPublicNonTestMethod | 2 | 214 | [SRC]public boolean isWindows() { [MSG]Violation in class AbstractCliTestCase. The method isWindows is public but not a test method

### ➥ ControllerUnitTestCase.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 58 | [SRC]Class getControllerClass() { [MSG]Violation in class ControllerUnitTestCase. The method getControllerClass is public but not a test method

### ➥ GroovyPagesTestCase.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 37 | [SRC]void setControllerName(String name) { [MSG]Violation in class GroovyPagesTestCase. The method setControllerName is public but not a test method
JUnitPublicNonTestMethod | 2 | 49 | [SRC]void assertOutputEquals(expected, template, params = [:]..tring() }) { [MSG]Violation in class GroovyPagesTestCase. The method assertOutputEquals is public but not a test method
JUnitPublicNonTestMethod | 2 | 61 | [SRC]String applyTemplate(template, params = [:]) { [MSG]Violation in class GroovyPagesTestCase. The method applyTemplate is public but not a test method
JUnitPublicNonTestMethod | 2 | 67 | [SRC]void applyTemplate(StringWriter sw, template, params = [:]) { [MSG]Violation in class GroovyPagesTestCase. The method applyTemplate is public but not a test method

### ➥ MockUtils.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedPrivateMethodParameter | 2 | 567 | [SRC]private static void addDynamicFinders(Class clazz, List ..Instances) { [MSG]Violation in class MockUtils. Method parameter [testInstances] is never referenced in the method addDynamicFinders of class grails.test.MockUtils
UnusedPrivateMethodParameter | 2 | 655 | [SRC]private static void addCountMethods(Class clazz, GrailsD..Instances) { [MSG]Violation in class MockUtils. Method parameter [dc] is never referenced in the method addCountMethods of class grails.test.MockUtils
UnusedPrivateMethodParameter | 2 | 732 | [SRC]private static void addOtherStaticMethods(Class clazz, L..Instances) { [MSG]Violation in class MockUtils. Method parameter [testInstances] is never referenced in the method addOtherStaticMethods of class grails.test.MockUtils
CyclomaticComplexity | 2 | 752 | [SRC]private static void addDynamicInstanceMethods(Class claz..Instances) { [MSG]Violation in class grails.test.MockUtils. The cyclomatic complexity for method [addDynamicInstanceMethods] is [24]
CyclomaticComplexity | 2 | 917 | [SRC]private static void addValidateMethod( [MSG]Violation in class grails.test.MockUtils. The cyclomatic complexity for method [addValidateMethod] is [27]
CyclomaticComplexity | 2 | 1097 | [SRC]private static processInstances(instances, property, com..tor, args) { [MSG]Violation in class grails.test.MockUtils. The cyclomatic complexity for method [processInstances] is [26]
UnusedImport | 3 | 42 | [SRC]import org.springframework.validation.BeanPropertyBindingResult [MSG]The [org.springframework.validation.BeanPropertyBindingResult] import is never referenced
ConstantAssertExpression | 3 | 295 | [SRC]assert false : "'template' attribute must be provided." [MSG]The assert statement within class grails.test.MockUtils has a constant boolean expression [false]
UnnecessaryGetter | 3 | 315 | [SRC]clazz.metaClass.getSession = {-> mockRequest.getSession() } [MSG]Violation in class grails.test.MockUtils. getSession() can probably be rewritten as session
UnnecessarySubstring | 3 | 359 | [SRC]def shortName = clazz.name.substring(pos + 1) [MSG]Violation in class grails.test.MockUtils. The String.substring(int) method can be replaced with the subscript operator
UnnecessaryElseStatement | 3 | 633 | [SRC]} else { [MSG]When an if statement block ends with a return statement the else is unnecessary
UnnecessaryDotClass | 3 | 945 | [SRC]while (clazz != Object.class) { [MSG]Object.class can be rewritten as Object
UnnecessaryGetter | 3 | 947 | [SRC]clazz = clazz.getSuperclass() [MSG]Violation in class grails.test.MockUtils. getSuperclass() can probably be rewritten as superclass
UnnecessaryDotClass | 3 | 1322 | [SRC]if (value instanceof Number && Long.class.equals(targetType)) { [MSG]Long.class can be rewritten as Long

### ➥ MvcUnitTestCase.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 85 | [SRC]Class getTestClass() { [MSG]Violation in class MvcUnitTestCase. The method getTestClass is public but not a test method
UnusedImport | 3 | 17 | [SRC]import grails.util.GrailsNameUtils [MSG]The [grails.util.GrailsNameUtils] import is never referenced
UnnecessaryDefInMethodDeclaration | 3 | 122 | [SRC]protected def bindMockWebRequest(GrailsMockHttpServletRe..kResponse) { [MSG]Violation in class grails.test.MvcUnitTestCase. The def keyword is unneeded when a method is marked protected

### ➥ TagLibUnitTestCase.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 65 | [SRC]Class getTagLibClass() { [MSG]Violation in class TagLibUnitTestCase. The method getTagLibClass is public but not a test method

## Package: grails-plugin-testing.src.main.groovy.grails.test.mixin.domain

### ➥ DomainClassUnitTestMixin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryDotClass | 3 | 153 | [SRC]def validator = applicationContext.getBean(validationBea..dator.class) [MSG]Validator.class can be rewritten as Validator

## Package: grails-plugin-testing.src.main.groovy.grails.test.mixin.support

### ➥ GrailsUnitTestMixin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryDotClass | 3 | 80 | [SRC]CachedIntrospectionResults.clearClassLoader(GrailsUnitTe..classLoader) [MSG]GrailsUnitTestMixin.class can be rewritten as GrailsUnitTestMixin
UnnecessaryGetter | 3 | 169 | [SRC]result = ScriptBytecodeAdapter.unwrap(gre).getMessage() [MSG]Violation in class grails.test.mixin.support.GrailsUnitTestMixin. getMessage() can probably be rewritten as message
UnnecessaryGetter | 3 | 173 | [SRC]result = e.getMessage() [MSG]Violation in class grails.test.mixin.support.GrailsUnitTestMixin. getMessage() can probably be rewritten as message
UnnecessaryGetter | 3 | 201 | [SRC]throw new AssertionFailedError("Closure " + code + " sho..z.getName()) [MSG]Violation in class grails.test.mixin.support.GrailsUnitTestMixin. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 203 | [SRC]throw new AssertionFailedError("Closure " + code + " sho..ion " + th); [MSG]Violation in class grails.test.mixin.support.GrailsUnitTestMixin. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 205 | [SRC]return th.getMessage(); [MSG]Violation in class grails.test.mixin.support.GrailsUnitTestMixin. getMessage() can probably be rewritten as message

## Package: grails-plugin-testing.src.main.groovy.grails.test.mixin.web

### ➥ ControllerUnitTestMixin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 124 | [SRC]webRequest.getParams() [MSG]Violation in class grails.test.mixin.web.ControllerUnitTestMixin. getParams() can probably be rewritten as params
UnnecessaryGetter | 3 | 159 | [SRC]webRequest.getFlashScope() [MSG]Violation in class grails.test.mixin.web.ControllerUnitTestMixin. getFlashScope() can probably be rewritten as flashScope
UnnecessaryGetter | 3 | 184 | [SRC]final classLoader = ControllerUnitTestMixin.class.getClassLoader() [MSG]Violation in class grails.test.mixin.web.ControllerUnitTestMixin. getClassLoader() can probably be rewritten as classLoader
UnnecessaryDotClass | 3 | 184 | [SRC]final classLoader = ControllerUnitTestMixin.class.getClassLoader() [MSG]ControllerUnitTestMixin.class can be rewritten as ControllerUnitTestMixin
UnnecessaryGetter | 3 | 252 | [SRC]request = webRequest.getCurrentRequest() [MSG]Violation in class grails.test.mixin.web.ControllerUnitTestMixin. getCurrentRequest() can probably be rewritten as currentRequest
UnnecessaryGetter | 3 | 253 | [SRC]response = webRequest.getCurrentResponse() [MSG]Violation in class grails.test.mixin.web.ControllerUnitTestMixin. getCurrentResponse() can probably be rewritten as currentResponse
UnnecessaryGetter | 3 | 254 | [SRC]servletContext = webRequest.getServletContext() [MSG]Violation in class grails.test.mixin.web.ControllerUnitTestMixin. getServletContext() can probably be rewritten as servletContext
UnnecessaryGetter | 3 | 349 | [SRC]return factory.getObject() [MSG]Violation in class grails.test.mixin.web.TestResponseMimeTypesApi. getObject() can probably be rewritten as object
UnnecessaryGetter | 3 | 359 | [SRC]return factory.getObject() [MSG]Violation in class grails.test.mixin.web.TestRequestMimeTypesApi. getObject() can probably be rewritten as object

### ➥ FiltersUnitTestMixin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 64 | [SRC]getCompositeInterceptor().handlers?.clear() [MSG]Violation in class grails.test.mixin.web.FiltersUnitTestMixin. getCompositeInterceptor() can probably be rewritten as compositeInterceptor
UnnecessaryGetter | 3 | 94 | [SRC]return getCompositeInterceptor() [MSG]Violation in class grails.test.mixin.web.FiltersUnitTestMixin. getCompositeInterceptor() can probably be rewritten as compositeInterceptor
UnnecessaryGetter | 3 | 116 | [SRC]final interceptor = getCompositeInterceptor() [MSG]Violation in class grails.test.mixin.web.FiltersUnitTestMixin. getCompositeInterceptor() can probably be rewritten as compositeInterceptor

### ➥ GroovyPageUnitTestMixin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 97 | [SRC]MetaClass mc = tagLib.getMetaClass() [MSG]Violation in class grails.test.mixin.web.GroovyPageUnitTestMixin. getMetaClass() can probably be rewritten as metaClass

### ➥ UrlMappingsUnitTestMixin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 | 182 | [SRC]void assertForwardUrlMapping(assertions, url, paramAssertions) { [MSG]Violation in class grails.test.mixin.web.UrlMappingsUnitTestMixin. The cyclomatic complexity for method [assertForwardUrlMapping] is [23]
MisorderedStaticImports | 3 | 28 | [SRC]import static junit.framework.Assert.assertEquals [MSG]Static imports should appear before normal imports
MisorderedStaticImports | 3 | 29 | [SRC]import static junit.framework.Assert.assertNotNull [MSG]Static imports should appear before normal imports
UnnecessarySelfAssignment | 3 | 54 | [SRC]grailsApplication = grailsApplication [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessaryGetter | 3 | 60 | [SRC]getUrlMappingsHolder() [MSG]Violation in class grails.test.mixin.web.UrlMappingsUnitTestMixin. getUrlMappingsHolder() can probably be rewritten as urlMappingsHolder
UnnecessaryGetter | 3 | 77 | [SRC]UrlMappingsHolder mappingsHolder = getUrlMappingsHolder() [MSG]Violation in class grails.test.mixin.web.UrlMappingsUnitTestMixin. getUrlMappingsHolder() can probably be rewritten as urlMappingsHolder
UnnecessarySubstring | 3 | 217 | [SRC]if (actual[0] == "/") actual = actual.substring(1) [MSG]Violation in class grails.test.mixin.web.UrlMappingsUnitTestMixin. The String.substring(int) method can be replaced with the subscript operator
UnnecessarySubstring | 3 | 218 | [SRC]if (expected[0] == "/") expected = expected.substring(1) [MSG]Violation in class grails.test.mixin.web.UrlMappingsUnitTestMixin. The String.substring(int) method can be replaced with the subscript operator

## Package: grails-plugin-tomcat.src.main.groovy.org.grails.plugins.tomcat

### ➥ InlineExplodedTomcatServer.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyCatchBlock | 2 | 55 | [SRC]} catch (e) { [MSG]The catch block is empty
MisorderedStaticImports | 3 | 25 | [SRC]import static grails.build.logging.GrailsConsole.instance as CONSOLE [MSG]Static imports should appear before normal imports
UnnecessaryGetter | 3 | 73 | [SRC]def pluginManager = PluginManagerHolder.getPluginManager() [MSG]Violation in class org.grails.plugins.tomcat.InlineExplodedTomcatServer. getPluginManager() can probably be rewritten as pluginManager
UnnecessaryObjectReferences | 3 | 120 | [SRC]sslConnector.setAttribute("keystorePass", keyPassword) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 121 | [SRC]sslConnector.URIEncoding = 'UTF-8' [MSG]The code could be more concise by using a with() or identity() block

### ➥ IsolatedWarTomcatServer.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyCatchBlock | 2 | 95 | [SRC]try { err = errFile.text } catch (IOException e) {} [MSG]The catch block is empty
EmptyCatchBlock | 2 | 126 | [SRC]} catch(e) { [MSG]The catch block is empty
UnnecessaryGetter | 3 | 75 | [SRC]for (entry in getConfigParams()) { [MSG]Violation in class org.grails.plugins.tomcat.IsolatedWarTomcatServer. getConfigParams() can probably be rewritten as configParams

### ➥ TomcatLoader.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyMethod | 2 | 52 | [SRC]void addPropertyChangeListener(PropertyChangeListener listener) {} [MSG]Violation in class TomcatLoader. The method addPropertyChangeListener is both empty and not marked with @Override
UnusedMethodParameter | 2 | 52 | [SRC]void addPropertyChangeListener(PropertyChangeListener listener) {} [MSG]Violation in class TomcatLoader. Method parameter [listener] is never referenced in the method addPropertyChangeListener of class org.grails.plugins.tomcat.TomcatLoader
EmptyMethod | 2 | 58 | [SRC]void backgroundProcess() {} [MSG]Violation in class TomcatLoader. The method backgroundProcess is both empty and not marked with @Override
EmptyMethod | 2 | 68 | [SRC]void removePropertyChangeListener(PropertyChangeListener listener) {} [MSG]Violation in class TomcatLoader. The method removePropertyChangeListener is both empty and not marked with @Override
UnusedMethodParameter | 2 | 68 | [SRC]void removePropertyChangeListener(PropertyChangeListener listener) {} [MSG]Violation in class TomcatLoader. Method parameter [listener] is never referenced in the method removePropertyChangeListener of class org.grails.plugins.tomcat.TomcatLoader
UnnecessaryGetter | 3 | 82 | [SRC]log.info("Dual registration of jndi stream handler: " + ..etMessage()) [MSG]Violation in class org.grails.plugins.tomcat.TomcatLoader. getMessage() can probably be rewritten as message
UnnecessaryGetter | 3 | 86 | [SRC]DirContextURLStreamHandler.bind(classLoader, container.getResources()) [MSG]Violation in class org.grails.plugins.tomcat.TomcatLoader. getResources() can probably be rewritten as resources

### ➥ TomcatServer.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
ClassForName | 2 | 161 | [SRC]Class.forName('sun.security.tools.KeyTool') [MSG]Violation in class org.grails.plugins.tomcat.TomcatServer. Methods calls to Class.forName(...) can create resource leaks and should almost always be replaced with calls to ClassLoader.loadClass(...)
ClassForName | 2 | 164 | [SRC]Class.forName('com.ibm.crypto.tools.KeyTool') [MSG]Violation in class org.grails.plugins.tomcat.TomcatServer. Methods calls to Class.forName(...) can create resource leaks and should almost always be replaced with calls to ClassLoader.loadClass(...)
MisorderedStaticImports | 3 | 23 | [SRC]import static grails.build.logging.GrailsConsole.instance as CONSOLE [MSG]Static imports should appear before normal imports
UnnecessaryGetter | 3 | 50 | [SRC]buildSettings = BuildSettingsHolder.getSettings() [MSG]Violation in class org.grails.plugins.tomcat.TomcatServer. getSettings() can probably be rewritten as settings
UnnecessaryGetter | 3 | 51 | [SRC]pluginSettings = GrailsPluginUtils.getPluginBuildSettings() [MSG]Violation in class org.grails.plugins.tomcat.TomcatServer. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings
UnnecessaryGetter | 3 | 145 | [SRC]getKeyToolClass().main( [MSG]Violation in class org.grails.plugins.tomcat.TomcatServer. getKeyToolClass() can probably be rewritten as keyToolClass

## Package: grails-plugin-url-mappings.src.main.groovy.grails.test

### ➥ GrailsUrlMappingsTestCase.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 56 | [SRC]def createMappingsHolder() { [MSG]Violation in class GrailsUrlMappingsTestCase. The method createMappingsHolder is public but not a test method
JUnitPublicNonTestMethod | 2 | 63 | [SRC]def createControllerMap() { [MSG]Violation in class GrailsUrlMappingsTestCase. The method createControllerMap is public but not a test method
JUnitPublicNonTestMethod | 2 | 71 | [SRC]def getUrlMappingEvaluatees() { [MSG]Violation in class GrailsUrlMappingsTestCase. The method getUrlMappingEvaluatees is public but not a test method
JUnitSetUpCallsSuper | 2 | 84 | [SRC]void setUp() { [MSG]Violation in class GrailsUrlMappingsTestCase. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 91 | [SRC]void tearDown() { [MSG]Violation in class GrailsUrlMappingsTestCase. The method tearDown() does not call super.tearDown()
JUnitPublicNonTestMethod | 2 | 95 | [SRC]def getActions(controller) { [MSG]Violation in class GrailsUrlMappingsTestCase. The method getActions is public but not a test method
JUnitPublicNonTestMethod | 2 | 104 | [SRC]def getDefaultAction(controllerName) { [MSG]Violation in class GrailsUrlMappingsTestCase. The method getDefaultAction is public but not a test method
JUnitPublicNonTestMethod | 2 | 109 | [SRC]def assertController(controller, url) { [MSG]Violation in class GrailsUrlMappingsTestCase. The method assertController is public but not a test method
JUnitPublicNonTestMethod | 2 | 115 | [SRC]def assertAction(controller, action, url) { [MSG]Violation in class GrailsUrlMappingsTestCase. The method assertAction is public but not a test method
JUnitPublicNonTestMethod | 2 | 121 | [SRC]def assertView(controller, view, url) { [MSG]Violation in class GrailsUrlMappingsTestCase. The method assertView is public but not a test method
JUnitPublicNonTestMethod | 2 | 129 | [SRC]void assertUrlMapping(assertions, url) { [MSG]Violation in class GrailsUrlMappingsTestCase. The method assertUrlMapping is public but not a test method
JUnitPublicNonTestMethod | 2 | 133 | [SRC]void assertUrlMapping(assertions, url, paramAssertions) { [MSG]Violation in class GrailsUrlMappingsTestCase. The method assertUrlMapping is public but not a test method
JUnitPublicNonTestMethod | 2 | 140 | [SRC]void assertForwardUrlMapping(assertions, url) { [MSG]Violation in class GrailsUrlMappingsTestCase. The method assertForwardUrlMapping is public but not a test method
JUnitPublicNonTestMethod | 2 | 144 | [SRC]void assertForwardUrlMapping(assertions, url, paramAssertions) { [MSG]Violation in class GrailsUrlMappingsTestCase. The method assertForwardUrlMapping is public but not a test method
CyclomaticComplexity | 2 | 144 | [SRC]void assertForwardUrlMapping(assertions, url, paramAssertions) { [MSG]Violation in class grails.test.GrailsUrlMappingsTestCase. The cyclomatic complexity for method [assertForwardUrlMapping] is [21]
JUnitPublicNonTestMethod | 2 | 202 | [SRC]void assertReverseUrlMapping(assertions, url) { [MSG]Violation in class GrailsUrlMappingsTestCase. The method assertReverseUrlMapping is public but not a test method
JUnitPublicNonTestMethod | 2 | 206 | [SRC]void assertReverseUrlMapping(assertions, url, paramAssertions) { [MSG]Violation in class GrailsUrlMappingsTestCase. The method assertReverseUrlMapping is public but not a test method
UnusedImport | 3 | 18 | [SRC]import grails.util.GrailsWebUtil [MSG]The [grails.util.GrailsWebUtil] import is never referenced
UnusedImport | 3 | 20 | [SRC]import org.codehaus.groovy.grails.commons.DefaultGrailsApplication [MSG]The [org.codehaus.groovy.grails.commons.DefaultGrailsApplication] import is never referenced
UnusedImport | 3 | 21 | [SRC]import org.codehaus.groovy.grails.commons.GrailsApplication [MSG]The [org.codehaus.groovy.grails.commons.GrailsApplication] import is never referenced
UnusedImport | 3 | 24 | [SRC]import org.codehaus.groovy.grails.plugins.web.mapping.Ur..GrailsPlugin [MSG]The [org.codehaus.groovy.grails.plugins.web.mapping.UrlMappingsGrailsPlugin] import is never referenced
UnusedImport | 3 | 25 | [SRC]import org.codehaus.groovy.grails.support.MockApplicationContext [MSG]The [org.codehaus.groovy.grails.support.MockApplicationContext] import is never referenced
UnusedImport | 3 | 28 | [SRC]import org.codehaus.groovy.grails.web.multipart.ContentL..partResolver [MSG]The [org.codehaus.groovy.grails.web.multipart.ContentLengthAwareCommonsMultipartResolver] import is never referenced
UnusedImport | 3 | 30 | [SRC]import org.springframework.web.context.WebApplicationContext [MSG]The [org.springframework.web.context.WebApplicationContext] import is never referenced
UnusedImport | 3 | 32 | [SRC]import org.springframework.web.servlet.DispatcherServlet [MSG]The [org.springframework.web.servlet.DispatcherServlet] import is never referenced
UnusedImport | 3 | 34 | [SRC]import org.springframework.web.context.ServletContextAware [MSG]The [org.springframework.web.context.ServletContextAware] import is never referenced
UnusedImport | 3 | 35 | [SRC]import javax.servlet.ServletContext [MSG]The [javax.servlet.ServletContext] import is never referenced
DuplicateImport | 3 | 36 | [SRC]import org.codehaus.groovy.grails.commons.GrailsClassUtils
UnnecessarySubstring | 3 | 176 | [SRC]if (actual[0] == "/") actual = actual.substring(1) [MSG]Violation in class grails.test.GrailsUrlMappingsTestCase. The String.substring(int) method can be replaced with the subscript operator
UnnecessarySubstring | 3 | 177 | [SRC]if (expected[0] == "/") expected = expected.substring(1) [MSG]Violation in class grails.test.GrailsUrlMappingsTestCase. The String.substring(int) method can be replaced with the subscript operator

## Package: grails-plugin-url-mappings.src.main.groovy.org.codehaus.groovy.grails.plugins.web.mapping

### ➥ UrlMappingsGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedPrivateMethodParameter | 2 | 161 | [SRC]private UrlMappingsHolder createUrlMappingsHolder(Grails..inManager) { [MSG]Violation in class UrlMappingsGrailsPlugin. Method parameter [application] is never referenced in the method createUrlMappingsHolder of class org.codehaus.groovy.grails.plugins.web.mapping.UrlMappingsGrailsPlugin
UnusedPrivateMethodParameter | 2 | 161 | [SRC]private UrlMappingsHolder createUrlMappingsHolder(Grails..inManager) { [MSG]Violation in class UrlMappingsGrailsPlugin. Method parameter [pluginManager] is never referenced in the method createUrlMappingsHolder of class org.codehaus.groovy.grails.plugins.web.mapping.UrlMappingsGrailsPlugin
UnnecessaryGetter | 3 | 47 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.mapping.UrlMappingsGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion
UnnecessaryPackageReference | 3 | 63 | [SRC]urlMappingsTargetSource(org.springframework.aop.target.H..)) { bean -> [MSG]The org.springframework.aop.target.HotSwappableTargetSource class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 63 | [SRC]urlMappingsTargetSource(org.springframework.aop.target.H..)) { bean -> [MSG]The org.springframework.aop.target.HotSwappableTargetSource class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 69 | [SRC]proxyInterfaces = [org.codehaus.groovy.grails.web.mappin..pingsHolder] [MSG]The org.codehaus.groovy.grails.web.mapping.UrlMappingsHolder class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 69 | [SRC]proxyInterfaces = [org.codehaus.groovy.grails.web.mappin..pingsHolder] [MSG]The org.codehaus.groovy.grails.web.mapping.UrlMappingsHolder class was explicitly imported, so specifying the package name is not necessary
UnnecessaryCallForLastElement | 3 | 75 | [SRC]def lastFilter = filters[filters.size()-1] [MSG]Unnecessarily complex access of last element. This can be simplified to filters.last() or filters[-1]
UnnecessaryCallForLastElement | 3 | 75 | [SRC]def lastFilter = filters[filters.size()-1] [MSG]Unnecessarily complex access of last element. This can be simplified to filters.last() or filters[-1]
UnnecessaryCallForLastElement | 3 | 85 | [SRC]def lastServlet = servlets[servlets.size()-1] [MSG]Unnecessarily complex access of last element. This can be simplified to servlets.last() or servlets[-1]
UnnecessaryCallForLastElement | 3 | 85 | [SRC]def lastServlet = servlets[servlets.size()-1] [MSG]Unnecessarily complex access of last element. This can be simplified to servlets.last() or servlets[-1]
UnnecessaryCallForLastElement | 3 | 95 | [SRC]def lastMapping = servletMappings[servletMappings.size()-1] [MSG]Unnecessarily complex access of last element. This can be simplified to servletMappings.last() or servletMappings[-1]
UnnecessaryCallForLastElement | 3 | 95 | [SRC]def lastMapping = servletMappings[servletMappings.size()-1] [MSG]Unnecessarily complex access of last element. This can be simplified to servletMappings.last() or servletMappings[-1]
UnnecessaryCallForLastElement | 3 | 124 | [SRC]welcomeFileList = welcomeFileList[welcomeFileList.size() - 1] [MSG]Unnecessarily complex access of last element. This can be simplified to welcomeFileList.last() or welcomeFileList[-1]
UnnecessaryCallForLastElement | 3 | 124 | [SRC]welcomeFileList = welcomeFileList[welcomeFileList.size() - 1] [MSG]Unnecessarily complex access of last element. This can be simplified to welcomeFileList.last() or welcomeFileList[-1]
UnnecessaryCallForLastElement | 3 | 132 | [SRC]def lastFilterMapping = filterMappings[filterMappings.size() - 1] [MSG]Unnecessarily complex access of last element. This can be simplified to filterMappings.last() or filterMappings[-1]
UnnecessaryCallForLastElement | 3 | 132 | [SRC]def lastFilterMapping = filterMappings[filterMappings.size() - 1] [MSG]Unnecessarily complex access of last element. This can be simplified to filterMappings.last() or filterMappings[-1]
UnnecessaryGetter | 3 | 166 | [SRC]final urlMappingsHolder = factory.getObject() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.mapping.UrlMappingsGrailsPlugin. getObject() can probably be rewritten as object

## Package: grails-plugin-validation.src.main.groovy.org.codehaus.groovy.grails.plugins

### ➥ ValidationGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedPrivateMethodParameter | 2 | 55 | [SRC]private static addValidationMethods(application, validat..lass, ctx) { [MSG]Violation in class ValidationGrailsPlugin. Method parameter [ctx] is never referenced in the method addValidationMethods of class org.codehaus.groovy.grails.plugins.ValidationGrailsPlugin
UnusedImport | 3 | 26 | [SRC]import org.springframework.core.type.filter.AnnotationTypeFilter [MSG]The [org.springframework.core.type.filter.AnnotationTypeFilter] import is never referenced
UnnecessaryGetter | 3 | 33 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.ValidationGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion
UnnecessaryGetter | 3 | 64 | [SRC]def attributes = rch.getRequestAttributes() [MSG]Violation in class org.codehaus.groovy.grails.plugins.ValidationGrailsPlugin. getRequestAttributes() can probably be rewritten as requestAttributes
UnnecessaryGetter | 3 | 71 | [SRC]def attributes = rch.getRequestAttributes() [MSG]Violation in class org.codehaus.groovy.grails.plugins.ValidationGrailsPlugin. getRequestAttributes() can probably be rewritten as requestAttributes
UnnecessaryGetter | 3 | 90 | [SRC]errors = new BeanPropertyBindingResult(delegate, delegat..).getName()) [MSG]Violation in class org.codehaus.groovy.grails.plugins.ValidationGrailsPlugin. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 100 | [SRC]delegate.setErrors(new BeanPropertyBindingResult(delegat...getName())) [MSG]Violation in class org.codehaus.groovy.grails.plugins.ValidationGrailsPlugin. getName() can probably be rewritten as name

## Package: grails-plugin-validation.src.test.groovy.org.codehaus.groovy.grails.plugins

### ➥ ValidationGrailsPluginTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
ImportFromSamePackage | 3 | 3 | [SRC]import org.codehaus.groovy.grails.plugins.ValidationGrailsPlugin
UnnecessaryGetter | 3 | 12 | [SRC]def registry = GroovySystem.getMetaClassRegistry() [MSG]Violation in class org.codehaus.groovy.grails.plugins.ValidationGrailsPluginTests. getMetaClassRegistry() can probably be rewritten as metaClassRegistry

## Package: grails-spring.src.main.groovy.grails.spring

### ➥ DynamicElementReader.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyMethod | 2 | 75 | [SRC]protected void afterInvocation() { [MSG]Violation in class DynamicElementReader. The method afterInvocation is both empty and not marked with @Override
UnnecessaryGetter | 3 | 53 | [SRC]EntityResolver entityResolver = new DelegatingEntityReso..assLoader()) [MSG]Violation in class grails.spring.DynamicElementReader. getClassLoader() can probably be rewritten as classLoader
UnnecessaryDotClass | 3 | 53 | [SRC]EntityResolver entityResolver = new DelegatingEntityReso..assLoader()) [MSG]DynamicElementReader.class can be rewritten as DynamicElementReader
UnnecessaryGetter | 3 | 121 | [SRC]Element element = documentLoader.loadDocument(is, entity..entElement() [MSG]Violation in class grails.spring.DynamicElementReader. getDocumentElement() can probably be rewritten as documentElement
UnnecessaryGetter | 3 | 126 | [SRC]BeanDefinitionHolder holder = new BeanDefinitionHolder(b..n.getName()) [MSG]Violation in class grails.spring.DynamicElementReader. getBeanDefinition() can probably be rewritten as beanDefinition
UnnecessaryGetter | 3 | 126 | [SRC]BeanDefinitionHolder holder = new BeanDefinitionHolder(b..n.getName()) [MSG]Violation in class grails.spring.DynamicElementReader. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 128 | [SRC]beanConfiguration.setBeanDefinition(holder.getBeanDefinition()) [MSG]Violation in class grails.spring.DynamicElementReader. getBeanDefinition() can probably be rewritten as beanDefinition

## Package: grails-test-suite-base.src.main.groovy.org.codehaus.groovy.grails.plugins.web

### ➥ AbstractGrailsPluginTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTearDownCallsSuper | 2 | 82 | [SRC]protected final void tearDown() { [MSG]Violation in class AbstractGrailsPluginTests. The method tearDown() does not call super.tearDown()
UnnecessaryGetter | 3 | 50 | [SRC]ga = new DefaultGrailsApplication(gcl.getLoadedClasses(),gcl) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.AbstractGrailsPluginTests. getLoadedClasses() can probably be rewritten as loadedClasses
UnnecessaryGetter | 3 | 75 | [SRC]appCtx = springConfig.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.AbstractGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext

## Package: grails-test-suite-base.src.main.groovy.org.codehaus.groovy.grails.web.servlet.mvc

### ➥ AbstractGrailsControllerTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 150 | [SRC]def withConfig(String text, Closure callable) { [MSG]Violation in class AbstractGrailsControllerTests. The method withConfig is public but not a test method
JUnitPublicNonTestMethod | 2 | 162 | [SRC]GrailsWebRequest buildMockRequest(ConfigObject config) t.. Exception { [MSG]Violation in class AbstractGrailsControllerTests. The method buildMockRequest is public but not a test method
JUnitPublicNonTestMethod | 2 | 174 | [SRC]void runTest(Closure callable) { [MSG]Violation in class AbstractGrailsControllerTests. The method runTest is public but not a test method
UnnecessaryGetter | 3 | 76 | [SRC]ga = new DefaultGrailsApplication(gcl.getLoadedClasses(), gcl) [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests. getLoadedClasses() can probably be rewritten as loadedClasses
UnnecessaryGetter | 3 | 112 | [SRC]servletContext = ctx.getServletContext() [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests. getServletContext() can probably be rewritten as servletContext
UnnecessaryGetter | 3 | 119 | [SRC]appCtx = springConfig.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests. getApplicationContext() can probably be rewritten as applicationContext
UnnecessaryGetter | 3 | 169 | [SRC]appCtx.getServletContext().setAttribute(GrailsApplicatio..EXT, appCtx) [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests. getServletContext() can probably be rewritten as servletContext
UnnecessaryGetter | 3 | 170 | [SRC]appCtx.getServletContext().setAttribute(WebApplicationCo..UTE, appCtx) [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests. getServletContext() can probably be rewritten as servletContext

## Package: grails-test-suite-base.src.main.groovy.org.codehaus.groovy.grails.web.taglib

### ➥ AbstractGrailsTagTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 68 | [SRC]def withConfig(String text, Closure callable) { [MSG]Violation in class AbstractGrailsTagTests. The method withConfig is public but not a test method
JUnitPublicNonTestMethod | 2 | 80 | [SRC]GrailsWebRequest buildMockRequest(ConfigObject config) t.. Exception { [MSG]Violation in class AbstractGrailsTagTests. The method buildMockRequest is public but not a test method
JUnitPublicNonTestMethod | 2 | 89 | [SRC]def profile(String name, Closure callable) { [MSG]Violation in class AbstractGrailsTagTests. The method profile is public but not a test method
JUnitPublicNonTestMethod | 2 | 99 | [SRC]def withTag(String tagName, Writer out, Closure callable) { [MSG]Violation in class AbstractGrailsTagTests. The method withTag is public but not a test method
UnusedVariable | 2 | 122 | [SRC]GroovyPageOutputStack stack=GroovyPageOutputStack.createNew(out) [MSG]The variable [stack] in class org.codehaus.groovy.grails.web.taglib.AbstractGrailsTagTests is not used
JUnitSetUpCallsSuper | 2 | 150 | [SRC]protected void setUp() throws Exception { [MSG]Violation in class AbstractGrailsTagTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 240 | [SRC]protected void tearDown() { [MSG]Violation in class AbstractGrailsTagTests. The method tearDown() does not call super.tearDown()
JUnitPublicNonTestMethod | 2 | 265 | [SRC]void runTest(Closure callable) { [MSG]Violation in class AbstractGrailsTagTests. The method runTest is public but not a test method
JUnitPublicNonTestMethod | 2 | 269 | [SRC]void printCompiledSource(template, params = [:]) { [MSG]Violation in class AbstractGrailsTagTests. The method printCompiledSource is public but not a test method
JUnitPublicNonTestMethod | 2 | 275 | [SRC]def getCompiledSource(template, params = [:]) { [MSG]Violation in class AbstractGrailsTagTests. The method getCompiledSource is public but not a test method
UnusedVariable | 2 | 289 | [SRC]String text = sw.toString() [MSG]The variable [text] in class org.codehaus.groovy.grails.web.taglib.AbstractGrailsTagTests is not used
JUnitPublicNonTestMethod | 2 | 292 | [SRC]def assertCompiledSourceContains(expected, template, params = [:]) { [MSG]Violation in class AbstractGrailsTagTests. The method assertCompiledSourceContains is public but not a test method
JUnitPublicNonTestMethod | 2 | 297 | [SRC]void assertOutputContains(expected, template, params = [:]) { [MSG]Violation in class AbstractGrailsTagTests. The method assertOutputContains is public but not a test method
JUnitPublicNonTestMethod | 2 | 302 | [SRC]void assertOutputNotContains(expected, template, params = [:]) { [MSG]Violation in class AbstractGrailsTagTests. The method assertOutputNotContains is public but not a test method
JUnitPublicNonTestMethod | 2 | 320 | [SRC]void assertOutputEquals(expected, template, params = [:]..tring() }) { [MSG]Violation in class AbstractGrailsTagTests. The method assertOutputEquals is public but not a test method
JUnitPublicNonTestMethod | 2 | 356 | [SRC]def applyTemplate(template, params = [:], target = null,..me = null) { [MSG]Violation in class AbstractGrailsTagTests. The method applyTemplate is public but not a test method
JUnitPublicNonTestMethod | 2 | 381 | [SRC]String sitemeshPreprocess(String template) { [MSG]Violation in class AbstractGrailsTagTests. The method sitemeshPreprocess is public but not a test method
JUnitPublicNonTestMethod | 2 | 386 | [SRC]String applyLayout(String layout, String template, Map params=[:]) { [MSG]Violation in class AbstractGrailsTagTests. The method applyLayout is public but not a test method
UnnecessaryGetter | 3 | 85 | [SRC]initThemeSource(request.getCurrentRequest(), messageSource) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.AbstractGrailsTagTests. getCurrentRequest() can probably be rewritten as currentRequest
UnnecessaryGetter | 3 | 204 | [SRC]JstlUtils.exposeLocalizationContext webRequest.getRequest(),null [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.AbstractGrailsTagTests. getRequest() can probably be rewritten as request
UnnecessaryGetter | 3 | 215 | [SRC]appCtx = springConfig.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.AbstractGrailsTagTests. getApplicationContext() can probably be rewritten as applicationContext
UnnecessaryDefInMethodDeclaration | 3 | 235 | [SRC]private def initThemeSource(request, StaticMessageSource..ageSource) { [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.AbstractGrailsTagTests. The def keyword is unneeded when a method is marked private
UnnecessaryDefInMethodDeclaration | 3 | 343 | [SRC]protected def assertTemplateOutputEquals(expected, Groov..tring() }) { [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.AbstractGrailsTagTests. The def keyword is unneeded when a method is marked protected

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.orm.hibernate

### ➥ AbstractGrailsHibernateTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 121 | [SRC]void onApplicationCreated() {} [MSG]Violation in class AbstractGrailsHibernateTests. The method onApplicationCreated is public but not a test method
JUnitPublicNonTestMethod | 2 | 137 | [SRC]GrailsWebRequest buildMockRequest(ConfigObject config = .. Exception { [MSG]Violation in class AbstractGrailsHibernateTests. The method buildMockRequest is public but not a test method
EmptyCatchBlock | 2 | 158 | [SRC]catch(e) { [MSG]The catch block is empty
EmptyCatchBlock | 2 | 165 | [SRC]catch(e) { [MSG]The catch block is empty
UnnecessaryGetter | 3 | 72 | [SRC]ga = new DefaultGrailsApplication(gcl.getLoadedClasses(), gcl) [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.AbstractGrailsHibernateTests. getLoadedClasses() can probably be rewritten as loadedClasses
UnnecessaryGetter | 3 | 86 | [SRC]ga.setMainContext(springConfig.getUnrefreshedApplicationContext()) [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.AbstractGrailsHibernateTests. getUnrefreshedApplicationContext() can probably be rewritten as unrefreshedApplicationContext
UnnecessaryGetter | 3 | 87 | [SRC]appCtx = springConfig.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.AbstractGrailsHibernateTests. getApplicationContext() can probably be rewritten as applicationContext
UnnecessaryGetter | 3 | 162 | [SRC]getClass().classLoader.loadClass("net.sf.ehcache.CacheManager") [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.AbstractGrailsHibernateTests. getInstance() can probably be rewritten as instance
UnnecessaryGetter | 3 | 198 | [SRC]GroovySystem.getMetaClassRegistry().removeMetaClass meta..tyMode.POJO) [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.AbstractGrailsHibernateTests. getMetaClassRegistry() can probably be rewritten as metaClassRegistry

### ➥ AbstractInheritanceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 83 | [SRC]def Abstract = ga.getDomainClass("AbstractInheritanceAbs..Base").clazz [MSG]The variable [Abstract] in class org.codehaus.groovy.grails.orm.hibernate.AbstractInheritanceTests is not used
UnusedVariable | 2 | 104 | [SRC]def Comment = ga.getDomainClass("AbstractInheritanceComment").clazz [MSG]The variable [Comment] in class org.codehaus.groovy.grails.orm.hibernate.AbstractInheritanceTests is not used

### ➥ AllDeleteOrphanMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 36 | [SRC]void testDeleteOrphanMapping() { [MSG]Violation in class AllDeleteOrphanMappingTests. Test method 'testDeleteOrphanMapping' makes no assertions

### ➥ AssertionFailureInEventTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 16 | [SRC]void testNoAssertionErrorInEvent() { [MSG]Violation in class AssertionFailureInEventTests. Test method 'testNoAssertionErrorInEvent' makes no assertions

### ➥ AutoImportPackedDomainTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UseAssertEqualsInsteadOfAssertTrue | 3 | 27 | [SRC]assertTrue models.size() == 1 [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.AutoImportPackedDomainTests. Replace assertTrue with a call to assertEquals()
UseAssertEqualsInsteadOfAssertTrue | 3 | 30 | [SRC]assertTrue models.size() == 1 [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.AutoImportPackedDomainTests. Replace assertTrue with a call to assertEquals()
UseAssertEqualsInsteadOfAssertTrue | 3 | 33 | [SRC]assertTrue models.size() == 1 [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.AutoImportPackedDomainTests. Replace assertTrue with a call to assertEquals()

### ➥ BidirectionalHasOneMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 27 | [SRC]void testRefreshHasOneAssociation() { [MSG]Violation in class BidirectionalHasOneMappingTests. Test method 'testRefreshHasOneAssociation' makes no assertions

### ➥ BidirectionalListMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 22 | [SRC]protected void setUp() { [MSG]Violation in class BidirectionalListMappingTests. The method setUp() does not call super.setUp()
UnusedVariable | 2 | 59 | [SRC]PersistentClass faqSection = config.getClassMapping("TestFaqSection") [MSG]The variable [faqSection] in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests is not used
UnusedVariable | 2 | 97 | [SRC]PersistentClass faqSection = config.getClassMapping("TestFaqSection") [MSG]The variable [faqSection] in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests is not used
UnusedVariable | 2 | 147 | [SRC]PersistentClass faqSection = config.getClassMapping("TestFaqSection") [MSG]The variable [faqSection] in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests is not used
UnusedVariable | 2 | 169 | [SRC]PersistentClass faqSection = config.getClassMapping("TestFaqSection") [MSG]The variable [faqSection] in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests is not used
UnusedVariable | 2 | 188 | [SRC]PersistentClass faqSection = config.getClassMapping("TestFaqSection") [MSG]The variable [faqSection] in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests is not used
UnusedVariable | 2 | 276 | [SRC]SimpleValue indexColumnValue = indexColumn.getValue() [MSG]The variable [indexColumnValue] in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests is not used
JUnitUnnecessaryTearDown | 3 | 54 | [SRC]protected void tearDown() { [MSG]Violation in class BidirectionalListMappingTests. The tearDown() method contains no logic and can be removed
UnnecessaryOverridingMethod | 3 | 54 | [SRC]protected void tearDown() { [MSG]Violation in class BidirectionalListMappingTests. The method tearDown contains no logic and can be safely deleted
UnnecessaryGetter | 3 | 74 | [SRC]assertNull elementsIndexBackref.getCascade() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCascade() can probably be rewritten as cascade
UnnecessaryGetter | 3 | 75 | [SRC]assertEquals CascadeStyle.NONE, elementsIndexBackref.getCascadeStyle() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCascadeStyle() can probably be rewritten as cascadeStyle
UnnecessaryGetter | 3 | 76 | [SRC]assertEquals "TestFaqSection.elements", elementsIndexBa..ectionRole() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCollectionRole() can probably be rewritten as collectionRole
UnnecessaryGetter | 3 | 77 | [SRC]assertEquals 1, elementsIndexBackref.getColumnSpan() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan
UnnecessaryGetter | 3 | 78 | [SRC]assertEquals "TestFaqSection", elementsIndexBackref.getEntityName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getEntityName() can probably be rewritten as entityName
UnnecessaryGetter | 3 | 79 | [SRC]assertEquals PropertyGeneration.NEVER, elementsIndexBack..Generation() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getGeneration() can probably be rewritten as generation
UnnecessaryGetter | 3 | 80 | [SRC]assertEquals "_elementsIndexBackref", elementsIndexBackref.getName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 81 | [SRC]assertNull elementsIndexBackref.getNodeName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getNodeName() can probably be rewritten as nodeName
UnnecessaryGetter | 3 | 82 | [SRC]assertNull elementsIndexBackref.getPropertyAccessorName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getPropertyAccessorName() can probably be rewritten as propertyAccessorName
UnnecessaryGetter | 3 | 83 | [SRC]assertEquals IntegerType, elementsIndexBackref.getType().getClass() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getType() can probably be rewritten as type
UnnecessaryGetter | 3 | 84 | [SRC]assertEquals SimpleValue, elementsIndexBackref.getValue().getClass() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getValue() can probably be rewritten as value
UnnecessaryGetter | 3 | 86 | [SRC]SimpleValue value = elementsIndexBackref.getValue() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getValue() can probably be rewritten as value
UnnecessaryGetter | 3 | 112 | [SRC]assertNull elementsBackref.getCascade() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCascade() can probably be rewritten as cascade
UnnecessaryGetter | 3 | 113 | [SRC]assertEquals CascadeStyle.NONE, elementsBackref.getCascadeStyle() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCascadeStyle() can probably be rewritten as cascadeStyle
UnnecessaryGetter | 3 | 114 | [SRC]assertEquals "TestFaqSection.elements", elementsBackref...ectionRole() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCollectionRole() can probably be rewritten as collectionRole
UnnecessaryGetter | 3 | 115 | [SRC]assertEquals 1, elementsBackref.getColumnSpan() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan
UnnecessaryGetter | 3 | 116 | [SRC]assertEquals "TestFaqSection", elementsBackref.getEntityName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getEntityName() can probably be rewritten as entityName
UnnecessaryGetter | 3 | 117 | [SRC]assertEquals PropertyGeneration.NEVER, elementsBackref.getGeneration() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getGeneration() can probably be rewritten as generation
UnnecessaryGetter | 3 | 118 | [SRC]assertEquals "_TestFaqSection_elementsBackref", elements..ef.getName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 119 | [SRC]assertNull elementsBackref.getNodeName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getNodeName() can probably be rewritten as nodeName
UnnecessaryGetter | 3 | 120 | [SRC]assertEquals "TestFaqElement", elementsBackref.getPersis..tClassName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getClassName() can probably be rewritten as className
UnnecessaryGetter | 3 | 120 | [SRC]assertEquals "TestFaqElement", elementsBackref.getPersis..tClassName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getPersistentClass() can probably be rewritten as persistentClass
UnnecessaryGetter | 3 | 121 | [SRC]assertNull elementsBackref.getPropertyAccessorName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getPropertyAccessorName() can probably be rewritten as propertyAccessorName
UnnecessaryGetter | 3 | 122 | [SRC]assertEquals LongType, elementsBackref.getType().getClass() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getType() can probably be rewritten as type
UnnecessaryGetter | 3 | 123 | [SRC]assertEquals DependantValue, elementsBackref.getValue().getClass() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getValue() can probably be rewritten as value
UnnecessaryGetter | 3 | 125 | [SRC]DependantValue value = elementsBackref.getValue() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getValue() can probably be rewritten as value
UnnecessaryGetter | 3 | 133 | [SRC]assertEquals 1,value.getColumnInsertability().size() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability
UnnecessaryGetter | 3 | 134 | [SRC]assertTrue value.getColumnInsertability()[0] [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability
UnnecessaryGetter | 3 | 135 | [SRC]assertEquals 1,value.getColumnUpdateability().size() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability
UnnecessaryGetter | 3 | 136 | [SRC]assertTrue value.getColumnUpdateability()[0] [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability
UnnecessaryGetter | 3 | 138 | [SRC]assertEquals 1, value.getColumnSpan() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan
UnnecessaryGetter | 3 | 139 | [SRC]assertEquals FetchMode.SELECT, value.getFetchMode() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getFetchMode() can probably be rewritten as fetchMode
UnnecessaryGetter | 3 | 140 | [SRC]assertNull value.getForeignKeyName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getForeignKeyName() can probably be rewritten as foreignKeyName
UnnecessaryGetter | 3 | 141 | [SRC]assertEquals "assigned", value.getIdentifierGeneratorStrategy() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getIdentifierGeneratorStrategy() can probably be rewritten as identifierGeneratorStrategy
UnnecessaryGetter | 3 | 142 | [SRC]assertNull value.getNullValue() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getNullValue() can probably be rewritten as nullValue
UnnecessaryGetter | 3 | 143 | [SRC]assertEquals LongType, value.getType().getClass() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getType() can probably be rewritten as type
UnnecessaryGetter | 3 | 161 | [SRC]assertEquals "none", section.getCascade() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCascade() can probably be rewritten as cascade
UnnecessaryGetter | 3 | 162 | [SRC]assertEquals CascadeStyle.NONE, section.getCascadeStyle() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCascadeStyle() can probably be rewritten as cascadeStyle
UnnecessaryGetter | 3 | 163 | [SRC]assertEquals 1, section.getColumnSpan() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan
UnnecessaryGetter | 3 | 164 | [SRC]assertEquals PropertyGeneration.NEVER, section.getGeneration() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getGeneration() can probably be rewritten as generation
UnnecessaryGetter | 3 | 165 | [SRC]assertEquals "section", section.getName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 172 | [SRC]Column sectionColumn = section.getColumnIterator().next() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnIterator() can probably be rewritten as columnIterator
UnnecessaryGetter | 3 | 174 | [SRC]assertEquals "section_id", sectionColumn.getCanonicalName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCanonicalName() can probably be rewritten as canonicalName
UnnecessaryGetter | 3 | 175 | [SRC]assertNull sectionColumn.getCheckConstraint() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCheckConstraint() can probably be rewritten as checkConstraint
UnnecessaryGetter | 3 | 176 | [SRC]assertNull sectionColumn.getComment() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getComment() can probably be rewritten as comment
UnnecessaryGetter | 3 | 177 | [SRC]assertNull sectionColumn.getDefaultValue() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getDefaultValue() can probably be rewritten as defaultValue
UnnecessaryGetter | 3 | 178 | [SRC]assertEquals 255, sectionColumn.getLength() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getLength() can probably be rewritten as length
UnnecessaryGetter | 3 | 179 | [SRC]assertEquals "section_id", sectionColumn.getName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 180 | [SRC]assertEquals 19, sectionColumn.getPrecision() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getPrecision() can probably be rewritten as precision
UnnecessaryGetter | 3 | 181 | [SRC]assertEquals "section_id", sectionColumn.getQuotedName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getQuotedName() can probably be rewritten as quotedName
UnnecessaryGetter | 3 | 182 | [SRC]assertEquals 2, sectionColumn.getScale() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getScale() can probably be rewritten as scale
UnnecessaryGetter | 3 | 183 | [SRC]assertEquals "section_id", sectionColumn.getText() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getText() can probably be rewritten as text
UnnecessaryGetter | 3 | 184 | [SRC]assertEquals 0, sectionColumn.getTypeIndex() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getTypeIndex() can probably be rewritten as typeIndex
UnnecessaryGetter | 3 | 192 | [SRC]ManyToOne manyToOne = section.getValue() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getValue() can probably be rewritten as value
UnnecessaryGetter | 3 | 193 | [SRC]assertEquals 1,manyToOne.getColumnInsertability().size() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability
UnnecessaryGetter | 3 | 194 | [SRC]assertTrue manyToOne.getColumnInsertability()[0] [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability
UnnecessaryGetter | 3 | 195 | [SRC]assertEquals 1,manyToOne.getColumnUpdateability().size() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability
UnnecessaryGetter | 3 | 196 | [SRC]assertTrue manyToOne.getColumnUpdateability()[0] [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability
UnnecessaryGetter | 3 | 208 | [SRC]assertEquals 1, manyToOne.getConstraintColumns().size() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getConstraintColumns() can probably be rewritten as constraintColumns
UnnecessaryGetter | 3 | 209 | [SRC]assertEquals FetchMode.DEFAULT, manyToOne.getFetchMode() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getFetchMode() can probably be rewritten as fetchMode
UnnecessaryGetter | 3 | 210 | [SRC]assertNull manyToOne.getForeignKeyName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getForeignKeyName() can probably be rewritten as foreignKeyName
UnnecessaryGetter | 3 | 211 | [SRC]assertEquals "assigned", manyToOne.getIdentifierGeneratorStrategy() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getIdentifierGeneratorStrategy() can probably be rewritten as identifierGeneratorStrategy
UnnecessaryGetter | 3 | 212 | [SRC]assertNull manyToOne.getNullValue() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getNullValue() can probably be rewritten as nullValue
UnnecessaryGetter | 3 | 213 | [SRC]assertEquals "TestFaqSection", manyToOne.getReferencedEntityName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getReferencedEntityName() can probably be rewritten as referencedEntityName
UnnecessaryGetter | 3 | 214 | [SRC]assertNull manyToOne.getReferencedPropertyName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getReferencedPropertyName() can probably be rewritten as referencedPropertyName
UnnecessaryGetter | 3 | 215 | [SRC]assertEquals ManyToOneType, manyToOne.getType().getClass() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getType() can probably be rewritten as type
UnnecessaryGetter | 3 | 216 | [SRC]assertEquals "TestFaqSection", manyToOne.getTypeName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getTypeName() can probably be rewritten as typeName
UnnecessaryGetter | 3 | 246 | [SRC]assertEquals 0,list.getBaseIndex() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getBaseIndex() can probably be rewritten as baseIndex
UnnecessaryGetter | 3 | 248 | [SRC]Table t = list.getCollectionTable() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCollectionTable() can probably be rewritten as collectionTable
UnnecessaryGetter | 3 | 250 | [SRC]assertEquals 0, list.getColumnInsertability().size() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability
UnnecessaryGetter | 3 | 251 | [SRC]assertNull list.getCacheConcurrencyStrategy() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCacheConcurrencyStrategy() can probably be rewritten as cacheConcurrencyStrategy
UnnecessaryGetter | 3 | 252 | [SRC]assertEquals "TestFaqSection.elements", list.getCacheRegionName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCacheRegionName() can probably be rewritten as cacheRegionName
UnnecessaryGetter | 3 | 253 | [SRC]assertEquals 0,list.getColumnSpan() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan
UnnecessaryGetter | 3 | 254 | [SRC]assertEquals 0, list.getColumnUpdateability().size() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability
UnnecessaryGetter | 3 | 255 | [SRC]assertNull list.getElementNodeName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getElementNodeName() can probably be rewritten as elementNodeName
UnnecessaryGetter | 3 | 256 | [SRC]SimpleValue index = list.getIndex() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getIndex() can probably be rewritten as index
UnnecessaryGetter | 3 | 258 | [SRC]assertEquals 1,index.getColumnInsertability().size() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability
UnnecessaryGetter | 3 | 259 | [SRC]assertTrue index.getColumnInsertability()[0] [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability
UnnecessaryGetter | 3 | 260 | [SRC]assertEquals 1,index.getColumnUpdateability().size() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability
UnnecessaryGetter | 3 | 261 | [SRC]assertTrue index.getColumnUpdateability()[0] [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability
UnnecessaryGetter | 3 | 263 | [SRC]assertEquals 1, index.getColumnSpan() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan
UnnecessaryGetter | 3 | 265 | [SRC]Column indexColumn = index.getColumnIterator().next() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnIterator() can probably be rewritten as columnIterator
UnnecessaryGetter | 3 | 266 | [SRC]assertEquals "elements_idx", indexColumn.getCanonicalName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCanonicalName() can probably be rewritten as canonicalName
UnnecessaryGetter | 3 | 267 | [SRC]assertNull indexColumn.getCheckConstraint() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCheckConstraint() can probably be rewritten as checkConstraint
UnnecessaryGetter | 3 | 268 | [SRC]assertNull indexColumn.getComment() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getComment() can probably be rewritten as comment
UnnecessaryGetter | 3 | 269 | [SRC]assertNull indexColumn.getDefaultValue() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getDefaultValue() can probably be rewritten as defaultValue
UnnecessaryGetter | 3 | 270 | [SRC]assertEquals 255, indexColumn.getLength() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getLength() can probably be rewritten as length
UnnecessaryGetter | 3 | 271 | [SRC]assertEquals "elements_idx", indexColumn.getName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 272 | [SRC]assertEquals 19, indexColumn.getPrecision() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getPrecision() can probably be rewritten as precision
UnnecessaryGetter | 3 | 273 | [SRC]assertEquals "elements_idx", indexColumn.getQuotedName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getQuotedName() can probably be rewritten as quotedName
UnnecessaryGetter | 3 | 274 | [SRC]assertEquals 2, indexColumn.getScale() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getScale() can probably be rewritten as scale
UnnecessaryGetter | 3 | 275 | [SRC]assertEquals "elements_idx", indexColumn.getText() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getText() can probably be rewritten as text
UnnecessaryGetter | 3 | 276 | [SRC]SimpleValue indexColumnValue = indexColumn.getValue() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getValue() can probably be rewritten as value
UnnecessaryGetter | 3 | 278 | [SRC]assertEquals FetchMode.SELECT, index.getFetchMode() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getFetchMode() can probably be rewritten as fetchMode
UnnecessaryGetter | 3 | 279 | [SRC]assertNull index.getForeignKeyName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getForeignKeyName() can probably be rewritten as foreignKeyName
UnnecessaryGetter | 3 | 280 | [SRC]assertEquals "assigned", index.getIdentifierGeneratorStrategy() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getIdentifierGeneratorStrategy() can probably be rewritten as identifierGeneratorStrategy
UnnecessaryGetter | 3 | 281 | [SRC]assertNull index.getNullValue() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getNullValue() can probably be rewritten as nullValue
UnnecessaryGetter | 3 | 282 | [SRC]assertEquals IntegerType, index.getType()?.getClass() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getType() can probably be rewritten as type
UnnecessaryGetter | 3 | 283 | [SRC]assertEquals "integer", index.getTypeName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getTypeName() can probably be rewritten as typeName
UnnecessaryGetter | 3 | 284 | [SRC]assertNull index.getTypeParameters() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getTypeParameters() can probably be rewritten as typeParameters
UnnecessaryGetter | 3 | 286 | [SRC]KeyValue key = list.getKey() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getKey() can probably be rewritten as key
UnnecessaryGetter | 3 | 288 | [SRC]assertEquals 1,key.getColumnInsertability().size() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability
UnnecessaryGetter | 3 | 289 | [SRC]assertTrue key.getColumnInsertability()[0] [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability
UnnecessaryGetter | 3 | 290 | [SRC]assertEquals 1,key.getColumnUpdateability().size() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability
UnnecessaryGetter | 3 | 291 | [SRC]assertTrue key.getColumnUpdateability()[0] [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability
UnnecessaryGetter | 3 | 293 | [SRC]assertEquals 1, key.getColumnSpan() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan
UnnecessaryGetter | 3 | 294 | [SRC]assertEquals FetchMode.SELECT, key.getFetchMode() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getFetchMode() can probably be rewritten as fetchMode
UnnecessaryGetter | 3 | 295 | [SRC]assertNull key.getNullValue() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getNullValue() can probably be rewritten as nullValue
UnnecessaryGetter | 3 | 296 | [SRC]assertEquals LongType, key.getType().getClass() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getType() can probably be rewritten as type
UnnecessaryGetter | 3 | 298 | [SRC]OneToMany element = list.getElement() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getElement() can probably be rewritten as element
UnnecessaryGetter | 3 | 300 | [SRC]assertEquals 1, element.getColumnSpan() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan
UnnecessaryGetter | 3 | 301 | [SRC]assertEquals FetchMode.JOIN, element.getFetchMode() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getFetchMode() can probably be rewritten as fetchMode
UnnecessaryGetter | 3 | 302 | [SRC]PersistentClass associatedClass = element.getAssociatedClass() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getAssociatedClass() can probably be rewritten as associatedClass
UnnecessaryGetter | 3 | 303 | [SRC]assertEquals "TestFaqElement", associatedClass.getClassName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getClassName() can probably be rewritten as className
UnnecessaryGetter | 3 | 304 | [SRC]assertEquals ManyToOneType, element.getType().getClass() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getType() can probably be rewritten as type

### ➥ BidirectionalListPersistTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 46 | [SRC]section = session.get(sectionClass.getClazz(),1L) [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListPersistTests. getClazz() can probably be rewritten as clazz

### ➥ BidirectionalOneToManyAndCircularOneToManyTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 67 | [SRC]assertEquals uploadsProperty.getOtherSide(), recipientProperty [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalOneToManyAndCircularOneToManyTests. getOtherSide() can probably be rewritten as otherSide
UnnecessaryGetter | 3 | 68 | [SRC]assertEquals recipientProperty.getOtherSide(), uploadsProperty [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalOneToManyAndCircularOneToManyTests. getOtherSide() can probably be rewritten as otherSide
UnnecessaryGetter | 3 | 80 | [SRC]assertEquals uploadLogsProperty.getOtherSide(), senderProperty [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalOneToManyAndCircularOneToManyTests. getOtherSide() can probably be rewritten as otherSide
UnnecessaryGetter | 3 | 81 | [SRC]assertEquals senderProperty.getOtherSide(), uploadLogsProperty [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalOneToManyAndCircularOneToManyTests. getOtherSide() can probably be rewritten as otherSide

### ➥ BidirectionalOneToManyAndOneToOneTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 30 | [SRC]void testSaveAndLoad() { [MSG]Violation in class BidirectionalOneToManyAndOneToOneTests. Test method 'testSaveAndLoad' makes no assertions

### ➥ BidirectionalOneToManyWithInheritanceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 52 | [SRC]def configItemClass = ga.getDomainClass("ConfigurationItem").clazz [MSG]The variable [configItemClass] in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalOneToManyWithInheritanceTests is not used

### ➥ BidirectionalOnetoManyWithInheritanceRelationshipManagementTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 44 | [SRC]def otherSide = collection.getOtherSide() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalOnetoManyWithInheritanceRelationshipManagementTests. getOtherSide() can probably be rewritten as otherSide

### ➥ CascadingDeleteBehaviour2Tests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 55 | [SRC]void onSetUp() { [MSG]Violation in class CascadingDeleteBehaviour2Tests. The method onSetUp is public but not a test method

### ➥ CascadingDeleteBehaviour3Tests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 37 | [SRC]void onSetUp() { [MSG]Violation in class CascadingDeleteBehaviour3Tests. The method onSetUp is public but not a test method
UnusedImport | 3 | 3 | [SRC]import org.codehaus.groovy.grails.commons.GrailsDomainClass [MSG]The [org.codehaus.groovy.grails.commons.GrailsDomainClass] import is never referenced

### ➥ CascadingDeleteBehaviourTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 85 | [SRC]void onSetUp() { [MSG]Violation in class CascadingDeleteBehaviourTests. The method onSetUp is public but not a test method

### ➥ CascadingSaveAndUniqueConstraintTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 31 | [SRC]void testCascadingSaveAndUniqueConstraint() { [MSG]Violation in class CascadingSaveAndUniqueConstraintTests. Test method 'testCascadingSaveAndUniqueConstraint' makes no assertions
UnusedVariable | 2 | 34 | [SRC]def face = faceClass.newInstance(nose:noseClass.newInstance()).save() [MSG]The variable [face] in class org.codehaus.groovy.grails.orm.hibernate.CascadingSaveAndUniqueConstraintTests is not used

### ➥ CircularRelationshipTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 28 | [SRC]void onSetUp() { [MSG]Violation in class CircularRelationshipTests. The method onSetUp is public but not a test method

### ➥ CircularUnidirectionalOneToManyTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 33 | [SRC]void onSetUp() { [MSG]Violation in class CircularUnidirectionalOneToManyTests. The method onSetUp is public but not a test method

### ➥ ClassHeirarchyInheritanceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 32 | [SRC]void onSetUp() { [MSG]Violation in class ClassHeirarchyInheritanceTests. The method onSetUp is public but not a test method

### ➥ CreateCriteriaTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 58 | [SRC]void onSetUp() { [MSG]Violation in class CreateCriteriaTests. The method onSetUp is public but not a test method

### ➥ CreateMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 27 | [SRC]void onSetUp() { [MSG]Violation in class CreateMethodTests. The method onSetUp is public but not a test method

### ➥ CriteriaBuilderTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 135 | [SRC]def criteriaInstance = getInstance() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.CriteriaBuilderTests. getInstance() can probably be rewritten as instance
UnnecessaryGetter | 3 | 149 | [SRC]def criteriaInstance = getInstance() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.CriteriaBuilderTests. getInstance() can probably be rewritten as instance

### ➥ CriteriaListDistinctTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 32 | [SRC]def Plant = ga.getDomainClass("Plant").clazz [MSG]The variable [Plant] in class org.codehaus.groovy.grails.orm.hibernate.CriteriaListDistinctTests is not used
UnusedVariable | 2 | 66 | [SRC]def Plant = ga.getDomainClass("Plant").clazz [MSG]The variable [Plant] in class org.codehaus.groovy.grails.orm.hibernate.CriteriaListDistinctTests is not used

### ➥ CustomCascadeMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 38 | [SRC]def twoClass = ga.getDomainClass("CustomCascadeMappingTwo").clazz [MSG]The variable [twoClass] in class org.codehaus.groovy.grails.orm.hibernate.CustomCascadeMappingTests is not used

### ➥ CyclicManyToManyWithInheritanceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 47 | [SRC]void testCyclicManyToManyWithInheritance() { [MSG]Violation in class CyclicManyToManyWithInheritanceTests. Test method 'testCyclicManyToManyWithInheritance' makes no assertions

### ➥ DataBindingDynamicConstructorTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 11 | [SRC]void onSetUp() { [MSG]Violation in class DataBindingDynamicConstructorTests. The method onSetUp is public but not a test method

### ➥ DataSourceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 27 | [SRC]sessionFactoryConnection = sessionFactoryConnection.getW..Connection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.DataSourceTests. getWrappedConnection() can probably be rewritten as wrappedConnection
UnnecessaryGetter | 3 | 30 | [SRC]sessionFactoryConnection = sessionFactoryConnection.getT..Connection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.DataSourceTests. getTargetConnection() can probably be rewritten as targetConnection
UnnecessaryGetter | 3 | 36 | [SRC]dataSourceConnection = dataSourceConnection.getTargetConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.DataSourceTests. getTargetConnection() can probably be rewritten as targetConnection
UnnecessaryGetter | 3 | 39 | [SRC]dataSourceConnection = dataSourceConnection.getWrappedConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.DataSourceTests. getWrappedConnection() can probably be rewritten as wrappedConnection
UnnecessaryGetter | 3 | 42 | [SRC]dataSourceConnection = dataSourceConnection.getTargetConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.DataSourceTests. getTargetConnection() can probably be rewritten as targetConnection
UseAssertSameInsteadOfAssertTrue | 3 | 48 | [SRC]assertTrue sessionFactoryConnection.is(dataSourceConnection) [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.DataSourceTests. assert method can be simplified using the assertSame method
UseAssertSameInsteadOfAssertTrue | 3 | 49 | [SRC]assertFalse unproxiedConnection.is(dataSourceConnection) [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.DataSourceTests. assert method can be simplified using the assertSame method

### ➥ DeepHierarchyTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 80 | [SRC]void onSetUp() { [MSG]Violation in class DeepHierarchyTests. The method onSetUp is public but not a test method

### ➥ DefaultSortOrderForCollectionTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 30 | [SRC]def Book = ga.getDomainClass("DefaultSortOrderForCollect..Book").clazz [MSG]The variable [Book] in class org.codehaus.groovy.grails.orm.hibernate.DefaultSortOrderForCollectionTests is not used

### ➥ DeleteFromCollectionTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 36 | [SRC]def bookClass = ga.getDomainClass("DeleteBook").clazz [MSG]The variable [bookClass] in class org.codehaus.groovy.grails.orm.hibernate.DeleteFromCollectionTests is not used

### ➥ DeleteMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 25 | [SRC]void onSetUp() { [MSG]Violation in class DeleteMethodTests. The method onSetUp is public but not a test method

### ➥ DerivedPropertiesTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyMethod | 2 | 46 | [SRC]protected void afterPluginInitialization() { [MSG]Violation in class DerivedPropertiesTests. The method afterPluginInitialization is both empty and not marked with @Override
EmptyMethod | 2 | 49 | [SRC]protected void onTearDown() { [MSG]Violation in class DerivedPropertiesTests. The method onTearDown is both empty and not marked with @Override
UnusedVariable | 2 | 54 | [SRC]def mc = mdc.clazz [MSG]The variable [mc] in class org.codehaus.groovy.grails.orm.hibernate.DerivedPropertiesTests is not used

### ➥ DirtyTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 126 | [SRC]assertEquals 0, d.getDirtyPropertyNames().size() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.DirtyTests. getDirtyPropertyNames() can probably be rewritten as dirtyPropertyNames

### ➥ DiscriminatorColumnMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 45 | [SRC]def Child2 = ga.getDomainClass("Child2").clazz [MSG]The variable [Child2] in class org.codehaus.groovy.grails.orm.hibernate.DiscriminatorColumnMappingTests is not used

### ➥ DiscriminatorFormulaMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 116 | [SRC]def Root = ga.getDomainClass("Root").clazz [MSG]The variable [Root] in class org.codehaus.groovy.grails.orm.hibernate.DiscriminatorFormulaMappingTests is not used
UseAssertNullInsteadOfAssertEquals | 3 | 101 | [SRC]assertEquals null, rs.getString("tree") [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.DiscriminatorFormulaMappingTests. assertEquals can be simplified using assertNull
UnnecessaryObjectReferences | 3 | 111 | [SRC]rs.close() [MSG]The code could be more concise by using a with() or identity() block

### ➥ DomainEventsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 40 | [SRC]void testNoModifyVersion() { [MSG]Violation in class DomainEventsTests. Test method 'testNoModifyVersion' makes no assertions
UnusedVariable | 2 | 154 | [SRC]def success = false [MSG]The variable [success] in class org.codehaus.groovy.grails.orm.hibernate.DomainEventsTests is not used

### ➥ DomainEventsWithMethodsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 276 | [SRC]void onSetUp() { [MSG]Violation in class DomainEventsWithMethodsTests. The method onSetUp is public but not a test method

### ➥ DontFlushAfterDataAccessExceptionTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 48 | [SRC]assertEquals FlushMode.AUTO, session.getFlushMode() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.DontFlushAfterDataAccessExceptionTests. getFlushMode() can probably be rewritten as flushMode
UnnecessaryGetter | 3 | 58 | [SRC]assertEquals FlushMode.MANUAL, session.getFlushMode() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.DontFlushAfterDataAccessExceptionTests. getFlushMode() can probably be rewritten as flushMode

### ➥ EagerFindByQueryTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 33 | [SRC]def tagClass = ga.getDomainClass("EagerFindByQueryTag").clazz [MSG]The variable [tagClass] in class org.codehaus.groovy.grails.orm.hibernate.EagerFindByQueryTests is not used
UnusedVariable | 2 | 50 | [SRC]def tagClass = ga.getDomainClass("EagerFindByQueryTag").clazz [MSG]The variable [tagClass] in class org.codehaus.groovy.grails.orm.hibernate.EagerFindByQueryTests is not used
UnusedVariable | 2 | 67 | [SRC]def tagClass = ga.getDomainClass("EagerFindByQueryTag").clazz [MSG]The variable [tagClass] in class org.codehaus.groovy.grails.orm.hibernate.EagerFindByQueryTests is not used
UnusedVariable | 2 | 83 | [SRC]def tagClass = ga.getDomainClass("EagerFindByQueryTag").clazz [MSG]The variable [tagClass] in class org.codehaus.groovy.grails.orm.hibernate.EagerFindByQueryTests is not used

### ➥ EnumMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 81 | [SRC]def con = ds.getConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.EnumMappingTests. getConnection() can probably be rewritten as connection
UnnecessaryGetter | 3 | 104 | [SRC]def con = ds.getConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.EnumMappingTests. getConnection() can probably be rewritten as connection

### ➥ ExecuteUpdateTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 20 | [SRC]def init() { [MSG]Violation in class ExecuteUpdateTests. The method init is public but not a test method

### ➥ ExistsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
ImportFromSamePackage | 3 | 3 | [SRC]import org.codehaus.groovy.grails.orm.hibernate.Abstract..bernateTests

### ➥ FindAllMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryObjectReferences | 3 | 50 | [SRC]theClass.findAll("from FindAllTest where name = 'Angus'"..ache: true]) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 55 | [SRC]theClass.findAll("from FindAllTest where name = 'Malcolm..ache: true]) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 60 | [SRC]theClass.findAll("from FindAllTest where name = 'Malcolm..ache: true]) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 103 | [SRC]theClass.findAll("from FindAllTest where name = :name", ..ache: true]) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 108 | [SRC]theClass.findAll("from FindAllTest where name = :name", ..ache: true]) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 113 | [SRC]theClass.findAll("from FindAllTest where name = :name", ..ache: true]) [MSG]The code could be more concise by using a with() or identity() block

### ➥ FindByMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 186 | [SRC]def jakeB = new Person(firstName: 'Jake', lastName: 'Bro..: 11).save() [MSG]The variable [jakeB] in class org.codehaus.groovy.grails.orm.hibernate.FindByMethodTests is not used

### ➥ FindMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 5 | [SRC]void onSetUp() { [MSG]Violation in class FindMethodTests. The method onSetUp is public but not a test method
UnnecessaryObjectReferences | 3 | 74 | [SRC]theClass.find("from FindMethodTestClass where one = 'Ang..ache: true]) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 79 | [SRC]theClass.find("from FindMethodTestClass where one = 'Mal..ache: true]) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 84 | [SRC]theClass.find("from FindMethodTestClass where one = 'Mal..ache: true]) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 89 | [SRC]theClass.find("from FindMethodTestClass where one = :nam..ache: true]) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 94 | [SRC]theClass.find("from FindMethodTestClass where one = :nam..ache: true]) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 99 | [SRC]theClass.find("from FindMethodTestClass where one = :nam..ache: true]) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 104 | [SRC]theClass.find("from FindMethodTestClass where one = :nam..che: false]) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 109 | [SRC]theClass.find("from FindMethodTestClass where one = :nam..ache: true]) [MSG]The code could be more concise by using a with() or identity() block

### ➥ FindOrCreateWherePersistenceMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import grails.persistence.Entity [MSG]The [grails.persistence.Entity] import is never referenced

### ➥ FindOrSaveWherePersistenceMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import grails.persistence.Entity [MSG]The [grails.persistence.Entity] import is never referenced

### ➥ HibernateCriteriaBuilderTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 19 | [SRC]List retrieveListOfNames() { ['bart'] } [MSG]Violation in class HibernateCriteriaBuilderTests. The method retrieveListOfNames is public but not a test method
UnusedVariable | 2 | 1004 | [SRC]List results = parse("{ " + [MSG]The variable [results] in class org.codehaus.groovy.grails.orm.hibernate.HibernateCriteriaBuilderTests is not used
UnusedVariable | 2 | 1032 | [SRC]List results = parse("{ " + [MSG]The variable [results] in class org.codehaus.groovy.grails.orm.hibernate.HibernateCriteriaBuilderTests is not used
UnnecessaryGetter | 3 | 437 | [SRC]assertEquals clazzName , result.getClass().getName() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateCriteriaBuilderTests. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 1689 | [SRC]GroovyClassLoader cl = grailsApplication.getClassLoader() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateCriteriaBuilderTests. getClassLoader() can probably be rewritten as classLoader
UnnecessaryGetter | 3 | 1706 | [SRC]Class tc = grailsApplication.getArtefact(DomainClassArte..).getClazz() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateCriteriaBuilderTests. getClazz() can probably be rewritten as clazz

### ➥ HibernateEventListenerTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyMethod | 2 | 51 | [SRC]void onPostInsert(PostInsertEvent event) {} [MSG]Violation in class TestAuditListener. The method onPostInsert is both empty and not marked with @Override
UnusedMethodParameter | 2 | 51 | [SRC]void onPostInsert(PostInsertEvent event) {} [MSG]Violation in class TestAuditListener. Method parameter [event] is never referenced in the method onPostInsert of class org.codehaus.groovy.grails.orm.hibernate.TestAuditListener
EmptyMethod | 2 | 52 | [SRC]void onPostDelete(PostDeleteEvent event) {} [MSG]Violation in class TestAuditListener. The method onPostDelete is both empty and not marked with @Override
UnusedMethodParameter | 2 | 52 | [SRC]void onPostDelete(PostDeleteEvent event) {} [MSG]Violation in class TestAuditListener. Method parameter [event] is never referenced in the method onPostDelete of class org.codehaus.groovy.grails.orm.hibernate.TestAuditListener
EmptyMethod | 2 | 53 | [SRC]void onSaveOrUpdate(SaveOrUpdateEvent event) {} [MSG]Violation in class TestAuditListener. The method onSaveOrUpdate is both empty and not marked with @Override
UnusedMethodParameter | 2 | 53 | [SRC]void onSaveOrUpdate(SaveOrUpdateEvent event) {} [MSG]Violation in class TestAuditListener. Method parameter [event] is never referenced in the method onSaveOrUpdate of class org.codehaus.groovy.grails.orm.hibernate.TestAuditListener

### ➥ ListDomainTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 9 | [SRC]def authorClass = ga.getDomainClass("Author") [MSG]The variable [authorClass] in class org.codehaus.groovy.grails.orm.hibernate.ListDomainTests is not used
JUnitPublicNonTestMethod | 2 | 23 | [SRC]void onSetUp() { [MSG]Violation in class ListDomainTests. The method onSetUp is public but not a test method

### ➥ ListMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 45 | [SRC]def ids = [a1.id, a2.id, a2.id] [MSG]The variable [ids] in class org.codehaus.groovy.grails.orm.hibernate.ListMappingTests is not used
JUnitPublicNonTestMethod | 2 | 54 | [SRC]void onSetUp() { [MSG]Violation in class ListMappingTests. The method onSetUp is public but not a test method

### ➥ LoadMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 107 | [SRC]def o = clazz.newInstance() [MSG]The variable [o] in class org.codehaus.groovy.grails.orm.hibernate.LoadMethodTests is not used
UnusedImport | 3 | 7 | [SRC]import org.springframework.orm.hibernate3.HibernateObjec..ureException [MSG]The [org.springframework.orm.hibernate3.HibernateObjectRetrievalFailureException] import is never referenced
UnnecessaryGetter | 3 | 29 | [SRC]assertEquals "id is accessible even if object doesn't ex..ance.getId() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.LoadMethodTests. getId() can probably be rewritten as id
UnnecessaryGetter | 3 | 51 | [SRC]assertEquals "id is accessible even if object doesn't ex..ance.getId() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.LoadMethodTests. getId() can probably be rewritten as id
UseAssertSameInsteadOfAssertTrue | 3 | 77 | [SRC]assertTrue getInstance.is(loadInstance) [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.LoadMethodTests. assert method can be simplified using the assertSame method
UseAssertSameInsteadOfAssertTrue | 3 | 96 | [SRC]assertFalse getInstance.is(loadInstance) [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.LoadMethodTests. assert method can be simplified using the assertSame method

### ➥ ManyToManyCompositeIdTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 72 | [SRC]void onSetUp() { [MSG]Violation in class ManyToManyCompositeIdTests. The method onSetUp is public but not a test method
UnusedImport | 3 | 3 | [SRC]import junit.framework.TestCase [MSG]The [junit.framework.TestCase] import is never referenced

### ➥ ManyToManyLazinessTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 28 | [SRC]void onSetUp() { [MSG]Violation in class ManyToManyLazinessTests. The method onSetUp is public but not a test method

### ➥ ManyToManyTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 114 | [SRC]void onSetUp() { [MSG]Violation in class ManyToManyTests. The method onSetUp is public but not a test method

### ➥ ManyToManyWithInheritanceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 32 | [SRC]def ShapeAttribute = ga.getDomainClass("ShapeAttribute").clazz [MSG]The variable [ShapeAttribute] in class org.codehaus.groovy.grails.orm.hibernate.ManyToManyWithInheritanceTests is not used

### ➥ MapDomainTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 28 | [SRC]void onSetUp() { [MSG]Violation in class MapDomainTests. The method onSetUp is public but not a test method

### ➥ MapMappingJoinTableTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 30 | [SRC]void onSetUp() { [MSG]Violation in class MapMappingJoinTableTests. The method onSetUp is public but not a test method

### ➥ MapMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UseAssertFalseInsteadOfNegation | 2 | 26 | [SRC]assertTrue !book.hasErrors() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.MapMappingTests. assertTrue(!book.hasErrors()) can be simplified to assertFalse(book.hasErrors())
JUnitPublicNonTestMethod | 2 | 90 | [SRC]void onSetUp() { [MSG]Violation in class MapMappingTests. The method onSetUp is public but not a test method

### ➥ MappedByColumn2Tests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 26 | [SRC]void onSetUp() { [MSG]Violation in class MappedByColumn2Tests. The method onSetUp is public but not a test method

### ➥ MappedByColumnTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 42 | [SRC]void onSetUp() { [MSG]Violation in class MappedByColumnTests. The method onSetUp is public but not a test method

### ➥ MappingDefaultsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UseAssertFalseInsteadOfNegation | 2 | 73 | [SRC]assertTrue "should have inherited blank from shared cons..", !cp.blank [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDefaultsTests. assertTrue(!cp.blank) can be simplified to assertFalse(cp.blank)
UseAssertFalseInsteadOfNegation | 2 | 75 | [SRC]assertTrue "should not have inherited matches from [anot..", !cp.email [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDefaultsTests. assertTrue(!cp.email) can be simplified to assertFalse(cp.email)
ChainedTest | 2 | 79 | [SRC]testMappingDefaults() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDefaultsTests. The test method testMappingDefaults() is being invoked explicitly from within a unit test. Tests should be isolated and not dependent on one another
UseAssertEqualsInsteadOfAssertTrue | 3 | 74 | [SRC]assertTrue "size should have been in the specified range..0 == cp.size [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDefaultsTests. Replace assertTrue with a call to assertEquals()

### ➥ MappingDefinitionInheritedBySubclassTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UseAssertTrueInsteadOfAssertEquals | 3 | 48 | [SRC]assert rs.next() == true [MSG]The expression '(rs.next() == true)' can be simplified to 'rs.next()'

### ➥ MappingDslTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 12 | [SRC]void testTableMapping() { [MSG]Violation in class MappingDslTests. Test method 'testTableMapping' makes no assertions
UnusedVariable | 2 | 113 | [SRC]DataSource ds = applicationContext.dataSource [MSG]The variable [ds] in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests is not used
UnusedVariable | 2 | 203 | [SRC]def personClass = ga.getDomainClass("MappedPerson").clazz [MSG]The variable [personClass] in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests is not used
JUnitTestMethodWithoutAssert | 2 | 283 | [SRC]void testCompositeIdAssignedGenerator_GRAILS_6289() { [MSG]Violation in class MappingDslTests. Test method 'testCompositeIdAssignedGenerator_GRAILS_6289' makes no assertions
UnnecessaryGetter | 3 | 17 | [SRC]con = ds.getConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection
UnnecessaryGetter | 3 | 35 | [SRC]con = ds.getConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection
UnnecessaryGetter | 3 | 82 | [SRC]con = ds.getConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection
UnnecessaryGetter | 3 | 121 | [SRC]final cmd = session.getSessionFactory().getClassMetadata..Class.clazz) [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getSessionFactory() can probably be rewritten as sessionFactory
UnnecessaryGetter | 3 | 153 | [SRC]con = ds.getConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection
UnnecessaryGetter | 3 | 192 | [SRC]con = ds.getConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection
UnnecessaryGetter | 3 | 220 | [SRC]con = ds.getConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection
UnnecessaryGetter | 3 | 248 | [SRC]con = ds.getConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection
UnnecessaryGetter | 3 | 273 | [SRC]con = ds.getConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection
UnnecessaryGetter | 3 | 303 | [SRC]connection = ds.getConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection

### ➥ MultipleDataSourceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 348 | [SRC]def Library = ga.getDomainClass('MdsLibrary').clazz [MSG]The variable [Library] in class org.codehaus.groovy.grails.orm.hibernate.MultipleDataSourceTests is not used
UnusedVariable | 2 | 349 | [SRC]def Visit = ga.getDomainClass('MdsVisit').clazz [MSG]The variable [Visit] in class org.codehaus.groovy.grails.orm.hibernate.MultipleDataSourceTests is not used
UnusedVariable | 2 | 379 | [SRC]def Library = ga.getDomainClass('MdsLibrary').clazz [MSG]The variable [Library] in class org.codehaus.groovy.grails.orm.hibernate.MultipleDataSourceTests is not used
UnusedVariable | 2 | 380 | [SRC]def Visit = ga.getDomainClass('MdsVisit').clazz [MSG]The variable [Visit] in class org.codehaus.groovy.grails.orm.hibernate.MultipleDataSourceTests is not used
UnusedVariable | 2 | 409 | [SRC]def Library = ga.getDomainClass('MdsLibrary').clazz [MSG]The variable [Library] in class org.codehaus.groovy.grails.orm.hibernate.MultipleDataSourceTests is not used
UnusedVariable | 2 | 410 | [SRC]def Visit = ga.getDomainClass('MdsVisit').clazz [MSG]The variable [Visit] in class org.codehaus.groovy.grails.orm.hibernate.MultipleDataSourceTests is not used

### ➥ NamedCriteriaInheritanceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import grails.persistence.Entity [MSG]The [grails.persistence.Entity] import is never referenced

### ➥ NamedCriteriaPublication.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 79 | [SRC]thisWeeksPaperbacks() { [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.NamedCriteriaPublication. Parentheses in the 'thisWeeksPaperbacks' method call are unnecessary and can be removed.

### ➥ NamedCriteriaTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 504 | [SRC]def titles = publications.title [MSG]The variable [titles] in class org.codehaus.groovy.grails.orm.hibernate.NamedCriteriaTests is not used

### ➥ NamingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessarySubstring | 3 | 77 | [SRC]names << ddl.substring(0, ddl.indexOf(' ')) [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.NamingTests. The String.substring(int, int) method can be replaced with the subscript operator

### ➥ OneToManySelfInheritanceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 35 | [SRC]def Root = ga.getDomainClass("onetomanyselfinheritancete..Root").clazz [MSG]The variable [Root] in class org.codehaus.groovy.grails.orm.hibernate.OneToManySelfInheritanceTests is not used

### ➥ OneToManyWithComposideIdentifierTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 47 | [SRC]void testPersistAssociationWithCompositeId() { [MSG]Violation in class OneToManyWithComposideIdentifierTests. Test method 'testPersistAssociationWithCompositeId' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 57 | [SRC]void testUpdateInverseSide() { [MSG]Violation in class OneToManyWithComposideIdentifierTests. Test method 'testUpdateInverseSide' makes no assertions

### ➥ OneToManyWithInheritanceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import org.springframework.util.Log4jConfigurer [MSG]The [org.springframework.util.Log4jConfigurer] import is never referenced

### ➥ OneToManyWithSelfAndInheritanceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 39 | [SRC]def orgB = Organization.newInstance(name:'Org B', descri..org1).save() [MSG]The variable [orgB] in class org.codehaus.groovy.grails.orm.hibernate.OneToManyWithSelfAndInheritanceTests is not used
UnusedVariable | 2 | 40 | [SRC]def orgaa = Organization.newInstance(name:'Org aa', desc..orgA).save() [MSG]The variable [orgaa] in class org.codehaus.groovy.grails.orm.hibernate.OneToManyWithSelfAndInheritanceTests is not used
UnusedVariable | 2 | 44 | [SRC]def xorgB = ExtOrganization.newInstance(name:'ExtOrg B',..org1).save() [MSG]The variable [xorgB] in class org.codehaus.groovy.grails.orm.hibernate.OneToManyWithSelfAndInheritanceTests is not used
UnusedVariable | 2 | 45 | [SRC]def xorgaa = ExtOrganization.newInstance(name:'ExtOrg aa..orgA).save() [MSG]The variable [xorgaa] in class org.codehaus.groovy.grails.orm.hibernate.OneToManyWithSelfAndInheritanceTests is not used

### ➥ PersistenceMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 750 | [SRC]MetaClass domain = obj.getMetaClass() [MSG]The variable [domain] in class org.codehaus.groovy.grails.orm.hibernate.PersistenceMethodTests is not used
UnnecessaryGetter | 3 | 438 | [SRC]returnValue = domainClass.getAll() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.PersistenceMethodTests. getAll() can probably be rewritten as all
UnnecessaryGetter | 3 | 750 | [SRC]MetaClass domain = obj.getMetaClass() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.PersistenceMethodTests. getMetaClass() can probably be rewritten as metaClass

### ➥ PessimisticLockingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 11 | [SRC]void testLockMethod() { [MSG]Violation in class PessimisticLockingTests. Test method 'testLockMethod' makes no assertions
JUnitPublicNonTestMethod | 2 | 43 | [SRC]void onSetUp() { [MSG]Violation in class PessimisticLockingTests. The method onSetUp is public but not a test method

### ➥ SavePersistentMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 159 | [SRC]datastore.getEventTriggeringInterceptor().failOnError = true [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.SavePersistentMethodTests. getEventTriggeringInterceptor() can probably be rewritten as eventTriggeringInterceptor
UnnecessaryGetter | 3 | 177 | [SRC]def interceptor = datastore.getEventTriggeringInterceptor() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.SavePersistentMethodTests. getEventTriggeringInterceptor() can probably be rewritten as eventTriggeringInterceptor

### ➥ SimpleBelongsToMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 10 | [SRC]def bookClass = ga.getDomainClass("Book") [MSG]The variable [bookClass] in class org.codehaus.groovy.grails.orm.hibernate.SimpleBelongsToMappingTests is not used
JUnitPublicNonTestMethod | 2 | 15 | [SRC]void onSetUp() { [MSG]Violation in class SimpleBelongsToMappingTests. The method onSetUp is public but not a test method

### ➥ TablePerHierarchyAssocationTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 36 | [SRC]def sub1Class = ga.getDomainClass("TablePerHierarchSub1").clazz [MSG]The variable [sub1Class] in class org.codehaus.groovy.grails.orm.hibernate.TablePerHierarchyAssocationTests is not used

### ➥ TablePerSubclassIdentityMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 37 | [SRC]void testMappedIdentityForSubclass() { [MSG]Violation in class TablePerSubclassIdentityMappingTests. Test method 'testMappedIdentityForSubclass' makes no assertions
UnnecessaryGetter | 3 | 42 | [SRC]con = ds.getConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.TablePerSubclassIdentityMappingTests. getConnection() can probably be rewritten as connection

### ➥ TablePerSubclassWithCustomTableNameTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 37 | [SRC]void testGeneratedTables() { [MSG]Violation in class TablePerSubclassWithCustomTableNameTests. Test method 'testGeneratedTables' makes no assertions
UnnecessaryGetter | 3 | 42 | [SRC]con = ds.getConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.TablePerSubclassWithCustomTableNameTests. getConnection() can probably be rewritten as connection

### ➥ TwoManyToManyTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 100 | [SRC]void onSetUp() { [MSG]Violation in class TwoManyToManyTests. The method onSetUp is public but not a test method

### ➥ TwoUnidirectionalOneToManyTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 7 | [SRC]void testTwoUniOneToManys() { [MSG]Violation in class TwoUnidirectionalOneToManyTests. Test method 'testTwoUniOneToManys' makes no assertions
JUnitPublicNonTestMethod | 2 | 23 | [SRC]void onSetUp() { [MSG]Violation in class TwoUnidirectionalOneToManyTests. The method onSetUp is public but not a test method

### ➥ URLMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 22 | [SRC]void onSetUp() { [MSG]Violation in class URLMappingTests. The method onSetUp is public but not a test method
UnnecessaryObjectReferences | 3 | 16 | [SRC]b.discard() [MSG]The code could be more concise by using a with() or identity() block

### ➥ UnidirectionalOneToManyHibernateMappedTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 12 | [SRC]void testAnnotatedOneToManyDomain() { [MSG]Violation in class UnidirectionalOneToManyHibernateMappedTests. Test method 'testAnnotatedOneToManyDomain' makes no assertions

### ➥ UnidirectionalOneToManyWithJoinTableTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 26 | [SRC]void testUnidirectionalOneToManyWithExplicityJoinTable() { [MSG]Violation in class UnidirectionalOneToManyWithJoinTableTests. Test method 'testUnidirectionalOneToManyWithExplicityJoinTable' makes no assertions

### ➥ UserTypeMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 148 | [SRC]con = ds.getConnection() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.UserTypeMappingTests. getConnection() can probably be rewritten as connection

### ➥ ValidationFailureTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 5 | [SRC]void onSetUp() { [MSG]Violation in class ValidationFailureTests. The method onSetUp is public but not a test method

### ➥ VersionColumnTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 40 | [SRC]void testVersionColumnMapping() { [MSG]Violation in class VersionColumnTests. Test method 'testVersionColumnMapping' makes no assertions
UnusedImport | 3 | 3 | [SRC]import java.sql.Connection [MSG]The [java.sql.Connection] import is never referenced

### ➥ WithCriteriaMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 24 | [SRC]void onSetUp() { [MSG]Violation in class WithCriteriaMethodTests. The method onSetUp is public but not a test method

### ➥ WithTransactionMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 33 | [SRC]void onSetUp() { [MSG]Violation in class WithTransactionMethodTests. The method onSetUp is public but not a test method

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.orm.hibernate.binding

### ➥ AssociationDataBindingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 197 | [SRC]def book = Book.newInstance(title: "Pattern Recognition"..Error: true) [MSG]The variable [book] in class org.codehaus.groovy.grails.orm.hibernate.binding.AssociationDataBindingTests is not used
UnnecessaryObjectReferences | 3 | 332 | [SRC]request.addParameter("books[0].reviewers['bob'].name", "Bob Bloggs") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 333 | [SRC]request.addParameter("books[0].reviewers['chuck'].name",..uck Bloggs") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 334 | [SRC]request.addParameter("books[1].title", "The Stand") [MSG]The code could be more concise by using a with() or identity() block

### ➥ NonDomainCollectionBindingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 11 | [SRC]void onSetUp() { [MSG]Violation in class NonDomainCollectionBindingTests. The method onSetUp is public but not a test method

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.orm.hibernate.cfg

### ➥ GrailsDomainBinderTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 672 | [SRC]ConstrainedProperty constrainedProperty = getConstrained..ngProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedStringProperty() can probably be rewritten as constrainedStringProperty
UnnecessaryGetter | 3 | 677 | [SRC]constrainedProperty = getConstrainedStringProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedStringProperty() can probably be rewritten as constrainedStringProperty
UnnecessaryGetter | 3 | 682 | [SRC]constrainedProperty = getConstrainedStringProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedStringProperty() can probably be rewritten as constrainedStringProperty
UnnecessaryGetter | 3 | 686 | [SRC]constrainedProperty = getConstrainedStringProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedStringProperty() can probably be rewritten as constrainedStringProperty
UnnecessaryGetter | 3 | 692 | [SRC]constrainedProperty = getConstrainedStringProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedStringProperty() can probably be rewritten as constrainedStringProperty
UnnecessaryGetter | 3 | 702 | [SRC]ConstrainedProperty constrainedProperty = getConstrained..alProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty
UnnecessaryGetter | 3 | 709 | [SRC]constrainedProperty = getConstrainedBigDecimalProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty
UnnecessaryBigDecimalInstantiation | 3 | 710 | [SRC]constrainedProperty.applyConstraint(ConstrainedProperty...l("123.45")) [MSG]Can be rewritten as 123.45 or 123.45G
UnnecessaryGetter | 3 | 715 | [SRC]constrainedProperty = getConstrainedBigDecimalProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty
UnnecessaryBigDecimalInstantiation | 3 | 717 | [SRC]constrainedProperty.applyConstraint(ConstrainedProperty...("-123.45")) [MSG]Can be rewritten as -123.45 or -123.45G
UnnecessaryGetter | 3 | 721 | [SRC]constrainedProperty = getConstrainedBigDecimalProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty
UnnecessaryBigDecimalInstantiation | 3 | 722 | [SRC]constrainedProperty.applyConstraint(ConstrainedProperty...("123.45"))) [MSG]Can be rewritten as 123.45 or 123.45G
UnnecessaryGetter | 3 | 726 | [SRC]constrainedProperty = getConstrainedBigDecimalProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty
UnnecessaryBigDecimalInstantiation | 3 | 727 | [SRC]constrainedProperty.applyConstraint(ConstrainedProperty...mal("123"))) [MSG]Can be rewritten as -123.45 or -123.45G
UnnecessaryGetter | 3 | 731 | [SRC]constrainedProperty = getConstrainedBigDecimalProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty
UnnecessaryGetter | 3 | 737 | [SRC]constrainedProperty = getConstrainedBigDecimalProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty
UnnecessaryBigDecimalInstantiation | 3 | 738 | [SRC]constrainedProperty.applyConstraint(ConstrainedProperty...l("123.45")) [MSG]Can be rewritten as 123.45 or 123.45G
UnnecessaryGetter | 3 | 744 | [SRC]constrainedProperty = getConstrainedBigDecimalProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty
UnnecessaryBigDecimalInstantiation | 3 | 745 | [SRC]constrainedProperty.applyConstraint(ConstrainedProperty..."123.4567")) [MSG]Can be rewritten as 123.4567 or 123.4567G
UnnecessaryGetter | 3 | 751 | [SRC]constrainedProperty = getConstrainedBigDecimalProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty
UnnecessaryBigDecimalInstantiation | 3 | 752 | [SRC]constrainedProperty.applyConstraint(ConstrainedProperty..."123.4567")) [MSG]Can be rewritten as 123.4567 or 123.4567G
UnnecessaryGetter | 3 | 754 | [SRC]constrainedProperty = getConstrainedBigDecimalProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty
UnnecessaryBigDecimalInstantiation | 3 | 755 | [SRC]constrainedProperty.applyConstraint(ConstrainedProperty...7890.4567")) [MSG]Can be rewritten as 12345678901234567890.4567 or 12345678901234567890.4567G
UnnecessaryGetter | 3 | 757 | [SRC]constrainedProperty = getConstrainedBigDecimalProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty
UnnecessaryBigDecimalInstantiation | 3 | 758 | [SRC]constrainedProperty.applyConstraint(ConstrainedProperty...-123.4567")) [MSG]Can be rewritten as -123.4567 or -123.4567G
UnnecessaryGetter | 3 | 760 | [SRC]constrainedProperty = getConstrainedBigDecimalProperty() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty
UnnecessaryBigDecimalInstantiation | 3 | 761 | [SRC]constrainedProperty.applyConstraint(ConstrainedProperty...7890.4567")) [MSG]Can be rewritten as -12345678901234567890.4567 or -12345678901234567890.4567G

### ➥ GrailsHibernateUtilTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
MisorderedStaticImports | 3 | 4 | [SRC]import static org.codehaus.groovy.grails.orm.hibernate.c..ernateUtil.* [MSG]Static imports should appear before normal imports
JUnitUnnecessarySetUp | 3 | 8 | [SRC]@Override protected void setUp() { [MSG]Violation in class GrailsHibernateUtilTests. The setUp() method contains no logic and can be removed
UnnecessaryOverridingMethod | 3 | 8 | [SRC]@Override protected void setUp() { [MSG]Violation in class GrailsHibernateUtilTests. The method setUp contains no logic and can be safely deleted
JUnitUnnecessaryTearDown | 3 | 12 | [SRC]@Override protected void tearDown() { [MSG]Violation in class GrailsHibernateUtilTests. The tearDown() method contains no logic and can be removed
UnnecessaryOverridingMethod | 3 | 12 | [SRC]@Override protected void tearDown() { [MSG]Violation in class GrailsHibernateUtilTests. The method tearDown contains no logic and can be safely deleted

### ➥ MonetaryAmountUserType.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EqualsOverloaded | 2 | 16 | [SRC]boolean equals(Object x, Object y) { x == y } [MSG]Violation in class MonetaryAmountUserType. The class org.codehaus.groovy.grails.orm.hibernate.cfg.MonetaryAmountUserType overloads the equals method, it does not override it.
UnusedMethodParameter | 2 | 21 | [SRC]Object nullSafeGet(ResultSet resultSet, String[] names, ..LException { [MSG]Violation in class MonetaryAmountUserType. Method parameter [owner] is never referenced in the method nullSafeGet of class org.codehaus.groovy.grails.orm.hibernate.cfg.MonetaryAmountUserType
UnusedMethodParameter | 2 | 44 | [SRC]Object assemble(Serializable cached, Object owner) { cached } [MSG]Violation in class MonetaryAmountUserType. Method parameter [owner] is never referenced in the method assemble of class org.codehaus.groovy.grails.orm.hibernate.cfg.MonetaryAmountUserType
UnusedMethodParameter | 2 | 46 | [SRC]Object replace(Object original, Object target, Object ow..{ original } [MSG]Violation in class MonetaryAmountUserType. Method parameter [target] is never referenced in the method replace of class org.codehaus.groovy.grails.orm.hibernate.cfg.MonetaryAmountUserType
UnusedMethodParameter | 2 | 46 | [SRC]Object replace(Object original, Object target, Object ow..{ original } [MSG]Violation in class MonetaryAmountUserType. Method parameter [owner] is never referenced in the method replace of class org.codehaus.groovy.grails.orm.hibernate.cfg.MonetaryAmountUserType

### ➥ MyUserType.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EqualsOverloaded | 2 | 22 | [SRC]boolean equals(Object x, Object y) { x.name == y.name } [MSG]Violation in class MyUserType. The class org.codehaus.groovy.grails.orm.hibernate.cfg.MyUserType overloads the equals method, it does not override it.
UnusedMethodParameter | 2 | 27 | [SRC]Object nullSafeGet(ResultSet resultSet, String[] names, ..LException { [MSG]Violation in class MyUserType. Method parameter [owner] is never referenced in the method nullSafeGet of class org.codehaus.groovy.grails.orm.hibernate.cfg.MyUserType
UnusedMethodParameter | 2 | 43 | [SRC]Object assemble(Serializable cached, Object owner) { cached } [MSG]Violation in class MyUserType. Method parameter [owner] is never referenced in the method assemble of class org.codehaus.groovy.grails.orm.hibernate.cfg.MyUserType
UnusedMethodParameter | 2 | 45 | [SRC]Object replace(Object original, Object target, Object ow..{ original } [MSG]Violation in class MyUserType. Method parameter [target] is never referenced in the method replace of class org.codehaus.groovy.grails.orm.hibernate.cfg.MyUserType
UnusedMethodParameter | 2 | 45 | [SRC]Object replace(Object original, Object target, Object ow..{ original } [MSG]Violation in class MyUserType. Method parameter [owner] is never referenced in the method replace of class org.codehaus.groovy.grails.orm.hibernate.cfg.MyUserType

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.orm.hibernate.metaclass

### ➥ BeforeValidateHelperTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 65 | [SRC]def beforeValidate(List properties) { [MSG]Violation in class ClassWithListArgBeforeValidate. Method parameter [properties] is never referenced in the method beforeValidate of class org.codehaus.groovy.grails.orm.hibernate.metaclass.ClassWithListArgBeforeValidate
UnusedMethodParameter | 2 | 76 | [SRC]def beforeValidate(List properties) { [MSG]Violation in class ClassWithOverloadedBeforeValidate. Method parameter [properties] is never referenced in the method beforeValidate of class org.codehaus.groovy.grails.orm.hibernate.metaclass.ClassWithOverloadedBeforeValidate
UnusedImport | 3 | 3 | [SRC]import groovy.mock.interceptor.MockFor [MSG]The [groovy.mock.interceptor.MockFor] import is never referenced
ImportFromSamePackage | 3 | 4 | [SRC]import org.codehaus.groovy.grails.orm.hibernate.metaclas..idateHelper;

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.orm.hibernate.support

### ➥ FlushOnRedirectTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 6 | [SRC]import org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest [MSG]The [org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest] import is never referenced

### ➥ HibernatePersistenceContextInterceptorTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 6 | [SRC]import org.springframework.orm.hibernate3.SessionHolder [MSG]The [org.springframework.orm.hibernate3.SessionHolder] import is never referenced
UnnecessaryGetter | 3 | 28 | [SRC]def interceptor = getInterceptor() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.support.HibernatePersistenceContextInterceptorTests. getInterceptor() can probably be rewritten as interceptor
UseAssertTrueInsteadOfAssertEquals | 3 | 29 | [SRC]assertEquals("interceptor open", false, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 31 | [SRC]assertEquals("interceptor open", true, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 33 | [SRC]assertEquals("interceptor open", false, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 35 | [SRC]assertEquals("interceptor open", true, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 37 | [SRC]assertEquals("interceptor open", false, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UnnecessaryGetter | 3 | 41 | [SRC]def interceptor = getInterceptor() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.support.HibernatePersistenceContextInterceptorTests. getInterceptor() can probably be rewritten as interceptor
UseAssertTrueInsteadOfAssertEquals | 3 | 42 | [SRC]assertEquals("interceptor open", false, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 45 | [SRC]assertEquals("interceptor open", true, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 47 | [SRC]assertEquals("interceptor open", true, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 49 | [SRC]assertEquals("interceptor open", true, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 51 | [SRC]assertEquals("interceptor open", false, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 54 | [SRC]assertEquals("interceptor open", true, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UnnecessaryObjectReferences | 3 | 55 | [SRC]interceptor.destroy() [MSG]The code could be more concise by using a with() or identity() block
UseAssertTrueInsteadOfAssertEquals | 3 | 56 | [SRC]assertEquals("interceptor open", false, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UnnecessaryGetter | 3 | 60 | [SRC]def interceptor = getInterceptor() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.support.HibernatePersistenceContextInterceptorTests. getInterceptor() can probably be rewritten as interceptor
UseAssertTrueInsteadOfAssertEquals | 3 | 70 | [SRC]assertEquals("interceptor open", false, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 72 | [SRC]assertEquals("interceptor open", true, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 74 | [SRC]assertEquals("interceptor open", false, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UnnecessaryGetter | 3 | 81 | [SRC]def interceptor = getInterceptor() [MSG]Violation in class org.codehaus.groovy.grails.orm.hibernate.support.HibernatePersistenceContextInterceptorTests. getInterceptor() can probably be rewritten as interceptor
UseAssertTrueInsteadOfAssertEquals | 3 | 93 | [SRC]assertEquals("interceptor open", false, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 95 | [SRC]assertEquals("interceptor open", true, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 97 | [SRC]assertEquals("interceptor open", false, interceptor.open) [MSG]assertEquals can be simplified using assertTrue or assertFalse

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.orm.hibernate.validation

### ➥ UniqueConstraintTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 15 | [SRC]def userClass = ga.getDomainClass("User") [MSG]The variable [userClass] in class org.codehaus.groovy.grails.orm.hibernate.validation.UniqueConstraintTests is not used
JUnitPublicNonTestMethod | 2 | 265 | [SRC]void onSetUp() { [MSG]Violation in class UniqueConstraintTests. The method onSetUp is public but not a test method
UnnecessaryObjectReferences | 3 | 50 | [SRC]user.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 52 | [SRC]user.save(true) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 63 | [SRC]user.organization = "organization1" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 64 | [SRC]user.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 68 | [SRC]user.id = 123L [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 69 | [SRC]user.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 79 | [SRC]user.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 83 | [SRC]user.code = "321" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 84 | [SRC]user.login = "login1" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 85 | [SRC]user.grp = "group1" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 86 | [SRC]user.department = "department1" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 87 | [SRC]user.organization = "organization2" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 88 | [SRC]user.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 92 | [SRC]user.grp = "group2" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 93 | [SRC]user.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 97 | [SRC]user.grp = "group1" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 98 | [SRC]user.department = "department2" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 99 | [SRC]user.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 103 | [SRC]user.login = "login2" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 104 | [SRC]user.grp = "group2" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 105 | [SRC]user.department = "department1" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 106 | [SRC]user.organization = "organization1" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 107 | [SRC]user.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 111 | [SRC]user.organization = "organization2" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 112 | [SRC]user.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 228 | [SRC]user1.save(true) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 236 | [SRC]user2.save(true) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 244 | [SRC]user3.save(true) [MSG]The code could be more concise by using a with() or identity() block

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.orm.support

### ➥ TransactionManagerPostProcessorTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessarySelfAssignment | 3 | 28 | [SRC]dataSource = dataSource [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.plugins

### ➥ RelationshipManagementMethodsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 59 | [SRC]def addressClass = ga.getDomainClass("Address") [MSG]The variable [addressClass] in class org.codehaus.groovy.grails.plugins.RelationshipManagementMethodsTests is not used
JUnitPublicNonTestMethod | 2 | 142 | [SRC]void onSetUp() { [MSG]Violation in class RelationshipManagementMethodsTests. The method onSetUp is public but not a test method

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.plugins.scaffolding

### ➥ ScaffoldingGrailsPluginTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 75 | [SRC]def appCtx = springConfig.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.plugins.scaffolding.ScaffoldingGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext
UnnecessaryGetter | 3 | 87 | [SRC]gcl.getLoadedClasses().find { it.name.endsWith("TagLib") }) [MSG]Violation in class org.codehaus.groovy.grails.plugins.scaffolding.ScaffoldingGrailsPluginTests. getLoadedClasses() can probably be rewritten as loadedClasses

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.plugins.services

### ➥ ScopedProxyAndServiceClassTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 5 | [SRC]import org.springframework.web.context.support.WebApplic..ContextUtils [MSG]The [org.springframework.web.context.support.WebApplicationContextUtils] import is never referenced

### ➥ ServicesGrailsPluginTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 12 | [SRC]void onSetUp() { [MSG]Violation in class ServicesGrailsPluginTests. The method onSetUp is public but not a test method
UnnecessaryGetter | 3 | 110 | [SRC]springConfig.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.plugins.services.ServicesGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.reload

### ➥ ServiceReloadTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 46 | [SRC]void onSetUp() { [MSG]Violation in class ServiceReloadTests. The method onSetUp is public but not a test method

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.scaffolding

### ➥ DefaultGrailsTemplateGeneratorTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 26 | [SRC]protected void setUp() { [MSG]Violation in class DefaultGrailsTemplateGeneratorTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 33 | [SRC]protected void tearDown() { [MSG]Violation in class DefaultGrailsTemplateGeneratorTests. The method tearDown() does not call super.tearDown()
UnusedImport | 3 | 14 | [SRC]import org.codehaus.groovy.grails.plugins.PluginManagerHolder [MSG]The [org.codehaus.groovy.grails.plugins.PluginManagerHolder] import is never referenced
UseAssertTrueInsteadOfAssertEquals | 3 | 68 | [SRC]assert sw.toString().contains('g:datePicker name="regula..}"') == true [MSG]The expression '(sw.toString().contains(g:datePicker name="regularDate" precision="day" value="${scaffoldingTestInstance?.regularDate}") == true)' can be simplified to 'sw.toString().contains(g:datePicker name="regularDate" precision="day" value="${scaffoldingTestInstance?.regularDate}")'
UseAssertTrueInsteadOfAssertEquals | 3 | 69 | [SRC]assert sw.toString().contains('datePicker name="sqlDate"..e}') == true [MSG]The expression '(sw.toString().contains(datePicker name="sqlDate" precision="day" value="${scaffoldingTestInstance?.sqlDate}) == true)' can be simplified to 'sw.toString().contains(datePicker name="sqlDate" precision="day" value="${scaffoldingTestInstance?.sqlDate})'

### ➥ TemplateGeneratingResponseHandlerTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
DuplicateImport | 3 | 7 | [SRC]import org.springframework.web.context.request.*

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.scaffolding.view

### ➥ ScaffoldedGroovyPageViewTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTearDownCallsSuper | 2 | 33 | [SRC]void tearDown() { [MSG]Violation in class ScaffoldedGroovyPageViewTests. The method tearDown() does not call super.tearDown()

### ➥ ScaffoldingViewResolverTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 60 | [SRC]protected String generateViewSource(String viewName, Gra..mainClass) { [MSG]Violation in class TestScaffoldingViewResolver. Method parameter [domainClass] is never referenced in the method generateViewSource of class org.codehaus.groovy.grails.scaffolding.view.TestScaffoldingViewResolver
UnnecessaryGetter | 3 | 38 | [SRC]viewResolver.servletContext = webRequest.getServletContext() [MSG]Violation in class org.codehaus.groovy.grails.scaffolding.view.ScaffoldingViewResolverTests. getServletContext() can probably be rewritten as servletContext
UnnecessaryGetter | 3 | 48 | [SRC]def view = viewResolver.loadView("/foo/list", Locale.getDefault()) [MSG]Violation in class org.codehaus.groovy.grails.scaffolding.view.ScaffoldingViewResolverTests. getDefault() can probably be rewritten as default

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.validation

### ➥ VetoingNullableBehaviourTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UseAssertEqualsInsteadOfAssertTrue | 3 | 100 | [SRC]assertTrue("Error not found for field ${field}, errors w..ld) == null) [MSG]Violation in class org.codehaus.groovy.grails.validation.VetoingNullableBehaviourTests. Replace assertTrue with a call to assertEquals()

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.web.binding

### ➥ DataBindingWithAssociationTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 93 | [SRC]def Book = ga.getDomainClass("databindingwithassociation..ook3").clazz [MSG]The variable [Book] in class org.codehaus.groovy.grails.web.binding.DataBindingWithAssociationTests is not used
UnusedVariable | 2 | 120 | [SRC]def Book = ga.getDomainClass("databindingwithassociation..ook3").clazz [MSG]The variable [Book] in class org.codehaus.groovy.grails.web.binding.DataBindingWithAssociationTests is not used

### ➥ DataBindingWithEmbeddedTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
MisorderedStaticImports | 3 | 6 | [SRC]import static org.hamcrest.CoreMatchers.* [MSG]Static imports should appear before normal imports
MisorderedStaticImports | 3 | 7 | [SRC]import static org.junit.Assert.assertThat [MSG]Static imports should appear before normal imports

## Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.web.converters

### ➥ ConvertsWithHibernateProxiesTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 55 | [SRC]def converter = parent as JSON [MSG]The variable [converter] in class org.codehaus.groovy.grails.web.converters.ConvertsWithHibernateProxiesTests is not used
UnusedVariable | 2 | 74 | [SRC]def converter = parent as XML [MSG]The variable [converter] in class org.codehaus.groovy.grails.web.converters.ConvertsWithHibernateProxiesTests is not used

## Package: grails-test-suite-uber.src.test.groovy.grails.ant

### ➥ GrailsTaskTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyMethod | 2 | 10 | [SRC]void testWithClasspath() { [MSG]Violation in class GrailsTaskTests. The method testWithClasspath is both empty and not marked with @Override
JUnitTestMethodWithoutAssert | 2 | 10 | [SRC]void testWithClasspath() { [MSG]Violation in class GrailsTaskTests. Test method 'testWithClasspath' makes no assertions

## Package: grails-test-suite-uber.src.test.groovy.grails.spring

### ➥ BeanBuilderTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 706 | [SRC]def dataSource = ctx.getBean("dataSource") [MSG]The variable [dataSource] in class grails.spring.BeanBuilderTests is not used
JUnitTestMethodWithoutAssert | 2 | 709 | [SRC]void testHolyGrailWiring() { [MSG]Violation in class BeanBuilderTests. Test method 'testHolyGrailWiring' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 760 | [SRC]void testBeanBuilderWithScript() { [MSG]Violation in class BeanBuilderTests. Test method 'testBeanBuilderWithScript' makes no assertions
EmptyMethod | 2 | 867 | [SRC]Object remove(String name) { [MSG]Violation in class TestScope. The method remove is both empty and not marked with @Override
UnusedMethodParameter | 2 | 867 | [SRC]Object remove(String name) { [MSG]Violation in class TestScope. Method parameter [name] is never referenced in the method remove of class grails.spring.TestScope
EmptyMethod | 2 | 871 | [SRC]void registerDestructionCallback(String name, Runnable callback) {} [MSG]Violation in class TestScope. The method registerDestructionCallback is both empty and not marked with @Override
UnusedMethodParameter | 2 | 871 | [SRC]void registerDestructionCallback(String name, Runnable callback) {} [MSG]Violation in class TestScope. Method parameter [name] is never referenced in the method registerDestructionCallback of class grails.spring.TestScope
UnusedMethodParameter | 2 | 871 | [SRC]void registerDestructionCallback(String name, Runnable callback) {} [MSG]Violation in class TestScope. Method parameter [callback] is never referenced in the method registerDestructionCallback of class grails.spring.TestScope
UnusedMethodParameter | 2 | 875 | [SRC]Object get(String name, ObjectFactory<?> objectFactory) { [MSG]Violation in class TestScope. Method parameter [name] is never referenced in the method get of class grails.spring.TestScope
UnusedMethodParameter | 2 | 880 | [SRC]Object resolveContextualObject(String s) { null } [MSG]Violation in class TestScope. Method parameter [s] is never referenced in the method resolveContextualObject of class grails.spring.TestScope
UnusedImport | 3 | 18 | [SRC]import org.codehaus.groovy.grails.plugins.GrailsPluginManager; [MSG]The [org.codehaus.groovy.grails.plugins.GrailsPluginManager] import is never referenced
UnnecessaryGetter | 3 | 149 | [SRC]GenericApplicationContext appCtx = bb.getSpringConfig()...ionContext() [MSG]Violation in class grails.spring.BeanBuilderTests. getUnrefreshedApplicationContext() can probably be rewritten as unrefreshedApplicationContext
UnnecessaryGetter | 3 | 149 | [SRC]GenericApplicationContext appCtx = bb.getSpringConfig()...ionContext() [MSG]Violation in class grails.spring.BeanBuilderTests. getSpringConfig() can probably be rewritten as springConfig
UnnecessaryGetter | 3 | 150 | [SRC]appCtx.getBeanFactory().registerScope("test", scope) [MSG]Violation in class grails.spring.BeanBuilderTests. getBeanFactory() can probably be rewritten as beanFactory
UnnecessaryGetter | 3 | 176 | [SRC]appCtx = bb.getSpringConfig().getUnrefreshedApplicationContext() [MSG]Violation in class grails.spring.BeanBuilderTests. getUnrefreshedApplicationContext() can probably be rewritten as unrefreshedApplicationContext
UnnecessaryGetter | 3 | 176 | [SRC]appCtx = bb.getSpringConfig().getUnrefreshedApplicationContext() [MSG]Violation in class grails.spring.BeanBuilderTests. getSpringConfig() can probably be rewritten as springConfig
UnnecessaryGetter | 3 | 177 | [SRC]appCtx.getBeanFactory().registerScope("test", scope) [MSG]Violation in class grails.spring.BeanBuilderTests. getBeanFactory() can probably be rewritten as beanFactory
UnnecessaryGetter | 3 | 237 | [SRC]GenericApplicationContext appCtx = bb.getSpringConfig()...ionContext() [MSG]Violation in class grails.spring.BeanBuilderTests. getUnrefreshedApplicationContext() can probably be rewritten as unrefreshedApplicationContext
UnnecessaryGetter | 3 | 237 | [SRC]GenericApplicationContext appCtx = bb.getSpringConfig()...ionContext() [MSG]Violation in class grails.spring.BeanBuilderTests. getSpringConfig() can probably be rewritten as springConfig
UnnecessaryGetter | 3 | 239 | [SRC]appCtx.getBeanFactory().registerScope("test", scope) [MSG]Violation in class grails.spring.BeanBuilderTests. getBeanFactory() can probably be rewritten as beanFactory
UnnecessarySelfAssignment | 3 | 305 | [SRC]quest = quest [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessaryPackageReference | 3 | 312 | [SRC]shouldFail(org.springframework.beans.factory.BeanIsAbstr..Exception) { [MSG]The org.springframework.beans.factory.BeanIsAbstractException class was explicitly imported, so specifying the package name is not necessary
UnnecessarySelfAssignment | 3 | 327 | [SRC]quest = quest [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UseAssertTrueInsteadOfAssertEquals | 3 | 376 | [SRC]assertEquals true, bean1.props?.overweight [MSG]assertEquals can be simplified using assertTrue or assertFalse
ConstantAssertExpression | 3 | 590 | [SRC]assert "marge", marge.person [MSG]The assert statement within class grails.spring.BeanBuilderTests has a constant boolean expression [marge]
ConstantAssertExpression | 3 | 608 | [SRC]assert "marge", marge.person [MSG]The assert statement within class grails.spring.BeanBuilderTests has a constant boolean expression [marge]
ConstantAssertExpression | 3 | 632 | [SRC]assert "homer", homer.person [MSG]The assert statement within class grails.spring.BeanBuilderTests has a constant boolean expression [homer]
ConstantAssertExpression | 3 | 633 | [SRC]assert 45, homer.age [MSG]The assert statement within class grails.spring.BeanBuilderTests has a constant boolean expression [45]
ConstantAssertExpression | 3 | 635 | [SRC]assert "marge", ctx.getBean("marge").person [MSG]The assert statement within class grails.spring.BeanBuilderTests has a constant boolean expression [marge]
ConstantAssertExpression | 3 | 637 | [SRC]assert "mcBain", ctx.getBean("mcBain").person [MSG]The assert statement within class grails.spring.BeanBuilderTests has a constant boolean expression [mcBain]
UnnecessaryGetter | 3 | 877 | [SRC]objectFactory.getObject() [MSG]Violation in class grails.spring.TestScope. getObject() can probably be rewritten as object

## Package: grails-test-suite-uber.src.test.groovy.grails.test

### ➥ ControllerUnitTestCaseTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 10 | [SRC]void testControllerClass() { [MSG]Violation in class ControllerUnitTestCaseTests. Test method 'testControllerClass' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 17 | [SRC]void testExplicitControllerClass() { [MSG]Violation in class ControllerUnitTestCaseTests. Test method 'testExplicitControllerClass' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 25 | [SRC]void testMockCommandObject() { [MSG]Violation in class ControllerUnitTestCaseTests. Test method 'testMockCommandObject' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 32 | [SRC]void testGetSetModelAndView() { [MSG]Violation in class ControllerUnitTestCaseTests. Test method 'testGetSetModelAndView' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 39 | [SRC]void testResetWithResponseNotCommitted() { [MSG]Violation in class ControllerUnitTestCaseTests. Test method 'testResetWithResponseNotCommitted' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 46 | [SRC]void testResetWithResponseCommitted() { [MSG]Violation in class ControllerUnitTestCaseTests. Test method 'testResetWithResponseCommitted' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 56 | [SRC]void testModelAndView() { [MSG]Violation in class UnitTestControllerTestCase. Test method 'testModelAndView' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 89 | [SRC]void testResetWithResponseNotCommitted() { [MSG]Violation in class UnitTestControllerTestCase. Test method 'testResetWithResponseNotCommitted' makes no assertions

### ➥ GrailsMockTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 386 | [SRC]String multiMethod(String str) { "static" } [MSG]Violation in class GrailsMockCollaborator. Method parameter [str] is never referenced in the method multiMethod of class grails.test.GrailsMockCollaborator
UnusedMethodParameter | 2 | 388 | [SRC]String multiMethod(String str, Map map) { "static" } [MSG]Violation in class GrailsMockCollaborator. Method parameter [str] is never referenced in the method multiMethod of class grails.test.GrailsMockCollaborator
UnusedMethodParameter | 2 | 388 | [SRC]String multiMethod(String str, Map map) { "static" } [MSG]Violation in class GrailsMockCollaborator. Method parameter [map] is never referenced in the method multiMethod of class grails.test.GrailsMockCollaborator
UnusedMethodParameter | 2 | 390 | [SRC]String someMethod(String str1, Object[] args, String str..{ 'static' } [MSG]Violation in class GrailsMockCollaborator. Method parameter [str1] is never referenced in the method someMethod of class grails.test.GrailsMockCollaborator
UnusedMethodParameter | 2 | 390 | [SRC]String someMethod(String str1, Object[] args, String str..{ 'static' } [MSG]Violation in class GrailsMockCollaborator. Method parameter [args] is never referenced in the method someMethod of class grails.test.GrailsMockCollaborator
UnusedMethodParameter | 2 | 390 | [SRC]String someMethod(String str1, Object[] args, String str..{ 'static' } [MSG]Violation in class GrailsMockCollaborator. Method parameter [str2] is never referenced in the method someMethod of class grails.test.GrailsMockCollaborator
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 97 | [SRC]mockControl.demand.update() { -> "Success!"} [MSG]Violation in class grails.test.GrailsMockTests. Parentheses in the 'update' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 151 | [SRC]mockControl.demand.static.findByNothing() { -> "Success!"} [MSG]Violation in class grails.test.GrailsMockTests. Parentheses in the 'findByNothing' method call are unnecessary and can be removed.
UnnecessaryGetter | 3 | 407 | [SRC]setMetaClass(GroovySystem.getMetaClassRegistry().getMeta..erty.class); [MSG]Violation in class grails.test.GrailsMockWithMetaClassGetProperty. getMetaClassRegistry() can probably be rewritten as metaClassRegistry
UnnecessaryDotClass | 3 | 407 | [SRC]setMetaClass(GroovySystem.getMetaClassRegistry().getMeta..erty.class); [MSG]GrailsMockWithMetaClassGetProperty.class can be rewritten as GrailsMockWithMetaClassGetProperty
UnnecessaryDotClass | 3 | 407 | [SRC]setMetaClass(GroovySystem.getMetaClassRegistry().getMeta..erty.class); [MSG]GrailsMockWithMetaClassGetProperty.class can be rewritten as GrailsMockWithMetaClassGetProperty
UnnecessaryGetter | 3 | 417 | [SRC]GroovySystem.getMetaClassRegistry().setMetaClass(nodeCla..wMetaClass); [MSG]Violation in class grails.test.GrailsMockWithMetaClassGetProperty. getMetaClassRegistry() can probably be rewritten as metaClassRegistry

### ➥ GrailsUnitTestCaseTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 32 | [SRC]protected void setUp() { [MSG]Violation in class GrailsUnitTestCaseTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 37 | [SRC]protected void tearDown() { [MSG]Violation in class GrailsUnitTestCaseTests. The method tearDown() does not call super.tearDown()
JUnitTestMethodWithoutAssert | 2 | 42 | [SRC]void testMockConfig() { [MSG]Violation in class GrailsUnitTestCaseTests. Test method 'testMockConfig' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 65 | [SRC]void testMockConfigReturnsConfig() { [MSG]Violation in class GrailsUnitTestCaseTests. Test method 'testMockConfigReturnsConfig' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 72 | [SRC]void testMockLogging() { [MSG]Violation in class GrailsUnitTestCaseTests. Test method 'testMockLogging' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 82 | [SRC]void testMockLoggingWithDebugEnabled() { [MSG]Violation in class GrailsUnitTestCaseTests. Test method 'testMockLoggingWithDebugEnabled' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 92 | [SRC]void testMockDomainErrors() { [MSG]Violation in class GrailsUnitTestCaseTests. Test method 'testMockDomainErrors' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 106 | [SRC]void testMockForConstraintsTests() { [MSG]Violation in class GrailsUnitTestCaseTests. Test method 'testMockForConstraintsTests' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 118 | [SRC]void testMockFor() { [MSG]Violation in class GrailsUnitTestCaseTests. Test method 'testMockFor' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 141 | [SRC]void testCascadingValidation() { [MSG]Violation in class GrailsUnitTestCaseTests. Test method 'testCascadingValidation' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 148 | [SRC]void testMockDynamicMethodsWithInstanceList() { [MSG]Violation in class GrailsUnitTestCaseTests. Test method 'testMockDynamicMethodsWithInstanceList' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 162 | [SRC]void testLoadCodec() { [MSG]Violation in class GrailsUnitTestCaseTests. Test method 'testLoadCodec' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 169 | [SRC]void testConverters() { [MSG]Violation in class GrailsUnitTestCaseTests. Test method 'testConverters' makes no assertions
UnusedMethodParameter | 2 | 412 | [SRC]def foo(s) { 1 } [MSG]Violation in class ClassToMock. Method parameter [s] is never referenced in the method foo of class grails.test.ClassToMock
UnnecessaryObjectReferences | 3 | 126 | [SRC]testCase.tearDown() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 128 | [SRC]testCase.setUp() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 129 | [SRC]testCase.testMockInterface1() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 130 | [SRC]testCase.tearDown() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 132 | [SRC]testCase.setUp() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 133 | [SRC]testCase.testMockInterface2() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 134 | [SRC]testCase.tearDown() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 177 | [SRC]testCase.tearDown() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 223 | [SRC]mocker.demand.foo() {s -> 1 } [MSG]Violation in class grails.test.TestUnitTestCase. Parentheses in the 'foo' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 231 | [SRC]mocker.demand.foo() {s -> 1 } [MSG]Violation in class grails.test.TestUnitTestCase. Parentheses in the 'foo' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 239 | [SRC]mocker.demand.foo() {s -> 1 } [MSG]Violation in class grails.test.TestUnitTestCase. Parentheses in the 'foo' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 247 | [SRC]mocker.demand.foo() {s -> 1 } [MSG]Violation in class grails.test.TestUnitTestCase. Parentheses in the 'foo' method call are unnecessary and can be removed.
UnnecessaryObjectReferences | 3 | 365 | [SRC]log.warn "Test warning with exception", new Exception("s..ent wrong!") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 366 | [SRC]log.info "Test info message" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 367 | [SRC]log.info "Test info message with exception", new Excepti..ent wrong!") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 368 | [SRC]log.debug "Test debug" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 369 | [SRC]log.debug "Test debug with exception", new Exception("so..ent wrong!") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 370 | [SRC]log.trace "Test trace" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 371 | [SRC]log.trace "Test trace with exception", new Exception("so..ent wrong!") [MSG]The code could be more concise by using a with() or identity() block

### ➥ MockDomainWithInheritanceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTearDownCallsSuper | 2 | 14 | [SRC]protected void tearDown() { [MSG]Violation in class MockDomainWithInheritanceTests. The method tearDown() does not call super.tearDown()
JUnitTestMethodWithoutAssert | 2 | 18 | [SRC]void testMockDomainWithInheritance() { [MSG]Violation in class MockDomainWithInheritanceTests. Test method 'testMockDomainWithInheritance' makes no assertions
JUnitTearDownCallsSuper | 2 | 34 | [SRC]protected void tearDown() { [MSG]Violation in class PersonTests. The method tearDown() does not call super.tearDown()

### ➥ MockForTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 11 | [SRC]void testUnregisteredMockedStaticMethods() { [MSG]Violation in class MockForTests. Test method 'testUnregisteredMockedStaticMethods' makes no assertions
UnnecessaryObjectReferences | 3 | 19 | [SRC]testcase.tearDown() [MSG]The code could be more concise by using a with() or identity() block

### ➥ MockUtilsAndHasManyTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 17 | [SRC]protected void setUp() { [MSG]Violation in class MockUtilsAndHasManyTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 22 | [SRC]protected void tearDown() { [MSG]Violation in class MockUtilsAndHasManyTests. The method tearDown() does not call super.tearDown()
JUnitTestMethodWithoutAssert | 2 | 26 | [SRC]void testMockDomainWithHasMany() { [MSG]Violation in class MockUtilsAndHasManyTests. Test method 'testMockDomainWithHasMany' makes no assertions
JUnitTearDownCallsSuper | 2 | 36 | [SRC]protected void tearDown() { [MSG]Violation in class MagazineTests. The method tearDown() does not call super.tearDown()

### ➥ MockUtilsDeleteDomainTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 30 | [SRC]void setUp() { [MSG]Violation in class MockUtilsDeleteDomainTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 35 | [SRC]void tearDown() { [MSG]Violation in class MockUtilsDeleteDomainTests. The method tearDown() does not call super.tearDown()

### ➥ MockUtilsSaveDomainTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 34 | [SRC]protected void setUp() { [MSG]Violation in class MockUtilsSaveDomainTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 41 | [SRC]protected void tearDown() { [MSG]Violation in class MockUtilsSaveDomainTests. The method tearDown() does not call super.tearDown()
UnusedVariable | 2 | 78 | [SRC]def domain1 = new TestDomainWithUUID(name: "Alice Doe", ..: 35).save() [MSG]The variable [domain1] in class grails.test.MockUtilsSaveDomainTests is not used

### ➥ MockUtilsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UseAssertFalseInsteadOfNegation | 2 | 1135 | [SRC]assertTrue !model [MSG]Violation in class grails.test.MockUtilsTests. assertTrue(!model) can be simplified to assertFalse(model)
EqualsAndHashCode | 2 | 1589 | [SRC]class TestDomain { [MSG]The class grails.test.TestDomain defines equals(Object) but not hashCode()
EqualsAndHashCode | 2 | 1685 | [SRC]class TestDomainWithUUID { [MSG]The class grails.test.TestDomainWithUUID defines equals(Object) but not hashCode()
UnusedMethodParameter | 2 | 1882 | [SRC]def beforeValidate(List properties) { [MSG]Violation in class ClassWithListArgBeforeValidate. Method parameter [properties] is never referenced in the method beforeValidate of class grails.test.ClassWithListArgBeforeValidate
UnusedMethodParameter | 2 | 1896 | [SRC]def beforeValidate(List properties) { [MSG]Violation in class ClassWithOverloadedBeforeValidate. Method parameter [properties] is never referenced in the method beforeValidate of class grails.test.ClassWithOverloadedBeforeValidate
UnnecessaryObjectReferences | 3 | 1202 | [SRC]cmd.validate() [MSG]The code could be more concise by using a with() or identity() block

### ➥ TagLibUnitTestCaseTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 8 | [SRC]void testTagThatPopulatesPageScope() { [MSG]Violation in class TagLibUnitTestCaseTests. Test method 'testTagThatPopulatesPageScope' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 16 | [SRC]void testTagThatAccessesPageScope() { [MSG]Violation in class TagLibUnitTestCaseTests. Test method 'testTagThatAccessesPageScope' makes no assertions

## Package: grails-test-suite-uber.src.test.groovy.grails.test.mixin

### ➥ AstEnhancedControllerUnitTestMixinTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 22 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 34 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 42 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 50 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 60 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 70 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 81 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 104 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 112 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 121 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 131 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 149 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 159 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 168 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 178 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 188 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 196 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController

### ➥ AutowireServiceViaDefineBeansTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 16 | [SRC]void testThatBeansAreWired() { [MSG]Violation in class AutowireServiceViaDefineBeansTests. Test method 'testThatBeansAreWired' makes no assertions
UnusedImport | 3 | 3 | [SRC]import org.junit.Before [MSG]The [org.junit.Before] import is never referenced
UnusedImport | 3 | 7 | [SRC]import org.junit.BeforeClass [MSG]The [org.junit.BeforeClass] import is never referenced

### ➥ BidirectionalOneToManyUnitTestTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 12 | [SRC]void testRelationship() { [MSG]Violation in class BidirectionalOneToManyUnitTestTests. Test method 'testRelationship' makes no assertions

### ➥ ControllerAndFilterMixinInteractionTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyMethod | 2 | 25 | [SRC]def index() { } [MSG]Violation in class SecureUserController. The method index is both empty and not marked with @Override

### ➥ ControllerAndMockForTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 9 | [SRC]void testIndexWithoutUsingMockFor() { [MSG]Violation in class ControllerAndMockForTests. Test method 'testIndexWithoutUsingMockFor' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 29 | [SRC]void testIndexWithoutUsingMockForAgain() { [MSG]Violation in class ControllerAndMockForTests. Test method 'testIndexWithoutUsingMockForAgain' makes no assertions

### ➥ ControllerUnitTestMixinTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
BrokenOddnessCheck | 2 | 564 | [SRC]if(val.size() % 2 == 1) { [MSG]The code uses '(val.size() % 2 == 1)' to check for oddness, which does not work for negative numbers. Use (val.size() & 1 == 1) or (val.size() % 2 != 0) instead
BrokenOddnessCheck | 2 | 564 | [SRC]if(val.size() % 2 == 1) { [MSG]The code uses '(val.size() % 2 == 1)' to check for oddness, which does not work for negative numbers. Use (val.size() & 1 == 1) or (val.size() % 2 != 0) instead
UnnecessaryGetter | 3 | 26 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 47 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 55 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 63 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 73 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 83 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 94 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 117 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 125 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 134 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 143 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 154 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 172 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 182 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 191 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 201 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 211 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 219 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 229 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryGetter | 3 | 251 | [SRC]def controller = getMockController() [MSG]Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController
UnnecessaryOverridingMethod | 3 | 552 | [SRC]def method1() { [MSG]Violation in class SubController. The method method1 contains no logic and can be safely deleted

### ➥ ControllerWithMockCollabTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 12 | [SRC]void testFirstCall() { [MSG]Violation in class ControllerWithMockCollabTests. Test method 'testFirstCall' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 17 | [SRC]void testSecondCall() { [MSG]Violation in class ControllerWithMockCollabTests. Test method 'testSecondCall' makes no assertions
UseAssertTrueInsteadOfAssertEquals | 3 | 35 | [SRC]assert called == true [MSG]The expression '(called == true)' can be simplified to 'called'

### ➥ DomainClassAnnotatedSetupMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyMethod | 2 | 16 | [SRC]void testSaveInSetup() { [MSG]Violation in class DomainClassAnnotatedSetupMethodTests. The method testSaveInSetup is both empty and not marked with @Override
JUnitTestMethodWithoutAssert | 2 | 16 | [SRC]void testSaveInSetup() { [MSG]Violation in class DomainClassAnnotatedSetupMethodTests. Test method 'testSaveInSetup' makes no assertions

### ➥ DomainClassControllerUnitTestMixinTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 6 | [SRC]import grails.validation.ValidationErrors [MSG]The [grails.validation.ValidationErrors] import is never referenced
UseAssertTrueInsteadOfAssertEquals | 3 | 57 | [SRC]assert book.validate() == false [MSG]The expression '(book.validate() == false)' can be simplified to '!book.validate()'

### ➥ DomainClassSetupMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 12 | [SRC]void setUp() { [MSG]Violation in class DomainClassSetupMethodTests. The method setUp() does not call super.setUp()

### ➥ MockForTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 46 | [SRC]void request(HttpServletRequest request) { [MSG]Violation in class SolrServer. Method parameter [request] is never referenced in the method request of class grails.test.mixin.SolrServer

### ➥ ServiceAndMockForTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 35 | [SRC]void testIndexWithoutUsingMockForAgain() { [MSG]Violation in class ServiceAndMockForTests. Test method 'testIndexWithoutUsingMockForAgain' makes no assertions

### ➥ UrlMappingsTestMixinTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyCatchBlock | 2 | 73 | [SRC]catch (e) {} [MSG]The catch block is empty
EmptyMethod | 2 | 151 | [SRC]@Action def action1(){} [MSG]Violation in class GrailsUrlMappingsTestCaseFakeController. The method action1 is both empty and not marked with @Override
EmptyMethod | 2 | 152 | [SRC]@Action def action2(){} [MSG]Violation in class GrailsUrlMappingsTestCaseFakeController. The method action2 is both empty and not marked with @Override
EmptyMethod | 2 | 153 | [SRC]@Action def action3(){} [MSG]Violation in class GrailsUrlMappingsTestCaseFakeController. The method action3 is both empty and not marked with @Override
EmptyMethod | 2 | 157 | [SRC]@Action def publicProfile() {} [MSG]Violation in class UserController. The method publicProfile is both empty and not marked with @Override

## Package: grails-test-suite-uber.src.test.groovy.grails.util

### ➥ BuildScopeTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTearDownCallsSuper | 2 | 9 | [SRC]protected void tearDown() { [MSG]Violation in class BuildScopeTests. The method tearDown() does not call super.tearDown()
UnnecessaryGetter | 3 | 14 | [SRC]assertEquals BuildScope.ALL, BuildScope.getCurrent() [MSG]Violation in class grails.util.BuildScopeTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 18 | [SRC]assertEquals BuildScope.WAR, BuildScope.getCurrent() [MSG]Violation in class grails.util.BuildScopeTests. getCurrent() can probably be rewritten as current

### ➥ BuildSettingsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 15 | [SRC]protected void setUp() { [MSG]Violation in class BuildSettingsTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 29 | [SRC]protected void tearDown() { [MSG]Violation in class BuildSettingsTests. The method tearDown() does not call super.tearDown()
EmptyMethod | 2 | 332 | [SRC]void receiveGrailsBuildEvent(String name, Object[] args) {} [MSG]Violation in class BuildSettingsTestsGrailsBuildListener. The method receiveGrailsBuildEvent is both empty and not marked with @Override
UnusedMethodParameter | 2 | 332 | [SRC]void receiveGrailsBuildEvent(String name, Object[] args) {} [MSG]Violation in class BuildSettingsTestsGrailsBuildListener. Method parameter [name] is never referenced in the method receiveGrailsBuildEvent of class grails.util.BuildSettingsTestsGrailsBuildListener
UnusedMethodParameter | 2 | 332 | [SRC]void receiveGrailsBuildEvent(String name, Object[] args) {} [MSG]Violation in class BuildSettingsTestsGrailsBuildListener. Method parameter [args] is never referenced in the method receiveGrailsBuildEvent of class grails.util.BuildSettingsTestsGrailsBuildListener

### ➥ EnvironmentTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTearDownCallsSuper | 2 | 9 | [SRC]protected void tearDown() { [MSG]Violation in class EnvironmentTests. The method tearDown() does not call super.tearDown()
UnnecessaryGetter | 3 | 14 | [SRC]Metadata.getCurrent().clear() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 20 | [SRC]assertEquals Environment.PRODUCTION, Environment.getCurrent() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 51 | [SRC]assertEquals Environment.DEVELOPMENT, Environment.getCurrent() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 68 | [SRC]assertEquals Environment.CUSTOM, Environment.getCurrent() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 88 | [SRC]assertEquals Environment.PRODUCTION, Environment.getCurrent() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 107 | [SRC]assertEquals Environment.DEVELOPMENT, Environment.getCurrent() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 126 | [SRC]assertEquals Environment.CUSTOM, Environment.getCurrent() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 148 | [SRC]assertEquals Environment.PRODUCTION, Environment.getCurrent() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 151 | [SRC]assertEquals Environment.DEVELOPMENT, Environment.getCurrent() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 154 | [SRC]assertEquals Environment.CUSTOM, Environment.getCurrent() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 169 | [SRC]assertEquals Environment.PRODUCTION, Environment.getCurrent() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 172 | [SRC]assertEquals Environment.DEVELOPMENT, Environment.getCurrent() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 175 | [SRC]assertEquals Environment.PRODUCTION, Environment.getCurrent() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 178 | [SRC]assertEquals Environment.DEVELOPMENT, Environment.getCurrent() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 186 | [SRC]assertFalse "reload should be disabled by default in pro..oadEnabled() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 189 | [SRC]assertFalse "reload should be disabled by default in dev..oadEnabled() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 192 | [SRC]assertTrue "reload should be enabled by default in devel..oadEnabled() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 196 | [SRC]assertFalse "reload should be disabled by default in pro..oadEnabled() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 199 | [SRC]assertFalse "reload should be disabled by default in pro..oadEnabled() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current
UnnecessaryObjectReferences | 3 | 201 | [SRC]System.setProperty(Environment.RELOAD_LOCATION, ".") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryGetter | 3 | 202 | [SRC]assertTrue "reload should be enabled by default in produ..oadEnabled() [MSG]Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current

### ➥ MetadataTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 15 | [SRC]assertEquals "1.1", m.getInstalledPlugins().tomcat [MSG]Violation in class grails.util.MetadataTests. getInstalledPlugins() can probably be rewritten as installedPlugins
UnnecessaryGetter | 3 | 16 | [SRC]assertEquals "1.2", m.getInstalledPlugins().hibernate [MSG]Violation in class grails.util.MetadataTests. getInstalledPlugins() can probably be rewritten as installedPlugins

### ➥ PluginBuildSettingsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 28 | [SRC]PluginBuildSettings createPluginBuildSettings(File proje.._PROJ_DIR) { [MSG]Violation in class PluginBuildSettingsTests. The method createPluginBuildSettings is public but not a test method
UseAssertFalseInsteadOfNegation | 2 | 277 | [SRC]assertTrue("should not be a plugin-two dir in same dir a..pp.exists()) [MSG]Violation in class grails.util.PluginBuildSettingsTests. assertTrue(!pluginTwoInSameDirAsRootApp.exists()) can be simplified to assertFalse(pluginTwoInSameDirAsRootApp.exists())
UnnecessaryGetter | 3 | 71 | [SRC]def sourceFiles = pluginSettings.getPluginSourceFiles() [MSG]Violation in class grails.util.PluginBuildSettingsTests. getPluginSourceFiles() can probably be rewritten as pluginSourceFiles
UnnecessaryGetter | 3 | 102 | [SRC]assertEquals 2, pluginSettings.getPluginLibDirectories().size() [MSG]Violation in class grails.util.PluginBuildSettingsTests. getPluginLibDirectories() can probably be rewritten as pluginLibDirectories
UnnecessaryGetter | 3 | 103 | [SRC]assertEquals 2, pluginSettings.getPluginLibDirectories().size() [MSG]Violation in class grails.util.PluginBuildSettingsTests. getPluginLibDirectories() can probably be rewritten as pluginLibDirectories
UnnecessaryGetter | 3 | 108 | [SRC]assertEquals 2, pluginSettings.getPluginDescriptors().size() [MSG]Violation in class grails.util.PluginBuildSettingsTests. getPluginDescriptors() can probably be rewritten as pluginDescriptors
UnnecessaryGetter | 3 | 109 | [SRC]assertEquals 2, pluginSettings.getPluginDescriptors().size() [MSG]Violation in class grails.util.PluginBuildSettingsTests. getPluginDescriptors() can probably be rewritten as pluginDescriptors
UnnecessaryGetter | 3 | 116 | [SRC]assertEquals 6, pluginSettings.getArtefactResources().size() [MSG]Violation in class grails.util.PluginBuildSettingsTests. getArtefactResources() can probably be rewritten as artefactResources
UnnecessaryGetter | 3 | 117 | [SRC]assertEquals 6, pluginSettings.getArtefactResources().size() [MSG]Violation in class grails.util.PluginBuildSettingsTests. getArtefactResources() can probably be rewritten as artefactResources
UnnecessaryGetter | 3 | 131 | [SRC]def scripts = pluginSettings.getAvailableScripts() [MSG]Violation in class grails.util.PluginBuildSettingsTests. getAvailableScripts() can probably be rewritten as availableScripts
UnnecessaryGetter | 3 | 143 | [SRC]def scripts = pluginSettings.getPluginScripts() [MSG]Violation in class grails.util.PluginBuildSettingsTests. getPluginScripts() can probably be rewritten as pluginScripts
UnnecessaryGetter | 3 | 151 | [SRC]assertEquals 2, pluginSettings.getPluginXmlMetadata().size() [MSG]Violation in class grails.util.PluginBuildSettingsTests. getPluginXmlMetadata() can probably be rewritten as pluginXmlMetadata
UnnecessaryGetter | 3 | 152 | [SRC]assertEquals 2, pluginSettings.getPluginXmlMetadata().size() [MSG]Violation in class grails.util.PluginBuildSettingsTests. getPluginXmlMetadata() can probably be rewritten as pluginXmlMetadata
UnnecessaryGetter | 3 | 158 | [SRC]def pluginInfos = pluginSettings.getPluginInfos() [MSG]Violation in class grails.util.PluginBuildSettingsTests. getPluginInfos() can probably be rewritten as pluginInfos
UnnecessaryGetter | 3 | 177 | [SRC]def pluginDirs = createPluginBuildSettings().getImplicit..irectories() [MSG]Violation in class grails.util.PluginBuildSettingsTests. getImplicitPluginDirectories() can probably be rewritten as implicitPluginDirectories
UnnecessaryGetter | 3 | 199 | [SRC]def pluginDirs = pluginSettings.getPluginDirectories() [MSG]Violation in class grails.util.PluginBuildSettingsTests. getPluginDirectories() can probably be rewritten as pluginDirectories
UnnecessaryGetter | 3 | 282 | [SRC]def pluginInfos = pluginSettings.getPluginInfos() [MSG]Violation in class grails.util.PluginBuildSettingsTests. getPluginInfos() can probably be rewritten as pluginInfos

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.cli

### ➥ AbstractCliTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 42 | [SRC]protected void setUp() { [MSG]Violation in class AbstractCliTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 51 | [SRC]protected void tearDown() { [MSG]Violation in class AbstractCliTests. The method tearDown() does not call super.tearDown()
UnnecessaryObjectReferences | 3 | 100 | [SRC]settings.resourcesDir = new File("$projectDir/resources") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 101 | [SRC]settings.testClassesDir = new File("$projectDir/test-classes") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 102 | [SRC]settings.projectPluginsDir = new File("$projectDir/plugins") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 103 | [SRC]settings.globalPluginsDir = new File("$workDir/global-plugins") [MSG]The code could be more concise by using a with() or identity() block

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.cli.support

### ➥ GrailsBuildHelperTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 13 | [SRC]void testSetDepedenciesExternallyConfigured() { [MSG]Violation in class GrailsBuildHelperTests. Test method 'testSetDepedenciesExternallyConfigured' makes no assertions
UnnecessaryObjectReferences | 3 | 42 | [SRC]testHelper.projectPluginsDir = new File("plugins") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 43 | [SRC]testHelper.globalPluginsDir = new File("global-work/plugins") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 44 | [SRC]testHelper.testReportsDir = new File("target/test-reports") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 45 | [SRC]testHelper.compileDependencies = testCompileDeps [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 46 | [SRC]testHelper.testDependencies = testTestDeps [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 47 | [SRC]testHelper.runtimeDependencies = testRuntimeDeps [MSG]The code could be more concise by using a with() or identity() block

### ➥ JndiBindingSupportTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import javax.naming.Context [MSG]The [javax.naming.Context] import is never referenced
UnusedImport | 3 | 5 | [SRC]import javax.naming.spi.ObjectFactory [MSG]The [javax.naming.spi.ObjectFactory] import is never referenced

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.commons

### ➥ DefaultGrailsCodecClassTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 9 | [SRC]protected void setUp() { [MSG]Violation in class DefaultGrailsCodecClassTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 13 | [SRC]protected void tearDown() { [MSG]Violation in class DefaultGrailsCodecClassTests. The method tearDown() does not call super.tearDown()
UnusedMethodParameter | 2 | 36 | [SRC]def encode(obj) { "encoded" } [MSG]Violation in class CodecWithMethodsCodec. Method parameter [obj] is never referenced in the method encode of class org.codehaus.groovy.grails.commons.CodecWithMethodsCodec
UnusedMethodParameter | 2 | 37 | [SRC]def decode(obj) { "decoded" } [MSG]Violation in class CodecWithMethodsCodec. Method parameter [obj] is never referenced in the method decode of class org.codehaus.groovy.grails.commons.CodecWithMethodsCodec
UnnecessaryGetter | 3 | 19 | [SRC]assertEquals "encoded", codecClass.getEncodeMethod().call("stuff") [MSG]Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsCodecClassTests. getEncodeMethod() can probably be rewritten as encodeMethod
UnnecessaryGetter | 3 | 20 | [SRC]assertEquals "decoded", codecClass.getDecodeMethod().call("stuff") [MSG]Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsCodecClassTests. getDecodeMethod() can probably be rewritten as decodeMethod

### ➥ DefaultGrailsDomainClassPropertyTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 13 | [SRC]void setUp() { [MSG]Violation in class DefaultGrailsDomainClassPropertyTests. The method setUp() does not call super.setUp()
ComparisonWithSelf | 2 | 24 | [SRC]assertTrue(prop1Child.equals(prop1Child)) [MSG]Comparing an object to itself is useless and may indicate a bug: prop1Child.equals(prop1Child)
UnnecessaryGroovyImport | 3 | 3 | [SRC]import groovy.util.GroovyTestCase
UnnecessaryDotClass | 3 | 15 | [SRC]parentClass = new DefaultGrailsDomainClass(ParentClass.class) [MSG]ParentClass.class can be rewritten as ParentClass
UnnecessaryDotClass | 3 | 16 | [SRC]childClass = new DefaultGrailsDomainClass(ChildClass.class) [MSG]ChildClass.class can be rewritten as ChildClass

### ➥ DefaultGrailsDomainClassTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 272 | [SRC]Class topClass = gcl.parseClass("class Top {\n" + [MSG]The variable [topClass] in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests is not used
UnusedVariable | 2 | 279 | [SRC]Class middleClass = gcl.parseClass("class Middle extends Top {\n" + [MSG]The variable [middleClass] in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests is not used
UnusedVariable | 2 | 284 | [SRC]Class bottomClass = gcl.parseClass("class Bottom extends Middle {\n" + [MSG]The variable [bottomClass] in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests is not used
EmptyCatchBlock | 2 | 372 | [SRC]catch(InvalidPropertyException ipe) { [MSG]The catch block is empty
UnnecessaryGetter | 3 | 38 | [SRC]assertEquals(GrailsDomainClassProperty.FETCH_EAGER, test..FetchMode()) [MSG]Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getFetchMode() can probably be rewritten as fetchMode
UnnecessaryGetter | 3 | 41 | [SRC]assertEquals(GrailsDomainClassProperty.FETCH_LAZY, other..FetchMode()) [MSG]Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getFetchMode() can probably be rewritten as fetchMode
UnnecessaryGetter | 3 | 200 | [SRC]domainMap.put(dc.getFullName(),dc) [MSG]Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getFullName() can probably be rewritten as fullName
UnnecessaryGetter | 3 | 207 | [SRC]assertTrue(dc.getPropertyByName("children").getOtherSide..("parent"))) [MSG]Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getOtherSide() can probably be rewritten as otherSide
UnnecessaryGetter | 3 | 208 | [SRC]assertTrue(dc.getPropertyByName("parent").getOtherSide()..children"))) [MSG]Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getOtherSide() can probably be rewritten as otherSide
UnnecessaryGetter | 3 | 256 | [SRC]assertEquals(c1dc.getPropertyByName("ones").getOtherSide..me("other")) [MSG]Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getOtherSide() can probably be rewritten as otherSide
UnnecessaryGetter | 3 | 263 | [SRC]assertEquals(c2dc.getPropertyByName("other").getOtherSid..ame("ones")) [MSG]Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getOtherSide() can probably be rewritten as otherSide
UnnecessaryGetter | 3 | 362 | [SRC]assertEquals("UserTest",domainClass.getName()) [MSG]Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 364 | [SRC]assertNotNull(domainClass.getIdentifier()) [MSG]Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getIdentifier() can probably be rewritten as identifier
UnnecessaryGetter | 3 | 365 | [SRC]assertNotNull(domainClass.getVersion()) [MSG]Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getVersion() can probably be rewritten as version
UnnecessaryGetter | 3 | 366 | [SRC]assertTrue(domainClass.getIdentifier().isIdentity()) [MSG]Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getIdentifier() can probably be rewritten as identifier
UnnecessaryGetter | 3 | 390 | [SRC]GrailsDomainClassProperty[] persistantProperties = domai..Properties() [MSG]Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getPersistentProperties() can probably be rewritten as persistentProperties

### ➥ GrailsMetaClassUtilsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 15 | [SRC]assertNotNull(GrailsMetaClassUtils.getRegistry()) [MSG]Violation in class org.codehaus.groovy.grails.commons.GrailsMetaClassUtilsTests. getRegistry() can probably be rewritten as registry
UnnecessaryGetter | 3 | 39 | [SRC]assertEquals "bar", d.getFoo() [MSG]Violation in class org.codehaus.groovy.grails.commons.GrailsMetaClassUtilsTests. getFoo() can probably be rewritten as foo
UnnecessaryGetter | 3 | 48 | [SRC]assertEquals "bar", d.getFoo() [MSG]Violation in class org.codehaus.groovy.grails.commons.GrailsMetaClassUtilsTests. getFoo() can probably be rewritten as foo

### ➥ GrailsPluginManagerDescriptorTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 8 | [SRC]void testDoWithWebDescriptor() { [MSG]Violation in class GrailsPluginManagerDescriptorTests. Test method 'testDoWithWebDescriptor' makes no assertions
UnusedVariable | 2 | 20 | [SRC]def xml = new XmlSlurper().parseText(text) [MSG]The variable [xml] in class org.codehaus.groovy.grails.commons.GrailsPluginManagerDescriptorTests is not used
JUnitTestMethodWithoutAssert | 2 | 23 | [SRC]void testDevelopmentDescriptor() { [MSG]Violation in class GrailsPluginManagerDescriptorTests. Test method 'testDevelopmentDescriptor' makes no assertions
UnusedVariable | 2 | 36 | [SRC]def xml = new XmlSlurper().parseText(text) [MSG]The variable [xml] in class org.codehaus.groovy.grails.commons.GrailsPluginManagerDescriptorTests is not used

### ➥ GrailsPluginManagerTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 122 | [SRC]void testWithLoadLastPlugin() { [MSG]Violation in class GrailsPluginManagerTests. Test method 'testWithLoadLastPlugin' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 134 | [SRC]void testDependencyResolutionSucces() { [MSG]Violation in class GrailsPluginManagerTests. Test method 'testDependencyResolutionSucces' makes no assertions
UnusedImport | 3 | 5 | [SRC]import org.codehaus.groovy.grails.plugins.exceptions.PluginException [MSG]The [org.codehaus.groovy.grails.plugins.exceptions.PluginException] import is never referenced
UnnecessaryGetter | 3 | 103 | [SRC]assertEquals(1, manager.getPluginResources().length) [MSG]Violation in class org.codehaus.groovy.grails.commons.GrailsPluginManagerTests. getPluginResources() can probably be rewritten as pluginResources
UnnecessaryGetter | 3 | 112 | [SRC]assertEquals("classEditor",plugin.getName()) [MSG]Violation in class org.codehaus.groovy.grails.commons.GrailsPluginManagerTests. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 113 | [SRC]assertEquals("1.1", plugin.getVersion()) [MSG]Violation in class org.codehaus.groovy.grails.commons.GrailsPluginManagerTests. getVersion() can probably be rewritten as version
UnnecessaryGetter | 3 | 153 | [SRC]def ctx = springConfig.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.commons.GrailsPluginManagerTests. getApplicationContext() can probably be rewritten as applicationContext
UnnecessaryGetter | 3 | 171 | [SRC]def ctx = springConfig.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.commons.GrailsPluginManagerTests. getApplicationContext() can probably be rewritten as applicationContext

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.commons.metaclass

### ➥ DynamicMethodsExpandoMetaClassTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 18 | [SRC]import org.springframework.beans.BeanUtils [MSG]The [org.springframework.beans.BeanUtils] import is never referenced
UnnecessaryDotClass | 3 | 26 | [SRC]def metaClass = new DynamicMethodsExpandoMetaClass(Book.class) [MSG]Book.class can be rewritten as Book
UnnecessaryDotClass | 3 | 44 | [SRC]def metaClass = new DynamicMethodsExpandoMetaClass(Book.class, true) [MSG]Book.class can be rewritten as Book
UnnecessaryDotClass | 3 | 57 | [SRC]def metaClass = new DynamicMethodsExpandoMetaClass(Book.class, true) [MSG]Book.class can be rewritten as Book
UnnecessaryGetter | 3 | 76 | [SRC]assertEquals "bar", b.getFoo() [MSG]Violation in class org.codehaus.groovy.grails.commons.metaclass.DynamicMethodsExpandoMetaClassTests. getFoo() can probably be rewritten as foo

### ➥ LazyMetaPropertyMapTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CoupledTestCase | 2 | 11 | [SRC]def obj = new PropertyMapTest(name:"Homer", age:45) [MSG]new PropertyMapTest([name:Homer, age:45]) creates an instance of a test case. Test cases should not be coupled. Move this method to a helper object
CoupledTestCase | 2 | 19 | [SRC]def map = new LazyMetaPropertyMap(new PropertyMapTest(na..er:"stuff")) [MSG]new PropertyMapTest([name:Bart, age:11, other:stuff]) creates an instance of a test case. Test cases should not be coupled. Move this method to a helper object
CoupledTestCase | 2 | 28 | [SRC]def map = new LazyMetaPropertyMap(new PropertyMapTest()) [MSG]new PropertyMapTest() creates an instance of a test case. Test cases should not be coupled. Move this method to a helper object
CoupledTestCase | 2 | 33 | [SRC]def map = new LazyMetaPropertyMap(new PropertyMapTest()) [MSG]new PropertyMapTest() creates an instance of a test case. Test cases should not be coupled. Move this method to a helper object
CoupledTestCase | 2 | 38 | [SRC]def map = new LazyMetaPropertyMap(new PropertyMapTest()) [MSG]new PropertyMapTest() creates an instance of a test case. Test cases should not be coupled. Move this method to a helper object
CoupledTestCase | 2 | 46 | [SRC]def map = new LazyMetaPropertyMap(new PropertyMapTest(na..r", age:45)) [MSG]new PropertyMapTest([name:Homer, age:45]) creates an instance of a test case. Test cases should not be coupled. Move this method to a helper object
CoupledTestCase | 2 | 54 | [SRC]def map = new LazyMetaPropertyMap(new PropertyMapTest(na..r", age:45)) [MSG]new PropertyMapTest([name:Homer, age:45]) creates an instance of a test case. Test cases should not be coupled. Move this method to a helper object
CoupledTestCase | 2 | 70 | [SRC]def map = new LazyMetaPropertyMap(new PropertyMapTest(na..t", age:11)) [MSG]new PropertyMapTest([name:Bart, age:11]) creates an instance of a test case. Test cases should not be coupled. Move this method to a helper object
CoupledTestCase | 2 | 85 | [SRC]def map = new LazyMetaPropertyMap(new PropertyMapTest(na..t", age:11)) [MSG]new PropertyMapTest([name:Bart, age:11]) creates an instance of a test case. Test cases should not be coupled. Move this method to a helper object
CoupledTestCase | 2 | 94 | [SRC]def map = new LazyMetaPropertyMap(new PropertyMapTest(na..t", age:11)) [MSG]new PropertyMapTest([name:Bart, age:11]) creates an instance of a test case. Test cases should not be coupled. Move this method to a helper object

### ➥ MetaClassEnhancerTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTearDownCallsSuper | 2 | 41 | [SRC]protected void tearDown() throws Exception { [MSG]Violation in class MetaClassEnhancerTests. The method tearDown() does not call super.tearDown()

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.compiler

### ➥ GrailsClassLoaderTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import org.codehaus.groovy.control.CompilerConfiguration [MSG]The [org.codehaus.groovy.control.CompilerConfiguration] import is never referenced
UnusedImport | 3 | 4 | [SRC]import org.codehaus.groovy.grails.compiler.support.Grail..sourceLoader [MSG]The [org.codehaus.groovy.grails.compiler.support.GrailsResourceLoader] import is never referenced
UnnecessaryGetter | 3 | 32 | [SRC]assert e == gcl.getCompilationError() : "should have sto..ation error" [MSG]Violation in class org.codehaus.groovy.grails.compiler.GrailsClassLoaderTests. getCompilationError() can probably be rewritten as compilationError
UnnecessaryGetter | 3 | 38 | [SRC]assert !gcl.getCompilationError() : "shouldn't have any ..tion errors" [MSG]Violation in class org.codehaus.groovy.grails.compiler.GrailsClassLoaderTests. getCompilationError() can probably be rewritten as compilationError

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.compiler.injection

### ➥ GrailsASTUtilsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UseAssertTrueInsteadOfAssertEquals | 3 | 64 | [SRC]assert true == firstNameBindableExpression.value [MSG]The expression '(true == firstNameBindableExpression.value)' can be simplified to 'firstNameBindableExpression.value'
UseAssertTrueInsteadOfAssertEquals | 3 | 72 | [SRC]assert false == lastNameBindableExpression.value [MSG]The expression '(false == lastNameBindableExpression.value)' can be simplified to '!lastNameBindableExpression.value'

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.context.support

### ➥ PluginAwareResourceBundleMessageSourceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 16 | [SRC]protected void setUp() { [MSG]Violation in class PluginAwareResourceBundleMessageSourceTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 20 | [SRC]protected void tearDown() { [MSG]Violation in class PluginAwareResourceBundleMessageSourceTests. The method tearDown() does not call super.tearDown()
UnusedMethodParameter | 2 | 61 | [SRC]protected Resource[] getPluginBundles(String pluginName) { [MSG]Violation in class TestPluginAwareResourceBundleMessageSource. Method parameter [pluginName] is never referenced in the method getPluginBundles of class org.codehaus.groovy.grails.context.support.TestPluginAwareResourceBundleMessageSource
UnnecessaryGetter | 3 | 17 | [SRC]Metadata.getCurrent().put(Metadata.WAR_DEPLOYED, "true") [MSG]Violation in class org.codehaus.groovy.grails.context.support.PluginAwareResourceBundleMessageSourceTests. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 21 | [SRC]Metadata.getCurrent().put(Metadata.WAR_DEPLOYED, "") [MSG]Violation in class org.codehaus.groovy.grails.context.support.PluginAwareResourceBundleMessageSourceTests. getCurrent() can probably be rewritten as current

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.documentation

### ➥ MetadataGeneratingExpandoMetaClassTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import groovy.xml.StreamingMarkupBuilder [MSG]The [groovy.xml.StreamingMarkupBuilder] import is never referenced
UnusedImport | 3 | 5 | [SRC]import org.codehaus.groovy.grails.commons.ControllerArtefactHandler [MSG]The [org.codehaus.groovy.grails.commons.ControllerArtefactHandler] import is never referenced

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.plugins

### ➥ CoreGrailsPluginTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 12 | [SRC]void testComponentScan() { [MSG]Violation in class CoreGrailsPluginTests. Test method 'testComponentScan' makes no assertions
UnusedVariable | 2 | 25 | [SRC]def appCtx = springConfig.getApplicationContext() [MSG]The variable [appCtx] in class org.codehaus.groovy.grails.plugins.CoreGrailsPluginTests is not used
UnnecessaryGetter | 3 | 25 | [SRC]def appCtx = springConfig.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.plugins.CoreGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext
UnnecessaryGetter | 3 | 38 | [SRC]def appCtx = springConfig.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.plugins.CoreGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext
UnnecessaryGetter | 3 | 55 | [SRC]def appCtx = springConfig.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.plugins.CoreGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext
UnnecessaryGetter | 3 | 119 | [SRC]def appCtx = springConfig.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.plugins.CoreGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext

### ➥ DomainClassGrailsPluginTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 12 | [SRC]void onSetUp() { [MSG]Violation in class DomainClassGrailsPluginTests. The method onSetUp is public but not a test method
UnusedMethodParameter | 2 | 202 | [SRC]boolean shouldInject(URL url) { true } [MSG]Violation in class AlwaysInjector. Method parameter [url] is never referenced in the method shouldInject of class org.codehaus.groovy.grails.plugins.AlwaysInjector
UnusedMethodParameter | 2 | 204 | [SRC]protected boolean isDomainClass(ClassNode classNode, Sou..e) { true } [MSG]Violation in class AlwaysInjector. Method parameter [classNode] is never referenced in the method isDomainClass of class org.codehaus.groovy.grails.plugins.AlwaysInjector
UnusedMethodParameter | 2 | 204 | [SRC]protected boolean isDomainClass(ClassNode classNode, Sou..e) { true } [MSG]Violation in class AlwaysInjector. Method parameter [sourceNode] is never referenced in the method isDomainClass of class org.codehaus.groovy.grails.plugins.AlwaysInjector
UnusedMethodParameter | 2 | 206 | [SRC]protected boolean shouldInjectClass(ClassNode classNode) { true } [MSG]Violation in class AlwaysInjector. Method parameter [classNode] is never referenced in the method shouldInjectClass of class org.codehaus.groovy.grails.plugins.AlwaysInjector
UnnecessaryObjectReferences | 3 | 43 | [SRC]gcl.parseClass("""class Child3 extends grails.test.Parent2 { [MSG]The code could be more concise by using a with() or identity() block

### ➥ GrailsPluginTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 4 | [SRC]import grails.util.BuildSettings [MSG]The [grails.util.BuildSettings] import is never referenced
UnnecessaryGetter | 3 | 181 | [SRC]System.setProperty(Environment.KEY, Environment.PRODUCTION.getName()) [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginTests. getName() can probably be rewritten as name

### ➥ GrailsPluginUtilsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 17 | [SRC]protected void setUp() { [MSG]Violation in class GrailsPluginUtilsTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 37 | [SRC]void tearDown() { [MSG]Violation in class GrailsPluginUtilsTests. The method tearDown() does not call super.tearDown()
UnusedImport | 3 | 6 | [SRC]import org.apache.commons.io.FileUtils [MSG]The [org.apache.commons.io.FileUtils] import is never referenced
UnnecessaryGetter | 3 | 146 | [SRC]def pluginDirs = GrailsPluginUtils.getPluginDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtilsTests. getPluginDirectories() can probably be rewritten as pluginDirectories
UnnecessaryGetter | 3 | 155 | [SRC]def pluginDirs = GrailsPluginUtils.getImplicitPluginDirectories() [MSG]Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtilsTests. getImplicitPluginDirectories() can probably be rewritten as implicitPluginDirectories

### ➥ PluginDescriptorReaderTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 50 | [SRC]Resource createRelative(String relativePath) { new ByteA..xml.bytes) } [MSG]Violation in class PluginDescriptorReaderTests$1. Method parameter [relativePath] is never referenced in the method createRelative of class org.codehaus.groovy.grails.plugins.PluginDescriptorReaderTests$1

### ➥ PluginInfoTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 38 | [SRC]GPathResult parseMetadata(Resource pluginDir) { null } [MSG]Violation in class MockPluginInfo. Method parameter [pluginDir] is never referenced in the method parseMetadata of class org.codehaus.groovy.grails.plugins.MockPluginInfo

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.plugins.i18n

### ➥ I18nGrailsPluginTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryObjectReferences | 3 | 20 | [SRC]ctx.registerMockResource("WEB-INF/grails-app/i18n/sub/di..properties") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 21 | [SRC]ctx.registerMockResource("WEB-INF/grails-app/i18n/nobundle") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 22 | [SRC]ctx.registerMockResource("WEB-INF/grails-app/i18n/nobundle.txt") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 23 | [SRC]ctx.registerMockResource("WEB-INF/grails-app/i18n/nobundle.xml") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryGetter | 3 | 34 | [SRC]def appCtx = springConfig.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.plugins.i18n.I18nGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.plugins.logging

### ➥ Log4jDslTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 201 | [SRC]def consoleAppender [MSG]The variable [consoleAppender] in class org.codehaus.groovy.grails.plugins.logging.Log4jDslTests is not used
UnnecessaryGetter | 3 | 120 | [SRC]def r = Logger.getRootLogger() [MSG]Violation in class org.codehaus.groovy.grails.plugins.logging.Log4jDslTests. getRootLogger() can probably be rewritten as rootLogger
UnnecessaryGetter | 3 | 139 | [SRC]r = Logger.getRootLogger() [MSG]Violation in class org.codehaus.groovy.grails.plugins.logging.Log4jDslTests. getRootLogger() can probably be rewritten as rootLogger
UnnecessaryGetter | 3 | 158 | [SRC]r = Logger.getRootLogger() [MSG]Violation in class org.codehaus.groovy.grails.plugins.logging.Log4jDslTests. getRootLogger() can probably be rewritten as rootLogger
UnnecessaryGetter | 3 | 178 | [SRC]def root = Logger.getRootLogger() [MSG]Violation in class org.codehaus.groovy.grails.plugins.logging.Log4jDslTests. getRootLogger() can probably be rewritten as rootLogger
UnnecessaryGetter | 3 | 181 | [SRC]def appenders = root.getAllAppenders() [MSG]Violation in class org.codehaus.groovy.grails.plugins.logging.Log4jDslTests. getAllAppenders() can probably be rewritten as allAppenders

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.plugins.publishing

### ➥ DefaultPluginPublisherTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 249 | [SRC]protected GPathResult getPluginMetadata(String pluginName) { [MSG]Violation in class TestPluginPublisher. Method parameter [pluginName] is never referenced in the method getPluginMetadata of class org.codehaus.groovy.grails.plugins.publishing.TestPluginPublisher
UnusedMethodParameter | 2 | 253 | [SRC]GPathResult parsePluginList(Resource pluginsListFile) { [MSG]Violation in class TestPluginPublisher. Method parameter [pluginsListFile] is never referenced in the method parsePluginList of class org.codehaus.groovy.grails.plugins.publishing.TestPluginPublisher

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.plugins.web

### ➥ ControllersGrailsPluginTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 180 | [SRC]Class parseTestBean() { [MSG]Violation in class ControllersGrailsPluginTests. The method parseTestBean is public but not a test method
UseAssertEqualsInsteadOfAssertTrue | 3 | 115 | [SRC]assertTrue ga.config.grails.disableCommonsMultipart.size() == 0 [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPluginTests. Replace assertTrue with a call to assertEquals()
UnnecessaryGetter | 3 | 131 | [SRC]assertNotNull beanDef.getPropertyValues().getPropertyVal..seResource') [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPluginTests. getPropertyValues() can probably be rewritten as propertyValues
UnnecessaryGetter | 3 | 133 | [SRC]assertEquals "file:.", beanDef.getPropertyValues().getPr..).getValue() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPluginTests. getValue() can probably be rewritten as value
UnnecessaryGetter | 3 | 133 | [SRC]assertEquals "file:.", beanDef.getPropertyValues().getPr..).getValue() [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPluginTests. getPropertyValues() can probably be rewritten as propertyValues
UnnecessaryGetter | 3 | 136 | [SRC]assertEquals "groovyPageLocator", beanDef.getPropertyVal..()?.beanName [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPluginTests. getValue() can probably be rewritten as value
UnnecessaryGetter | 3 | 136 | [SRC]assertEquals "groovyPageLocator", beanDef.getPropertyVal..()?.beanName [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPluginTests. getPropertyValues() can probably be rewritten as propertyValues

### ➥ LoggingGrailsPluginTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 41 | [SRC]def registry = GroovySystem.metaClassRegistry [MSG]The variable [registry] in class org.codehaus.groovy.grails.plugins.web.LoggingGrailsPluginTests is not used
UnusedVariable | 2 | 47 | [SRC]def registry = GroovySystem.metaClassRegistry [MSG]The variable [registry] in class org.codehaus.groovy.grails.plugins.web.LoggingGrailsPluginTests is not used
UnusedVariable | 2 | 53 | [SRC]def registry = GroovySystem.metaClassRegistry [MSG]The variable [registry] in class org.codehaus.groovy.grails.plugins.web.LoggingGrailsPluginTests is not used

### ➥ ServletsGrailsPluginTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 60 | [SRC]def httpSessionMetaClass = GroovySystem.getMetaClassRegi..HttpSession) [MSG]The variable [httpSessionMetaClass] in class org.codehaus.groovy.grails.plugins.web.ServletsGrailsPluginTests is not used
UnusedVariable | 2 | 61 | [SRC]def metaClass = GroovySystem.getMetaClassRegistry().getM...getClass()) [MSG]The variable [metaClass] in class org.codehaus.groovy.grails.plugins.web.ServletsGrailsPluginTests is not used
UnnecessaryGroovyImport | 3 | 3 | [SRC]import groovy.lang.GroovySystem;
UnnecessaryGetter | 3 | 60 | [SRC]def httpSessionMetaClass = GroovySystem.getMetaClassRegi..HttpSession) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.ServletsGrailsPluginTests. getMetaClassRegistry() can probably be rewritten as metaClassRegistry
UnnecessaryGetter | 3 | 61 | [SRC]def metaClass = GroovySystem.getMetaClassRegistry().getM...getClass()) [MSG]Violation in class org.codehaus.groovy.grails.plugins.web.ServletsGrailsPluginTests. getMetaClassRegistry() can probably be rewritten as metaClassRegistry

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.plugins.web.mapping

### ➥ UrlMappingsGrailsPluginTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTearDownCallsSuper | 2 | 87 | [SRC]protected void tearDown() { [MSG]Violation in class UrlMappingsGrailsPluginTests. The method tearDown() does not call super.tearDown()

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.reload

### ➥ TagLibReloadTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 18 | [SRC]Class oldClass = ga.getTagLibClass("TestTagLib").getClazz() [MSG]The variable [oldClass] in class org.codehaus.groovy.grails.reload.TagLibReloadTests is not used
UnusedVariable | 2 | 19 | [SRC]def result [MSG]The variable [result] in class org.codehaus.groovy.grails.reload.TagLibReloadTests is not used
JUnitPublicNonTestMethod | 2 | 45 | [SRC]void onInit() { [MSG]Violation in class TagLibReloadTests. The method onInit is public but not a test method
UnnecessaryGetter | 3 | 18 | [SRC]Class oldClass = ga.getTagLibClass("TestTagLib").getClazz() [MSG]Violation in class org.codehaus.groovy.grails.reload.TagLibReloadTests. getClazz() can probably be rewritten as clazz

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.resolve

### ➥ IvyDependencyManagerTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 23 | [SRC]protected void setUp() { [MSG]Violation in class IvyDependencyManagerTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 27 | [SRC]protected void tearDown() { [MSG]Violation in class IvyDependencyManagerTests. The method tearDown() does not call super.tearDown()
JUnitTestMethodWithoutAssert | 2 | 119 | [SRC]void testPluginResolve() { [MSG]Violation in class IvyDependencyManagerTests. Test method 'testPluginResolve' makes no assertions
UnusedVariable | 2 | 132 | [SRC]def report = manager.resolveDependencies() [MSG]The variable [report] in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests is not used
JUnitTestMethodWithoutAssert | 2 | 449 | [SRC]void testResolveApplicationDependencies() { [MSG]Violation in class IvyDependencyManagerTests. Test method 'testResolveApplicationDependencies' makes no assertions
UnusedVariable | 2 | 638 | [SRC]def grailsVersion = getCurrentGrailsVersion() [MSG]The variable [grailsVersion] in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests is not used
JUnitPublicNonTestMethod | 2 | 671 | [SRC]def getCurrentGrailsVersion() { [MSG]Violation in class IvyDependencyManagerTests. The method getCurrentGrailsVersion is public but not a test method
JUnitTestMethodWithoutAssert | 2 | 799 | [SRC]void testResolve() { [MSG]Violation in class IvyDependencyManagerTests. Test method 'testResolve' makes no assertions
UnusedVariable | 2 | 831 | [SRC]ModuleRevisionId junit = manager.dependencies.find { Mo.. == 'junit'} [MSG]The variable [junit] in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests is not used
UseAssertTrueInsteadOfAssertEquals | 3 | 38 | [SRC]assert manager.ivySettings.defaultUseOrigin == true [MSG]The expression '(manager.ivySettings.defaultUseOrigin == true)' can be simplified to 'manager.ivySettings.defaultUseOrigin'
UnnecessaryGetter | 3 | 219 | [SRC]assertEquals "1.5", dd.getDependencyRevisionId().revision [MSG]Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getDependencyRevisionId() can probably be rewritten as dependencyRevisionId
UnnecessaryGetter | 3 | 226 | [SRC]assertEquals "0.5.5", dd.getDependencyRevisionId().revision [MSG]Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getDependencyRevisionId() can probably be rewritten as dependencyRevisionId
UnnecessaryGetter | 3 | 233 | [SRC]assertEquals "0.5.6", dd.getDependencyRevisionId().revision [MSG]Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getDependencyRevisionId() can probably be rewritten as dependencyRevisionId
UnnecessaryGetter | 3 | 298 | [SRC]assertEquals 1, dep.getModuleConfigurations().length [MSG]Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getModuleConfigurations() can probably be rewritten as moduleConfigurations
UnnecessaryGetter | 3 | 486 | [SRC]assertEquals 2, manager.getApplicationDependencyDescriptors().size() [MSG]Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getApplicationDependencyDescriptors() can probably be rewritten as applicationDependencyDescriptors
UnnecessaryGetter | 3 | 617 | [SRC]def grailsVersion = getCurrentGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getCurrentGrailsVersion() can probably be rewritten as currentGrailsVersion
UnnecessaryGetter | 3 | 638 | [SRC]def grailsVersion = getCurrentGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getCurrentGrailsVersion() can probably be rewritten as currentGrailsVersion
UnnecessaryGetter | 3 | 741 | [SRC]DefaultDependencyDescriptor dd = manager.getDependencyDe..tor().next() [MSG]Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getDependencyDescriptors() can probably be rewritten as dependencyDescriptors
UnnecessaryGetter | 3 | 757 | [SRC]dd = manager.getDependencyDescriptors().iterator().next() [MSG]Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getDependencyDescriptors() can probably be rewritten as dependencyDescriptors
UnnecessaryGetter | 3 | 772 | [SRC]DefaultDependencyDescriptor dd = manager.getPluginDepend..tor().next() [MSG]Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getPluginDependencyDescriptors() can probably be rewritten as pluginDependencyDescriptors
UnnecessaryGetter | 3 | 786 | [SRC]DefaultDependencyDescriptor dd = manager.getPluginDepend..tor().next() [MSG]Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getPluginDependencyDescriptors() can probably be rewritten as pluginDependencyDescriptors
UnnecessaryGetter | 3 | 850 | [SRC]DefaultDependencyDescriptor dd = manager.getDependencyDe..tor().next() [MSG]Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getDependencyDescriptors() can probably be rewritten as dependencyDescriptors
UnnecessaryGetter | 3 | 866 | [SRC]dd = manager.getDependencyDescriptors().iterator().next() [MSG]Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getDependencyDescriptors() can probably be rewritten as dependencyDescriptors

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.validation

### ➥ ConstrainedPropertyBuilderForCommandsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryObjectReferences | 3 | 106 | [SRC]gcl.parseClass(''' [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 119 | [SRC]gcl.parseClass(''' [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 132 | [SRC]gcl.parseClass(''' [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryGetter | 3 | 153 | [SRC]assertNotNull(personCommand.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 154 | [SRC]assertEquals(5, personCommand.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 155 | [SRC]assertNull(personCommand.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 156 | [SRC]assertNotNull(personCommand.getConstraints().get("email")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 160 | [SRC]assertNotNull(person.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 161 | [SRC]assertEquals(5, person.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 162 | [SRC]assertNull(person.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 163 | [SRC]assertNotNull(person.getConstraints().get("email")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryObjectReferences | 3 | 181 | [SRC]personCommand.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryGetter | 3 | 184 | [SRC]assertEquals(1, personCommand.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount
UnnecessaryGetter | 3 | 184 | [SRC]assertEquals(1, personCommand.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 185 | [SRC]assertEquals(1, personCommand.getErrors().getFieldErrors..me").size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 186 | [SRC]assertNull(personCommand.getErrors().getFieldErrors("fir..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue
UnnecessaryGetter | 3 | 186 | [SRC]assertNull(personCommand.getErrors().getFieldErrors("fir..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryObjectReferences | 3 | 199 | [SRC]person.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryGetter | 3 | 202 | [SRC]assertEquals(1, person.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount
UnnecessaryGetter | 3 | 202 | [SRC]assertEquals(1, person.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 203 | [SRC]assertEquals(1, person.getErrors().getFieldErrors("firstName").size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 204 | [SRC]assertNull(person.getErrors().getFieldErrors("firstName"..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue
UnnecessaryGetter | 3 | 204 | [SRC]assertNull(person.getErrors().getFieldErrors("firstName"..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 214 | [SRC]assertNotNull(personCommand.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 215 | [SRC]assertEquals(2, personCommand.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 216 | [SRC]assertNull(personCommand.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 217 | [SRC]assertNotNull(personCommand.getConstraints().get("firstName")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 221 | [SRC]assertNotNull(person.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 222 | [SRC]assertEquals(5, person.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 223 | [SRC]assertNull(person.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 224 | [SRC]assertNotNull(person.getConstraints().get("firstName")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 225 | [SRC]assertNotNull(person.getConstraints().get("email")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryObjectReferences | 3 | 243 | [SRC]personCommand.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryGetter | 3 | 246 | [SRC]assertEquals(1, personCommand.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount
UnnecessaryGetter | 3 | 246 | [SRC]assertEquals(1, personCommand.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 247 | [SRC]assertEquals(1, personCommand.getErrors().getFieldErrors..me").size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 248 | [SRC]assertNull(personCommand.getErrors().getFieldErrors("fir..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue
UnnecessaryGetter | 3 | 248 | [SRC]assertNull(personCommand.getErrors().getFieldErrors("fir..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryObjectReferences | 3 | 261 | [SRC]person.email = "wrongEmail" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 262 | [SRC]person.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryGetter | 3 | 265 | [SRC]assertEquals(1, person.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount
UnnecessaryGetter | 3 | 265 | [SRC]assertEquals(1, person.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 266 | [SRC]assertEquals(1, person.getErrors().getFieldErrors("email").size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 267 | [SRC]assertEquals("wrongEmail", person.getErrors().getFieldEr..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue
UnnecessaryGetter | 3 | 267 | [SRC]assertEquals("wrongEmail", person.getErrors().getFieldEr..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 277 | [SRC]assertNotNull(personCommand.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 278 | [SRC]assertEquals(5, personCommand.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 279 | [SRC]assertNull(personCommand.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 280 | [SRC]assertNotNull(personCommand.getConstraints().get("telephone")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 282 | [SRC]assertEquals(30, personCommand.getConstraints().get("fir..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter
UnnecessaryGetter | 3 | 282 | [SRC]assertEquals(30, personCommand.getConstraints().get("fir..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 283 | [SRC]assertEquals(50, personCommand.getConstraints().get("las..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter
UnnecessaryGetter | 3 | 283 | [SRC]assertEquals(50, personCommand.getConstraints().get("las..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 286 | [SRC]personCommand.getConstraints().get("telephone").getAppli..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter
UnnecessaryGetter | 3 | 286 | [SRC]personCommand.getConstraints().get("telephone").getAppli..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 290 | [SRC]assertNotNull(person.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 291 | [SRC]assertEquals(5, person.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 292 | [SRC]assertNull(person.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 293 | [SRC]assertNotNull(person.getConstraints().get("telephone")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 295 | [SRC]assertEquals(30, person.getConstraints().get("firstName"..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter
UnnecessaryGetter | 3 | 295 | [SRC]assertEquals(30, person.getConstraints().get("firstName"..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 296 | [SRC]assertEquals(50, person.getConstraints().get("lastName")..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter
UnnecessaryGetter | 3 | 296 | [SRC]assertEquals(50, person.getConstraints().get("lastName")..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 297 | [SRC]assertEquals("123123", person.getConstraints().get("tele..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter
UnnecessaryGetter | 3 | 297 | [SRC]assertEquals("123123", person.getConstraints().get("tele..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryObjectReferences | 3 | 315 | [SRC]personCommand.lastName = null [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 316 | [SRC]personCommand.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryGetter | 3 | 319 | [SRC]assertEquals(2, personCommand.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount
UnnecessaryGetter | 3 | 319 | [SRC]assertEquals(2, personCommand.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryObjectReferences | 3 | 332 | [SRC]person.firstName = null [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 333 | [SRC]person.email = "wrongEmail" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 334 | [SRC]person.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryGetter | 3 | 337 | [SRC]assertEquals(2, person.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount
UnnecessaryGetter | 3 | 337 | [SRC]assertEquals(2, person.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 338 | [SRC]assertEquals(1, person.getErrors().getFieldErrors("firstName").size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 339 | [SRC]assertNull(person.getErrors().getFieldErrors("firstName"..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue
UnnecessaryGetter | 3 | 339 | [SRC]assertNull(person.getErrors().getFieldErrors("firstName"..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 340 | [SRC]assertEquals(1, person.getErrors().getFieldErrors("email").size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 341 | [SRC]assertEquals("wrongEmail", person.getErrors().getFieldEr..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue
UnnecessaryGetter | 3 | 341 | [SRC]assertEquals("wrongEmail", person.getErrors().getFieldEr..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 351 | [SRC]assertNotNull(personCommand.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 352 | [SRC]assertEquals(5, personCommand.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 353 | [SRC]assertNull(personCommand.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 354 | [SRC]assertNotNull(personCommand.getConstraints().get("telephone")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 356 | [SRC]assertEquals(10, personCommand.getConstraints().get("fir..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter
UnnecessaryGetter | 3 | 356 | [SRC]assertEquals(10, personCommand.getConstraints().get("fir..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 357 | [SRC]assertEquals(20, personCommand.getConstraints().get("las..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter
UnnecessaryGetter | 3 | 357 | [SRC]assertEquals(20, personCommand.getConstraints().get("las..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 360 | [SRC]personCommand.getConstraints().get("telephone").getAppli..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter
UnnecessaryGetter | 3 | 360 | [SRC]personCommand.getConstraints().get("telephone").getAppli..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 364 | [SRC]assertNotNull(person.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 365 | [SRC]assertEquals(5, person.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 366 | [SRC]assertNull(person.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 367 | [SRC]assertNotNull(person.getConstraints().get("telephone")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 369 | [SRC]assertEquals(30, person.getConstraints().get("firstName"..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter
UnnecessaryGetter | 3 | 369 | [SRC]assertEquals(30, person.getConstraints().get("firstName"..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 370 | [SRC]assertEquals(50, person.getConstraints().get("lastName")..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter
UnnecessaryGetter | 3 | 370 | [SRC]assertEquals(50, person.getConstraints().get("lastName")..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 371 | [SRC]assertEquals("123123", person.getConstraints().get("tele..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter
UnnecessaryGetter | 3 | 371 | [SRC]assertEquals("123123", person.getConstraints().get("tele..Parameter()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryObjectReferences | 3 | 389 | [SRC]personCommand.firstName = null [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 390 | [SRC]personCommand.lastName = null [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 391 | [SRC]personCommand.email = "wrongEmail" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 392 | [SRC]personCommand.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryGetter | 3 | 395 | [SRC]assertEquals(1, personCommand.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount
UnnecessaryGetter | 3 | 395 | [SRC]assertEquals(1, personCommand.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryObjectReferences | 3 | 408 | [SRC]person.firstName = null [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 409 | [SRC]person.email = "wrongEmail" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 410 | [SRC]person.validate() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryGetter | 3 | 413 | [SRC]assertEquals(2, person.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount
UnnecessaryGetter | 3 | 413 | [SRC]assertEquals(2, person.getErrors().getErrorCount()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 414 | [SRC]assertEquals(1, person.getErrors().getFieldErrors("firstName").size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 415 | [SRC]assertNull(person.getErrors().getFieldErrors("firstName"..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue
UnnecessaryGetter | 3 | 415 | [SRC]assertNull(person.getErrors().getFieldErrors("firstName"..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 416 | [SRC]assertEquals(1, person.getErrors().getFieldErrors("email").size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 417 | [SRC]assertEquals("wrongEmail", person.getErrors().getFieldEr..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue
UnnecessaryGetter | 3 | 417 | [SRC]assertEquals("wrongEmail", person.getErrors().getFieldEr..ctedValue()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors
UnnecessaryGetter | 3 | 427 | [SRC]assertNotNull(personCommand.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 428 | [SRC]assertEquals(2, personCommand.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 429 | [SRC]assertNull(personCommand.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 430 | [SRC]assertNotNull(personCommand.getConstraints().get("firstName")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 431 | [SRC]assertNull(personCommand.getConstraints().get("email")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 435 | [SRC]assertNotNull(person.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 436 | [SRC]assertEquals(5, person.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 437 | [SRC]assertNull(person.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 438 | [SRC]assertNotNull(person.getConstraints().get("firstName")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 439 | [SRC]assertNotNull(person.getConstraints().get("email")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 449 | [SRC]assertNotNull(personCommand.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 450 | [SRC]assertEquals(3, personCommand.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 451 | [SRC]assertNull(personCommand.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 452 | [SRC]assertNull(personCommand.getConstraints().get("firstName")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 453 | [SRC]assertNull(personCommand.getConstraints().get("lastName")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 454 | [SRC]assertNotNull(personCommand.getConstraints().get("email")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 458 | [SRC]assertNotNull(person.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 459 | [SRC]assertEquals(5, person.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 460 | [SRC]assertNull(person.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 461 | [SRC]assertNotNull(person.getConstraints().get("firstName")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 462 | [SRC]assertNotNull(person.getConstraints().get("email")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 472 | [SRC]assertNotNull(personCommand.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 473 | [SRC]assertEquals(3, personCommand.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 474 | [SRC]assertNull(personCommand.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 475 | [SRC]assertNotNull(personCommand.getConstraints().get("firstName")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 476 | [SRC]assertNotNull(personCommand.getConstraints().get("lastName")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 477 | [SRC]assertNotNull(personCommand.getConstraints().get("middleName")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 478 | [SRC]assertNull(personCommand.getConstraints().get("email")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 482 | [SRC]assertNotNull(person.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 483 | [SRC]assertEquals(5, person.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 484 | [SRC]assertNull(person.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 485 | [SRC]assertNotNull(person.getConstraints().get("firstName")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 486 | [SRC]assertNotNull(person.getConstraints().get("email")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 497 | [SRC]assertNotNull(personCommand.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 498 | [SRC]assertEquals(2, personCommand.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 499 | [SRC]assertNull(personCommand.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 500 | [SRC]assertNotNull(personCommand.getConstraints().get("firstName")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 501 | [SRC]assertNotNull(personCommand.getConstraints().get("lastName")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 502 | [SRC]assertNull(personCommand.getConstraints().get("middleName")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 503 | [SRC]assertNull(personCommand.getConstraints().get("email")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 507 | [SRC]assertNotNull(person.getConstraints()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 508 | [SRC]assertEquals(5, person.getConstraints().size()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 509 | [SRC]assertNull(person.getConstraints().get("importFrom")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 510 | [SRC]assertNotNull(person.getConstraints().get("firstName")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints
UnnecessaryGetter | 3 | 511 | [SRC]assertNotNull(person.getConstraints().get("email")) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints

### ➥ ConstraintMessageTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 54 | [SRC]void processValidate(Object target, Object propertyValue..rs errors) { [MSG]Violation in class TestConstraint. Method parameter [propertyValue] is never referenced in the method processValidate of class org.codehaus.groovy.grails.validation.TestConstraint
UnusedMethodParameter | 2 | 58 | [SRC]boolean supports(Class type) { true } [MSG]Violation in class TestConstraint. Method parameter [type] is never referenced in the method supports of class org.codehaus.groovy.grails.validation.TestConstraint
UnnecessaryGetter | 3 | 39 | [SRC]'test'] as String[], errors.getFieldError().getCodes()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstraintMessageTests. getCodes() can probably be rewritten as codes
UnnecessaryGetter | 3 | 39 | [SRC]'test'] as String[], errors.getFieldError().getCodes()) [MSG]Violation in class org.codehaus.groovy.grails.validation.ConstraintMessageTests. getFieldError() can probably be rewritten as fieldError

### ➥ ConstraintsBuilderTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 74 | [SRC]Errors validateInstance(instance, validator) { [MSG]Violation in class ConstraintsBuilderTests. The method validateInstance is public but not a test method
JUnitPublicNonTestMethod | 2 | 80 | [SRC]GrailsDomainClassValidator configureValidator(theClass, instance) { [MSG]Violation in class ConstraintsBuilderTests. The method configureValidator is public but not a test method

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.context

### ➥ GrailsConfigUtilsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 64 | [SRC]def configurator = GrailsConfigUtils.determineGrailsRunt..ontext, ctx) [MSG]The variable [configurator] in class org.codehaus.groovy.grails.web.context.GrailsConfigUtilsTests is not used
JUnitTearDownCallsSuper | 2 | 79 | [SRC]protected void tearDown() { [MSG]Violation in class GrailsConfigUtilsTests. The method tearDown() does not call super.tearDown()
UnnecessaryGetter | 3 | 48 | [SRC]servletContext.addInitParameter("grailsConfiguratorClass..s.getName()) [MSG]Violation in class org.codehaus.groovy.grails.web.context.GrailsConfigUtilsTests. getName() can probably be rewritten as name
UnnecessaryDotClass | 3 | 48 | [SRC]servletContext.addInitParameter("grailsConfiguratorClass..s.getName()) [MSG]MyGrailsRuntimeConfigurator.class can be rewritten as MyGrailsRuntimeConfigurator
UnnecessaryDotClass | 3 | 53 | [SRC]assertEquals configurator.class.name, MyGrailsRuntimeCon..r.class.name [MSG]MyGrailsRuntimeConfigurator.class can be rewritten as MyGrailsRuntimeConfigurator

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.errors

### ➥ GrailsExceptionResolverTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTearDownCallsSuper | 2 | 37 | [SRC]protected void tearDown() { [MSG]Violation in class GrailsExceptionResolverTests. The method tearDown() does not call super.tearDown()
UnusedMethodParameter | 2 | 264 | [SRC]View resolveViewName(String viewName, Locale locale) { [MSG]Violation in class DummyViewResolver. Method parameter [locale] is never referenced in the method resolveViewName of class org.codehaus.groovy.grails.web.errors.DummyViewResolver
UnnecessaryGetter | 3 | 120 | [SRC]assertEquals "/grails/foo/bar.dispatch",response.getForwardedUrl() [MSG]Violation in class org.codehaus.groovy.grails.web.errors.GrailsExceptionResolverTests. getForwardedUrl() can probably be rewritten as forwardedUrl

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.filters

### ➥ HiddenHttpMethodFilterTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import org.springframework.mock.web.MockServletContext; [MSG]The [org.springframework.mock.web.MockServletContext] import is never referenced
UnusedImport | 3 | 5 | [SRC]import org.codehaus.groovy.grails.web.servlet.GrailsAppl..nAttributes; [MSG]The [org.codehaus.groovy.grails.web.servlet.GrailsApplicationAttributes] import is never referenced
UnusedImport | 3 | 6 | [SRC]import org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest; [MSG]The [org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest] import is never referenced

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.i18n

### ➥ ParamsAwareLocaleChangeInterceptorTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTearDownCallsSuper | 2 | 16 | [SRC]protected void tearDown() { [MSG]Violation in class ParamsAwareLocaleChangeInterceptorTests. The method tearDown() does not call super.tearDown()
UnnecessaryGetter | 3 | 24 | [SRC]def request = webRequest.getCurrentRequest() [MSG]Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCurrentRequest() can probably be rewritten as currentRequest
UnnecessaryGetter | 3 | 25 | [SRC]def response = webRequest.getCurrentResponse() [MSG]Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCurrentResponse() can probably be rewritten as currentResponse
UnnecessaryGetter | 3 | 47 | [SRC]assertEquals "de", locale.getLanguage() [MSG]Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getLanguage() can probably be rewritten as language
UnnecessaryGetter | 3 | 48 | [SRC]assertEquals "DE", locale.getCountry() [MSG]Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCountry() can probably be rewritten as country
UnnecessaryGetter | 3 | 55 | [SRC]def request = webRequest.getCurrentRequest() [MSG]Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCurrentRequest() can probably be rewritten as currentRequest
UnnecessaryGetter | 3 | 56 | [SRC]def response = webRequest.getCurrentResponse() [MSG]Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCurrentResponse() can probably be rewritten as currentResponse
UnnecessaryGetter | 3 | 78 | [SRC]assertEquals "de", locale.getLanguage() [MSG]Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getLanguage() can probably be rewritten as language
UnnecessaryGetter | 3 | 79 | [SRC]assertEquals "DE", locale.getCountry() [MSG]Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCountry() can probably be rewritten as country
UnnecessaryGetter | 3 | 86 | [SRC]MockHttpServletRequest request = webRequest.getCurrentRequest() [MSG]Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCurrentRequest() can probably be rewritten as currentRequest
UnnecessaryGetter | 3 | 87 | [SRC]def response = webRequest.getCurrentResponse() [MSG]Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCurrentResponse() can probably be rewritten as currentResponse
UnnecessaryGetter | 3 | 109 | [SRC]assertEquals "de", locale.getLanguage() [MSG]Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getLanguage() can probably be rewritten as language
UnnecessaryGetter | 3 | 110 | [SRC]assertEquals "DE", locale.getCountry() [MSG]Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCountry() can probably be rewritten as country

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.json

### ➥ JSONObjectTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UseAssertEqualsInsteadOfAssertTrue | 3 | 32 | [SRC]assertTrue j1 == j2 [MSG]Violation in class org.codehaus.groovy.grails.web.json.JSONObjectTests. Replace assertTrue with a call to assertEquals()

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.metaclass

### ➥ WithFormMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTearDownCallsSuper | 2 | 30 | [SRC]@Override protected void tearDown() { [MSG]Violation in class WithFormMethodTests. The method tearDown() does not call super.tearDown()
UnusedVariable | 2 | 146 | [SRC]def result = withForm.withForm(request) { [MSG]The variable [result] in class org.codehaus.groovy.grails.web.metaclass.WithFormMethodTests is not used
UnusedVariable | 2 | 170 | [SRC]def result = withForm.withForm(request) { [MSG]The variable [result] in class org.codehaus.groovy.grails.web.metaclass.WithFormMethodTests is not used
UnusedImport | 3 | 20 | [SRC]import org.apache.commons.lang.StringUtils; [MSG]The [org.apache.commons.lang.StringUtils] import is never referenced

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.servlet

### ➥ BindDataMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 160 | [SRC]void onSetUp() { [MSG]Violation in class BindDataMethodTests. The method onSetUp is public but not a test method
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 34 | [SRC]runTest() { [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 46 | [SRC]runTest() { [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 60 | [SRC]runTest() { [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 74 | [SRC]runTest() { [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 86 | [SRC]runTest() { [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 100 | [SRC]runTest() { [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 113 | [SRC]runTest() { [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 117 | [SRC]input.each() { [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'each' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 133 | [SRC]runTest() { [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 147 | [SRC]runTest() { [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.

### ➥ DefaultGrailsApplicationAttributesTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 12 | [SRC]void setUp() { [MSG]Violation in class DefaultGrailsApplicationAttributesTests. The method setUp() does not call super.setUp()

### ➥ FlashScopeWithErrorsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 21 | [SRC]import org.springframework.mock.web.MockHttpServletRequest [MSG]The [org.springframework.mock.web.MockHttpServletRequest] import is never referenced

### ➥ GrailsHttpSessionTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 30 | [SRC]void onSetUp() { [MSG]Violation in class GrailsHttpSessionTests. The method onSetUp is public but not a test method
UnusedVariable | 2 | 42 | [SRC]def mock = new MockHttpSession() [MSG]The variable [mock] in class org.codehaus.groovy.grails.web.servlet.GrailsHttpSessionTests is not used

### ➥ RenderMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 199 | [SRC]def resopnse = mockController.response [MSG]The variable [resopnse] in class org.codehaus.groovy.grails.web.servlet.RenderMethodTests is not used
UnusedVariable | 2 | 213 | [SRC]def resopnse = mockController.response [MSG]The variable [resopnse] in class org.codehaus.groovy.grails.web.servlet.RenderMethodTests is not used
JUnitPublicNonTestMethod | 2 | 291 | [SRC]String toString() { foo } [MSG]Violation in class RenderTest. The method toString is public but not a test method

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.servlet.filter

### ➥ AbstractServletFilterTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTearDownCallsSuper | 2 | 54 | [SRC]void tearDown() { [MSG]Violation in class AbstractServletFilterTests. The method tearDown() does not call super.tearDown()

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.servlet.mvc

### ➥ CommandObjectEnhancementAppliedOnceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UseAssertTrueInsteadOfAssertEquals | 3 | 19 | [SRC]assert WebMetaUtils.isCommandObjectAction(action) == true [MSG]The expression '(WebMetaUtils.isCommandObjectAction(action) == true)' can be simplified to 'WebMetaUtils.isCommandObjectAction(action)'
UseAssertTrueInsteadOfAssertEquals | 3 | 23 | [SRC]assert WebMetaUtils.isCommandObjectAction(fresh.index) == false [MSG]The expression '(WebMetaUtils.isCommandObjectAction(fresh.index) == false)' can be simplified to '!WebMetaUtils.isCommandObjectAction(fresh.index)'

### ➥ ControllerInheritanceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 23 | [SRC]void testCallSuperMethod() { [MSG]Violation in class ControllerInheritanceTests. Test method 'testCallSuperMethod' makes no assertions

### ➥ ControllersDynamicMethodsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 17 | [SRC]void onSetUp() { [MSG]Violation in class ControllersDynamicMethodsTests. The method onSetUp is public but not a test method
JUnitPublicNonTestMethod | 2 | 28 | [SRC]void runTest(Closure callable) { [MSG]Violation in class ControllersDynamicMethodsTests. The method runTest is public but not a test method
JUnitTestMethodWithoutAssert | 2 | 135 | [SRC]void testRenderMethod() { [MSG]Violation in class ControllersDynamicMethodsTests. Test method 'testRenderMethod' makes no assertions
UnnecessaryGetter | 3 | 53 | [SRC]def appCtx = springConfig.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.web.servlet.mvc.ControllersDynamicMethodsTests. getApplicationContext() can probably be rewritten as applicationContext

### ➥ GrailsParameterMapTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 240 | [SRC]void testIterateOverMapContainingDate() { [MSG]Violation in class GrailsParameterMapTests. Test method 'testIterateOverMapContainingDate' makes no assertions
UnusedImport | 3 | 4 | [SRC]import grails.util.GrailsWebUtil [MSG]The [grails.util.GrailsWebUtil] import is never referenced
UnusedImport | 3 | 6 | [SRC]import org.springframework.web.context.WebApplicationContext [MSG]The [org.springframework.web.context.WebApplicationContext] import is never referenced
UnnecessaryPackageReference | 3 | 21 | [SRC]final webRequest = grails.util.GrailsWebUtil.bindMockWebRequest(ctx) [MSG]The grails.util.GrailsWebUtil class was explicitly imported, so specifying the package name is not necessary
UnnecessaryObjectReferences | 3 | 112 | [SRC]map.aList = [1,2] [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 113 | [SRC]map.array = ["one", "two" ] as String[] [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 114 | [SRC]map.longNumber = 1234567890 [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 115 | [SRC]map.z = 'z' [MSG]The code could be more concise by using a with() or identity() block
UseAssertTrueInsteadOfAssertEquals | 3 | 209 | [SRC]assertEquals false, map.boolean('one') [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 210 | [SRC]assertEquals true, map.boolean('nonexistent', Boolean.TRUE) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 211 | [SRC]assertEquals false, map.boolean('nonexistent', Boolean.FALSE) [MSG]assertEquals can be simplified using assertTrue or assertFalse
UseAssertTrueInsteadOfAssertEquals | 3 | 212 | [SRC]assertEquals true, map.boolean('bool') [MSG]assertEquals can be simplified using assertTrue or assertFalse
UnnecessaryObjectReferences | 3 | 262 | [SRC]mockRequest.addParameter("a.e.g", "gValue") [MSG]The code could be more concise by using a with() or identity() block

### ➥ ParamsObjectTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryObjectReferences | 3 | 24 | [SRC]request.addParameter("book.id", "10") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 25 | [SRC]request.addParameter("publisher.name", "Apress") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 26 | [SRC]request.addParameter("publisher.authors[0].name", "Fred") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 27 | [SRC]request.addParameter("publisher.authors[1].name", "Joe") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 28 | [SRC]request.addParameter("test..foo..bar", "Stuff") [MSG]The code could be more concise by using a with() or identity() block

### ➥ RenderDynamicMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
ConsecutiveStringConcatenation | 3 | 107 | [SRC]render "${'te' + 'xt'}" [MSG]String concatenation in class org.codehaus.groovy.grails.web.servlet.mvc.RenderDynamicMethodTestController can be joined into the literal 'text'
ConsecutiveStringConcatenation | 3 | 107 | [SRC]render "${'te' + 'xt'}" [MSG]String concatenation in class org.codehaus.groovy.grails.web.servlet.mvc.RenderDynamicMethodTestController can be joined into the literal 'text'

### ➥ TagLibDynamicMethodsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 17 | [SRC]void onSetUp() { [MSG]Violation in class TagLibDynamicMethodsTests. The method onSetUp is public but not a test method
ImportFromSamePackage | 3 | 8 | [SRC]import org.codehaus.groovy.grails.web.servlet.mvc.*

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.sitemesh

### ➥ FactoryHolderTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 36 | [SRC]boolean isPathExcluded(String path) { false } [MSG]Violation in class DummyFactory. Method parameter [path] is never referenced in the method isPathExcluded of class org.codehaus.groovy.grails.web.sitemesh.DummyFactory
UnusedMethodParameter | 2 | 37 | [SRC]boolean shouldParsePage(String contentType) { false } [MSG]Violation in class DummyFactory. Method parameter [contentType] is never referenced in the method shouldParsePage of class org.codehaus.groovy.grails.web.sitemesh.DummyFactory
EmptyMethod | 2 | 39 | [SRC]void refresh() {} [MSG]Violation in class DummyFactory. The method refresh is both empty and not marked with @Override
UnusedMethodParameter | 2 | 40 | [SRC]PageParser getPageParser(String contentType) { null } [MSG]Violation in class DummyFactory. Method parameter [contentType] is never referenced in the method getPageParser of class org.codehaus.groovy.grails.web.sitemesh.DummyFactory
UnnecessaryGetter | 3 | 12 | [SRC]assertSame factory, FactoryHolder.getFactory() [MSG]Violation in class org.codehaus.groovy.grails.web.sitemesh.FactoryHolderTests. getFactory() can probably be rewritten as factory
UnnecessaryGetter | 3 | 18 | [SRC]FactoryHolder.getFactory() [MSG]Violation in class org.codehaus.groovy.grails.web.sitemesh.FactoryHolderTests. getFactory() can probably be rewritten as factory

### ➥ GSPSitemeshPageTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 15 | [SRC]def result = applyTemplate(template, [:]) [MSG]The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used
UnusedVariable | 2 | 23 | [SRC]def result = applyTemplate(template, [:]) [MSG]The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used
UnusedVariable | 2 | 31 | [SRC]def result = applyTemplate(template, [:]) [MSG]The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used
UnusedVariable | 2 | 39 | [SRC]def result = applyTemplate(template, [:]) [MSG]The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used
UnusedVariable | 2 | 52 | [SRC]def result = applyTemplate(template, [:]) [MSG]The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used
UnusedVariable | 2 | 61 | [SRC]def result = applyTemplate(template, [:]) [MSG]The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used
UnusedVariable | 2 | 79 | [SRC]def result = applyTemplate(template, [:], target1) [MSG]The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used
UnusedVariable | 2 | 96 | [SRC]def result = applyTemplate(template, [:]) [MSG]The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used
UnusedVariable | 2 | 113 | [SRC]def result = applyTemplate(template, [:]) [MSG]The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used
JUnitTearDownCallsSuper | 2 | 125 | [SRC]void tearDown() { [MSG]Violation in class GSPSitemeshPageTests. The method tearDown() does not call super.tearDown()

## Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.util

### ➥ StreamCharBufferGroovyTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 7 | [SRC]protected void setUp() { [MSG]Violation in class StreamCharBufferGroovyTests. The method setUp() does not call super.setUp()

### ➥ WebUtilsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 22 | [SRC]protected void setUp() { [MSG]Violation in class WebUtilsTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 42 | [SRC]protected void tearDown() { [MSG]Violation in class WebUtilsTests. The method tearDown() does not call super.tearDown()
JUnitPublicNonTestMethod | 2 | 141 | [SRC]void clearGrailsWebRequest() { [MSG]Violation in class WebUtilsTests. The method clearGrailsWebRequest is public but not a test method
UnnecessaryDefInMethodDeclaration | 3 | 61 | [SRC]private def bindMockRequest(DefaultGrailsApplication ga) { [MSG]Violation in class org.codehaus.groovy.grails.web.util.WebUtilsTests. The def keyword is unneeded when a method is marked private
UnnecessaryGetter | 3 | 67 | [SRC]ctx.registerMockBean(MimeType.BEAN_NAME, factory.getObject()) [MSG]Violation in class org.codehaus.groovy.grails.web.util.WebUtilsTests. getObject() can probably be rewritten as object
UnnecessaryGetter | 3 | 103 | [SRC]assertNull RequestContextHolder.getRequestAttributes() [MSG]Violation in class org.codehaus.groovy.grails.web.util.WebUtilsTests. getRequestAttributes() can probably be rewritten as requestAttributes
UnnecessaryGetter | 3 | 123 | [SRC]assertNull RequestContextHolder.getRequestAttributes() [MSG]Violation in class org.codehaus.groovy.grails.web.util.WebUtilsTests. getRequestAttributes() can probably be rewritten as requestAttributes
UnnecessaryGetter | 3 | 137 | [SRC]assertEquals mockWebRequest, RequestContextHolder.getReq..Attributes() [MSG]Violation in class org.codehaus.groovy.grails.web.util.WebUtilsTests. getRequestAttributes() can probably be rewritten as requestAttributes
UnnecessaryGetter | 3 | 154 | [SRC]assertNull RequestContextHolder.getRequestAttributes() [MSG]Violation in class org.codehaus.groovy.grails.web.util.WebUtilsTests. getRequestAttributes() can probably be rewritten as requestAttributes
UnnecessaryGetter | 3 | 160 | [SRC]assertNull RequestContextHolder.getRequestAttributes() [MSG]Violation in class org.codehaus.groovy.grails.web.util.WebUtilsTests. getRequestAttributes() can probably be rewritten as requestAttributes

## Package: grails-test-suite-uber.src.test.resources.org.codehaus.groovy.grails.plugins

### ➥ ClassEditorGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyMethod | 2 | 5 | [SRC]def withSpring() {} [MSG]Violation in class ClassEditorGrailsPlugin. The method withSpring is both empty and not marked with @Override
EmptyMethod | 2 | 7 | [SRC]def withApplicationContext(ctx) {} [MSG]Violation in class ClassEditorGrailsPlugin. The method withApplicationContext is both empty and not marked with @Override
UnusedMethodParameter | 2 | 7 | [SRC]def withApplicationContext(ctx) {} [MSG]Violation in class ClassEditorGrailsPlugin. Method parameter [ctx] is never referenced in the method withApplicationContext of class ClassEditorGrailsPlugin

## Package: grails-test-suite-web.src.test.groovy.grails.test

### ➥ GrailsUrlMappingsTestCaseTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 63 | [SRC]void testSetup() { [MSG]Violation in class GrailsUrlMappingsTestCaseTests. Test method 'testSetup' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 73 | [SRC]void testSetupExplicitMappingClass() { [MSG]Violation in class GrailsUrlMappingsTestCaseTests. Test method 'testSetupExplicitMappingClass' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 176 | [SRC]void test_GRAILS_3571_Bug() { [MSG]Violation in class GrailsUrlMappingsTestCaseTests. Test method 'test_GRAILS_3571_Bug' makes no assertions
EmptyCatchBlock | 2 | 209 | [SRC]catch (e) {} [MSG]The catch block is empty
JUnitTestMethodWithoutAssert | 2 | 265 | [SRC]void testGrails5786() { [MSG]Violation in class GrailsUrlMappingsTestCaseTests. Test method 'testGrails5786' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 272 | [SRC]void testGrails5222() { [MSG]Violation in class GrailsUrlMappingsTestCaseTests. Test method 'testGrails5222' makes no assertions
JUnitPublicNonTestMethod | 2 | 353 | [SRC]def assertView(controller, view, url) { [MSG]Violation in class MultipleMappingsTestCase. The method assertView is public but not a test method
UnusedMethodParameter | 2 | 353 | [SRC]def assertView(controller, view, url) { [MSG]Violation in class MultipleMappingsTestCase. Method parameter [controller] is never referenced in the method assertView of class grails.test.MultipleMappingsTestCase
UnusedMethodParameter | 2 | 353 | [SRC]def assertView(controller, view, url) { [MSG]Violation in class MultipleMappingsTestCase. Method parameter [view] is never referenced in the method assertView of class grails.test.MultipleMappingsTestCase
UnusedMethodParameter | 2 | 353 | [SRC]def assertView(controller, view, url) { [MSG]Violation in class MultipleMappingsTestCase. Method parameter [url] is never referenced in the method assertView of class grails.test.MultipleMappingsTestCase
EqualsAndHashCode | 2 | 396 | [SRC]class MockUrlMapping implements UrlMapping { [MSG]The class grails.test.MockUrlMapping defines equals(Object) but not hashCode()
UnusedMethodParameter | 2 | 410 | [SRC]UrlMappingInfo match(String uri) { null } [MSG]Violation in class MockUrlMapping. Method parameter [uri] is never referenced in the method match of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 414 | [SRC]int compareTo(Object o) { 0 } [MSG]Violation in class MockUrlMapping. Method parameter [o] is never referenced in the method compareTo of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 416 | [SRC]String createURL(Map parameterValues, String encoding) { null } [MSG]Violation in class MockUrlMapping. Method parameter [parameterValues] is never referenced in the method createURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 416 | [SRC]String createURL(Map parameterValues, String encoding) { null } [MSG]Violation in class MockUrlMapping. Method parameter [encoding] is never referenced in the method createURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 418 | [SRC]String createURL(Map parameterValues, String encoding, S..nt) { null } [MSG]Violation in class MockUrlMapping. Method parameter [parameterValues] is never referenced in the method createURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 418 | [SRC]String createURL(Map parameterValues, String encoding, S..nt) { null } [MSG]Violation in class MockUrlMapping. Method parameter [encoding] is never referenced in the method createURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 418 | [SRC]String createURL(Map parameterValues, String encoding, S..nt) { null } [MSG]Violation in class MockUrlMapping. Method parameter [fragment] is never referenced in the method createURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 420 | [SRC]String createURL(String controller, String action, Map p..ng) { null } [MSG]Violation in class MockUrlMapping. Method parameter [controller] is never referenced in the method createURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 420 | [SRC]String createURL(String controller, String action, Map p..ng) { null } [MSG]Violation in class MockUrlMapping. Method parameter [action] is never referenced in the method createURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 420 | [SRC]String createURL(String controller, String action, Map p..ng) { null } [MSG]Violation in class MockUrlMapping. Method parameter [parameterValues] is never referenced in the method createURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 420 | [SRC]String createURL(String controller, String action, Map p..ng) { null } [MSG]Violation in class MockUrlMapping. Method parameter [encoding] is never referenced in the method createURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 422 | [SRC]String createRelativeURL(String controller, String actio..ng) { null } [MSG]Violation in class MockUrlMapping. Method parameter [controller] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 422 | [SRC]String createRelativeURL(String controller, String actio..ng) { null } [MSG]Violation in class MockUrlMapping. Method parameter [action] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 422 | [SRC]String createRelativeURL(String controller, String actio..ng) { null } [MSG]Violation in class MockUrlMapping. Method parameter [parameterValues] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 422 | [SRC]String createRelativeURL(String controller, String actio..ng) { null } [MSG]Violation in class MockUrlMapping. Method parameter [encoding] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 424 | [SRC]String createRelativeURL(String controller, String actio..nt) { null } [MSG]Violation in class MockUrlMapping. Method parameter [controller] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 424 | [SRC]String createRelativeURL(String controller, String actio..nt) { null } [MSG]Violation in class MockUrlMapping. Method parameter [action] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 424 | [SRC]String createRelativeURL(String controller, String actio..nt) { null } [MSG]Violation in class MockUrlMapping. Method parameter [parameterValues] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 424 | [SRC]String createRelativeURL(String controller, String actio..nt) { null } [MSG]Violation in class MockUrlMapping. Method parameter [encoding] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 424 | [SRC]String createRelativeURL(String controller, String actio..nt) { null } [MSG]Violation in class MockUrlMapping. Method parameter [fragment] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 426 | [SRC]String createURL(String controller, String action, Map p..nt) { null } [MSG]Violation in class MockUrlMapping. Method parameter [controller] is never referenced in the method createURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 426 | [SRC]String createURL(String controller, String action, Map p..nt) { null } [MSG]Violation in class MockUrlMapping. Method parameter [action] is never referenced in the method createURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 426 | [SRC]String createURL(String controller, String action, Map p..nt) { null } [MSG]Violation in class MockUrlMapping. Method parameter [parameterValues] is never referenced in the method createURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 426 | [SRC]String createURL(String controller, String action, Map p..nt) { null } [MSG]Violation in class MockUrlMapping. Method parameter [encoding] is never referenced in the method createURL of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 426 | [SRC]String createURL(String controller, String action, Map p..nt) { null } [MSG]Violation in class MockUrlMapping. Method parameter [fragment] is never referenced in the method createURL of class grails.test.MockUrlMapping
EmptyMethod | 2 | 436 | [SRC]void setParameterValues(Map parameterValues) {} [MSG]Violation in class MockUrlMapping. The method setParameterValues is both empty and not marked with @Override
UnusedMethodParameter | 2 | 436 | [SRC]void setParameterValues(Map parameterValues) {} [MSG]Violation in class MockUrlMapping. Method parameter [parameterValues] is never referenced in the method setParameterValues of class grails.test.MockUrlMapping
EmptyMethod | 2 | 438 | [SRC]void setParseRequest(boolean shouldParse) { [MSG]Violation in class MockUrlMapping. The method setParseRequest is both empty and not marked with @Override
UnusedMethodParameter | 2 | 438 | [SRC]void setParseRequest(boolean shouldParse) { [MSG]Violation in class MockUrlMapping. Method parameter [shouldParse] is never referenced in the method setParseRequest of class grails.test.MockUrlMapping
EmptyMethod | 2 | 444 | [SRC]void setMappingName(String name) {} [MSG]Violation in class MockUrlMapping. The method setMappingName is both empty and not marked with @Override
UnusedMethodParameter | 2 | 444 | [SRC]void setMappingName(String name) {} [MSG]Violation in class MockUrlMapping. Method parameter [name] is never referenced in the method setMappingName of class grails.test.MockUrlMapping
UnusedMethodParameter | 2 | 446 | [SRC]boolean hasRuntimeVariable(String name) { false } [MSG]Violation in class MockUrlMapping. Method parameter [name] is never referenced in the method hasRuntimeVariable of class grails.test.MockUrlMapping
UnnecessaryObjectReferences | 3 | 224 | [SRC]test.assertUrlMapping(500, controller: "grailsUrlMapping..: "action1") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 226 | [SRC]test.assertForwardUrlMapping("/controllerView", controll..iew: "view") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 235 | [SRC]test.assertUrlMapping("/absoluteView", view: "view") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 236 | [SRC]test.assertUrlMapping("/absoluteView", view: "/view") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 237 | [SRC]test.assertUrlMapping("/absoluteViewWithSlash", view: "view") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 238 | [SRC]test.assertUrlMapping("/absoluteViewWithSlash", view: "/view") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 240 | [SRC]test.assertUrlMapping("/params/value1/value2", controlle.."action3") { [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 260 | [SRC]test.assertUrlMapping("/params/value1", controller: "gra.."action3") { [MSG]The code could be more concise by using a with() or identity() block

## Package: grails-test-suite-web.src.test.groovy.grails.test.mixin

### ➥ TagLibWithServiceMockTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryConstructor | 3 | 26 | [SRC]TimeTagLib() { [MSG]The constructor can be safely deleted

### ➥ UrlMappingsTestForTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyMethod | 2 | 23 | [SRC]def list() { } [MSG]Violation in class BookController. The method list is both empty and not marked with @Override

## Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.plugins.web.filters

### ➥ FilterConfigTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 27 | [SRC]void setUp() { [MSG]Violation in class FilterConfigTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 135 | [SRC]void tearDown() { [MSG]Violation in class FilterConfigTests. The method tearDown() does not call super.tearDown()
UseAssertTrueInsteadOfAssertEquals | 3 | 80 | [SRC]assert mockDefinition.generateNumberCalled == true [MSG]The expression '(mockDefinition.generateNumberCalled == true)' can be simplified to 'mockDefinition.generateNumberCalled'
UseAssertTrueInsteadOfAssertEquals | 3 | 85 | [SRC]assert mockDefinition.generateNumberCalled == true [MSG]The expression '(mockDefinition.generateNumberCalled == true)' can be simplified to 'mockDefinition.generateNumberCalled'
UseAssertTrueInsteadOfAssertEquals | 3 | 90 | [SRC]assert mockDefinition.generateNumberCalled == true [MSG]The expression '(mockDefinition.generateNumberCalled == true)' can be simplified to 'mockDefinition.generateNumberCalled'

## Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.plugins.webflow

### ➥ MockWebFlowGrailsPlugin.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 29 | [SRC]def version = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.plugins.webflow.MockWebFlowGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion

## Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.binding

### ➥ BindingToNullableTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 48 | [SRC]def model = controller.update() [MSG]The variable [model] in class org.codehaus.groovy.grails.web.binding.BindingToNullableTests is not used
UnusedImport | 3 | 4 | [SRC]import org.springframework.web.context.request.RequestContextHolder [MSG]The [org.springframework.web.context.request.RequestContextHolder] import is never referenced

### ➥ DataBindingLazyMetaPropertyMapTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CoupledTestCase | 2 | 23 | [SRC]def map = new DataBindingLazyMetaPropertyMap(new Propert..er:"stuff")) [MSG]new PropertyMapTest([name:Bart, age:11, other:stuff]) creates an instance of a test case. Test cases should not be coupled. Move this method to a helper object

### ➥ DataBindingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 185 | [SRC]def error = b.errors.getFieldError('site') [MSG]The variable [error] in class org.codehaus.groovy.grails.web.binding.DataBindingTests is not used
UnusedVariable | 2 | 246 | [SRC]def authorClass = ga.getDomainClass("databindingtests.Au..).getClazz() [MSG]The variable [authorClass] in class org.codehaus.groovy.grails.web.binding.DataBindingTests is not used
UnnecessaryGetter | 3 | 246 | [SRC]def authorClass = ga.getDomainClass("databindingtests.Au..).getClazz() [MSG]Violation in class org.codehaus.groovy.grails.web.binding.DataBindingTests. getClazz() can probably be rewritten as clazz

## Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.converters

### ➥ JSONArrayTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 12 | [SRC]assertEquals(getJSONArray(), getJSONArray()) [MSG]Violation in class org.codehaus.groovy.grails.web.converters.JSONArrayTests. getJSONArray() can probably be rewritten as JSONArray
UnnecessaryGetter | 3 | 12 | [SRC]assertEquals(getJSONArray(), getJSONArray()) [MSG]Violation in class org.codehaus.groovy.grails.web.converters.JSONArrayTests. getJSONArray() can probably be rewritten as JSONArray
UnnecessaryGetter | 3 | 17 | [SRC]assertEquals(getJSONArray().hashCode(), getJSONArray().hashCode()) [MSG]Violation in class org.codehaus.groovy.grails.web.converters.JSONArrayTests. getJSONArray() can probably be rewritten as JSONArray
UnnecessaryGetter | 3 | 17 | [SRC]assertEquals(getJSONArray().hashCode(), getJSONArray().hashCode()) [MSG]Violation in class org.codehaus.groovy.grails.web.converters.JSONArrayTests. getJSONArray() can probably be rewritten as JSONArray

### ➥ JSONConverterTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 100 | [SRC]void onSetUp() { [MSG]Violation in class JSONConverterTests. The method onSetUp is public but not a test method
UnnecessaryPackageReference | 3 | 82 | [SRC]enumClass.metaClass.asType = {java.lang.Class clazz -> [MSG]Specifying the package name is not necessary for java.lang.Class

### ➥ XMLConverterTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 92 | [SRC]def proxy = [getHibernateLazyInitializer:{hibernateIniti..bernateProxy [MSG]The variable [proxy] in class org.codehaus.groovy.grails.web.converters.XMLConverterTests is not used
JUnitPublicNonTestMethod | 2 | 106 | [SRC]void onSetUp() { [MSG]Violation in class XMLConverterTests. The method onSetUp is public but not a test method

## Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.filters

### ➥ FilterToHandlerAdapterTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitUnnecessarySetUp | 3 | 16 | [SRC]protected void setUp() { [MSG]Violation in class FilterToHandlerAdapterTests. The setUp() method contains no logic and can be removed
UnnecessaryOverridingMethod | 3 | 16 | [SRC]protected void setUp() { [MSG]Violation in class FilterToHandlerAdapterTests. The method setUp contains no logic and can be safely deleted
JUnitUnnecessaryTearDown | 3 | 20 | [SRC]protected void tearDown() { [MSG]Violation in class FilterToHandlerAdapterTests. The tearDown() method contains no logic and can be removed
UnnecessaryOverridingMethod | 3 | 20 | [SRC]protected void tearDown() { [MSG]Violation in class FilterToHandlerAdapterTests. The method tearDown contains no logic and can be safely deleted

## Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.mapping

### ➥ DefaultUrlCreatorTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTearDownCallsSuper | 2 | 33 | [SRC]void tearDown() { [MSG]Violation in class DefaultUrlCreatorTests. The method tearDown() does not call super.tearDown()

### ➥ DoubleWildcardUrlMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import org.codehaus.groovy.grails.web.servlet.mvc.Abstra..trollerTests [MSG]The [org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests] import is never referenced
UnusedImport | 3 | 5 | [SRC]import org.springframework.mock.web.MockServletContext [MSG]The [org.springframework.mock.web.MockServletContext] import is never referenced
UnnecessaryGetter | 3 | 72 | [SRC]assertEquals 'wrong controller name', 'someOther', info...rollerName() [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.DoubleWildcardUrlMappingTests. getControllerName() can probably be rewritten as controllerName

### ➥ DynamicParameterValuesTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import org.codehaus.groovy.grails.web.servlet.mvc.Abstra..trollerTests [MSG]The [org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests] import is never referenced
UnusedImport | 3 | 5 | [SRC]import org.springframework.mock.web.MockServletContext [MSG]The [org.springframework.mock.web.MockServletContext] import is never referenced

### ➥ IdUrlMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 26 | [SRC]void onSetUp() { [MSG]Violation in class IdUrlMappingTests. The method onSetUp is public but not a test method
UnusedImport | 3 | 3 | [SRC]import org.codehaus.groovy.grails.web.servlet.mvc.Abstra..trollerTests [MSG]The [org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests] import is never referenced
UnusedImport | 3 | 5 | [SRC]import org.springframework.mock.web.MockServletContext [MSG]The [org.springframework.mock.web.MockServletContext] import is never referenced

### ➥ RegexUrlMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 357 | [SRC]void testInit() { [MSG]Violation in class RegexUrlMappingTests. Test method 'testInit' makes no assertions
UnusedVariable | 2 | 359 | [SRC]def m = new RegexUrlMapping(parser.parse("/(*)/hello"), ..vletContext) [MSG]The variable [m] in class org.codehaus.groovy.grails.web.mapping.RegexUrlMappingTests is not used
UnusedImport | 3 | 6 | [SRC]import org.springframework.mock.web.MockServletContext [MSG]The [org.springframework.mock.web.MockServletContext] import is never referenced
UnnecessaryGetter | 3 | 72 | [SRC]assertEquals "/x/y", info.getURI() [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.RegexUrlMappingTests. getURI() can probably be rewritten as URI
UnnecessaryDotClass | 3 | 308 | [SRC]def cp = new ConstrainedProperty(RegexUrlMappingTests.cl..tring.class) [MSG]RegexUrlMappingTests.class can be rewritten as RegexUrlMappingTests
UnnecessaryDotClass | 3 | 308 | [SRC]def cp = new ConstrainedProperty(RegexUrlMappingTests.cl..tring.class) [MSG]String.class can be rewritten as String
UnnecessaryDotClass | 3 | 325 | [SRC]def cp = new ConstrainedProperty(RegexUrlMappingTests.cl..tring.class) [MSG]RegexUrlMappingTests.class can be rewritten as RegexUrlMappingTests
UnnecessaryDotClass | 3 | 325 | [SRC]def cp = new ConstrainedProperty(RegexUrlMappingTests.cl..tring.class) [MSG]String.class can be rewritten as String

### ➥ ResponseCodeUrlMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 6 | [SRC]import org.codehaus.groovy.grails.web.servlet.mvc.Abstra..trollerTests [MSG]The [org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests] import is never referenced
UnusedImport | 3 | 8 | [SRC]import org.springframework.mock.web.MockServletContext [MSG]The [org.springframework.mock.web.MockServletContext] import is never referenced
UnnecessaryDefInFieldDeclaration | 3 | 22 | [SRC]def UrlMappingsHolder holder [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.ResponseCodeUrlMappingTests. The def keyword is unneeded when a field type is specified
UnnecessaryGetter | 3 | 59 | [SRC]assertEquals("errors", info.getControllerName()); [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.ResponseCodeUrlMappingTests. getControllerName() can probably be rewritten as controllerName
UnnecessaryGetter | 3 | 60 | [SRC]assertEquals("error404", info.getActionName()); [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.ResponseCodeUrlMappingTests. getActionName() can probably be rewritten as actionName
UnnecessaryGetter | 3 | 66 | [SRC]assertEquals("errors", info.getControllerName()); [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.ResponseCodeUrlMappingTests. getControllerName() can probably be rewritten as controllerName
UnnecessaryGetter | 3 | 67 | [SRC]assertEquals("error500", info.getActionName()); [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.ResponseCodeUrlMappingTests. getActionName() can probably be rewritten as actionName

### ➥ RestfulMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import org.codehaus.groovy.grails.validation.ConstrainedProperty; [MSG]The [org.codehaus.groovy.grails.validation.ConstrainedProperty] import is never referenced
UnusedImport | 3 | 6 | [SRC]import org.springframework.mock.web.MockServletContext [MSG]The [org.springframework.mock.web.MockServletContext] import is never referenced

### ➥ RestfulReverseUrlRenderingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import org.codehaus.groovy.grails.web.servlet.mvc.Abstra..trollerTests [MSG]The [org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests] import is never referenced

### ➥ ReverseMappingWithDefaultActionTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 11 | [SRC]void onSetUp() { [MSG]Violation in class ReverseMappingWithDefaultActionTests. The method onSetUp is public but not a test method

### ➥ UrlMappingParameterTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import org.codehaus.groovy.grails.web.servlet.mvc.Abstra..trollerTests [MSG]The [org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests] import is never referenced
UnusedImport | 3 | 4 | [SRC]import org.springframework.core.io.ByteArrayResource [MSG]The [org.springframework.core.io.ByteArrayResource] import is never referenced
UnusedImport | 3 | 5 | [SRC]import org.springframework.mock.web.MockServletContext [MSG]The [org.springframework.mock.web.MockServletContext] import is never referenced

### ➥ UrlMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import org.codehaus.groovy.grails.validation.ConstrainedProperty; [MSG]The [org.codehaus.groovy.grails.validation.ConstrainedProperty] import is never referenced

### ➥ UrlMappingWithCustomValidatorTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryDefInFieldDeclaration | 3 | 21 | [SRC]def UrlMappingsHolder holder [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.UrlMappingWithCustomValidatorTests. The def keyword is unneeded when a field type is specified

### ➥ UrlMappingsHolderTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import org.codehaus.groovy.grails.validation.ConstrainedProperty; [MSG]The [org.codehaus.groovy.grails.validation.ConstrainedProperty] import is never referenced

### ➥ ViewUrlMappingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryDefInFieldDeclaration | 3 | 20 | [SRC]def UrlMappingsHolder holder [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.ViewUrlMappingTests. The def keyword is unneeded when a field type is specified
UnnecessaryGetter | 3 | 40 | [SRC]assertEquals "book.gsp", info.getViewName() [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.ViewUrlMappingTests. getViewName() can probably be rewritten as viewName
UnnecessaryGetter | 3 | 47 | [SRC]assertEquals "book.gsp", info.getViewName() [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.ViewUrlMappingTests. getViewName() can probably be rewritten as viewName

## Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.mapping.filter

### ➥ RestfulMappingsFilterTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 7 | [SRC]import org.codehaus.groovy.grails.commons.ControllerArtefactHandler; [MSG]The [org.codehaus.groovy.grails.commons.ControllerArtefactHandler] import is never referenced
UnusedImport | 3 | 8 | [SRC]import org.codehaus.groovy.grails.commons.DefaultGrailsApplication [MSG]The [org.codehaus.groovy.grails.commons.DefaultGrailsApplication] import is never referenced
UnnecessaryGetter | 3 | 52 | [SRC]def mappings = evaluator.evaluateMappings(new ByteArrayR..getBytes())) [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.filter.RestfulMappingsFilterTests. getBytes() can probably be rewritten as bytes

## Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.mime

### ➥ AcceptHeaderParserTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 13 | [SRC]protected void setUp() { [MSG]Violation in class AcceptHeaderParserTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 30 | [SRC]protected void tearDown() { [MSG]Violation in class AcceptHeaderParserTests. The method tearDown() does not call super.tearDown()

## Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.pages

### ➥ GroovyPageBindingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 15 | [SRC]assertEquals binding.getMetaClass(), binding.metaClass [MSG]Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageBindingTests. getMetaClass() can probably be rewritten as metaClass
UnnecessaryGetter | 3 | 26 | [SRC]assertEquals(shouldbe, binding.getVariables()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageBindingTests. getVariables() can probably be rewritten as variables
UnnecessaryGetter | 3 | 28 | [SRC]for(e in binding.getVariables().entrySet()) { [MSG]Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageBindingTests. getVariables() can probably be rewritten as variables

### ➥ GroovyPageLineNumberTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 14 | [SRC]void testSpanningMultipleLines() { [MSG]Violation in class GroovyPageLineNumberTests. Test method 'testSpanningMultipleLines' makes no assertions

### ➥ GroovyPageMethodDispatchWithNamespaceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 8 | [SRC]void onSetUp() { [MSG]Violation in class GroovyPageMethodDispatchWithNamespaceTests. The method onSetUp is public but not a test method

### ➥ GroovyPageTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 67 | [SRC]def runPageCode(pageCode) { [MSG]Violation in class GroovyPageTests. The method runPageCode is public but not a test method
JUnitPublicNonTestMethod | 2 | 146 | [SRC]def getBinding(out) { [MSG]Violation in class GroovyPageTests. The method getBinding is public but not a test method
UnnecessaryGetter | 3 | 157 | [SRC]binding.setVariable(GroovyPage.SESSION, request.getSession()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageTests. getSession() can probably be rewritten as session
UnnecessaryObjectReferences | 3 | 160 | [SRC]binding.setVariable(GroovyPage.OUT, out) [MSG]The code could be more concise by using a with() or identity() block

### ➥ GroovyPagesTemplateEngineTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 188 | [SRC]def webRequest = GrailsWebUtil.bindMockWebRequest() [MSG]The variable [webRequest] in class org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngineTests is not used
JUnitTearDownCallsSuper | 2 | 570 | [SRC]void tearDown() { [MSG]Violation in class GroovyPagesTemplateEngineTests. The method tearDown() does not call super.tearDown()
JUnitSetUpCallsSuper | 2 | 574 | [SRC]void setUp() { [MSG]Violation in class GroovyPagesTemplateEngineTests. The method setUp() does not call super.setUp()
UnusedImport | 3 | 8 | [SRC]import org.codehaus.groovy.grails.plugins.MockGrailsPluginManager; [MSG]The [org.codehaus.groovy.grails.plugins.MockGrailsPluginManager] import is never referenced
UseAssertEqualsInsteadOfAssertTrue | 3 | 40 | [SRC]assertTrue(sw.toString().indexOf("should not be in the output") == -1) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngineTests. Replace assertTrue with a call to assertEquals()

### ➥ GroovyPagesWhitespaceParsingTagTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
ComparisonOfTwoConstants | 2 | 29 | [SRC]test="${2 > 1}">rejoice</g:if>""" [MSG]Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)
ComparisonOfTwoConstants | 2 | 36 | [SRC]<g:if test="${2 > 1}">rejoice</g:if> [MSG]Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)
ComparisonOfTwoConstants | 2 | 46 | [SRC]<g:if test="${2 > 1}">testing</g:if> [MSG]Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)
ComparisonOfTwoConstants | 2 | 59 | [SRC]<g:if test="${2 > 1}">testing</g:if> [MSG]Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)
ComparisonOfTwoConstants | 2 | 71 | [SRC]def template = """Hello <g:if test="${2 > 1}">one</g:if>..ee</g:if>""" [MSG]Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)
ComparisonOfTwoConstants | 2 | 71 | [SRC]def template = """Hello <g:if test="${2 > 1}">one</g:if>..ee</g:if>""" [MSG]Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)
ComparisonOfTwoConstants | 2 | 71 | [SRC]def template = """Hello <g:if test="${2 > 1}">one</g:if>..ee</g:if>""" [MSG]Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)
ComparisonOfTwoConstants | 2 | 77 | [SRC]def template = """Hello <g:if test="${2 > 1}">one</g:if> [MSG]Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)
ComparisonOfTwoConstants | 2 | 78 | [SRC]<g:if test="${2 > 1}">two</g:if> [MSG]Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)
ComparisonOfTwoConstants | 2 | 79 | [SRC]<g:if test="${2 > 1}">three</g:if>""" [MSG]Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)

### ➥ ModifyOurScopeWithBodyTagTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 5 | [SRC]import junit.framework.TestCase [MSG]The [junit.framework.TestCase] import is never referenced

### ➥ StaticContentRenderingTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 4 | [SRC]import org.codehaus.groovy.grails.commons.ConfigurationHolder [MSG]The [org.codehaus.groovy.grails.commons.ConfigurationHolder] import is never referenced

### ➥ TagLibNamespaceTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 22 | [SRC]void onTearDown() { [MSG]Violation in class TagLibNamespaceTests. The method onTearDown is public but not a test method

## Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.pages.ext.jsp

### ➥ GroovyPageWithJSPTagsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 22 | [SRC]def rootLoader = new RootLoader([] as URL[], Thread.curr..assLoader()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPageWithJSPTagsTests. getContextClassLoader() can probably be rewritten as contextClassLoader
UnnecessaryGetter | 3 | 24 | [SRC]rootLoader.addURL res.getURL() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPageWithJSPTagsTests. getURL() can probably be rewritten as URL
UnnecessaryGetter | 3 | 26 | [SRC]rootLoader.addURL it.getURL() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPageWithJSPTagsTests. getURL() can probably be rewritten as URL
UnnecessaryGetter | 3 | 30 | [SRC]webRequest.getCurrentRequest().setAttribute(GroovyPagesS..esServlet()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPageWithJSPTagsTests. getCurrentRequest() can probably be rewritten as currentRequest

### ➥ GroovyPagesPageContextTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 13 | [SRC]protected void setUp() { [MSG]Violation in class GroovyPagesPageContextTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 17 | [SRC]protected void tearDown() { [MSG]Violation in class GroovyPagesPageContextTests. The method tearDown() does not call super.tearDown()
UnnecessaryGetter | 3 | 25 | [SRC]assert pageContext.getServletConfig() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContextTests. getServletConfig() can probably be rewritten as servletConfig
UnnecessaryGetter | 3 | 26 | [SRC]assert pageContext.getServletContext() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContextTests. getServletContext() can probably be rewritten as servletContext
UnnecessaryGetter | 3 | 27 | [SRC]assert pageContext.getRequest() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContextTests. getRequest() can probably be rewritten as request
UnnecessaryGetter | 3 | 28 | [SRC]assert pageContext.getResponse() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContextTests. getResponse() can probably be rewritten as response
UnnecessaryGetter | 3 | 29 | [SRC]assert pageContext.getPage() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContextTests. getPage() can probably be rewritten as page

### ➥ IterativeJspTagTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 21 | [SRC]protected void setUp() { [MSG]Violation in class IterativeJspTagTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 26 | [SRC]protected void tearDown() { [MSG]Violation in class IterativeJspTagTests. The method tearDown() does not call super.tearDown()
UnnecessaryGetter | 3 | 23 | [SRC]webRequest.getCurrentRequest().setAttribute(GroovyPagesS..esServlet()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.IterativeJspTagTests. getCurrentRequest() can probably be rewritten as currentRequest
UnnecessaryGetter | 3 | 34 | [SRC]def rootLoader = new RootLoader([] as URL[], Thread.curr..assLoader()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.IterativeJspTagTests. getContextClassLoader() can probably be rewritten as contextClassLoader
UnnecessaryGetter | 3 | 36 | [SRC]rootLoader.addURL res.getURL() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.IterativeJspTagTests. getURL() can probably be rewritten as URL
UnnecessaryGetter | 3 | 52 | [SRC]JstlUtils.exposeLocalizationContext webRequest.getRequest(),null [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.IterativeJspTagTests. getRequest() can probably be rewritten as request
UnnecessaryGetter | 3 | 55 | [SRC]def pageContext = PageContextFactory.getCurrent() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.IterativeJspTagTests. getCurrent() can probably be rewritten as current

### ➥ MockRootLoaderTagLibraryResolver.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 15 | [SRC]def rootLoader = new RootLoader([] as URL[], Thread.curr..assLoader()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.MockRootLoaderTagLibraryResolver. getContextClassLoader() can probably be rewritten as contextClassLoader
UnnecessaryGetter | 3 | 17 | [SRC]rootLoader.addURL res.getURL() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.MockRootLoaderTagLibraryResolver. getURL() can probably be rewritten as URL

### ➥ SimpleJspTagTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 22 | [SRC]protected void setUp() { [MSG]Violation in class SimpleJspTagTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 27 | [SRC]protected void tearDown() { [MSG]Violation in class SimpleJspTagTests. The method tearDown() does not call super.tearDown()
UnusedImport | 3 | 9 | [SRC]import org.springframework.core.io.FileSystemResource [MSG]The [org.springframework.core.io.FileSystemResource] import is never referenced
UnnecessaryGetter | 3 | 24 | [SRC]webRequest.getCurrentRequest().setAttribute(GroovyPagesS..esServlet()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.SimpleJspTagTests. getCurrentRequest() can probably be rewritten as currentRequest
UnnecessaryGetter | 3 | 47 | [SRC]JstlUtils.exposeLocalizationContext webRequest.getRequest(),null [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.SimpleJspTagTests. getRequest() can probably be rewritten as request

### ➥ SimpleTagTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 21 | [SRC]protected void setUp() { [MSG]Violation in class SimpleTagTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 26 | [SRC]protected void tearDown() { [MSG]Violation in class SimpleTagTests. The method tearDown() does not call super.tearDown()
UnnecessaryGetter | 3 | 23 | [SRC]webRequest.getCurrentRequest().setAttribute(GroovyPagesS..esServlet()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.SimpleTagTests. getCurrentRequest() can probably be rewritten as currentRequest
UnnecessaryGetter | 3 | 61 | [SRC]getJspContext().getOut().println("extendsSimpleTagSupport:output"); [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.ExtendsSimpleTagSupport. getOut() can probably be rewritten as out
UnnecessaryGetter | 3 | 61 | [SRC]getJspContext().getOut().println("extendsSimpleTagSupport:output"); [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.ExtendsSimpleTagSupport. getJspContext() can probably be rewritten as jspContext
UnnecessaryGetter | 3 | 68 | [SRC]JspWriter out = getJspContext().getOut() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.BodySimpleTagSupport. getOut() can probably be rewritten as out
UnnecessaryGetter | 3 | 68 | [SRC]JspWriter out = getJspContext().getOut() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.BodySimpleTagSupport. getJspContext() can probably be rewritten as jspContext
UnnecessaryGetter | 3 | 70 | [SRC]super.getJspBody().invoke(out) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.BodySimpleTagSupport. getJspBody() can probably be rewritten as jspBody

### ➥ TagLibraryResolverTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 65 | [SRC]new RootLoader([] as URL[], Thread.currentThread().getCo..assLoader()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.MockWebXmlTagLibraryResolver. getContextClassLoader() can probably be rewritten as contextClassLoader
UnnecessaryGetter | 3 | 72 | [SRC]new ByteArrayResource('''<?xml version="1.0" encoding="UTF-8"?> [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.MockWebXmlTagLibraryResolver. getInputStream() can probably be rewritten as inputStream
UnnecessaryGetter | 3 | 72 | [SRC]new ByteArrayResource('''<?xml version="1.0" encoding="UTF-8"?> [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.MockWebXmlTagLibraryResolver. getBytes() can probably be rewritten as bytes
UnnecessaryGetter | 3 | 118 | [SRC]new ByteArrayResource('''<?xml version="1.0" encoding="UTF-8"?> [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.MockWebXmlTagLibraryResolver. getBytes() can probably be rewritten as bytes

### ➥ TldReaderTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 28 | [SRC]def is = new InputSource(res.getInputStream()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TldReaderTests. getInputStream() can probably be rewritten as inputStream
UnnecessaryGetter | 3 | 33 | [SRC]def reader = factory.newSAXParser().getXMLReader() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TldReaderTests. getXMLReader() can probably be rewritten as XMLReader

### ➥ WebXmlTagLibraryReaderTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
ImportFromSamePackage | 3 | 20 | [SRC]import org.codehaus.groovy.grails.web.pages.ext.jsp.WebX..ibraryReader
UnnecessaryGetter | 3 | 31 | [SRC]def reader = factory.newSAXParser().getXMLReader() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.WebXmlTagLibraryReaderTests. getXMLReader() can probably be rewritten as XMLReader

## Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.servlet.view

### ➥ GroovyPageViewTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTearDownCallsSuper | 2 | 45 | [SRC]void tearDown() { [MSG]Violation in class GroovyPageViewTests. The method tearDown() does not call super.tearDown()
DuplicateImport | 3 | 7 | [SRC]import org.springframework.web.context.request.*

## Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.taglib

### ➥ ApplicationTagLibResourcesTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 21 | [SRC]void onInitMockBeans() { [MSG]Violation in class ApplicationTagLibResourcesTests. The method onInitMockBeans is public but not a test method
JUnitPublicNonTestMethod | 2 | 25 | [SRC]def replaceMetaClass(Object o) { [MSG]Violation in class ApplicationTagLibResourcesTests. The method replaceMetaClass is public but not a test method
UnusedImport | 3 | 3 | [SRC]import grails.util.GrailsUtil [MSG]The [grails.util.GrailsUtil] import is never referenced
UnusedImport | 3 | 5 | [SRC]import javax.servlet.http.Cookie [MSG]The [javax.servlet.http.Cookie] import is never referenced
UnusedImport | 3 | 7 | [SRC]import groovy.mock.interceptor.StubFor [MSG]The [groovy.mock.interceptor.StubFor] import is never referenced
UnusedImport | 3 | 9 | [SRC]import org.codehaus.groovy.grails.commons.ConfigurationHolder [MSG]The [org.codehaus.groovy.grails.commons.ConfigurationHolder] import is never referenced
UnusedImport | 3 | 11 | [SRC]import org.codehaus.groovy.grails.plugins.web.taglib.JavascriptTagLib; [MSG]The [org.codehaus.groovy.grails.plugins.web.taglib.JavascriptTagLib] import is never referenced
UnusedImport | 3 | 12 | [SRC]import org.codehaus.groovy.grails.web.pages.GroovyPageBinding [MSG]The [org.codehaus.groovy.grails.web.pages.GroovyPageBinding] import is never referenced
UnusedImport | 3 | 13 | [SRC]import org.codehaus.groovy.grails.web.servlet.GrailsAppl..onAttributes [MSG]The [org.codehaus.groovy.grails.web.servlet.GrailsApplicationAttributes] import is never referenced
UnusedImport | 3 | 14 | [SRC]import org.codehaus.groovy.grails.web.taglib.exceptions...TagException [MSG]The [org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException] import is never referenced
UnusedImport | 3 | 16 | [SRC]import org.codehaus.groovy.grails.commons.TagLibArtefactHandler [MSG]The [org.codehaus.groovy.grails.commons.TagLibArtefactHandler] import is never referenced
UnusedImport | 3 | 17 | [SRC]import org.springframework.mock.web.MockHttpServletResponse [MSG]The [org.springframework.mock.web.MockHttpServletResponse] import is never referenced
UnnecessaryDotClass | 3 | 40 | [SRC]def taglib = appCtx.getBean(ApplicationTagLib.class.name) [MSG]ApplicationTagLib.class can be rewritten as ApplicationTagLib
UnnecessaryDotClass | 3 | 60 | [SRC]def taglib = appCtx.getBean(ApplicationTagLib.class.name) [MSG]ApplicationTagLib.class can be rewritten as ApplicationTagLib

### ➥ ApplicationTagLibTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 7 | [SRC]import groovy.mock.interceptor.StubFor [MSG]The [groovy.mock.interceptor.StubFor] import is never referenced
UnusedImport | 3 | 15 | [SRC]import org.codehaus.groovy.grails.commons.TagLibArtefactHandler [MSG]The [org.codehaus.groovy.grails.commons.TagLibArtefactHandler] import is never referenced
UnnecessaryGetter | 3 | 23 | [SRC]assertOutputEquals "/test/plugins/controllers-${GrailsUt..g", template [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.ApplicationTagLibTests. getGrailsVersion() can probably be rewritten as grailsVersion

### ➥ CoreTagsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import grails.util.GrailsUtil [MSG]The [grails.util.GrailsUtil] import is never referenced

### ➥ CountryTagLibTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 88 | [SRC]void assertResultContains(result, expectedSubstring) { [MSG]Violation in class CountryTagLibTests. The method assertResultContains is public but not a test method

### ➥ FormRenderingTagLibTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 26 | [SRC]void assertOutputEquals(expected, template, params = [:]) { [MSG]Violation in class FormRenderingTagLibTests. The method assertOutputEquals is public but not a test method

### ➥ FormTagLib2Tests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedPrivateField | 2 | 16 | [SRC]private static final def SELECT_TAG_NAME = "testSelect" [MSG]The field SELECT_TAG_NAME is not used within the class org.codehaus.groovy.grails.web.taglib.FormTagLib2Tests
JUnitTestMethodWithoutAssert | 2 | 23 | [SRC]void testDatePickerTagWithDefaultDateAndPrecision() { [MSG]Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithDefaultDateAndPrecision' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 27 | [SRC]void testDatePickerTagWithYearPrecision() { [MSG]Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithYearPrecision' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 31 | [SRC]void testDatePickerTagWithMonthPrecision() { [MSG]Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithMonthPrecision' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 35 | [SRC]void testDatePickerTagWithDayPrecision() { [MSG]Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithDayPrecision' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 39 | [SRC]void testDatePickerTagWithHourPrecision() { [MSG]Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithHourPrecision' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 43 | [SRC]void testDatePickerTagWithMinutePrecision() { [MSG]Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithMinutePrecision' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 47 | [SRC]void testDatePickerTagWithCustomDate() { [MSG]Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithCustomDate' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 74 | [SRC]void testDatePickerTagWithCustomDateAndPrecision() { [MSG]Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithCustomDateAndPrecision' makes no assertions
UnusedVariable | 2 | 121 | [SRC]String xp [MSG]The variable [xp] in class org.codehaus.groovy.grails.web.taglib.FormTagLib2Tests is not used
UnusedPrivateMethod | 2 | 230 | [SRC]private void assertSelectFieldPresentWithValue(Document ..ing value) { [MSG]The method assertSelectFieldPresentWithValue is not used within FormTagLib2Tests.groovy
UnusedPrivateMethod | 2 | 236 | [SRC]private void assertSelectFieldPresentWithValueAndText(Do..ing label) { [MSG]The method assertSelectFieldPresentWithValueAndText is not used within FormTagLib2Tests.groovy
UnusedPrivateMethod | 2 | 248 | [SRC]private void assertSelectPresent(Document document, Stri..fieldName) { [MSG]The method assertSelectPresent is not used within FormTagLib2Tests.groovy
UnnecessaryDefInFieldDeclaration | 3 | 16 | [SRC]private static final def SELECT_TAG_NAME = "testSelect" [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib2Tests. The def keyword is unneeded when a field is marked private
UnnecessaryGetter | 3 | 52 | [SRC]def defaultDate = Calendar.getInstance() [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib2Tests. getInstance() can probably be rewritten as instance
UnnecessaryGetter | 3 | 54 | [SRC]Document document = getDatePickerOutput(null, 'day', def..e.getTime()) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib2Tests. getTime() can probably be rewritten as time
UnnecessaryGetter | 3 | 69 | [SRC]DateFormat defaultFormat = DateFormat.getInstance() [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib2Tests. getInstance() can probably be rewritten as instance

### ➥ FormTagLib3Tests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedPrivateField | 2 | 17 | [SRC]private static final String DATE_PICKER_TAG_NAME = "testDatePicker" [MSG]The field DATE_PICKER_TAG_NAME is not used within the class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests
UnusedPrivateField | 2 | 19 | [SRC]private static final Collection DATE_PRECISIONS_INCLUDIN..s String[])) [MSG]The field DATE_PRECISIONS_INCLUDING_MINUTE is not used within the class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests
UnusedPrivateField | 2 | 20 | [SRC]private static final Collection DATE_PRECISIONS_INCLUDIN..s String[])) [MSG]The field DATE_PRECISIONS_INCLUDING_HOUR is not used within the class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests
UnusedPrivateField | 2 | 21 | [SRC]private static final Collection DATE_PRECISIONS_INCLUDIN..s String[])) [MSG]The field DATE_PRECISIONS_INCLUDING_DAY is not used within the class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests
UnusedPrivateField | 2 | 22 | [SRC]private static final Collection DATE_PRECISIONS_INCLUDIN..s String[])) [MSG]The field DATE_PRECISIONS_INCLUDING_MONTH is not used within the class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests
UnnecessaryGetter | 3 | 207 | [SRC]final Element inputElement = document.getDocumentElement() [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests. getDocumentElement() can probably be rewritten as documentElement
UnnecessaryGetter | 3 | 233 | [SRC]final Element inputElement = document.getDocumentElement() [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests. getDocumentElement() can probably be rewritten as documentElement
UnnecessaryGetter | 3 | 262 | [SRC]final Element inputElement = document.getDocumentElement() [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests. getDocumentElement() can probably be rewritten as documentElement
UnnecessaryGetter | 3 | 288 | [SRC]final Element inputElement = document.getDocumentElement() [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests. getDocumentElement() can probably be rewritten as documentElement

### ➥ FormTagLibTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 234 | [SRC]void testBooleanAttributes() { [MSG]Violation in class FormTagLibTests. Test method 'testBooleanAttributes' makes no assertions

### ➥ FormatTagLibTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 32 | [SRC]assertOutputEquals("1980-02-03", template, [date:calender.getTime()]) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.FormatTagLibTests. getTime() can probably be rewritten as time
UnnecessaryGetter | 3 | 38 | [SRC]assertOutputEquals("February 3, 1980", template, [date:c...getTime()]) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.FormatTagLibTests. getTime() can probably be rewritten as time
UnnecessaryGetter | 3 | 44 | [SRC]assertOutputEquals("February 3, 1980 12:00 AM", template...getTime()]) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.FormatTagLibTests. getTime() can probably be rewritten as time
UnnecessaryGetter | 3 | 79 | [SRC]assertOutputEquals("1980-02-03", template, [date:calender.getTime()]) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.FormatTagLibTests. getTime() can probably be rewritten as time

### ➥ GroovyEachTagTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 3 | [SRC]import org.codehaus.groovy.grails.web.taglib.exceptions...TagException [MSG]The [org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException] import is never referenced
UnnecessaryGetter | 3 | 21 | [SRC]assertEquals("for( "+tag.getForeachRenamedIt()+" in test...toString()) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.GroovyEachTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt
UnnecessaryGetter | 3 | 21 | [SRC]assertEquals("for( "+tag.getForeachRenamedIt()+" in test...toString()) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.GroovyEachTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt
UnnecessaryGetter | 3 | 37 | [SRC]assertEquals("for( "+tag.getForeachRenamedIt()+" in test...toString()) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.GroovyEachTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt
UnnecessaryGetter | 3 | 37 | [SRC]assertEquals("for( "+tag.getForeachRenamedIt()+" in test...toString()) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.GroovyEachTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt

### ➥ GroovyFindAllTagTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGroovyImport | 3 | 3 | [SRC]import java.io.ByteArrayInputStream
UnnecessaryGroovyImport | 3 | 4 | [SRC]import java.io.PrintWriter
UnnecessaryGroovyImport | 3 | 5 | [SRC]import java.util.HashMap
UnnecessaryGroovyImport | 3 | 6 | [SRC]import java.util.Map
UnnecessaryDotClass | 3 | 25 | [SRC]context.put(GroovyPageParser.class, parser); [MSG]GroovyPageParser.class can be rewritten as GroovyPageParser
UnnecessaryGetter | 3 | 55 | [SRC]assertEquals("for( "+tag.getForeachRenamedIt()+" in eval...toString()) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.GroovyFindAllTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt
UnnecessaryGetter | 3 | 55 | [SRC]assertEquals("for( "+tag.getForeachRenamedIt()+" in eval...toString()) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.GroovyFindAllTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt
UnnecessaryGetter | 3 | 64 | [SRC]assertEquals("findAll", tag.getName()) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.GroovyFindAllTagTests. getName() can probably be rewritten as name

### ➥ GroovyGrepTagTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyCatchBlock | 2 | 15 | [SRC]catch(Exception e) { [MSG]The catch block is empty
UnnecessaryGetter | 3 | 23 | [SRC]assertEquals("for( "+tag.getForeachRenamedIt()+" in test...toString()) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.GroovyGrepTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt
UnnecessaryGetter | 3 | 23 | [SRC]assertEquals("for( "+tag.getForeachRenamedIt()+" in test...toString()) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.GroovyGrepTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt

### ➥ GroovySyntaxTagTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyMethod | 2 | 56 | [SRC]void doEndTag() {} [MSG]Violation in class MyGroovySyntaxTag. The method doEndTag is both empty and not marked with @Override
EmptyMethod | 2 | 58 | [SRC]void doStartTag() {} [MSG]Violation in class MyGroovySyntaxTag. The method doStartTag is both empty and not marked with @Override

### ➥ InvokeTagLibAsMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 5 | [SRC]void onSetUp() { [MSG]Violation in class InvokeTagLibAsMethodTests. The method onSetUp is public but not a test method

### ➥ JavascriptTagLibResourcesTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 7 | [SRC]def replaceMetaClass(o) { [MSG]Violation in class JavascriptTagLibResourcesTests. The method replaceMetaClass is public but not a test method
JUnitPublicNonTestMethod | 2 | 18 | [SRC]void onInitMockBeans() { [MSG]Violation in class JavascriptTagLibResourcesTests. The method onInitMockBeans is public but not a test method
UnusedVariable | 2 | 72 | [SRC]def result = applyTemplate(template, [:]) [MSG]The variable [result] in class org.codehaus.groovy.grails.web.taglib.JavascriptTagLibResourcesTests is not used

### ➥ JavascriptTagLibTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 46 | [SRC]String newLine = EOL [MSG]The variable [newLine] in class org.codehaus.groovy.grails.web.taglib.JavascriptTagLibTests is not used
JUnitPublicNonTestMethod | 2 | 93 | [SRC]def replaceMetaClass(Object o) { [MSG]Violation in class JavascriptTagLibTests. The method replaceMetaClass is public but not a test method
JUnitPublicNonTestMethod | 2 | 287 | [SRC]def setRequestContext() { [MSG]Violation in class JavascriptTagLibTests. The method setRequestContext is public but not a test method
JUnitPublicNonTestMethod | 2 | 291 | [SRC]def setRequestContext(path) { [MSG]Violation in class JavascriptTagLibTests. The method setRequestContext is public but not a test method
JUnitPublicNonTestMethod | 2 | 295 | [SRC]def setupPluginController(tag) { [MSG]Violation in class JavascriptTagLibTests. The method setupPluginController is public but not a test method
UnusedMethodParameter | 2 | 295 | [SRC]def setupPluginController(tag) { [MSG]Violation in class JavascriptTagLibTests. Method parameter [tag] is never referenced in the method setupPluginController of class org.codehaus.groovy.grails.web.taglib.JavascriptTagLibTests
UnusedMethodParameter | 2 | 312 | [SRC]def doRemoteFunction(Object taglib, Object attrs, Object out) { [MSG]Violation in class TestProvider. Method parameter [taglib] is never referenced in the method doRemoteFunction of class org.codehaus.groovy.grails.web.taglib.TestProvider
UnusedMethodParameter | 2 | 312 | [SRC]def doRemoteFunction(Object taglib, Object attrs, Object out) { [MSG]Violation in class TestProvider. Method parameter [attrs] is never referenced in the method doRemoteFunction of class org.codehaus.groovy.grails.web.taglib.TestProvider
EmptyMethod | 2 | 316 | [SRC]def prepareAjaxForm(Object attrs) {} [MSG]Violation in class TestProvider. The method prepareAjaxForm is both empty and not marked with @Override
UnusedMethodParameter | 2 | 316 | [SRC]def prepareAjaxForm(Object attrs) {} [MSG]Violation in class TestProvider. Method parameter [attrs] is never referenced in the method prepareAjaxForm of class org.codehaus.groovy.grails.web.taglib.TestProvider
UnusedImport | 3 | 13 | [SRC]import org.codehaus.groovy.grails.commons.TagLibArtefactHandler [MSG]The [org.codehaus.groovy.grails.commons.TagLibArtefactHandler] import is never referenced
UnnecessaryGetter | 3 | 52 | [SRC]def grailsVersion = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.JavascriptTagLibTests. getGrailsVersion() can probably be rewritten as grailsVersion

### ➥ LayoutWriterStackTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 45 | [SRC]void assertEqualsIgnoreWhiteSpace(String s1, String s2) { [MSG]Violation in class LayoutWriterStackTests. The method assertEqualsIgnoreWhiteSpace is public but not a test method

### ➥ LinkRenderingTagLib2Tests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 38 | [SRC]void assertOutputEquals(expected, template, params = [:]) { [MSG]Violation in class LinkRenderingTagLib2Tests. The method assertOutputEquals is public but not a test method
UnusedImport | 3 | 3 | [SRC]import org.codehaus.groovy.runtime.InvokerHelper [MSG]The [org.codehaus.groovy.runtime.InvokerHelper] import is never referenced

### ➥ LinkRenderingTagLibTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
DuplicateMapKey | 2 | 46 | [SRC]assertOutputEquals '<a href="/demo" class="B">demo</a>',..'7', x: '4'] [MSG]Key 'x' is duplicated.
UnusedImport | 3 | 3 | [SRC]import org.codehaus.groovy.runtime.InvokerHelper [MSG]The [org.codehaus.groovy.runtime.InvokerHelper] import is never referenced

### ➥ NamespacedTagLibMethodTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 4 | [SRC]import org.springframework.validation.MapBindingResult [MSG]The [org.springframework.validation.MapBindingResult] import is never referenced

### ➥ PluginTagLibTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 13 | [SRC]def grailsVersion = GrailsUtil.getGrailsVersion() [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.PluginTagLibTests. getGrailsVersion() can probably be rewritten as grailsVersion

### ➥ PropertyEditorTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryCollectCall | 3 | 84 | [SRC]assertEquals(["grails", "groovy"], obj.tags.collect {it.name}) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.PropertyEditorTests. The call to collect could probably be rewritten as a spread expression: obj.tags*.name
UnnecessaryGetter | 3 | 119 | [SRC]Object v = getValue() [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.TestCustomPropertyEditor. getValue() can probably be rewritten as value

### ➥ RenderTagLibTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 41 | [SRC]void testPaginateTag() { [MSG]Violation in class RenderTagLibTests. Test method 'testPaginateTag' makes no assertions
UnusedVariable | 2 | 103 | [SRC]def head = "" [MSG]The variable [head] in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests is not used
JUnitTestMethodWithoutAssert | 2 | 205 | [SRC]void testSortableColumnTag() { [MSG]Violation in class RenderTagLibTests. Test method 'testSortableColumnTag' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 219 | [SRC]void testSortableColumnTagWithTitleKey() { [MSG]Violation in class RenderTagLibTests. Test method 'testSortableColumnTagWithTitleKey' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 265 | [SRC]void testSortableColumnTagWithAction() { [MSG]Violation in class RenderTagLibTests. Test method 'testSortableColumnTagWithAction' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 279 | [SRC]void testSortableColumnTagWithDefaultOrder() { [MSG]Violation in class RenderTagLibTests. Test method 'testSortableColumnTagWithDefaultOrder' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 323 | [SRC]void testSortableColumnTagWithAdditionalAttributes() { [MSG]Violation in class RenderTagLibTests. Test method 'testSortableColumnTagWithAdditionalAttributes' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 338 | [SRC]void testSortableColumnTagSorted() { [MSG]Violation in class RenderTagLibTests. Test method 'testSortableColumnTagSorted' makes no assertions
JUnitPublicNonTestMethod | 2 | 422 | [SRC]void checkTagOutput(output, expectedClassValue, expected..edContent) { [MSG]Violation in class RenderTagLibTests. The method checkTagOutput is public but not a test method
JUnitPublicNonTestMethod | 2 | 463 | [SRC]void checkTagOutput(output, expectedClassValue, expected..therAttrs) { [MSG]Violation in class RenderTagLibTests. The method checkTagOutput is public but not a test method
UnnecessaryGetter | 3 | 347 | [SRC]webRequest.getParams().put("sort", "title") [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params
UnnecessaryGetter | 3 | 348 | [SRC]webRequest.getParams().put("order", "asc") [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params
UnnecessaryGetter | 3 | 364 | [SRC]webRequest.getParams().put("sort", "title") [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params
UnnecessaryGetter | 3 | 365 | [SRC]webRequest.getParams().put("order", "desc") [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params
UnnecessaryGetter | 3 | 381 | [SRC]webRequest.getParams().put("sort", "price") [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params
UnnecessaryGetter | 3 | 382 | [SRC]webRequest.getParams().put("order", "desc") [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params
UnnecessaryGetter | 3 | 398 | [SRC]webRequest.getParams().put("sort", "price") [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params
UnnecessaryGetter | 3 | 399 | [SRC]webRequest.getParams().put("order", "desc") [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params
UnnecessaryGetter | 3 | 553 | [SRC]assertEquals 'my/contenttype', response.getContentType() [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getContentType() can probably be rewritten as contentType
UseAssertNullInsteadOfAssertEquals | 3 | 557 | [SRC]assertEquals null, response.getContentType() [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. assertEquals can be simplified using assertNull
UnnecessaryGetter | 3 | 557 | [SRC]assertEquals null, response.getContentType() [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getContentType() can probably be rewritten as contentType
UnnecessaryGetter | 3 | 560 | [SRC]assertEquals 'my/contenttype', response.getContentType() [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getContentType() can probably be rewritten as contentType

### ➥ ReturnValueTagLibTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 4 | [SRC]void onSetUp() { [MSG]Violation in class ReturnValueTagLibTests. The method onSetUp is public but not a test method

### ➥ SelectTagTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitTestMethodWithoutAssert | 2 | 255 | [SRC]void testMultipleSelect() { [MSG]Violation in class SelectTagTests. Test method 'testMultipleSelect' makes no assertions
JUnitTestMethodWithoutAssert | 2 | 267 | [SRC]void testMultipleSelectWithObjectValues() { [MSG]Violation in class SelectTagTests. Test method 'testMultipleSelectWithObjectValues' makes no assertions
JUnitPublicNonTestMethod | 2 | 281 | [SRC]void checkMultiSelect(List categories, List selected, Cl..sSelected) { [MSG]Violation in class SelectTagTests. The method checkMultiSelect is public but not a test method
UnusedPrivateMethod | 2 | 370 | [SRC]private void assertSelectFieldNotPresent(Document docume..fieldName) { [MSG]The method assertSelectFieldNotPresent is not used within SelectTagTests.groovy
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 136 | [SRC]range.each() { [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.SelectTagTests. Parentheses in the 'each' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 154 | [SRC]range.each() { [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.SelectTagTests. Parentheses in the 'each' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 201 | [SRC]range.each() { [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.SelectTagTests. Parentheses in the 'each' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 227 | [SRC]categoryMap.each() { value, text -> [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.SelectTagTests. Parentheses in the 'each' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 233 | [SRC]categoryMap.each() { value, text -> [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.SelectTagTests. Parentheses in the 'each' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 250 | [SRC]categoryMap.each() { value, text -> [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.SelectTagTests. Parentheses in the 'each' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 306 | [SRC]categories.each() { cat -> [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.SelectTagTests. Parentheses in the 'each' method call are unnecessary and can be removed.

### ➥ ValidationTagLibTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryObjectReferences | 3 | 214 | [SRC]b.publisherURL = new URL("http://canoo.com/gia") [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 215 | [SRC]b.releaseDate = new Date() [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 216 | [SRC]b.usPrice = 10.99 [MSG]The code could be more concise by using a with() or identity() block

## Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.webflow

### ➥ FlowCommandObjectsTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 87 | [SRC]Closure getFlowClosure() { [MSG]Violation in class FlowCommandObjectsTests. The method getFlowClosure is public but not a test method
UnusedImport | 3 | 4 | [SRC]import org.springframework.webflow.definition.FlowDefinition [MSG]The [org.springframework.webflow.definition.FlowDefinition] import is never referenced
UnusedImport | 3 | 5 | [SRC]import org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder [MSG]The [org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder] import is never referenced
UnusedImport | 3 | 6 | [SRC]import org.springframework.webflow.context.servlet.Servl..ernalContext [MSG]The [org.springframework.webflow.context.servlet.ServletExternalContext] import is never referenced
UnnecessaryGetter | 3 | 23 | [SRC]def model = getFlowScope() [MSG]Violation in class org.codehaus.groovy.grails.webflow.FlowCommandObjectsTests. getFlowScope() can probably be rewritten as flowScope
UnnecessaryGetter | 3 | 51 | [SRC]def model = getFlowScope() [MSG]Violation in class org.codehaus.groovy.grails.webflow.FlowCommandObjectsTests. getFlowScope() can probably be rewritten as flowScope
UnnecessaryGetter | 3 | 74 | [SRC]def model = getFlowScope() [MSG]Violation in class org.codehaus.groovy.grails.webflow.FlowCommandObjectsTests. getFlowScope() can probably be rewritten as flowScope

### ➥ FlowRedirectTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 52 | [SRC]Closure getFlowClosure() { [MSG]Violation in class FlowRedirectTests. The method getFlowClosure is public but not a test method
UnusedImport | 3 | 10 | [SRC]import org.springframework.webflow.definition.FlowDefinition [MSG]The [org.springframework.webflow.definition.FlowDefinition] import is never referenced
UnnecessaryGetter | 3 | 23 | [SRC]assertEquals "contextRelative:/test/foo",context.getExte..edirectUrl() [MSG]Violation in class org.codehaus.groovy.grails.webflow.FlowRedirectTests. getExternalRedirectUrl() can probably be rewritten as externalRedirectUrl
UnnecessaryGetter | 3 | 32 | [SRC]assertEquals "contextRelative:/test/foo/1",context.getEx..edirectUrl() [MSG]Violation in class org.codehaus.groovy.grails.webflow.FlowRedirectTests. getExternalRedirectUrl() can probably be rewritten as externalRedirectUrl
UnnecessaryGetter | 3 | 44 | [SRC]assertEquals "contextRelative:/mycontroller/foo",context..edirectUrl() [MSG]Violation in class org.codehaus.groovy.grails.webflow.FlowRedirectTests. getExternalRedirectUrl() can probably be rewritten as externalRedirectUrl

### ➥ FlowTagInvokationTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 33 | [SRC]void onInit() { [MSG]Violation in class FlowTagInvokationTests. The method onInit is public but not a test method
JUnitPublicNonTestMethod | 2 | 42 | [SRC]Closure getFlowClosure() { [MSG]Violation in class FlowTagInvokationTests. The method getFlowClosure is public but not a test method
UnusedImport | 3 | 4 | [SRC]import org.springframework.webflow.definition.FlowDefinition [MSG]The [org.springframework.webflow.definition.FlowDefinition] import is never referenced
UnusedImport | 3 | 5 | [SRC]import org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder [MSG]The [org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder] import is never referenced
UnnecessaryGetter | 3 | 20 | [SRC]def model = getFlowScope() [MSG]Violation in class org.codehaus.groovy.grails.webflow.FlowTagInvokationTests. getFlowScope() can probably be rewritten as flowScope
UnnecessaryGetter | 3 | 29 | [SRC]def model = getFlowScope() [MSG]Violation in class org.codehaus.groovy.grails.webflow.FlowTagInvokationTests. getFlowScope() can probably be rewritten as flowScope

### ➥ SubflowExecutionTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 29 | [SRC]Closure getFlowClosure() { [MSG]Violation in class SubflowExecutionTests. The method getFlowClosure is public but not a test method

### ➥ SubflowExecutionWithExternalSubflowTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 21 | [SRC]Closure getFlowClosure() { [MSG]Violation in class SubflowExecutionWithExternalSubflowTests. The method getFlowClosure is public but not a test method
UnusedImport | 3 | 3 | [SRC]import junit.framework.TestCase [MSG]The [junit.framework.TestCase] import is never referenced

## Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.webflow.engine.builder

### ➥ FlowBuilderDecisionExecutionTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 10 | [SRC]Closure getFlowClosure() { [MSG]Violation in class FlowBuilderDecisionExecutionTests. The method getFlowClosure is public but not a test method

### ➥ FlowBuilderDynamicTransitionTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 33 | [SRC]String getFlowId() { "myFlow" } [MSG]Violation in class FlowBuilderDynamicTransitionTests. The method getFlowId is public but not a test method
JUnitPublicNonTestMethod | 2 | 35 | [SRC]Closure getFlowClosure() { [MSG]Violation in class FlowBuilderDynamicTransitionTests. The method getFlowClosure is public but not a test method
UnnecessaryGetter | 3 | 12 | [SRC]def startState = flowDefinition.getStartState() [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilderDynamicTransitionTests. getStartState() can probably be rewritten as startState

### ➥ FlowBuilderExecutionTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 10 | [SRC]Closure getFlowClosure() { [MSG]Violation in class FlowBuilderExecutionTests. The method getFlowClosure is public but not a test method
UnnecessaryGetter | 3 | 41 | [SRC]def model = getFlowScope() [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilderExecutionTests. getFlowScope() can probably be rewritten as flowScope

### ➥ FlowBuilderSubFlowExecutionTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 29 | [SRC]Closure getFlowClosure() { [MSG]Violation in class FlowBuilderSubFlowExecutionTests. The method getFlowClosure is public but not a test method
JUnitPublicNonTestMethod | 2 | 59 | [SRC]def foo() { "bar" } [MSG]Violation in class FlowBuilderSubFlowExecutionTests. The method foo is public but not a test method
UnnecessaryGetter | 3 | 73 | [SRC]def theFlow = getFlowDefinition() [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilderSubFlowExecutionTests. getFlowDefinition() can probably be rewritten as flowDefinition

### ➥ FlowBuilderSubFlowExecutionWithInputOuputTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 47 | [SRC]Closure getFlowClosure() { [MSG]Violation in class FlowBuilderSubFlowExecutionWithInputOuputTests. The method getFlowClosure is public but not a test method
UnusedVariable | 2 | 89 | [SRC]GrailsWebRequest webrequest = grails.util.GrailsWebUtil...WebRequest() [MSG]The variable [webrequest] in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilderSubFlowExecutionWithInputOuputTests is not used
EmptyCatchBlock | 2 | 124 | [SRC]catch (FlowInputMappingException e) {} [MSG]The catch block is empty

### ➥ FlowBuilderTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 16 | [SRC]void setUp() { [MSG]Violation in class FlowBuilderTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 26 | [SRC]void tearDown() { [MSG]Violation in class FlowBuilderTests. The method tearDown() does not call super.tearDown()
UnnecessaryGetter | 3 | 23 | [SRC]flowBuilderServices.expressionParser = DefaultExpression..sionParser() [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilderTests. getExpressionParser() can probably be rewritten as expressionParser
UnnecessaryGetter | 3 | 154 | [SRC]def flow = new FlowBuilder("myFlow",getFlowBuilderServic..pl()).flow { [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilderTests. getFlowBuilderServices() can probably be rewritten as flowBuilderServices

### ➥ FlowBuilderTransitionCriteriaTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 7 | [SRC]Closure getFlowClosure() { [MSG]Violation in class FlowBuilderTransitionCriteriaTests. The method getFlowClosure is public but not a test method

### ➥ RuntimeRedirectActionTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 27 | [SRC]context.getFlowScope().put("id", "1") [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.RuntimeRedirectActionTests. getFlowScope() can probably be rewritten as flowScope
UnnecessaryGetter | 3 | 29 | [SRC]assert "contextRelative:/book/show/1" == ext.getExternalRedirectUrl() [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.RuntimeRedirectActionTests. getExternalRedirectUrl() can probably be rewritten as externalRedirectUrl
UnnecessaryGetter | 3 | 31 | [SRC]context.getFlowScope().put("id", "2") [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.RuntimeRedirectActionTests. getFlowScope() can probably be rewritten as flowScope
UnnecessaryGetter | 3 | 33 | [SRC]assert "contextRelative:/book/show/2" == ext.getExternalRedirectUrl() [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.RuntimeRedirectActionTests. getExternalRedirectUrl() can probably be rewritten as externalRedirectUrl

## Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.webflow.support

### ➥ AbstractGrailsTagAwareFlowExecutionTests.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitSetUpCallsSuper | 2 | 64 | [SRC]final void setUp() throws Exception { [MSG]Violation in class AbstractGrailsTagAwareFlowExecutionTests. The method setUp() does not call super.setUp()
JUnitTearDownCallsSuper | 2 | 138 | [SRC]final void tearDown() { [MSG]Violation in class AbstractGrailsTagAwareFlowExecutionTests. The method tearDown() does not call super.tearDown()
JUnitPublicNonTestMethod | 2 | 158 | [SRC]FlowDefinition registerFlow(String flowId, Closure flowClosure) { [MSG]Violation in class AbstractGrailsTagAwareFlowExecutionTests. The method registerFlow is public but not a test method
JUnitPublicNonTestMethod | 2 | 167 | [SRC]FlowDefinition getFlowDefinition() { [MSG]Violation in class AbstractGrailsTagAwareFlowExecutionTests. The method getFlowDefinition is public but not a test method
JUnitPublicNonTestMethod | 2 | 175 | [SRC]String getFlowId() { 'testFlow' } [MSG]Violation in class AbstractGrailsTagAwareFlowExecutionTests. The method getFlowId is public but not a test method
JUnitPublicNonTestMethod | 2 | 177 | [SRC]abstract Closure getFlowClosure() [MSG]Violation in class AbstractGrailsTagAwareFlowExecutionTests. The method getFlowClosure is public but not a test method
UnusedImport | 3 | 15 | [SRC]import org.codehaus.groovy.runtime.InvokerHelper [MSG]The [org.codehaus.groovy.runtime.InvokerHelper] import is never referenced
UnusedImport | 3 | 40 | [SRC]import org.springframework.webflow.definition.registry.F..itionLocator [MSG]The [org.springframework.webflow.definition.registry.FlowDefinitionLocator] import is never referenced
UnnecessaryGetter | 3 | 111 | [SRC]appCtx = springConfig.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getApplicationContext() can probably be rewritten as applicationContext
UnnecessaryGetter | 3 | 120 | [SRC]flowBuilderServices.expressionParser = DefaultExpression..sionParser() [MSG]Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getExpressionParser() can probably be rewritten as expressionParser
UnnecessaryGetter | 3 | 159 | [SRC]FlowBuilder builder = new FlowBuilder(flowId, flowClosur..nRegistry()) [MSG]Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getFlowDefinitionRegistry() can probably be rewritten as flowDefinitionRegistry
UnnecessaryGetter | 3 | 162 | [SRC]FlowAssembler assembler = new FlowAssembler(builder, bui..erContext()) [MSG]Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getFlowBuilderContext() can probably be rewritten as flowBuilderContext
UnnecessaryGetter | 3 | 163 | [SRC]getFlowDefinitionRegistry().registerFlowDefinition(new D..(assembler)) [MSG]Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getFlowDefinitionRegistry() can probably be rewritten as flowDefinitionRegistry
UnnecessaryGetter | 3 | 164 | [SRC]return getFlowDefinitionRegistry().getFlowDefinition(flowId) [MSG]Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getFlowDefinitionRegistry() can probably be rewritten as flowDefinitionRegistry
UnnecessaryGetter | 3 | 168 | [SRC]return registerFlow(getFlowId(), getFlowClosure()) [MSG]Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getFlowId() can probably be rewritten as flowId
UnnecessaryGetter | 3 | 168 | [SRC]return registerFlow(getFlowId(), getFlowClosure()) [MSG]Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getFlowClosure() can probably be rewritten as flowClosure

## Package: grails-test.src.main.groovy.grails.test

### ➥ GrailsMock.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 140 | [SRC]def methods = demand.mockMetaClass.getMetaMethods() [MSG]Violation in class grails.test.GrailsMock. getMetaMethods() can probably be rewritten as metaMethods

## Package: grails-test.src.main.groovy.org.codehaus.groovy.grails.plugins.testing

### ➥ AbstractGrailsMockHttpServletResponse.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 43 | [SRC]HttpServletRequest request = GrailsWebRequest.lookup().g..entRequest() [MSG]Violation in class org.codehaus.groovy.grails.plugins.testing.AbstractGrailsMockHttpServletResponse. getCurrentRequest() can probably be rewritten as currentRequest
UnnecessaryGetter | 3 | 89 | [SRC]webRequest.setOut(getWriter()) [MSG]Violation in class org.codehaus.groovy.grails.plugins.testing.AbstractGrailsMockHttpServletResponse. getWriter() can probably be rewritten as writer
UnnecessaryGetter | 3 | 94 | [SRC]getRedirectedUrl() [MSG]Violation in class org.codehaus.groovy.grails.plugins.testing.AbstractGrailsMockHttpServletResponse. getRedirectedUrl() can probably be rewritten as redirectedUrl
UnnecessaryGetter | 3 | 106 | [SRC]if (getStatus() in [301, 302]) { [MSG]Violation in class org.codehaus.groovy.grails.plugins.testing.AbstractGrailsMockHttpServletResponse. getStatus() can probably be rewritten as status
UnnecessaryGetter | 3 | 110 | [SRC]return super.getRedirectedUrl() [MSG]Violation in class org.codehaus.groovy.grails.plugins.testing.AbstractGrailsMockHttpServletResponse. getRedirectedUrl() can probably be rewritten as redirectedUrl

### ➥ GrailsMockErrors.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 18 | [SRC]import org.codehaus.groovy.grails.commons.GrailsClassUtils [MSG]The [org.codehaus.groovy.grails.commons.GrailsClassUtils] import is never referenced

### ➥ GrailsMockHttpServletRequest.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyMethod | 2 | 455 | [SRC]void delete() { [MSG]Violation in class MockPart. The method delete is both empty and not marked with @Override
UnusedMethodParameter | 2 | 497 | [SRC]void dispatch(javax.servlet.ServletContext context, String path) { [MSG]Violation in class MockAsyncContext. Method parameter [context] is never referenced in the method dispatch of class org.codehaus.groovy.grails.plugins.testing.MockAsyncContext
EmptyMethod | 2 | 501 | [SRC]void complete() { [MSG]Violation in class MockAsyncContext. The method complete is both empty and not marked with @Override
UnusedImport | 3 | 34 | [SRC]import javax.servlet.DispatcherType [MSG]The [javax.servlet.DispatcherType] import is never referenced
UnnecessaryPackageReference | 3 | 63 | [SRC]javax.servlet.DispatcherType dispatcherType; [MSG]The javax.servlet.DispatcherType class was explicitly imported, so specifying the package name is not necessary
UnnecessaryGetter | 3 | 339 | [SRC]multipartFiles.add(file.getName(), file); [MSG]Violation in class org.codehaus.groovy.grails.plugins.testing.GrailsMockHttpServletRequest. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 396 | [SRC]getFileMap().values().collect {new MockPart(it)} [MSG]Violation in class org.codehaus.groovy.grails.plugins.testing.GrailsMockHttpServletRequest. getFileMap() can probably be rewritten as fileMap
UnnecessaryPackageReference | 3 | 399 | [SRC]javax.servlet.http.Part getPart(String name) { [MSG]The javax.servlet.http.Part class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 406 | [SRC]javax.servlet.AsyncContext startAsync() { [MSG]The javax.servlet.AsyncContext class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 415 | [SRC]javax.servlet.AsyncContext startAsync(javax.servlet.Serv..tResponse) { [MSG]The javax.servlet.AsyncContext class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 415 | [SRC]javax.servlet.AsyncContext startAsync(javax.servlet.Serv..tResponse) { [MSG]The javax.servlet.ServletRequest class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 415 | [SRC]javax.servlet.AsyncContext startAsync(javax.servlet.Serv..tResponse) { [MSG]The javax.servlet.ServletResponse class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 526 | [SRC]void addListener(javax.servlet.AsyncListener listener) { [MSG]The javax.servlet.AsyncListener class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 530 | [SRC]void addListener(javax.servlet.AsyncListener listener, j..tResponse) { [MSG]The javax.servlet.AsyncListener class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 530 | [SRC]void addListener(javax.servlet.AsyncListener listener, j..tResponse) { [MSG]The javax.servlet.ServletRequest class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 530 | [SRC]void addListener(javax.servlet.AsyncListener listener, j..tResponse) { [MSG]The javax.servlet.ServletResponse class was explicitly imported, so specifying the package name is not necessary

## Package: grails-test.src.main.groovy.org.codehaus.groovy.grails.test

### ➥ GrailsTestTargetPattern.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessarySubstring | 3 | 61 | [SRC]methodName = rawPattern.substring(pos + 1) [MSG]Violation in class org.codehaus.groovy.grails.test.GrailsTestTargetPattern. The String.substring(int) method can be replaced with the subscript operator
UnnecessarySubstring | 3 | 62 | [SRC]classPattern = rawPattern.substring(0, pos) [MSG]Violation in class org.codehaus.groovy.grails.test.GrailsTestTargetPattern. The String.substring(int, int) method can be replaced with the subscript operator

## Package: grails-test.src.main.groovy.org.codehaus.groovy.grails.test.event

### ➥ GrailsTestEventConsoleReporter.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 42 | [SRC]protected doTestFailure(String name, failure, boolean isError) { [MSG]Violation in class GrailsTestEventConsoleReporter. Method parameter [failure] is never referenced in the method doTestFailure of class org.codehaus.groovy.grails.test.event.GrailsTestEventConsoleReporter
UnusedMethodParameter | 2 | 42 | [SRC]protected doTestFailure(String name, failure, boolean isError) { [MSG]Violation in class GrailsTestEventConsoleReporter. Method parameter [isError] is never referenced in the method doTestFailure of class org.codehaus.groovy.grails.test.event.GrailsTestEventConsoleReporter
UnusedMethodParameter | 2 | 47 | [SRC]protected doTestCaseEnd(String name, String out, String err) { [MSG]Violation in class GrailsTestEventConsoleReporter. Method parameter [name] is never referenced in the method doTestCaseEnd of class org.codehaus.groovy.grails.test.event.GrailsTestEventConsoleReporter
UnusedMethodParameter | 2 | 47 | [SRC]protected doTestCaseEnd(String name, String out, String err) { [MSG]Violation in class GrailsTestEventConsoleReporter. Method parameter [err] is never referenced in the method doTestCaseEnd of class org.codehaus.groovy.grails.test.event.GrailsTestEventConsoleReporter

## Package: grails-test.src.main.groovy.org.codehaus.groovy.grails.test.junit4

### ➥ JUnit4GrailsTestType.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 53 | [SRC]def testClasses = getTestClasses() [MSG]Violation in class org.codehaus.groovy.grails.test.junit4.JUnit4GrailsTestType. getTestClasses() can probably be rewritten as testClasses
UnnecessaryGetter | 3 | 76 | [SRC]new GrailsTestCaseRunnerBuilder(mode, getApplicationCont..getPatterns) [MSG]Violation in class org.codehaus.groovy.grails.test.junit4.JUnit4GrailsTestType. getApplicationContext() can probably be rewritten as applicationContext

## Package: grails-test.src.main.groovy.org.codehaus.groovy.grails.test.junit4.listener

### ➥ SuiteRunListener.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyMethod | 2 | 46 | [SRC]void testRunStarted(Description description) { [MSG]Violation in class SuiteRunListener. The method testRunStarted is both empty and not marked with @Override
UnusedMethodParameter | 2 | 46 | [SRC]void testRunStarted(Description description) { [MSG]Violation in class SuiteRunListener. Method parameter [description] is never referenced in the method testRunStarted of class org.codehaus.groovy.grails.test.junit4.listener.SuiteRunListener
UnusedMethodParameter | 2 | 68 | [SRC]void testRunFinished(Result result) { [MSG]Violation in class SuiteRunListener. Method parameter [result] is never referenced in the method testRunFinished of class org.codehaus.groovy.grails.test.junit4.listener.SuiteRunListener
EmptyMethod | 2 | 72 | [SRC]void testIgnored(Description description) { [MSG]Violation in class SuiteRunListener. The method testIgnored is both empty and not marked with @Override
UnusedMethodParameter | 2 | 72 | [SRC]void testIgnored(Description description) { [MSG]Violation in class SuiteRunListener. Method parameter [description] is never referenced in the method testIgnored of class org.codehaus.groovy.grails.test.junit4.listener.SuiteRunListener
UnnecessaryGetter | 3 | 69 | [SRC]getPerTestRunListener().finish() [MSG]Violation in class org.codehaus.groovy.grails.test.junit4.listener.SuiteRunListener. getPerTestRunListener() can probably be rewritten as perTestRunListener

## Package: grails-test.src.main.groovy.org.codehaus.groovy.grails.test.junit4.runner

### ➥ GrailsTestCaseRunner.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 25 | [SRC]import org.junit.runner.notification.RunNotifier [MSG]The [org.junit.runner.notification.RunNotifier] import is never referenced
UnusedImport | 3 | 35 | [SRC]import org.codehaus.groovy.grails.test.support.GrailsTestInterceptor [MSG]The [org.codehaus.groovy.grails.test.support.GrailsTestInterceptor] import is never referenced

## Package: grails-test.src.main.groovy.org.codehaus.groovy.grails.test.support

### ➥ GrailsTestInterceptor.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 81 | [SRC]protected initRequestEnvironmentIfNecessary(Closure body) { [MSG]Violation in class GrailsTestInterceptor. Method parameter [body] is never referenced in the method initRequestEnvironmentIfNecessary of class org.codehaus.groovy.grails.test.support.GrailsTestInterceptor
UnnecessaryGetter | 3 | 84 | [SRC]def controllerName = getControllerName() [MSG]Violation in class org.codehaus.groovy.grails.test.support.GrailsTestInterceptor. getControllerName() can probably be rewritten as controllerName

### ➥ GrailsTestTransactionInterceptor.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 19 | [SRC]import org.springframework.web.context.request.RequestContextHolder [MSG]The [org.springframework.web.context.request.RequestContextHolder] import is never referenced

### ➥ GrailsTestTypeSupport.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 117 | [SRC]Thread.currentThread().contextClassLoader = getTestClassLoader() [MSG]Violation in class org.codehaus.groovy.grails.test.support.GrailsTestTypeSupport. getTestClassLoader() can probably be rewritten as testClassLoader
UnnecessaryGetter | 3 | 157 | [SRC]def classPathAdditions = [getSourceDir()] [MSG]Violation in class org.codehaus.groovy.grails.test.support.GrailsTestTypeSupport. getSourceDir() can probably be rewritten as sourceDir
UnnecessaryGetter | 3 | 210 | [SRC]def basePath = getSourceDir().canonicalPath [MSG]Violation in class org.codehaus.groovy.grails.test.support.GrailsTestTypeSupport. getSourceDir() can probably be rewritten as sourceDir
UnnecessarySubstring | 3 | 216 | [SRC]def relativePath = filePath.substring(basePath.size() + 1) [MSG]Violation in class org.codehaus.groovy.grails.test.support.GrailsTestTypeSupport. The String.substring(int) method can be replaced with the subscript operator
UnnecessaryGetter | 3 | 250 | [SRC]getTestClassLoader().loadClass(className) [MSG]Violation in class org.codehaus.groovy.grails.test.support.GrailsTestTypeSupport. getTestClassLoader() can probably be rewritten as testClassLoader

## Package: grails-web.src.jsp21.groovy.org.codehaus.groovy.grails.web.pages.ext.jsp

### ➥ GroovyPagesJspFactory21.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 17 | [SRC]def jspCtx = servletContext.getAttribute(GroovyPagesJspA..t.getName()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory21. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 21 | [SRC]if (!servletContext.getAttribute(GroovyPagesJspApplicati..etName())) { [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory21. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 23 | [SRC]servletContext.setAttribute(GroovyPagesJspApplicationCon..e(), jspCtx) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory21. getName() can probably be rewritten as name

### ➥ GroovyPagesPageContext21.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 30 | [SRC]if (JspFactory.getDefaultFactory() == null) { [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContext21. getDefaultFactory() can probably be rewritten as defaultFactory
UnnecessaryGetter | 3 | 39 | [SRC]def jspContext = JspFactory.getDefaultFactory().getJspAp..etContext()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContext21. getDefaultFactory() can probably be rewritten as defaultFactory
UnnecessaryGetter | 3 | 39 | [SRC]def jspContext = JspFactory.getDefaultFactory().getJspAp..etContext()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContext21. getServletContext() can probably be rewritten as servletContext

## Package: grails-web.src.main.groovy.grails.gsp

### ➥ PageRenderer.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 165 | [SRC]long getDateHeader(String name) { -1L } [MSG]Violation in class PageRenderer$PageRenderRequest. Method parameter [name] is never referenced in the method getDateHeader of class grails.gsp.PageRenderer$PageRenderRequest
UnusedMethodParameter | 2 | 167 | [SRC]String getHeader(String name) { null } [MSG]Violation in class PageRenderer$PageRenderRequest. Method parameter [name] is never referenced in the method getHeader of class grails.gsp.PageRenderer$PageRenderRequest
UnusedMethodParameter | 2 | 169 | [SRC]Enumeration getHeaders(String name) { [MSG]Violation in class PageRenderer$PageRenderRequest. Method parameter [name] is never referenced in the method getHeaders of class grails.gsp.PageRenderer$PageRenderRequest
UnusedMethodParameter | 2 | 177 | [SRC]int getIntHeader(String name) { -1 } [MSG]Violation in class PageRenderer$PageRenderRequest. Method parameter [name] is never referenced in the method getIntHeader of class grails.gsp.PageRenderer$PageRenderRequest
UnusedMethodParameter | 2 | 191 | [SRC]boolean isUserInRole(String role) { false } [MSG]Violation in class PageRenderer$PageRenderRequest. Method parameter [role] is never referenced in the method isUserInRole of class grails.gsp.PageRenderer$PageRenderRequest
UnusedMethodParameter | 2 | 205 | [SRC]HttpSession getSession(boolean create) { throw new Unsup..erations") } [MSG]Violation in class PageRenderer$PageRenderRequest. Method parameter [create] is never referenced in the method getSession of class grails.gsp.PageRenderer$PageRenderRequest
UnusedMethodParameter | 2 | 264 | [SRC]String[] getParameterValues(String name) { [MSG]Violation in class PageRenderer$PageRenderRequest. Method parameter [name] is never referenced in the method getParameterValues of class grails.gsp.PageRenderer$PageRenderRequest
UnusedMethodParameter | 2 | 318 | [SRC]RequestDispatcher getRequestDispatcher(String path) { [MSG]Violation in class PageRenderer$PageRenderRequest. Method parameter [path] is never referenced in the method getRequestDispatcher of class grails.gsp.PageRenderer$PageRenderRequest
UnusedMethodParameter | 2 | 322 | [SRC]String getRealPath(String path) { [MSG]Violation in class PageRenderer$PageRenderRequest. Method parameter [path] is never referenced in the method getRealPath of class grails.gsp.PageRenderer$PageRenderRequest
EmptyMethod | 2 | 389 | [SRC]void addCookie(Cookie cookie) { [MSG]Violation in class PageRenderer$PageRenderResponse. The method addCookie is both empty and not marked with @Override
UnusedMethodParameter | 2 | 389 | [SRC]void addCookie(Cookie cookie) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [cookie] is never referenced in the method addCookie of class grails.gsp.PageRenderer$PageRenderResponse
UnusedMethodParameter | 2 | 393 | [SRC]boolean containsHeader(String name) { false } [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method containsHeader of class grails.gsp.PageRenderer$PageRenderResponse
EmptyMethod | 2 | 403 | [SRC]void sendError(int sc, String msg) { [MSG]Violation in class PageRenderer$PageRenderResponse. The method sendError is both empty and not marked with @Override
UnusedMethodParameter | 2 | 403 | [SRC]void sendError(int sc, String msg) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [sc] is never referenced in the method sendError of class grails.gsp.PageRenderer$PageRenderResponse
UnusedMethodParameter | 2 | 403 | [SRC]void sendError(int sc, String msg) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [msg] is never referenced in the method sendError of class grails.gsp.PageRenderer$PageRenderResponse
EmptyMethod | 2 | 407 | [SRC]void sendError(int sc) { [MSG]Violation in class PageRenderer$PageRenderResponse. The method sendError is both empty and not marked with @Override
UnusedMethodParameter | 2 | 407 | [SRC]void sendError(int sc) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [sc] is never referenced in the method sendError of class grails.gsp.PageRenderer$PageRenderResponse
EmptyMethod | 2 | 411 | [SRC]void sendRedirect(String location) { [MSG]Violation in class PageRenderer$PageRenderResponse. The method sendRedirect is both empty and not marked with @Override
UnusedMethodParameter | 2 | 411 | [SRC]void sendRedirect(String location) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [location] is never referenced in the method sendRedirect of class grails.gsp.PageRenderer$PageRenderResponse
EmptyMethod | 2 | 415 | [SRC]void setDateHeader(String name, long date) { [MSG]Violation in class PageRenderer$PageRenderResponse. The method setDateHeader is both empty and not marked with @Override
UnusedMethodParameter | 2 | 415 | [SRC]void setDateHeader(String name, long date) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method setDateHeader of class grails.gsp.PageRenderer$PageRenderResponse
UnusedMethodParameter | 2 | 415 | [SRC]void setDateHeader(String name, long date) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [date] is never referenced in the method setDateHeader of class grails.gsp.PageRenderer$PageRenderResponse
EmptyMethod | 2 | 419 | [SRC]void addDateHeader(String name, long date) { [MSG]Violation in class PageRenderer$PageRenderResponse. The method addDateHeader is both empty and not marked with @Override
UnusedMethodParameter | 2 | 419 | [SRC]void addDateHeader(String name, long date) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method addDateHeader of class grails.gsp.PageRenderer$PageRenderResponse
UnusedMethodParameter | 2 | 419 | [SRC]void addDateHeader(String name, long date) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [date] is never referenced in the method addDateHeader of class grails.gsp.PageRenderer$PageRenderResponse
EmptyMethod | 2 | 423 | [SRC]void setHeader(String name, String value) { [MSG]Violation in class PageRenderer$PageRenderResponse. The method setHeader is both empty and not marked with @Override
UnusedMethodParameter | 2 | 423 | [SRC]void setHeader(String name, String value) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method setHeader of class grails.gsp.PageRenderer$PageRenderResponse
UnusedMethodParameter | 2 | 423 | [SRC]void setHeader(String name, String value) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [value] is never referenced in the method setHeader of class grails.gsp.PageRenderer$PageRenderResponse
EmptyMethod | 2 | 427 | [SRC]void addHeader(String name, String value) { [MSG]Violation in class PageRenderer$PageRenderResponse. The method addHeader is both empty and not marked with @Override
UnusedMethodParameter | 2 | 427 | [SRC]void addHeader(String name, String value) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method addHeader of class grails.gsp.PageRenderer$PageRenderResponse
UnusedMethodParameter | 2 | 427 | [SRC]void addHeader(String name, String value) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [value] is never referenced in the method addHeader of class grails.gsp.PageRenderer$PageRenderResponse
EmptyMethod | 2 | 431 | [SRC]void setIntHeader(String name, int value) { [MSG]Violation in class PageRenderer$PageRenderResponse. The method setIntHeader is both empty and not marked with @Override
UnusedMethodParameter | 2 | 431 | [SRC]void setIntHeader(String name, int value) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method setIntHeader of class grails.gsp.PageRenderer$PageRenderResponse
UnusedMethodParameter | 2 | 431 | [SRC]void setIntHeader(String name, int value) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [value] is never referenced in the method setIntHeader of class grails.gsp.PageRenderer$PageRenderResponse
EmptyMethod | 2 | 435 | [SRC]void addIntHeader(String name, int value) { [MSG]Violation in class PageRenderer$PageRenderResponse. The method addIntHeader is both empty and not marked with @Override
UnusedMethodParameter | 2 | 435 | [SRC]void addIntHeader(String name, int value) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method addIntHeader of class grails.gsp.PageRenderer$PageRenderResponse
UnusedMethodParameter | 2 | 435 | [SRC]void addIntHeader(String name, int value) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [value] is never referenced in the method addIntHeader of class grails.gsp.PageRenderer$PageRenderResponse
EmptyMethod | 2 | 439 | [SRC]void setStatus(int sc) { [MSG]Violation in class PageRenderer$PageRenderResponse. The method setStatus is both empty and not marked with @Override
UnusedMethodParameter | 2 | 439 | [SRC]void setStatus(int sc) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [sc] is never referenced in the method setStatus of class grails.gsp.PageRenderer$PageRenderResponse
EmptyMethod | 2 | 443 | [SRC]void setStatus(int sc, String sm) { [MSG]Violation in class PageRenderer$PageRenderResponse. The method setStatus is both empty and not marked with @Override
UnusedMethodParameter | 2 | 443 | [SRC]void setStatus(int sc, String sm) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [sc] is never referenced in the method setStatus of class grails.gsp.PageRenderer$PageRenderResponse
UnusedMethodParameter | 2 | 443 | [SRC]void setStatus(int sc, String sm) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [sm] is never referenced in the method setStatus of class grails.gsp.PageRenderer$PageRenderResponse
UnusedMethodParameter | 2 | 451 | [SRC]String getHeader(String name) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method getHeader of class grails.gsp.PageRenderer$PageRenderResponse
UnusedMethodParameter | 2 | 455 | [SRC]Collection<String> getHeaders(String name) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method getHeaders of class grails.gsp.PageRenderer$PageRenderResponse
EmptyMethod | 2 | 467 | [SRC]void setContentLength(int len) { [MSG]Violation in class PageRenderer$PageRenderResponse. The method setContentLength is both empty and not marked with @Override
UnusedMethodParameter | 2 | 467 | [SRC]void setContentLength(int len) { [MSG]Violation in class PageRenderer$PageRenderResponse. Method parameter [len] is never referenced in the method setContentLength of class grails.gsp.PageRenderer$PageRenderResponse
EmptyMethod | 2 | 471 | [SRC]void flushBuffer() { [MSG]Violation in class PageRenderer$PageRenderResponse. The method flushBuffer is both empty and not marked with @Override
EmptyMethod | 2 | 475 | [SRC]void resetBuffer() { [MSG]Violation in class PageRenderer$PageRenderResponse. The method resetBuffer is both empty and not marked with @Override
EmptyMethod | 2 | 481 | [SRC]void reset() { [MSG]Violation in class PageRenderer$PageRenderResponse. The method reset is both empty and not marked with @Override
UnusedImport | 3 | 20 | [SRC]import java.util.concurrent.ConcurrentLinkedQueue [MSG]The [java.util.concurrent.ConcurrentLinkedQueue] import is never referenced
UnusedImport | 3 | 32 | [SRC]import org.codehaus.groovy.grails.web.pages.GroovyPagesUriSupport [MSG]The [org.codehaus.groovy.grails.web.pages.GroovyPagesUriSupport] import is never referenced
UnusedImport | 3 | 37 | [SRC]import org.springframework.core.io.ResourceLoader [MSG]The [org.springframework.core.io.ResourceLoader] import is never referenced
UnusedImport | 3 | 40 | [SRC]import org.springframework.web.context.support.ServletCo..sourceLoader [MSG]The [org.springframework.web.context.support.ServletContextResourceLoader] import is never referenced
UnusedImport | 3 | 43 | [SRC]import org.codehaus.groovy.grails.web.pages.discovery.Gr..ScriptSource [MSG]The [org.codehaus.groovy.grails.web.pages.discovery.GroovyPageResourceScriptSource] import is never referenced
UnusedImport | 3 | 44 | [SRC]import org.codehaus.groovy.grails.web.pages.discovery.Gr..ScriptSource [MSG]The [org.codehaus.groovy.grails.web.pages.discovery.GroovyPageCompiledScriptSource] import is never referenced
UnnecessaryGetter | 3 | 126 | [SRC]def oldRequestAttributes = RequestContextHolder.getRequestAttributes() [MSG]Violation in class grails.gsp.PageRenderer. getRequestAttributes() can probably be rewritten as requestAttributes
UnnecessaryGetter | 3 | 198 | [SRC]return new StringBuffer(getRequestURI()) [MSG]Violation in class grails.gsp.PageRenderer$PageRenderRequest. getRequestURI() can probably be rewritten as requestURI
UnnecessaryGetter | 3 | 309 | [SRC]return Locale.getDefault() [MSG]Violation in class grails.gsp.PageRenderer$PageRenderRequest. getDefault() can probably be rewritten as default
UnnecessaryGetter | 3 | 313 | [SRC]return new IteratorEnumeration(Locale.getAvailableLocale...iterator()) [MSG]Violation in class grails.gsp.PageRenderer$PageRenderRequest. getAvailableLocales() can probably be rewritten as availableLocales
UnnecessaryGetter | 3 | 381 | [SRC]Locale locale = Locale.getDefault() [MSG]Violation in class grails.gsp.PageRenderer$PageRenderResponse. getDefault() can probably be rewritten as default

## Package: grails-web.src.main.groovy.org.codehaus.groovy.grails.web.mapping

### ➥ DefaultLinkGenerator.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 | 64 | [SRC]String link(Map attrs, String encoding = 'UTF-8') { [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.DefaultLinkGenerator. The cyclomatic complexity for method [link] is [27]
EmptyCatchBlock | 2 | 142 | [SRC]} catch(e){} [MSG]The catch block is empty
UnnecessaryGetter | 3 | 74 | [SRC]if (cp == null) cp = getContextPath() [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.DefaultLinkGenerator. getContextPath() can probably be rewritten as contextPath
UnnecessaryGetter | 3 | 97 | [SRC]def controller = controllerAttribute != null ? controlle..rollerName() [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.DefaultLinkGenerator. getControllerName() can probably be rewritten as controllerName
UnnecessaryGetter | 3 | 149 | [SRC]final cp = contextPathAttribute != null ? contextPathAtt..ontextPath() [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.DefaultLinkGenerator. getContextPath() can probably be rewritten as contextPath
UnnecessaryGetter | 3 | 177 | [SRC]final cp = contextPathAttribute == null ? getContextPath..athAttribute [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.DefaultLinkGenerator. getContextPath() can probably be rewritten as contextPath
UnnecessaryGetter | 3 | 216 | [SRC]contextPath = requestStateLookupStrategy.getContextPath() [MSG]Violation in class org.codehaus.groovy.grails.web.mapping.DefaultLinkGenerator. getContextPath() can probably be rewritten as contextPath
UnnecessaryElseStatement | 3 | 259 | [SRC]else { [MSG]When an if statement block ends with a return statement the else is unnecessary
UnnecessaryElseStatement | 3 | 263 | [SRC]else { [MSG]When an if statement block ends with a return statement the else is unnecessary

### ➥ ForwardUrlMappingInfo.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 17 | [SRC]import org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest [MSG]The [org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest] import is never referenced

## Package: grails-web.src.main.groovy.org.codehaus.groovy.grails.web.mime

### ➥ MimeType.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 62 | [SRC]def context = webRequest?.getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.web.mime.MimeType. getApplicationContext() can probably be rewritten as applicationContext

## Package: grails-web.src.main.groovy.org.codehaus.groovy.grails.web.pages

### ➥ GroovyPageCompiler.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 87 | [SRC]def relPackagePath = relativePath(viewsDir, gspfile.getParentFile()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageCompiler. getParentFile() can probably be rewritten as parentFile
UnnecessaryGetter | 3 | 119 | [SRC]gspgroovyfile.getParentFile().mkdirs() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageCompiler. getParentFile() can probably be rewritten as parentFile

### ➥ GroovyPageCompilerTask.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 58 | [SRC]classpath = new Path(getProject()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageCompilerTask. getProject() can probably be rewritten as project
UnnecessaryGetter | 3 | 81 | [SRC]throw new BuildException("destination [${destdir}] direc..tLocation()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageCompilerTask. getLocation() can probably be rewritten as location
UnnecessaryGetter | 3 | 87 | [SRC]throw new BuildException("source [${srcdir}] directory d..tLocation()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageCompilerTask. getLocation() can probably be rewritten as location
UnnecessaryGetter | 3 | 100 | [SRC]GrailsConsole.getInstance().updateStatus("Compiling ${gs..kagename}]") [MSG]Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageCompilerTask. getInstance() can probably be rewritten as instance

### ➥ GroovyPagesMetaUtils.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGroovyImport | 3 | 4 | [SRC]import groovy.lang.MetaClass
UnnecessaryGetter | 3 | 20 | [SRC]methodMissingForTagLib(mc, mc.getTheClass(), gspTagLibra..ToMetaClass) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.GroovyPagesMetaUtils. getTheClass() can probably be rewritten as theClass

## Package: grails-web.src.main.groovy.org.codehaus.groovy.grails.web.pages.ext.jsp

### ➥ GroovyPagesJspFactory.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 16 | [SRC]PageContext getPageContext(Servlet servlet, ServletReque..oolean b1) { [MSG]Violation in class GroovyPagesJspFactory. Method parameter [servlet] is never referenced in the method getPageContext of class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory
UnusedMethodParameter | 2 | 16 | [SRC]PageContext getPageContext(Servlet servlet, ServletReque..oolean b1) { [MSG]Violation in class GroovyPagesJspFactory. Method parameter [servletRequest] is never referenced in the method getPageContext of class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory
UnusedMethodParameter | 2 | 16 | [SRC]PageContext getPageContext(Servlet servlet, ServletReque..oolean b1) { [MSG]Violation in class GroovyPagesJspFactory. Method parameter [servletResponse] is never referenced in the method getPageContext of class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory
UnusedMethodParameter | 2 | 16 | [SRC]PageContext getPageContext(Servlet servlet, ServletReque..oolean b1) { [MSG]Violation in class GroovyPagesJspFactory. Method parameter [s] is never referenced in the method getPageContext of class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory
UnusedMethodParameter | 2 | 16 | [SRC]PageContext getPageContext(Servlet servlet, ServletReque..oolean b1) { [MSG]Violation in class GroovyPagesJspFactory. Method parameter [b] is never referenced in the method getPageContext of class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory
UnusedMethodParameter | 2 | 16 | [SRC]PageContext getPageContext(Servlet servlet, ServletReque..oolean b1) { [MSG]Violation in class GroovyPagesJspFactory. Method parameter [i] is never referenced in the method getPageContext of class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory
UnusedMethodParameter | 2 | 16 | [SRC]PageContext getPageContext(Servlet servlet, ServletReque..oolean b1) { [MSG]Violation in class GroovyPagesJspFactory. Method parameter [b1] is never referenced in the method getPageContext of class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory
UnusedMethodParameter | 2 | 19 | [SRC]void releasePageContext(PageContext pageContext) { [MSG]Violation in class GroovyPagesJspFactory. Method parameter [pageContext] is never referenced in the method releasePageContext of class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory
UnnecessaryGetter | 3 | 24 | [SRC]return { getSpecificationVersion() } as JspEngineInfo [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory. getSpecificationVersion() can probably be rewritten as specificationVersion

### ➥ JspTagImpl.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 | 60 | [SRC]void doTag(Writer targetWriter, Map attributes, Closure body) { [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.JspTagImpl. The cyclomatic complexity for method [doTag] is [23]
UnusedMethodParameter | 2 | 153 | [SRC]protected handleSimpleTag(SimpleTag tag, Map attributes,..pageContext, [MSG]Violation in class JspTagImpl. Method parameter [attributes] is never referenced in the method handleSimpleTag of class org.codehaus.groovy.grails.web.pages.ext.jsp.JspTagImpl
UnnecessaryGetter | 3 | 62 | [SRC]GroovyPagesPageContext pageContext = PageContextFactory.getCurrent(); [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.JspTagImpl. getCurrent() can probably be rewritten as current
UnnecessaryGetter | 3 | 99 | [SRC]def out = pageContext.getOut() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.JspTagImpl. getOut() can probably be rewritten as out
UnnecessaryGetter | 3 | 121 | [SRC]LOG.warn "Tag ${tag.getClass().getName()} returned SKIP_..rted in GSP" [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.JspTagImpl. getName() can probably be rewritten as name

### ➥ PageContextFactory.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 38 | [SRC]def classLoader = Thread.currentThread().getContextClassLoader() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.PageContextFactory. getContextClassLoader() can probably be rewritten as contextClassLoader
UnnecessaryGetter | 3 | 51 | [SRC]def request = webRequest.getCurrentRequest() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.PageContextFactory. getCurrentRequest() can probably be rewritten as currentRequest
UnnecessaryGetter | 3 | 56 | [SRC]ServletContext servletContext = webRequest.getServletContext() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.PageContextFactory. getServletContext() can probably be rewritten as servletContext

### ➥ TagLibraryResolver.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 64 | [SRC]def jarURLs = grailsApplication.isWarDeployed() ? getJar..().getURLs() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getJarsFromServletContext() can probably be rewritten as jarsFromServletContext
UnnecessaryGetter | 3 | 64 | [SRC]def jarURLs = grailsApplication.isWarDeployed() ? getJar..().getURLs() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getURLs() can probably be rewritten as URLs
UnnecessaryGetter | 3 | 70 | [SRC]ZipEntry entry = zipInput.getNextEntry() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getNextEntry() can probably be rewritten as nextEntry
UnnecessaryGetter | 3 | 76 | [SRC]entry = zipInput.getNextEntry() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getNextEntry() can probably be rewritten as nextEntry
UnnecessaryGetter | 3 | 86 | [SRC]Resource webXml = getWebXmlFromServletContext() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getWebXmlFromServletContext() can probably be rewritten as webXmlFromServletContext
UnnecessaryGetter | 3 | 98 | [SRC]def jarURLs = grailsApplication.isWarDeployed() ? getJar..().getURLs() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getJarsFromServletContext() can probably be rewritten as jarsFromServletContext
UnnecessaryGetter | 3 | 98 | [SRC]def jarURLs = grailsApplication.isWarDeployed() ? getJar..().getURLs() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getURLs() can probably be rewritten as URLs
UnnecessaryGetter | 3 | 115 | [SRC]def source = new InputSource(webXml.getInputStream()) [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getInputStream() can probably be rewritten as inputStream
UnnecessaryGetter | 3 | 120 | [SRC]def reader = factory.newSAXParser().getXMLReader() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getXMLReader() can probably be rewritten as XMLReader
UnnecessaryGetter | 3 | 126 | [SRC]for (entry in webXmlReader.getTagLocations()) { [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getTagLocations() can probably be rewritten as tagLocations
UnnecessaryGetter | 3 | 157 | [SRC]ZipEntry entry = zipInput.getNextEntry() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getNextEntry() can probably be rewritten as nextEntry
UnnecessaryGetter | 3 | 159 | [SRC]def name = entry.getName() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 169 | [SRC]if ("taglib".equals(pullParser.getName())) { [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 175 | [SRC]if (token == XmlPullParser.START_TAG && "uri".equals(pul..etName())) { [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getName() can probably be rewritten as name
UnnecessaryGetter | 3 | 177 | [SRC]tagLibURI = pullParser.getText()?.trim() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getText() can probably be rewritten as text
UnnecessaryGetter | 3 | 191 | [SRC]entry = zipInput.getNextEntry() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getNextEntry() can probably be rewritten as nextEntry
UnnecessaryGetter | 3 | 216 | [SRC]def reader = factory.newSAXParser().getXMLReader() [MSG]Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getXMLReader() can probably be rewritten as XMLReader

### ➥ TldReader.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 36 | [SRC]void startElement(String nsuri, String localName, String..ttributes) { [MSG]Violation in class TldReader. Method parameter [nsuri] is never referenced in the method startElement of class org.codehaus.groovy.grails.web.pages.ext.jsp.TldReader
UnusedMethodParameter | 2 | 36 | [SRC]void startElement(String nsuri, String localName, String..ttributes) { [MSG]Violation in class TldReader. Method parameter [localName] is never referenced in the method startElement of class org.codehaus.groovy.grails.web.pages.ext.jsp.TldReader
UnusedMethodParameter | 2 | 36 | [SRC]void startElement(String nsuri, String localName, String..ttributes) { [MSG]Violation in class TldReader. Method parameter [attributes] is never referenced in the method startElement of class org.codehaus.groovy.grails.web.pages.ext.jsp.TldReader
UnusedMethodParameter | 2 | 46 | [SRC]void endElement(String nsuri, String localName, String qName) { [MSG]Violation in class TldReader. Method parameter [nsuri] is never referenced in the method endElement of class org.codehaus.groovy.grails.web.pages.ext.jsp.TldReader
UnusedMethodParameter | 2 | 46 | [SRC]void endElement(String nsuri, String localName, String qName) { [MSG]Violation in class TldReader. Method parameter [localName] is never referenced in the method endElement of class org.codehaus.groovy.grails.web.pages.ext.jsp.TldReader

### ➥ WebXmlTagLibraryReader.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedMethodParameter | 2 | 41 | [SRC]void startElement(String ns, String localName, String qN..ttributes) { [MSG]Violation in class WebXmlTagLibraryReader. Method parameter [ns] is never referenced in the method startElement of class org.codehaus.groovy.grails.web.pages.ext.jsp.WebXmlTagLibraryReader
UnusedMethodParameter | 2 | 41 | [SRC]void startElement(String ns, String localName, String qN..ttributes) { [MSG]Violation in class WebXmlTagLibraryReader. Method parameter [localName] is never referenced in the method startElement of class org.codehaus.groovy.grails.web.pages.ext.jsp.WebXmlTagLibraryReader
UnusedMethodParameter | 2 | 41 | [SRC]void startElement(String ns, String localName, String qN..ttributes) { [MSG]Violation in class WebXmlTagLibraryReader. Method parameter [attributes] is never referenced in the method startElement of class org.codehaus.groovy.grails.web.pages.ext.jsp.WebXmlTagLibraryReader
UnusedMethodParameter | 2 | 51 | [SRC]void endElement(String ns, String localName, String qName) { [MSG]Violation in class WebXmlTagLibraryReader. Method parameter [ns] is never referenced in the method endElement of class org.codehaus.groovy.grails.web.pages.ext.jsp.WebXmlTagLibraryReader
UnusedMethodParameter | 2 | 51 | [SRC]void endElement(String ns, String localName, String qName) { [MSG]Violation in class WebXmlTagLibraryReader. Method parameter [localName] is never referenced in the method endElement of class org.codehaus.groovy.grails.web.pages.ext.jsp.WebXmlTagLibraryReader

## Package: grails-web.src.main.groovy.org.codehaus.groovy.grails.web.taglib

### ➥ NamespacedTagDispatcher.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 59 | [SRC]GroovyPagesMetaUtils.methodMissingForTagLib(getMetaClass..lopmentMode) [MSG]Violation in class org.codehaus.groovy.grails.web.taglib.NamespacedTagDispatcher. getMetaClass() can probably be rewritten as metaClass

### ➥ TemplateNamespacedTagDispatcher.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
SynchronizedOnThis | 2 | 22 | [SRC]synchronized(this) { [MSG]The synchronized statement uses the 'this' reference
UnusedImport | 3 | 3 | [SRC]import grails.util.CollectionUtils; [MSG]The [grails.util.CollectionUtils] import is never referenced
UnnecessaryGroovyImport | 3 | 5 | [SRC]import java.util.Map;

## Package: grails-web.src.main.groovy.org.codehaus.groovy.grails.web.util

### ➥ TypeConvertingMap.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 18 | [SRC]import org.apache.commons.lang.builder.HashCodeBuilder [MSG]The [org.apache.commons.lang.builder.HashCodeBuilder] import is never referenced

## Package: grails-webflow.src.main.groovy.grails.test

### ➥ WebFlowTestCase.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
JUnitPublicNonTestMethod | 2 | 60 | [SRC]abstract getFlow() [MSG]Violation in class WebFlowTestCase. The method getFlow is public but not a test method
JUnitPublicNonTestMethod | 2 | 65 | [SRC]String getFlowId() { "test" } [MSG]Violation in class WebFlowTestCase. The method getFlowId is public but not a test method
JUnitPublicNonTestMethod | 2 | 106 | [SRC]FlowDefinition registerFlow(String flowId, Closure flowClosure) { [MSG]Violation in class WebFlowTestCase. The method registerFlow is public but not a test method
JUnitPublicNonTestMethod | 2 | 115 | [SRC]FlowDefinition getFlowDefinition() { [MSG]Violation in class WebFlowTestCase. The method getFlowDefinition is public but not a test method
UnnecessaryGetter | 3 | 69 | [SRC]GrailsWebRequest webRequest = RequestContextHolder.getRe..Attributes() [MSG]Violation in class grails.test.WebFlowTestCase. getRequestAttributes() can probably be rewritten as requestAttributes
UnnecessaryGetter | 3 | 74 | [SRC]mockServletContext = webRequest.getServletContext() [MSG]Violation in class grails.test.WebFlowTestCase. getServletContext() can probably be rewritten as servletContext
UnnecessaryGetter | 3 | 75 | [SRC]applicationContext = WebApplicationContextUtils.getWebAp..etContext()) [MSG]Violation in class grails.test.WebFlowTestCase. getServletContext() can probably be rewritten as servletContext
UnnecessaryGetter | 3 | 95 | [SRC]flowBuilderServices.expressionParser = DefaultExpression..sionParser() [MSG]Violation in class grails.test.WebFlowTestCase. getExpressionParser() can probably be rewritten as expressionParser
UnnecessaryGetter | 3 | 110 | [SRC]FlowAssembler assembler = new FlowAssembler(builder, bui..erContext()) [MSG]Violation in class grails.test.WebFlowTestCase. getFlowBuilderContext() can probably be rewritten as flowBuilderContext
UnnecessaryGetter | 3 | 116 | [SRC]def flow = getFlow() [MSG]Violation in class grails.test.WebFlowTestCase. getFlow() can probably be rewritten as flow
UnnecessaryGetter | 3 | 123 | [SRC]return registerFlow(getFlowId(), flow) [MSG]Violation in class grails.test.WebFlowTestCase. getFlowId() can probably be rewritten as flowId

## Package: grails-webflow.src.main.groovy.org.codehaus.groovy.grails.webflow

### ➥ WebFlowPluginSupport.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 24 | [SRC]import org.codehaus.groovy.grails.webflow.persistence.Fl..ssionContext [MSG]The [org.codehaus.groovy.grails.webflow.persistence.FlowAwareCurrentSessionContext] import is never referenced
UnusedImport | 3 | 25 | [SRC]import org.codehaus.groovy.grails.webflow.persistence.Se..tionListener [MSG]The [org.codehaus.groovy.grails.webflow.persistence.SessionAwareHibernateFlowExecutionListener] import is never referenced
UnusedImport | 3 | 40 | [SRC]import org.springframework.webflow.execution.factory.Sta..stenerLoader [MSG]The [org.springframework.webflow.execution.factory.StaticFlowExecutionListenerLoader] import is never referenced
UnnecessarySelfAssignment | 3 | 71 | [SRC]viewFactoryCreator = viewFactoryCreator [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessarySelfAssignment | 3 | 71 | [SRC]viewFactoryCreator = viewFactoryCreator [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessaryPackageReference | 3 | 80 | [SRC]hibernateConversationListener(org.codehaus.groovy.grails..tionManager) [MSG]The org.codehaus.groovy.grails.webflow.persistence.SessionAwareHibernateFlowExecutionListener class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 80 | [SRC]hibernateConversationListener(org.codehaus.groovy.grails..tionManager) [MSG]The org.codehaus.groovy.grails.webflow.persistence.SessionAwareHibernateFlowExecutionListener class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 81 | [SRC]executionListenerLoader(org.springframework.webflow.exec..ionListener) [MSG]The org.springframework.webflow.execution.factory.StaticFlowExecutionListenerLoader class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 81 | [SRC]executionListenerLoader(org.springframework.webflow.exec..ionListener) [MSG]The org.springframework.webflow.execution.factory.StaticFlowExecutionListenerLoader class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 82 | [SRC]sessionFactory.currentSessionContextClass = org.codehaus..ssionContext [MSG]The org.codehaus.groovy.grails.webflow.persistence.FlowAwareCurrentSessionContext class was explicitly imported, so specifying the package name is not necessary
UnnecessaryPackageReference | 3 | 82 | [SRC]sessionFactory.currentSessionContextClass = org.codehaus..ssionContext [MSG]The org.codehaus.groovy.grails.webflow.persistence.FlowAwareCurrentSessionContext class was explicitly imported, so specifying the package name is not necessary
UnnecessarySelfAssignment | 3 | 103 | [SRC]flowExecutor = flowExecutor [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessarySelfAssignment | 3 | 103 | [SRC]flowExecutor = flowExecutor [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessaryGetter | 3 | 122 | [SRC]def assembler = new FlowAssembler(builder, builder.getFl..erContext()) [MSG]Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. getFlowBuilderContext() can probably be rewritten as flowBuilderContext
UnnecessaryGetter | 3 | 170 | [SRC]controller.getReference().getWrappedInstance().metaClass..rollerClass) [MSG]Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. getWrappedInstance() can probably be rewritten as wrappedInstance
UnnecessaryGetter | 3 | 170 | [SRC]controller.getReference().getWrappedInstance().metaClass..rollerClass) [MSG]Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. getReference() can probably be rewritten as reference
UnnecessaryDefInVariableDeclaration | 3 | 172 | [SRC]def FlowBuilder builder = new FlowBuilder(("${controller..lowRegistry) [MSG]Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. The def keyword is unneeded when a variable is declared with a type
UnnecessaryDefInVariableDeclaration | 3 | 172 | [SRC]def FlowBuilder builder = new FlowBuilder(("${controller..lowRegistry) [MSG]Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. The def keyword is unneeded when a variable is declared with a type
UnnecessaryGetter | 3 | 176 | [SRC]FlowAssembler flowAssembler = new FlowAssembler(builder,..erContext()) [MSG]Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. getFlowBuilderContext() can probably be rewritten as flowBuilderContext
UnnecessaryGetter | 3 | 182 | [SRC]controller.getReference().getWrappedInstance().metaClass..entMetaClass [MSG]Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. getWrappedInstance() can probably be rewritten as wrappedInstance
UnnecessaryGetter | 3 | 182 | [SRC]controller.getReference().getWrappedInstance().metaClass..entMetaClass [MSG]Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. getReference() can probably be rewritten as reference

## Package: grails-webflow.src.main.groovy.org.codehaus.groovy.grails.webflow.context.servlet

### ➥ GrailsFlowUrlHandler.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 26 | [SRC]import org.springframework.webflow.execution.repository...onRepository [MSG]The [org.springframework.webflow.execution.repository.FlowExecutionRepository] import is never referenced
UnusedImport | 3 | 32 | [SRC]import org.codehaus.groovy.grails.webflow.execution.Grai..ExecutorImpl [MSG]The [org.codehaus.groovy.grails.webflow.execution.GrailsFlowExecutorImpl] import is never referenced
UnnecessarySubstring | 3 | 68 | [SRC]String actionName = flowId.substring(flowId.lastIndexOf('/')+1) [MSG]Violation in class org.codehaus.groovy.grails.webflow.context.servlet.GrailsFlowUrlHandler. The String.substring(int) method can be replaced with the subscript operator
UnnecessarySubstring | 3 | 107 | [SRC]String actionName = flowId.substring(flowId.lastIndexOf('/') + 1) [MSG]Violation in class org.codehaus.groovy.grails.webflow.context.servlet.GrailsFlowUrlHandler. The String.substring(int) method can be replaced with the subscript operator

## Package: grails-webflow.src.main.groovy.org.codehaus.groovy.grails.webflow.engine.builder

### ➥ AbstractDelegate.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryDefInVariableDeclaration | 3 | 66 | [SRC]def MetaProperty property = metaClass.getMetaProperty(name) [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.AbstractDelegate. The def keyword is unneeded when a variable is declared with a type
UnnecessaryGetter | 3 | 67 | [SRC]def ctx = getApplicationContext() [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.AbstractDelegate. getApplicationContext() can probably be rewritten as applicationContext

### ➥ AbstractMapper.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyMethod | 2 | 123 | [SRC]void setValue(Object context, Object value) {} [MSG]Violation in class KeyExpression. The method setValue is both empty and not marked with @Override
UnusedMethodParameter | 2 | 123 | [SRC]void setValue(Object context, Object value) {} [MSG]Violation in class KeyExpression. Method parameter [context] is never referenced in the method setValue of class org.codehaus.groovy.grails.webflow.engine.builder.KeyExpression
UnusedMethodParameter | 2 | 123 | [SRC]void setValue(Object context, Object value) {} [MSG]Violation in class KeyExpression. Method parameter [value] is never referenced in the method setValue of class org.codehaus.groovy.grails.webflow.engine.builder.KeyExpression
UnusedMethodParameter | 2 | 125 | [SRC]Class getValueType(Object context) {Object} [MSG]Violation in class KeyExpression. Method parameter [context] is never referenced in the method getValueType of class org.codehaus.groovy.grails.webflow.engine.builder.KeyExpression

### ➥ ClosureExpression.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 35 | [SRC]def attrs = context?.attributes ? context.attributes : [:] [MSG]The variable [attrs] in class org.codehaus.groovy.grails.webflow.engine.builder.ClosureExpression is not used
EmptyMethod | 2 | 41 | [SRC]void setValue(Object context, Object value) { [MSG]Violation in class ClosureExpression. The method setValue is both empty and not marked with @Override
UnusedMethodParameter | 2 | 41 | [SRC]void setValue(Object context, Object value) { [MSG]Violation in class ClosureExpression. Method parameter [context] is never referenced in the method setValue of class org.codehaus.groovy.grails.webflow.engine.builder.ClosureExpression
UnusedMethodParameter | 2 | 41 | [SRC]void setValue(Object context, Object value) { [MSG]Violation in class ClosureExpression. Method parameter [value] is never referenced in the method setValue of class org.codehaus.groovy.grails.webflow.engine.builder.ClosureExpression
UnusedMethodParameter | 2 | 45 | [SRC]Class getValueType(Object context) { Object } [MSG]Violation in class ClosureExpression. Method parameter [context] is never referenced in the method getValueType of class org.codehaus.groovy.grails.webflow.engine.builder.ClosureExpression

### ➥ ClosureInvokingAction.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedPrivateField | 2 | 41 | [SRC]private static final String RESULT = "result" [MSG]The field RESULT is not used within the class org.codehaus.groovy.grails.webflow.engine.builder.ClosureInvokingAction
EmptyCatchBlock | 2 | 154 | [SRC]catch (MissingPropertyException e) { [MSG]The catch block is empty
UnnecessaryDotClass | 3 | 53 | [SRC]this.hasCommandObjects = noOfParams > 1 || (noOfParams =..ntext.class) [MSG]Object.class can be rewritten as Object
UnnecessaryDotClass | 3 | 53 | [SRC]this.hasCommandObjects = noOfParams > 1 || (noOfParams =..ntext.class) [MSG]RequestContext.class can be rewritten as RequestContext
UnnecessaryGetter | 3 | 73 | [SRC]prop.validate(delegate, delegate.getProperty(prop.getPro..localErrors) [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.ClosureInvokingAction. getPropertyName() can probably be rewritten as propertyName

### ➥ FlowBuilder.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyCatchBlock | 2 | 252 | [SRC]catch (MissingPropertyException mpe) { [MSG]The catch block is empty
EmptyCatchBlock | 2 | 262 | [SRC]catch (MissingPropertyException mpe) { [MSG]The catch block is empty
UnnecessaryGetter | 3 | 100 | [SRC]this.metaClass = GroovySystem.getMetaClassRegistry().get..ilder.class) [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getMetaClassRegistry() can probably be rewritten as metaClassRegistry
UnnecessaryDotClass | 3 | 100 | [SRC]this.metaClass = GroovySystem.getMetaClassRegistry().get..ilder.class) [MSG]FlowBuilder.class can be rewritten as FlowBuilder
UnnecessaryGetter | 3 | 113 | [SRC]super.getContext() [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getContext() can probably be rewritten as context
UnnecessaryGetter | 3 | 124 | [SRC]Flow flow = super.getFlow() [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlow() can probably be rewritten as flow
UnnecessaryGetter | 3 | 130 | [SRC]FlowArtifactFactory flowFactory = getContext().getFlowAr..actFactory() [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlowArtifactFactory() can probably be rewritten as flowArtifactFactory
UnnecessaryGetter | 3 | 130 | [SRC]FlowArtifactFactory flowFactory = getContext().getFlowAr..actFactory() [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getContext() can probably be rewritten as context
UnnecessaryGetter | 3 | 171 | [SRC]state = flowFactory.createEndState(name, getFlow(), getA..ntryAction), [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlow() can probably be rewritten as flow
UnnecessaryGetter | 3 | 195 | [SRC]state.getExceptionHandlerSet().add(eh) [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getExceptionHandlerSet() can probably be rewritten as exceptionHandlerSet
UnnecessaryGetter | 3 | 201 | [SRC]getFlow().setStartState(startFlow) [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlow() can probably be rewritten as flow
UnnecessarySubstring | 3 | 246 | [SRC]key = key.substring(GrailsApplicationAttributes.ERRORS.length() + 1) [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. The String.substring(int) method can be replaced with the subscript operator
UnnecessaryGetter | 3 | 276 | [SRC]getFlow(), [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlow() can probably be rewritten as flow
UnnecessaryGetter | 3 | 294 | [SRC]def controllerClass = flowInfo.subflow.getThisObject().getClass() [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getThisObject() can probably be rewritten as thisObject
UnnecessaryGetter | 3 | 306 | [SRC]Class controllerClass = flowClosure.getThisObject().getClass() [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getThisObject() can probably be rewritten as thisObject
UnnecessaryGetter | 3 | 313 | [SRC]return flowFactory.createSubflowState(stateId, getFlow()..on(subflow), [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlow() can probably be rewritten as flow
UnnecessaryGetter | 3 | 321 | [SRC]getFlow(), [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlow() can probably be rewritten as flow
UnnecessaryGetter | 3 | 333 | [SRC]return flowFactory.createEndState(stateId, getFlow(), [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlow() can probably be rewritten as flow
UnnecessaryGetter | 3 | 346 | [SRC]ViewFactory viewFactory = flowBuilderServices.getViewFac..ViewFactory( [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getViewFactoryCreator() can probably be rewritten as viewFactoryCreator
UnnecessaryGetter | 3 | 348 | [SRC]flowBuilderServices.getExpressionParser(), [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getExpressionParser() can probably be rewritten as expressionParser
UnnecessaryGetter | 3 | 349 | [SRC]flowBuilderServices.getConversionService(), [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getConversionService() can probably be rewritten as conversionService
UnnecessaryGetter | 3 | 454 | [SRC]throw new FlowDefinitionException("Event handler in flow..etFlowId() + [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowInfoCapturer. getFlowId() can probably be rewritten as flowId

### ➥ GrailsSubflowAttributeMapper.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
EmptyMethod | 2 | 47 | [SRC]void mapSubflowOutput(AttributeMap output, RequestContext context) {} [MSG]Violation in class GrailsSubflowAttributeMapper. The method mapSubflowOutput is both empty and not marked with @Override
UnusedMethodParameter | 2 | 47 | [SRC]void mapSubflowOutput(AttributeMap output, RequestContext context) {} [MSG]Violation in class GrailsSubflowAttributeMapper. Method parameter [output] is never referenced in the method mapSubflowOutput of class org.codehaus.groovy.grails.webflow.engine.builder.GrailsSubflowAttributeMapper
UnusedMethodParameter | 2 | 47 | [SRC]void mapSubflowOutput(AttributeMap output, RequestContext context) {} [MSG]Violation in class GrailsSubflowAttributeMapper. Method parameter [context] is never referenced in the method mapSubflowOutput of class org.codehaus.groovy.grails.webflow.engine.builder.GrailsSubflowAttributeMapper

### ➥ InputMapper.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryElseStatement | 3 | 41 | [SRC]else { [MSG]When an if statement block ends with a return statement the else is unnecessary

### ➥ RuntimeRedirectAction.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 52 | [SRC]return new GroovyShell(new BeanBinding(delegate)).evalua...getValue()) [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.RuntimeRedirectAction. getValue() can probably be rewritten as value
UnnecessaryGetter | 3 | 69 | [SRC]context.getExternalContext().requestExternalRedirect("co..ative:$url") [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.RuntimeRedirectAction. getExternalContext() can probably be rewritten as externalContext

### ➥ UriRedirectAction.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 19 | [SRC]import org.codehaus.groovy.grails.web.mapping.UrlCreator [MSG]The [org.codehaus.groovy.grails.web.mapping.UrlCreator] import is never referenced
UnusedImport | 3 | 20 | [SRC]import org.codehaus.groovy.grails.web.mapping.UrlMappingsHolder [MSG]The [org.codehaus.groovy.grails.web.mapping.UrlMappingsHolder] import is never referenced
UnnecessarySelfAssignment | 3 | 37 | [SRC]def uri = uri [MSG]Assignment a variable to itself should be unnecessary. Remove this dead code
UnnecessaryGetter | 3 | 40 | [SRC]uri = new GroovyShell(new BeanBinding(delegate)).evaluat...getValue()) [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.UriRedirectAction. getValue() can probably be rewritten as value
UnnecessaryGetter | 3 | 43 | [SRC]context.getExternalContext().requestExternalRedirect(uri) [MSG]Violation in class org.codehaus.groovy.grails.webflow.engine.builder.UriRedirectAction. getExternalContext() can probably be rewritten as externalContext

## Package: scripts

### ➥ Console.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
BusyWait | 2 | 48 | [SRC]sleep(Integer.MAX_VALUE) [MSG]Busy wait detected. Switch the usage of Thread.sleep() to a lock or gate from java.util.concurrent
EmptyMethod | 2 | 80 | [SRC]void focusLost(FocusEvent e) {} [MSG]Violation in class ConsoleFocusListener. The method focusLost is both empty and not marked with @Override
UnusedMethodParameter | 2 | 80 | [SRC]void focusLost(FocusEvent e) {} [MSG]Violation in class ConsoleFocusListener. Method parameter [e] is never referenced in the method focusLost of class ConsoleFocusListener

### ➥ DependencyReport.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 38 | [SRC]def ivySettings = ant.project.setProperty("ivy.cache.dir..bsolutePath) [MSG]The variable [ivySettings] in class None is not used

### ➥ Help_.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedVariable | 2 | 70 | [SRC]def helpText = "" [MSG]The variable [helpText] in class None is not used
UnnecessaryGetter | 3 | 55 | [SRC]String scriptname = script.getName() [MSG]Violation in class None. getName() can probably be rewritten as name
UnnecessarySubstring | 3 | 56 | [SRC]return new File(helpDir, scriptname.substring(0, scriptn..)) + ".txt") [MSG]Violation in class None. The String.substring(int, int) method can be replaced with the subscript operator
UnnecessaryCollectCall | 3 | 68 | [SRC]def scripts = pluginSettings.availableScripts.collect { it.file } [MSG]Violation in class None. The call to collect could probably be rewritten as a spread expression: pluginSettings.availableScripts*.file
UnnecessaryGetter | 3 | 112 | [SRC]grails ${scriptName} -- ${getDefaultDescription()} [MSG]Violation in class None. getDefaultDescription() can probably be rewritten as defaultDescription

### ➥ ListPluginUpdates.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 61 | [SRC]def availablePluginVersions = getAvailablePluginVersions() [MSG]Violation in class None. getAvailablePluginVersions() can probably be rewritten as availablePluginVersions
UnnecessaryGetter | 3 | 62 | [SRC]def installedPluginVersions = getInstalledPluginVersions() [MSG]Violation in class None. getInstalledPluginVersions() can probably be rewritten as installedPluginVersions

### ➥ ListPlugins_.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 66 | [SRC]def pluginInfos = pluginSettings.getPluginInfos() [MSG]Violation in class None. getPluginInfos() can probably be rewritten as pluginInfos

### ➥ RefreshDependencies.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 17 | [SRC]import groovy.xml.NamespaceBuilder [MSG]The [groovy.xml.NamespaceBuilder] import is never referenced
UnusedImport | 3 | 18 | [SRC]import org.codehaus.groovy.grails.resolve.IvyDependencyManager [MSG]The [org.codehaus.groovy.grails.resolve.IvyDependencyManager] import is never referenced

### ➥ Stats.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessarySubstring | 3 | 71 | [SRC]file.path.substring(baseDirPathLength) =~ info.path && [MSG]Violation in class None. The String.substring(int) method can be replaced with the subscript operator

### ➥ Upgrade.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 |  | [SRC]true [MSG]Violation in class None. The cyclomatic complexity for method [run] is [35]
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 125 | [SRC]['Config.groovy'].each() {template -> [MSG]Violation in class None. Parentheses in the 'each' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 131 | [SRC]['BuildConfig.groovy'].each() {template -> [MSG]Violation in class None. Parentheses in the 'each' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 138 | [SRC]['DataSource.groovy'].each() {template -> [MSG]Violation in class None. Parentheses in the 'each' method call are unnecessary and can be removed.
UnnecessaryParenthesesForMethodCallWithClosure | 3 | 146 | [SRC]['UrlMappings.groovy'].each() {template -> [MSG]Violation in class None. Parentheses in the 'each' method call are unnecessary and can be removed.

### ➥ _GrailsArgParsing.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 26 | [SRC]if (getBinding().variables.containsKey("_grails_arg_pars..ed")) return [MSG]Violation in class None. getBinding() can probably be rewritten as binding

### ➥ _GrailsBootstrap.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryCollectCall | 3 | 65 | [SRC]def locations = new ArrayList(grailsSettings.pluginDirec..olutePath }) [MSG]Violation in class None. The call to collect could probably be rewritten as a spread expression: grailsSettings.pluginDirectories*.absolutePath

### ➥ _GrailsClasspath.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 29 | [SRC]if (getBinding().variables.containsKey("_grails_classpat..ed")) return [MSG]Violation in class None. getBinding() can probably be rewritten as binding

### ➥ _GrailsClean.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 26 | [SRC]if (getBinding().variables.containsKey("_grails_clean_called")) return [MSG]Violation in class None. getBinding() can probably be rewritten as binding
UnnecessaryObjectReferences | 3 | 48 | [SRC]ant.delete(dir:classesDirPath) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 49 | [SRC]ant.delete(dir:pluginClassesDirPath, failonerror:false) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 50 | [SRC]ant.delete(dir:resourcesDirPath) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 51 | [SRC]ant.delete(dir:testDirPath) [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 52 | [SRC]ant.delete(failonerror:false, includeemptydirs: true) { [MSG]The code could be more concise by using a with() or identity() block

### ➥ _GrailsCreateArtifacts.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 |  | [SRC]true [MSG]Violation in class None. The cyclomatic complexity for method [run] is [26]

### ➥ _GrailsDocs.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 |  | [SRC]true [MSG]Violation in class None. The cyclomatic complexity for method [run] is [30]
UnnecessaryGetter | 3 | 209 | [SRC]def context = DocumentationContext.getInstance() [MSG]Violation in class None. getInstance() can probably be rewritten as instance
UnnecessaryObjectReferences | 3 | 254 | [SRC]publisher.license = "" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 255 | [SRC]publisher.copyright = "" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 256 | [SRC]publisher.footer = "" [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 257 | [SRC]publisher.engineProperties = config?.grails?.doc [MSG]The code could be more concise by using a with() or identity() block

### ➥ _GrailsEvents.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 28 | [SRC]if (getBinding().variables.containsKey("_grails_events_c..ed")) return [MSG]Violation in class None. getBinding() can probably be rewritten as binding

### ➥ _GrailsInit.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 25 | [SRC]import org.springframework.core.io.FileSystemResource [MSG]The [org.springframework.core.io.FileSystemResource] import is never referenced
UnusedImport | 3 | 26 | [SRC]import grails.util.GrailsNameUtils [MSG]The [grails.util.GrailsNameUtils] import is never referenced
UnnecessaryGetter | 3 | 31 | [SRC]if (getBinding().variables.containsKey("_init_called")) return [MSG]Violation in class None. getBinding() can probably be rewritten as binding

### ➥ _GrailsPackage.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnnecessaryGetter | 3 | 28 | [SRC]if (getBinding().variables.containsKey("_grails_package_..ed")) return [MSG]Violation in class None. getBinding() can probably be rewritten as binding

### ➥ _GrailsPluginDev.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedPrivateMethod | 2 | 130 | [SRC]private loadBasePlugin() { [MSG]The method loadBasePlugin is not used within _GrailsPluginDev.groovy
UnusedImport | 3 | 17 | [SRC]import groovy.xml.MarkupBuilder [MSG]The [groovy.xml.MarkupBuilder] import is never referenced
UnusedImport | 3 | 18 | [SRC]import grails.util.GrailsNameUtils [MSG]The [grails.util.GrailsNameUtils] import is never referenced
UnusedImport | 3 | 19 | [SRC]import grails.util.PluginBuildSettings [MSG]The [grails.util.PluginBuildSettings] import is never referenced
UnusedImport | 3 | 21 | [SRC]import org.apache.commons.io.FilenameUtils [MSG]The [org.apache.commons.io.FilenameUtils] import is never referenced
UnusedImport | 3 | 22 | [SRC]import org.apache.ivy.core.report.ArtifactDownloadReport [MSG]The [org.apache.ivy.core.report.ArtifactDownloadReport] import is never referenced
UnnecessaryGetter | 3 | 64 | [SRC]def descriptor = pluginSettings.getBasePluginDescriptor() [MSG]Violation in class None. getBasePluginDescriptor() can probably be rewritten as basePluginDescriptor
UnnecessaryCollectCall | 3 | 104 | [SRC]packager.jarFiles = deps.collect { it.localFile } [MSG]Violation in class None. The call to collect could probably be rewritten as a spread expression: deps*.localFile

### ➥ _GrailsPlugins.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 17 | [SRC]import groovy.xml.dom.DOMCategory [MSG]The [groovy.xml.dom.DOMCategory] import is never referenced
UnusedImport | 3 | 19 | [SRC]import org.codehaus.groovy.grails.plugins.GrailsPluginInfo [MSG]The [org.codehaus.groovy.grails.plugins.GrailsPluginInfo] import is never referenced
UnusedImport | 3 | 20 | [SRC]import org.codehaus.groovy.grails.resolve.PluginResolveEngine [MSG]The [org.codehaus.groovy.grails.resolve.PluginResolveEngine] import is never referenced
UnusedImport | 3 | 21 | [SRC]import grails.util.BuildSettings [MSG]The [grails.util.BuildSettings] import is never referenced

### ➥ _GrailsRun.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 |  | [SRC]true [MSG]Violation in class None. The cyclomatic complexity for method [run] is [24]
UnusedMethodParameter | 2 | 183 | [SRC]void actionPerformed(ActionEvent e) { [MSG]Violation in class None$1. Method parameter [e] is never referenced in the method actionPerformed of class None$1
UnnecessaryGroovyImport | 3 | 24 | [SRC]import java.net.ServerSocket
UnnecessaryGetter | 3 | 128 | [SRC]Metadata.getCurrent().put(Metadata.WAR_DEPLOYED, "true") [MSG]Violation in class None. getCurrent() can probably be rewritten as current

### ➥ _GrailsSettings.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
UnusedImport | 3 | 19 | [SRC]import grails.util.GrailsNameUtils [MSG]The [grails.util.GrailsNameUtils] import is never referenced
UnusedImport | 3 | 21 | [SRC]import grails.util.Metadata [MSG]The [grails.util.Metadata] import is never referenced
UnusedImport | 3 | 25 | [SRC]import org.springframework.core.io.ClassPathResource [MSG]The [org.springframework.core.io.ClassPathResource] import is never referenced
UnusedImport | 3 | 26 | [SRC]import org.springframework.core.io.FileSystemResource [MSG]The [org.springframework.core.io.FileSystemResource] import is never referenced
UnusedImport | 3 | 27 | [SRC]import org.springframework.core.io.Resource [MSG]The [org.springframework.core.io.Resource] import is never referenced
UnusedImport | 3 | 28 | [SRC]import org.springframework.core.io.support.PathMatchingR..ternResolver [MSG]The [org.springframework.core.io.support.PathMatchingResourcePatternResolver] import is never referenced
UnusedImport | 3 | 29 | [SRC]import org.springframework.util.FileCopyUtils [MSG]The [org.springframework.util.FileCopyUtils] import is never referenced
UnnecessaryGetter | 3 | 40 | [SRC]if (getBinding().variables.containsKey("_settings_called")) return [MSG]Violation in class None. getBinding() can probably be rewritten as binding
UnnecessaryGetter | 3 | 76 | [SRC]if (grailsSettings.defaultEnv && getBinding().variables...riptEnv")) { [MSG]Violation in class None. getBinding() can probably be rewritten as binding
UnnecessaryGetter | 3 | 88 | [SRC]if (getBinding().variables.containsKey("scriptScope")) { [MSG]Violation in class None. getBinding() can probably be rewritten as binding

### ➥ _GrailsTest.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 |  | [SRC]true [MSG]Violation in class None. The cyclomatic complexity for method [run] is [53]
UnusedImport | 3 | 17 | [SRC]import grails.util.GrailsUtil [MSG]The [grails.util.GrailsUtil] import is never referenced
UnusedImport | 3 | 27 | [SRC]import org.codehaus.groovy.grails.test.report.junit.JUni..portsFactory [MSG]The [org.codehaus.groovy.grails.test.report.junit.JUnitReportsFactory] import is never referenced
UnusedImport | 3 | 33 | [SRC]import org.codehaus.groovy.grails.test.event.GrailsTestE..soleReporter [MSG]The [org.codehaus.groovy.grails.test.event.GrailsTestEventConsoleReporter] import is never referenced
UnnecessaryGetter | 3 | 126 | [SRC]if (reRunTests) testNames = getFailedTests() [MSG]Violation in class None. getFailedTests() can probably be rewritten as failedTests

### ➥ _GrailsWar.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 |  | [SRC]true [MSG]Violation in class None. The cyclomatic complexity for method [run] is [32]
UnusedVariable | 2 | 191 | [SRC]def compileScopePluginInfo = ps.compileScopePluginInfo [MSG]The variable [compileScopePluginInfo] in class None is not used
UnnecessaryGetter | 3 | 192 | [SRC]def compileScopePluginInfos = ps.getCompileScopedSupport..luginInfos() [MSG]Violation in class None. getCompileScopedSupportedPluginInfos() can probably be rewritten as compileScopedSupportedPluginInfos
UnnecessaryGetter | 3 | 193 | [SRC]def resourceList = ps.getCompileScopedArtefactResources() [MSG]Violation in class None. getCompileScopedArtefactResources() can probably be rewritten as compileScopedArtefactResources
UnnecessaryGetter | 3 | 219 | [SRC]attribute(name:"Bundle-Version",value:"${metadata.getApp..Version()}") [MSG]Violation in class None. getApplicationVersion() can probably be rewritten as applicationVersion
UnnecessaryGetter | 3 | 225 | [SRC]switch (metadata.getServletVersion()) { [MSG]Violation in class None. getServletVersion() can probably be rewritten as servletVersion
UnnecessaryGetter | 3 | 258 | [SRC]attribute(name:"Implementation-Version",value:"${metadat..Version()}") [MSG]Violation in class None. getApplicationVersion() can probably be rewritten as applicationVersion
UnnecessaryGetter | 3 | 259 | [SRC]attribute(name:"Grails-Version",value:"${metadata.getGra..Version()}") [MSG]Violation in class None. getGrailsVersion() can probably be rewritten as grailsVersion
UnnecessaryDefInMethodDeclaration | 3 | 334 | [SRC]protected def createDescriptorInternal(pluginInfos, resourceList) { [MSG]Violation in class None. The def keyword is unneeded when a method is marked protected
UnnecessaryDefInMethodDeclaration | 3 | 395 | [SRC]private def warPluginsInternal(pluginInfos) { [MSG]Violation in class None. The def keyword is unneeded when a method is marked private
UnnecessaryDefInMethodDeclaration | 3 | 405 | [SRC]private def warPluginForPluginInfo(GrailsPluginInfo info) { [MSG]Violation in class None. The def keyword is unneeded when a method is marked private
UnnecessaryGetter | 3 | 497 | [SRC]def version = metadata.getApplicationVersion() [MSG]Violation in class None. getApplicationVersion() can probably be rewritten as applicationVersion

### ➥ _PluginDependencies.groovy

Rule Name | Priority | Line # | Source Line / Message
--- | --- | --- | ---
CyclomaticComplexity | 2 |  | [SRC]true [MSG]Violation in class None. The cyclomatic complexity for method [run] is [32]
UnusedVariable | 2 | 151 | [SRC]def application [MSG]The variable [application] in class None is not used
EmptyCatchBlock | 2 | 302 | [SRC]catch (e) { [MSG]The catch block is empty
UnusedImport | 3 | 17 | [SRC]import grails.util.BuildSettings [MSG]The [grails.util.BuildSettings] import is never referenced
UnusedImport | 3 | 20 | [SRC]import grails.util.PluginBuildSettings [MSG]The [grails.util.PluginBuildSettings] import is never referenced
UnusedImport | 3 | 26 | [SRC]import org.codehaus.groovy.control.CompilationUnit [MSG]The [org.codehaus.groovy.control.CompilationUnit] import is never referenced
UnusedImport | 3 | 28 | [SRC]import org.codehaus.groovy.grails.documentation.DocumentationContext [MSG]The [org.codehaus.groovy.grails.documentation.DocumentationContext] import is never referenced
UnusedImport | 3 | 29 | [SRC]import org.codehaus.groovy.grails.documentation.DocumentedMethod [MSG]The [org.codehaus.groovy.grails.documentation.DocumentedMethod] import is never referenced
UnusedImport | 3 | 30 | [SRC]import org.codehaus.groovy.grails.documentation.DocumentedProperty [MSG]The [org.codehaus.groovy.grails.documentation.DocumentedProperty] import is never referenced
UnnecessaryGetter | 3 | 52 | [SRC]if (getBinding().variables.containsKey("_plugin_dependen..ed")) return [MSG]Violation in class None. getBinding() can probably be rewritten as binding
UnnecessaryGetter | 3 | 147 | [SRC]def pluginFiles = pluginSettings.getPluginDescriptorsFor..nvironment() [MSG]Violation in class None. getPluginDescriptorsForCurrentEnvironment() can probably be rewritten as pluginDescriptorsForCurrentEnvironment
UnnecessaryObjectReferences | 3 | 308 | [SRC]pluginInstallEngine.pluginDirVariableStore = binding [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryObjectReferences | 3 | 309 | [SRC]pluginInstallEngine.pluginScriptRunner = runPluginScript [MSG]The code could be more concise by using a with() or identity() block
UnnecessaryGetter | 3 | 317 | [SRC]GrailsResourceLoaderHolder.resourceLoader = new GrailsRe..vironment()) [MSG]Violation in class None. getArtefactResourcesForCurrentEnvironment() can probably be rewritten as artefactResourcesForCurrentEnvironment

## Rule Descriptions

# | Rule Name | Description
--- | --- | ---
1 | AddEmptyString | Finds empty string literals which are being added. This is an inefficient way to convert any type to a String.
2 | AssertWithinFinallyBlock | Checks for assert statements within a finally block. An assert can throw an exception, hiding the original exception, if there is one.
3 | AssignmentInConditional | An assignment operator (=) was used in a conditional test. This is usually a typo, and the comparison operator (==) was intended.
4 | BigDecimalInstantiation | Checks for calls to the BigDecimal constructors that take a double parameter, which may result in an unexpected BigDecimal value.
5 | BitwiseOperatorInConditional | Checks for bitwise operations in conditionals, if you need to do a bitwise operation then it is best practive to extract a temp variable.
6 | BooleanGetBoolean | This rule catches usages of java.lang.Boolean.getBoolean(String) which reads a boolean from the System properties. It is often mistakenly used to attempt to read user input or parse a String into a boolean. It is a poor piece of API to use; replace it with System.properties['prop'].
7 | BrokenNullCheck | Looks for faulty checks for null that can cause a NullPointerException.
8 | BrokenOddnessCheck | The code uses x % 2 == 1 to check to see if a value is odd, but this won't work for negative numbers (e.g., (-5) % 2 == -1). If this code is intending to check for oddness, consider using x & 1 == 1, or x % 2 != 0.
9 | BusyWait | Busy waiting (forcing a Thread.sleep() while waiting on a condition) should be avoided. Prefer using the gate and barrier objects in the java.util.concurrent package.
10 | ChainedTest | A test method that invokes another test method is a chained test; the methods are dependent on one another. Tests should be isolated, and not be dependent on one another.
11 | ClassForName | Using Class.forName(...) is a common way to add dynamic behavior to a system. However, using this method can cause resource leaks because the classes can be pinned in memory for long periods of time.
12 | ComparisonOfTwoConstants | Checks for expressions where a comparison operator or equals() or compareTo() is used to compare two constants to each other or two literals that contain only constant values., e.g.: 23 == 67, Boolean.FALSE != false, 0.17 <= 0.99, "abc" > "ddd", [a:1] <=> [a:2], [1,2].equals([3,4]) or [a:false, b:true].compareTo(['a':34.5, b:Boolean.TRUE].
13 | ComparisonWithSelf | Checks for expressions where a comparison operator or equals() or compareTo() is used to compare a variable to itself, e.g.: x == x, x != x, x <=> x, x < x, x =>= x, x.equals(x) or x.compareTo(x), where x is a variable.
14 | ConsecutiveLiteralAppends | Violations occur when method calls to append(Object) are chained together with literals as parameters. The chained calls can be joined into one invocation.
15 | ConsecutiveStringConcatenation | Catches concatenation of two string literals on the same line. These can safely by joined.
16 | ConstantAssertExpression | Checks for assert statements where the assert boolean condition expression is a constant or literal value.
17 | ConstantIfExpression | Checks for if statements with a constant value for the if expression, such as true, false, null, or a literal constant value.
18 | ConstantTernaryExpression | Checks for ternary expressions with a constant value for the boolean expression, such as true, false, null, or a literal constant value.
19 | CoupledTestCase | This rule finds test cases that are coupled to other test cases, either by invoking static methods on another test case or by creating instances of another test case. If you require shared logic in test cases then extract that logic to a new class where it can properly be reused.
20 | CyclomaticComplexity | Checks the cyclomatic complexity for methods/classes.A method (or "closure field") with a cyclomatic complexity value greater than the maxMethodComplexity property (20) causes a violation. Likewise, a class that has an (average method) cyclomatic complexityvalue greater than the maxClassAverageMethodComplexity property (20) causes a violation.
21 | DeadCode | Dead code appears after a return statement or an exception is thrown. If code appears after one of these statements then it will never be executed and can be safely deleted.
22 | DoubleCheckedLocking | This rule detects double checked locking, where a 'lock hint' is tested for null before initializing an object within a synchronized block. Double checked locking does not guarantee correctness and is an anti-pattern.
23 | DoubleNegative | There is no point in using a double negative, it is always positive. For instance !!x can always be simplified to x. And !(!x) can as well.
24 | DuplicateCaseStatement | Check for duplicate case statements in a switch block, such as two equal integers or strings.
25 | DuplicateImport | Duplicate import statements are unnecessary.
26 | DuplicateMapKey | A map literal is created with duplicated key. The map entry will be overwritten.
27 | DuplicateSetValue | A Set literal is created with duplicate constant value. A set cannot contain two elements with the same value.
28 | EmptyCatchBlock | In most cases, exceptions should not be caught and ignored (swallowed).
29 | EmptyElseBlock | Empty else blocks are confusing and serve no purpose.
30 | EmptyFinallyBlock | Empty finally blocks are confusing and serve no purpose.
31 | EmptyForStatement | Empty for statements are confusing and serve no purpose.
32 | EmptyIfStatement | Empty if statements are confusing and serve no purpose.
33 | EmptyInstanceInitializer | An empty class instance initializer was found. It is safe to remove it.
34 | EmptyMethod | A method was found without an implementation. If the method is overriding or implementing a parent method, then mark it with the @Override annotation.
35 | EmptyStaticInitializer | An empty static initializer was found. It is safe to remove it.
36 | EmptySwitchStatement | Empty switch statements are confusing and serve no purpose.
37 | EmptySynchronizedStatement | Empty synchronized statements are confusing and serve no purpose.
38 | EmptyTryBlock | Empty try blocks are confusing and serve no purpose.
39 | EmptyWhileStatement | Empty while statements are confusing and serve no purpose.
40 | EqualsAndHashCode | If either the boolean equals(Object) or the int hashCode() methods are overridden within a class, then both must be overridden.
41 | EqualsOverloaded | The class has an equals method, but the parameter of the method is not of type Object. It is not overriding equals but instead overloading it.
42 | ExplicitGarbageCollection | Calls to System.gc(), Runtime.getRuntime().gc(), and System.runFinalization() are not advised. Code should have the same behavior whether the garbage collection is disabled using the option -Xdisableexplicitgc or not. Moreover, "modern" jvms do a very good job handling garbage collections. If memory usage issues unrelated to memory leaks develop within an application, it should be dealt with JVM options rather than within the code itself.
43 | ForLoopShouldBeWhileLoop | A for loop without an init and update statement can be simplified to a while loop.
44 | HardCodedWindowsFileSeparator | This rule finds usages of a Windows file separator within the constructor call of a File object. It is better to use the Unix file separator or use the File.separator constant.
45 | HardCodedWindowsRootDirectory | This rule find cases where a File object is constructed with a windows-based path. This is not portable, and using the File.listRoots() method is a better alternative.
46 | ImportFromSamePackage | An import of a class that is within the same package is unnecessary.
47 | ImportFromSunPackages | Avoid importing anything from the 'sun.*' packages. These packages are not portable and are likely to change.
48 | InconsistentPropertyLocking | Class contains similarly-named get and set methods where one method of the pair is marked either @WithReadLock or @WithWriteLock and the other is not locked at all.
49 | InconsistentPropertySynchronization | Class contains similarly-named get and set methods where the set method is synchronized and the get method is not, or the get method is synchronized and the set method is not.
50 | IntegerGetInteger | This rule catches usages of java.lang.Integer.getInteger(String, ...) which reads an Integer from the System properties. It is often mistakenly used to attempt to read user input or parse a String into an Integer. It is a poor piece of API to use; replace it with System.properties['prop'].
51 | JUnitAssertAlwaysFails | Checks for JUnit assert() method calls with constant arguments such that the assertion always fails. This includes: assertTrue(false), assertFalse(true) and assertNull(CONSTANT).
52 | JUnitAssertAlwaysSucceeds | Checks for JUnit assert() method calls with constant arguments such that the assertion always succeeds. This includes: assertTrue(true), assertFalse(false) and assertNull(null).
53 | JUnitFailWithoutMessage | This rule detects JUnit calling the fail() method without an argument. For better error reporting you should always provide a message.
54 | JUnitPublicNonTestMethod | Checks if a JUnit test class contains public methods other than standard test methods, JUnit framework methods or methods with JUnit annotations.
55 | JUnitSetUpCallsSuper | Checks that if the JUnit setUp() method is defined, that it includes a call to super.setUp().
56 | JUnitTearDownCallsSuper | Checks that if the JUnit tearDown() method is defined, that it includes a call to super.tearDown().
57 | JUnitTestMethodWithoutAssert | This rule searches for test methods that do not contain assert statements. Either the test method is missing assert statements, which is an error, or the test method contains custom assert statements that do not follow a proper assert naming convention. Test methods are defined as public void methods that begin with the work test or have a @Test annotation. By default this rule applies to the default test class names, but this can be changed using the rule's applyToClassNames property.
58 | JUnitUnnecessarySetUp | Checks for JUnit setUp() methods that contain only a call to super.setUp().
59 | JUnitUnnecessaryTearDown | Checks for JUnit tearDown() methods that contain only a call to super.tearDown().
60 | MisorderedStaticImports | Static imports should never be declared after nonstatic imports.
61 | NestedSynchronization | Nested synchronized statements should be avoided. Nested synchronized statements are either useless (if the lock objects are identical) or prone to deadlock.
62 | RandomDoubleCoercedToZero | The Math.random() method returns a double result greater than or equal to 0.0 and less than 1.0. If you coerce this result into an Integer or int, then it is coerced to zero. Casting the result to int, or assigning it to an int field is probably a bug.
63 | RemoveAllOnSelf | Don't use removeAll to clear a collection. If you want to remove all elements from a collection c, use c.clear, not c.removeAll(c). Calling c.removeAll(c) to clear a collection is less clear, susceptible to errors from typos, less efficient and for some collections, might throw a ConcurrentModificationException.
64 | ReturnFromFinallyBlock | Returning from a finally block is confusing and can hide the original exception.
65 | SpockIgnoreRestUsed | If Spock's @IgnoreRest appears on any method, all non-annotated test methods are not executed. This behaviour is almost always unintended. It's fine to use @IgnoreRest locally during development, but when committing code, it should be removed.
66 | StaticCalendarField | Calendar objects should not be used as static fields. Calendars are inherently unsafe for multihtreaded use. Sharing a single instance across thread boundaries without proper synchronization will result in erratic behavior of the application.
67 | StaticConnection | Creates violations when a java.sql.Connection object is used as a static field. Database connections stored in static fields will be shared between threads, which is unsafe and can lead to race conditions.
68 | StaticDateFormatField | DateFormat objects should not be used as static fields. DateFormat are inherently unsafe for multithreaded use. Sharing a single instance across thread boundaries without proper synchronization will result in erratic behavior of the application.
69 | StaticMatcherField | Matcher objects should not be used as static fields. Matcher instances are inherently unsafe for multithreaded use. Sharing a single instance across thread boundaries without proper synchronization will result in erratic behavior of the application.
70 | StaticSimpleDateFormatField | SimpleDateFormat objects should not be used as static fields. SimpleDateFormat are inherently unsafe for multi-threaded use. Sharing a single instance across thread boundaries without proper synchronization will result in erratic behavior of the application.
71 | SynchronizedMethod | This rule reports uses of the synchronized keyword on methods. Synchronized methods are the same as synchronizing on 'this', which effectively make your synchronization policy public and modifiable by other objects. To avoid possibilities of deadlock, it is better to synchronize on internal objects.
72 | SynchronizedOnBoxedPrimitive | The code synchronizes on a boxed primitive constant, such as an Integer. Since Integer objects can be cached and shared, this code could be synchronizing on the same object as other, unrelated code, leading to unresponsiveness and possible deadlock
73 | SynchronizedOnGetClass | Synchronization on getClass rather than class literal. This instance method synchronizes on this.getClass(). If this class is subclassed, subclasses will synchronize on the class object for the subclass, which isn't likely what was intended.
74 | SynchronizedOnReentrantLock | Synchronizing on a ReentrantLock field is almost never the intended usage. A ReentrantLock should be obtained using the lock() method and released in a finally block using the unlock() method.
75 | SynchronizedOnString | Synchronization on a String field can lead to deadlock because Strings are interned by the JVM and can be shared.
76 | SynchronizedOnThis | This rule reports uses of the synchronized blocks where the synchronization reference is 'this'. Doing this effectively makes your synchronization policy public and modifiable by other objects. To avoid possibilities of deadlock, it is better to synchronize on internal objects.
77 | SynchronizedReadObjectMethod | Catches Serializable classes that define a synchronized readObject method. By definition, an object created by deserialization is only reachable by one thread, and thus there is no need for readObject() to be synchronized. If the readObject() method itself is causing the object to become visible to another thread, that is an example of very dubious coding style.
78 | SystemRunFinalizersOnExit | Method calls to System.runFinalizersOnExit() should not be allowed. This method is inherently non-thread-safe, may result in data corruption, deadlock, and may effect parts of the program far removed from it's call point. It is deprecated, and it's use strongly discouraged.
79 | ThreadGroup | Avoid using ThreadGroup; although it is intended to be used in a threaded environment it contains methods that are not thread safe.
80 | ThreadLocalNotStaticFinal | ThreadLocal fields should be static and final. In the most common case a java.lang.ThreadLocal instance associates state with a thread. A non-static non-final java.lang.ThreadLocal field associates state with an instance-thread combination. This is seldom necessary and often a bug which can cause memory leaks and possibly incorrect behavior.
81 | ThreadYield | Method calls to Thread.yield() should not be allowed. This method has no useful guaranteed semantics, and is often used by inexperienced programmers to mask race conditions.
82 | ThrowExceptionFromFinallyBlock | Throwing an exception from a finally block is confusing and can hide the original exception.
83 | UnnecessaryBigDecimalInstantiation | It is unnecessary to instantiate BigDecimal objects. Instead just use the decimal literal or the 'G' identifier to force the type, such as 123.45 or 123.45G.
84 | UnnecessaryBigIntegerInstantiation | It is unnecessary to instantiate BigInteger objects. Instead just use the literal with the 'G' identifier to force the type, such as 8G or 42G.
85 | UnnecessaryBooleanExpression | Checks for unnecessary boolean expressions, including ANDing (&&) or ORing (||) with true, false, null, or a Map/List/String/Number literal. Also checks for negation (!) of true, false, null, or a Map/List/String/Number literal.
86 | UnnecessaryBooleanInstantiation | Use Boolean.valueOf() for variable values or Boolean.TRUE and Boolean.FALSE for constant values instead of calling the Boolean() constructor directly or calling Boolean.valueOf(true) or Boolean.valueOf(false).
87 | UnnecessaryCallForLastElement | This rule checks for excessively verbose methods of accessing the last element of an array or list. For instance, it is possible to access the last element of an array by performing array[array.length - 1], in Groovy it is simpler to either call array.last() or array[-1]. The same is true for lists. This violation is triggered whenever a get, getAt, or array-style access is used with an object size check.
88 | UnnecessaryCallToSubstring | Calling String.substring(0) always returns the original string. This code is meaningless.
89 | UnnecessaryCatchBlock | Violations are triggered when a catch block does nothing but throw the original exception. In this scenario there is usually no need for a catch block, just let the exception be thrown from the original code. This condition frequently occurs when catching an exception for debugging purposes but then forgetting to take the catch statement out.
90 | UnnecessaryCollectCall | Some method calls to Object.collect(Closure) can be replaced with the spread operator. For instance, list.collect { it.multiply(2) } can be replaced by list*.multiply(2).
91 | UnnecessaryCollectionCall | Useless call to collections. This call doesn't make sense. For any collection c, calling c.containsAll(c) should always be true, and c.retainAll(c) should have no effect.
92 | UnnecessaryConstructor | This rule detects when a constructor is not necessary; i.e., when there's only one constructor, it's public, has an empty body, and takes no arguments.
93 | UnnecessaryDefInFieldDeclaration | If a field has a visibility modifier or a type declaration, then the def keyword is unneeded. For instance, 'static def constraints = {}' is redundant and can be simplified to 'static constraints = {}.
94 | UnnecessaryDefInMethodDeclaration | If a method has a visibility modifier or a type declaration, then the def keyword is unneeded. For instance 'def private method() {}' is redundant and can be simplified to 'private method() {}'.
95 | UnnecessaryDefInVariableDeclaration | If a variable has a visibility modifier or a type declaration, then the def keyword is unneeded. For instance 'def private n = 2' is redundant and can be simplified to 'private n = 2'.
96 | UnnecessaryDotClass | To make a reference to a class, it is unnecessary to specify the '.class' identifier. For instance String.class can be shortened to String.
97 | UnnecessaryDoubleInstantiation | It is unnecessary to instantiate Double objects. Instead just use the double literal or the 'D' identifier to force the type, such as 123.45d or 0.42d.
98 | UnnecessaryElseStatement | When an if statement block ends with a return statement the else is unnecessary. The logic in the else branch can be run without being in a new scope.
99 | UnnecessaryFail | In a unit test, catching an exception and immediately calling Assert.fail() is pointless and hides the stack trace. It is better to rethrow the exception or not catch the exception at all.
100 | UnnecessaryFinalOnPrivateMethod | A private method is marked final. Private methods cannot be overridden, so marking it final is unnecessary.
101 | UnnecessaryFloatInstantiation | It is unnecessary to instantiate Float objects. Instead just use the float literal with the 'F' identifier to force the type, such as 123.45F or 0.42f.
102 | UnnecessaryGetter | Checks for explicit calls to getter/accessor methods which can, for the most part, be replaced by property access. A getter is defined as a method call that matches get[A-Z] but not getClass() or get[A-Z][A-Z] such as getURL(). Getters do not take method arguments.
103 | UnnecessaryGroovyImport | A Groovy file does not need to include an import for classes from java.lang, java.util, java.io, java.net, groovy.lang and groovy.util, as well as the classes java.math.BigDecimal and java.math.BigInteger.
104 | UnnecessaryIfStatement | Checks for if statements where the if and else blocks are merely returning true and false constants. These cases can be replaced by a simple return statement.
105 | UnnecessaryInstanceOfCheck | This rule finds instanceof checks that cannot possibly evaluate to true. For instance, checking that (!variable instanceof String) will never be true because the result of a not expression is always a boolean.
106 | UnnecessaryInstantiationToGetClass | Avoid instantiating an object just to call getClass() on it; use the .class public member instead.
107 | UnnecessaryIntegerInstantiation | It is unnecessary to instantiate Integer objects. Instead just use the literal with the 'I' identifier to force the type, such as 8I or 42i.
108 | UnnecessaryLongInstantiation | It is unnecessary to instantiate Long objects. Instead just use the literal with the 'L' identifier to force the type, such as 8L or 42L.
109 | UnnecessaryModOne | Any expression mod 1 (exp % 1) is guaranteed to always return zero. This code is probably an error, and should be either (exp & 1) or (exp % 2).
110 | UnnecessaryNullCheck | Groovy contains the safe dereference operator, which can be used in boolean conditional statements to safely replace explicit "x == null" tests.
111 | UnnecessaryNullCheckBeforeInstanceOf | There is no need to check for null before an instanceof; the instanceof keyword returns false when given a null argument.
112 | UnnecessaryObjectReferences | Violations are triggered when an excessive set of consecutive statements all reference the same variable. This can be made more readable by using a with or identity block.
113 | UnnecessaryOverridingMethod | The overriding method merely calls the same method defined in a superclass
114 | UnnecessaryPackageReference | Checks for explicit package reference for classes that Groovy imports by default, such as java.lang.String, java.util.Map and groovy.lang.Closure.
115 | UnnecessaryParenthesesForMethodCallWithClosure | If a method is called and the only parameter to that method is an inline closure then the parentheses of the method call can be omitted.
116 | UnnecessarySelfAssignment | Method contains a pointless self-assignment to a variable or property.
117 | UnnecessaryStringInstantiation | Use a String literal (e.g., "...") instead of calling the corresponding String constructor (new String("..")) directly.
118 | UnnecessarySubstring | This rule finds usages of String.substring(int) and String.substring(int, int) that can be replaced by use of the subscript operator. For instance, var.substring(5) can be replaced with var[5..-1].
119 | UnnecessaryTernaryExpression | Checks for ternary expressions where the conditional expression always evaluates to a boolean and the true and false expressions are merely returning true and false constants. Also checks for ternary expressions where both expressions are the same constant or variable.
120 | UnnecessaryTransientModifier | The field is marked as transient, but the class isn't Serializable, so marking it as transient has no effect.
121 | UnusedArray | Checks for array allocations that are not assigned or used, unless it is the last statement within a block.
122 | UnusedImport | Imports for a class that is never referenced within the source file is unnecessary.
123 | UnusedMethodParameter | This rule finds instances of method parameters not being used. It does not analyze private methods (that is done by the UnusedPrivateMethodParameter rule) or methods marked @Override.
124 | UnusedObject | Checks for object allocations that are not assigned or used, unless it is the last statement within a block
125 | UnusedPrivateField | Checks for private fields that are not referenced within the same class.
126 | UnusedPrivateMethod | Checks for private methods that are not referenced within the same class.
127 | UnusedPrivateMethodParameter | Checks for parameters to private methods that are not referenced within the method body.
128 | UnusedVariable | Checks for variables that are never referenced.
129 | UseAssertEqualsInsteadOfAssertTrue | This rule detects JUnit assertions in object equality. These assertions should be made by more specific methods, like assertEquals.
130 | UseAssertFalseInsteadOfNegation | In unit tests, if a condition is expected to be false then there is no sense using assertTrue with the negation operator. For instance, assertTrue(!condition) can always be simplified to assertFalse(condition)
131 | UseAssertNullInsteadOfAssertEquals | This rule detects JUnit calling assertEquals where the first or second parameter is null. These assertion should be made against the assertNull method instead.
132 | UseAssertSameInsteadOfAssertTrue | This rule detects JUnit calling assertTrue where the first or second parameter is an Object#is() call testing for reference equality. These assertion should be made against the assertSame method instead.
133 | UseAssertTrueInsteadOfAssertEquals | This rule detects JUnit calling assertEquals where the first parameter is a boolean. These assertions should be made by more specific methods, like assertTrue or assertFalse.
134 | UseAssertTrueInsteadOfNegation | In unit tests, if a condition is expected to be true then there is no sense using assertFalse with the negation operator. For instance, assertFalse(!condition) can always be simplified to assertTrue(condition)
135 | UseOfNotifyMethod | This code calls notify() rather than notifyAll(). Java monitors are often used for multiple conditions. Calling notify() only wakes up one thread, meaning that the thread woken up might not be the one waiting for the condition that the caller just satisfied.
136 | VolatileArrayField | Volatile array fields are unsafe because the contents of the array are not treated as volatile. Changing the entire array reference is visible to other threads, but changing an array element is not.
137 | VolatileLongOrDoubleField | Long or double fields should not be declared as volatile. Java specifies that reads and writes from such fields are atomic, but many JVM's have violated this specification. Unless you are certain of your JVM, it is better to synchronize access to such fields rather than declare them volatile. This rule flags fields marked volatile when their type is double or long or the name of their type is "Double" or "Long".
138 | WaitOutsideOfWhileLoop | Calls to Object.wait() must be within a while loop. Consider using the Java concurrency utilities instead of wait() and notify().