1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
|
<html><head><title>CodeNarc Report: Grails-core-2.0.0.RC1</title><style type='text/css'>body {
font-family: Arial, sans-serif;
margin: 20px 20px 20px 30px;
}
h1, h2, h3 {
font-weight: bold;
}
h1 {
width: 400px;
text-align: center;
color: white;
background-color: #557799;
padding: 10px;
-moz-box-shadow: 3px 3px 4px #AAA;
-webkit-box-shadow: 3px 3px 4px #AAA;
box-shadow: 3px 3px 4px #AAA;
border-radius: 10px;
-moz-border-radius: 10px;
text-shadow: 2px 2px 2px black;
}
h2 {
font-size: 150%;
margin-top: 40px;
padding-top: 5px;
border-top: 5px solid lightgray;
}
h3 {
margin-left: 10px;
margin-top: 30px;
}
a {
text-decoration: underline;
color: #D93544;
}
.logo {
float: right;
}
.metadata {
}
.summary {
margin-bottom: 20px;
}
.reportInfo {
font-size: 110%;
}
.allPackages {
font-weight: bold;
}
.fileHeader {
font-size: 120%;
font-weight: bold;
}
.tableHeader {
font-weight: bold;
}
.number {
text-align: center;
}
.priority1, .priority2, .priority3 {
font-weight: bold;
text-align: center;
color: #990000;
}
.priority1 {
background-color: #FFAAAA;
}
.priority2 {
background-color: #FFCCAA;
}
.priority3 {
background-color: #FFEEAA;
}
.ruleName {
font-weight: bold;
color: black;
text-align: left;
}
.violationInfo {
margin-bottom: 2px;
margin-top: 2px;
}
.violationInfoPrefix {
font-size: 60%;
width: 30px;
color: #a9a9a9;
padding-right: 4px;
}
.sourceCode {
font-family: Arial, sans-serif;
font-size: 80%;
color: #444444;
}
.violationMessage {
font-style: italic;
font-size: 80%;
color: black;
}
.ruleDescriptions {
font-size: 85%;
}
.version {
margin-top: 1px;
}
table {
border: 2px solid gray;
border-collapse: collapse;
-moz-box-shadow: 3px 3px 4px #AAA;
-webkit-box-shadow: 3px 3px 4px #AAA;
box-shadow: 3px 3px 4px #AAA;
}
td, th {
border: 1px solid #D3D3D3;
padding: 4px 20px 4px 20px;
}
th {
text-shadow: 2px 2px 2px white;
}
th {
border-bottom: 1px solid gray;
background-color: #DDDDFF;
}
em, .em {
font-weight: bold;
}</style></head><body><img class='logo' src='http://codenarc.sourceforge.net/images/codenarc-logo.png' alt='CodeNarc' align='right'/><h1>CodeNarc Report</h1><div class='metadata'><table><tr><td class='em'>Report title:</td><td>Grails-core-2.0.0.RC1</td></tr><tr><td class='em'>Date:</td><td>Mar 23, 2012 5:46:27 PM</td></tr><tr><td class='em'>Generated with:</td><td><a href='http://www.codenarc.org'>CodeNarc v0.17</a></td></tr></table></div><div class='summary'><h2>Summary by Package</h2><table><tr class='tableHeader'><th>Package</th><th>Total Files</th><th>Files with Violations</th><th>Priority 1</th><th>Priority 2</th><th>Priority 3</th></tr><tr><td class='allPackages'>All Packages</td><td class='number'>933</td><td class='number'>475</td><td class='priority1'>-</td><td class='priority2'>839</td><td class='priority3'>1722</td></tr><tr><td><a href='#buildSrc/src/main/groovy/org/grails/gradle'>buildSrc/src/main/groovy/org/grails/gradle</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-bootstrap/src/main/groovy/grails/build/interactive/completors'>grails-bootstrap/src/main/groovy/grails/build/interactive/completors</a></td><td class='number'>14</td><td class='number'>8</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>8</td></tr><tr><td><a href='#grails-bootstrap/src/main/groovy/grails/util'>grails-bootstrap/src/main/groovy/grails/util</a></td><td class='number'>4</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>6</td><td class='priority3'>49</td></tr><tr><td>grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/interactive'>grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/interactive</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>3</td><td class='priority3'>6</td></tr><tr><td><a href='#grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/interactive/completors'>grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/interactive/completors</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>-</td></tr><tr><td>grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/support</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins'>grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins</a></td><td class='number'>3</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>25</td><td class='priority3'>51</td></tr><tr><td>grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins/build/scopes</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve'>grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve</a></td><td class='number'>5</td><td class='number'>5</td><td class='priority1'>-</td><td class='priority2'>6</td><td class='priority3'>26</td></tr><tr><td><a href='#grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/config'>grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/config</a></td><td class='number'>3</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>2</td></tr><tr><td>grails-core/src/main/groovy/grails/validation</td><td class='number'>2</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-core/src/main/groovy/org/codehaus/groovy/grails/commons/cfg'>grails-core/src/main/groovy/org/codehaus/groovy/grails/commons/cfg</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>10</td></tr><tr><td><a href='#grails-core/src/main/groovy/org/codehaus/groovy/grails/commons/metaclass'>grails-core/src/main/groovy/org/codehaus/groovy/grails/commons/metaclass</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>1</td></tr><tr><td><a href='#grails-core/src/main/groovy/org/codehaus/groovy/grails/compiler'>grails-core/src/main/groovy/org/codehaus/groovy/grails/compiler</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>7</td></tr><tr><td>grails-core/src/main/groovy/org/codehaus/groovy/grails/documentation</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-core/src/main/groovy/org/codehaus/groovy/grails/exceptions'>grails-core/src/main/groovy/org/codehaus/groovy/grails/exceptions</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>7</td><td class='priority3'>14</td></tr><tr><td><a href='#grails-core/src/main/groovy/org/codehaus/groovy/grails/plugins'>grails-core/src/main/groovy/org/codehaus/groovy/grails/plugins</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>3</td></tr><tr><td><a href='#grails-core/src/main/groovy/org/codehaus/groovy/grails/plugins/publishing'>grails-core/src/main/groovy/org/codehaus/groovy/grails/plugins/publishing</a></td><td class='number'>3</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>5</td><td class='priority3'>3</td></tr><tr><td><a href='#grails-core/src/main/groovy/org/codehaus/groovy/grails/plugins/support'>grails-core/src/main/groovy/org/codehaus/groovy/grails/plugins/support</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>1</td></tr><tr><td>grails-core/src/main/groovy/org/codehaus/groovy/grails/support</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-core/src/main/groovy/org/codehaus/groovy/grails/validation</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-crud/src/main/groovy/org/codehaus/groovy/grails/scaffolding'>grails-crud/src/main/groovy/org/codehaus/groovy/grails/scaffolding</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>4</td><td class='priority3'>4</td></tr><tr><td><a href='#grails-docs/src/main/groovy/grails/doc'>grails-docs/src/main/groovy/grails/doc</a></td><td class='number'>4</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>12</td><td class='priority3'>7</td></tr><tr><td>grails-docs/src/main/groovy/grails/doc/ant</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-docs/src/main/groovy/grails/doc/filters'>grails-docs/src/main/groovy/grails/doc/filters</a></td><td class='number'>3</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>9</td></tr><tr><td><a href='#grails-docs/src/main/groovy/grails/doc/gradle'>grails-docs/src/main/groovy/grails/doc/gradle</a></td><td class='number'>3</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>6</td></tr><tr><td>grails-docs/src/main/groovy/grails/doc/internal</td><td class='number'>4</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-docs/src/main/groovy/grails/doc/macros'>grails-docs/src/main/groovy/grails/doc/macros</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>-</td></tr><tr><td>grails-docs/src/test/groovy/grails/doc/internal</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate'>grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>7</td></tr><tr><td><a href='#grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/cfg'>grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/cfg</a></td><td class='number'>12</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>3</td><td class='priority3'>11</td></tr><tr><td><a href='#grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/plugins/orm/hibernate'>grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/plugins/orm/hibernate</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>7</td><td class='priority3'>11</td></tr><tr><td><a href='#grails-plugin-async/src/main/groovy/org/codehaus/groovy/grails/plugins/web/async'>grails-plugin-async/src/main/groovy/org/codehaus/groovy/grails/plugins/web/async</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>7</td></tr><tr><td><a href='#grails-plugin-async/src/main/groovy/org/codehaus/groovy/grails/plugins/web/async/api'>grails-plugin-async/src/main/groovy/org/codehaus/groovy/grails/plugins/web/async/api</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-plugin-codecs/src/main/groovy/org/codehaus/groovy/grails/plugins'>grails-plugin-codecs/src/main/groovy/org/codehaus/groovy/grails/plugins</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>3</td></tr><tr><td><a href='#grails-plugin-codecs/src/main/groovy/org/codehaus/groovy/grails/plugins/codecs'>grails-plugin-codecs/src/main/groovy/org/codehaus/groovy/grails/plugins/codecs</a></td><td class='number'>11</td><td class='number'>4</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>10</td></tr><tr><td><a href='#grails-plugin-codecs/src/test/groovy/org/codehaus/groovy/grails/web/codecs'>grails-plugin-codecs/src/test/groovy/org/codehaus/groovy/grails/web/codecs</a></td><td class='number'>11</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>3</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/plugins/web'>grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/plugins/web</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>3</td><td class='priority3'>10</td></tr><tr><td><a href='#grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/web/metaclass'>grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/web/metaclass</a></td><td class='number'>3</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>3</td><td class='priority3'>6</td></tr><tr><td><a href='#grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/web/plugins/support'>grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/web/plugins/support</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>10</td></tr><tr><td>grails-plugin-converters/src/main/groovy/grails/web</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/plugins/converters'>grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/plugins/converters</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>3</td></tr><tr><td>grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/plugins/converters/api</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/plugins/converters/codecs</td><td class='number'>2</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/web/converters'>grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/web/converters</a></td><td class='number'>3</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/web/converters/configuration'>grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/web/converters/configuration</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>5</td></tr><tr><td><a href='#grails-plugin-datasource/src/main/groovy/org/codehaus/groovy/grails/plugins/datasource'>grails-plugin-datasource/src/main/groovy/org/codehaus/groovy/grails/plugins/datasource</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>3</td><td class='priority3'>6</td></tr><tr><td><a href='#grails-plugin-domain-class/src/main/groovy/org/codehaus/groovy/grails/domain'>grails-plugin-domain-class/src/main/groovy/org/codehaus/groovy/grails/domain</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>1</td></tr><tr><td><a href='#grails-plugin-domain-class/src/main/groovy/org/codehaus/groovy/grails/plugins'>grails-plugin-domain-class/src/main/groovy/org/codehaus/groovy/grails/plugins</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>13</td></tr><tr><td><a href='#grails-plugin-filters/src/main/groovy/org/codehaus/groovy/grails/plugins/web/filters'>grails-plugin-filters/src/main/groovy/org/codehaus/groovy/grails/plugins/web/filters</a></td><td class='number'>6</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>6</td><td class='priority3'>6</td></tr><tr><td><a href='#grails-plugin-gsp/src/main/groovy/org/codehaus/groovy/grails/plugins/web'>grails-plugin-gsp/src/main/groovy/org/codehaus/groovy/grails/plugins/web</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>14</td></tr><tr><td><a href='#grails-plugin-gsp/src/main/groovy/org/codehaus/groovy/grails/plugins/web/taglib'>grails-plugin-gsp/src/main/groovy/org/codehaus/groovy/grails/plugins/web/taglib</a></td><td class='number'>9</td><td class='number'>8</td><td class='priority1'>-</td><td class='priority2'>10</td><td class='priority3'>48</td></tr><tr><td>grails-plugin-gsp/src/main/groovy/org/codehaus/groovy/grails/web/filters</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-plugin-i18n/src/main/groovy/org/codehaus/groovy/grails/plugins/i18n'>grails-plugin-i18n/src/main/groovy/org/codehaus/groovy/grails/plugins/i18n</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>1</td></tr><tr><td><a href='#grails-plugin-log4j/src/main/groovy/org/codehaus/groovy/grails/plugins/log4j'>grails-plugin-log4j/src/main/groovy/org/codehaus/groovy/grails/plugins/log4j</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>10</td></tr><tr><td><a href='#grails-plugin-mimetypes/src/main/groovy/org/codehaus/groovy/grails/plugins/web/api'>grails-plugin-mimetypes/src/main/groovy/org/codehaus/groovy/grails/plugins/web/api</a></td><td class='number'>4</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>5</td></tr><tr><td><a href='#grails-plugin-mimetypes/src/main/groovy/org/codehaus/groovy/grails/plugins/web/mimes'>grails-plugin-mimetypes/src/main/groovy/org/codehaus/groovy/grails/plugins/web/mimes</a></td><td class='number'>3</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>1</td></tr><tr><td><a href='#grails-plugin-mimetypes/src/main/groovy/org/codehaus/groovy/grails/web/mime'>grails-plugin-mimetypes/src/main/groovy/org/codehaus/groovy/grails/web/mime</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-plugin-scaffolding/src/main/groovy/org/codehaus/groovy/grails/plugins/scaffolding'>grails-plugin-scaffolding/src/main/groovy/org/codehaus/groovy/grails/plugins/scaffolding</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-plugin-services/src/main/groovy/org/codehaus/groovy/grails/plugins/services'>grails-plugin-services/src/main/groovy/org/codehaus/groovy/grails/plugins/services</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>3</td></tr><tr><td><a href='#grails-plugin-servlets/src/main/groovy/org/codehaus/groovy/grails/plugins/web'>grails-plugin-servlets/src/main/groovy/org/codehaus/groovy/grails/plugins/web</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>1</td></tr><tr><td>grails-plugin-servlets/src/main/groovy/org/codehaus/groovy/grails/plugins/web/api</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-plugin-testing/src/main/groovy/grails/test'>grails-plugin-testing/src/main/groovy/grails/test</a></td><td class='number'>7</td><td class='number'>6</td><td class='priority1'>-</td><td class='priority2'>23</td><td class='priority3'>10</td></tr><tr><td><a href='#grails-plugin-testing/src/main/groovy/grails/test/mixin/domain'>grails-plugin-testing/src/main/groovy/grails/test/mixin/domain</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>1</td></tr><tr><td>grails-plugin-testing/src/main/groovy/grails/test/mixin/services</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-plugin-testing/src/main/groovy/grails/test/mixin/support'>grails-plugin-testing/src/main/groovy/grails/test/mixin/support</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>6</td></tr><tr><td><a href='#grails-plugin-testing/src/main/groovy/grails/test/mixin/web'>grails-plugin-testing/src/main/groovy/grails/test/mixin/web</a></td><td class='number'>4</td><td class='number'>4</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>20</td></tr><tr><td>grails-plugin-testing/src/main/groovy/grails/test/mixin/webflow</td><td class='number'>2</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-plugin-testing/src/test/groovy/grails/test/mixin</td><td class='number'>4</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-plugin-tomcat/src/main/groovy/org/grails/plugins/tomcat'>grails-plugin-tomcat/src/main/groovy/org/grails/plugins/tomcat</a></td><td class='number'>5</td><td class='number'>4</td><td class='priority1'>-</td><td class='priority2'>10</td><td class='priority3'>11</td></tr><tr><td><a href='#grails-plugin-url-mappings/src/main/groovy/grails/test'>grails-plugin-url-mappings/src/main/groovy/grails/test</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>17</td><td class='priority3'>13</td></tr><tr><td><a href='#grails-plugin-url-mappings/src/main/groovy/org/codehaus/groovy/grails/plugins/web/mapping'>grails-plugin-url-mappings/src/main/groovy/org/codehaus/groovy/grails/plugins/web/mapping</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>16</td></tr><tr><td>grails-plugin-url-mappings/src/main/groovy/org/codehaus/groovy/grails/web/mapping</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-plugin-validation/src/main/groovy/org/codehaus/groovy/grails/plugins'>grails-plugin-validation/src/main/groovy/org/codehaus/groovy/grails/plugins</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>6</td></tr><tr><td>grails-plugin-validation/src/main/groovy/org/codehaus/groovy/grails/validation</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-plugin-validation/src/main/groovy/org/codehaus/groovy/grails/web/plugins/support</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-plugin-validation/src/test/groovy/org/codehaus/groovy/grails/plugins'>grails-plugin-validation/src/test/groovy/org/codehaus/groovy/grails/plugins</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>2</td></tr><tr><td>grails-resources/src/grails/grails-app/conf</td><td class='number'>6</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-resources/src/grails/grails-app/conf/spring</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-resources/src/grails/plugin/grails-app/conf</td><td class='number'>2</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-spring/src/main/groovy/grails/spring'>grails-spring/src/main/groovy/grails/spring</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>6</td></tr><tr><td><a href='#grails-test-suite-base/src/main/groovy/org/codehaus/groovy/grails/plugins/web'>grails-test-suite-base/src/main/groovy/org/codehaus/groovy/grails/plugins/web</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-test-suite-base/src/main/groovy/org/codehaus/groovy/grails/web/servlet/mvc'>grails-test-suite-base/src/main/groovy/org/codehaus/groovy/grails/web/servlet/mvc</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>3</td><td class='priority3'>5</td></tr><tr><td><a href='#grails-test-suite-base/src/main/groovy/org/codehaus/groovy/grails/web/taglib'>grails-test-suite-base/src/main/groovy/org/codehaus/groovy/grails/web/taglib</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>18</td><td class='priority3'>5</td></tr><tr><td>grails-test-suite-persistence/src/test/groovy/grails/test/mixin/domain</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate</a></td><td class='number'>216</td><td class='number'>90</td><td class='priority1'>-</td><td class='priority2'>115</td><td class='priority3'>199</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/binding'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/binding</a></td><td class='number'>4</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>3</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/cfg'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/cfg</a></td><td class='number'>6</td><td class='number'>4</td><td class='priority1'>-</td><td class='priority2'>10</td><td class='priority3'>32</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/metaclass'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/metaclass</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/support'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/support</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>25</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/validation'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/validation</a></td><td class='number'>8</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>28</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/support'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/support</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>1</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/plugins'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/plugins</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/plugins/scaffolding'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/plugins/scaffolding</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/plugins/services'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/plugins/services</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/reload'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/reload</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/scaffolding'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/scaffolding</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>4</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/scaffolding/view'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/scaffolding/view</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/validation'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/validation</a></td><td class='number'>3</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>1</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/web/binding'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/web/binding</a></td><td class='number'>3</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/web/converters'>grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/web/converters</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/grails/ant'>grails-test-suite-uber/src/test/groovy/grails/ant</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/src/test/groovy/grails/persistence</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/grails/spring'>grails-test-suite-uber/src/test/groovy/grails/spring</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>10</td><td class='priority3'>21</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/grails/test'>grails-test-suite-uber/src/test/groovy/grails/test</a></td><td class='number'>11</td><td class='number'>10</td><td class='priority1'>-</td><td class='priority2'>48</td><td class='priority3'>27</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/grails/test/mixin'>grails-test-suite-uber/src/test/groovy/grails/test/mixin</a></td><td class='number'>19</td><td class='number'>13</td><td class='priority1'>-</td><td class='priority2'>19</td><td class='priority3'>43</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/grails/util'>grails-test-suite-uber/src/test/groovy/grails/util</a></td><td class='number'>7</td><td class='number'>5</td><td class='priority1'>-</td><td class='priority2'>9</td><td class='priority3'>40</td></tr><tr><td>grails-test-suite-uber/src/test/groovy/grails/web</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/cli'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/cli</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>4</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/cli/support'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/cli/support</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>8</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/commons'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/commons</a></td><td class='number'>11</td><td class='number'>6</td><td class='priority1'>-</td><td class='priority2'>16</td><td class='priority3'>26</td></tr><tr><td>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/commons/cfg</td><td class='number'>3</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/commons/metaclass'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/commons/metaclass</a></td><td class='number'>4</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>11</td><td class='priority3'>5</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/compiler'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/compiler</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>4</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/compiler/injection'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/compiler/injection</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/context/support'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/context/support</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>3</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/documentation'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/documentation</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>2</td></tr><tr><td>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/domain</td><td class='number'>8</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins</a></td><td class='number'>7</td><td class='number'>6</td><td class='priority1'>-</td><td class='priority2'>11</td><td class='priority3'>10</td></tr><tr><td>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/datasource</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/grails-app/conf</td><td class='number'>2</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/grails-app/services</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/i18n'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/i18n</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>5</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>5</td></tr><tr><td>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/metadata</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/publishing'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/publishing</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/testing</td><td class='number'>3</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/web'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/web</a></td><td class='number'>3</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>6</td><td class='priority3'>9</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/web/mapping'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/web/mapping</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/reload'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/reload</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>3</td><td class='priority3'>1</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/resolve'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/resolve</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>9</td><td class='priority3'>14</td></tr><tr><td>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/test/support</td><td class='number'>2</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/validation'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/validation</a></td><td class='number'>6</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>4</td><td class='priority3'>164</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/context'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/context</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>3</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/errors'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/errors</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>1</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/filters'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/filters</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>3</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/i18n'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/i18n</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>12</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/json'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/json</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>1</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/metaclass'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/metaclass</a></td><td class='number'>3</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>3</td><td class='priority3'>1</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/servlet'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/servlet</a></td><td class='number'>6</td><td class='number'>5</td><td class='priority1'>-</td><td class='priority2'>7</td><td class='priority3'>11</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/servlet/filter'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/servlet/filter</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/servlet/mvc'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/servlet/mvc</a></td><td class='number'>14</td><td class='number'>7</td><td class='priority1'>-</td><td class='priority2'>6</td><td class='priority3'>23</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/sitemesh'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/sitemesh</a></td><td class='number'>3</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>14</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/util'>grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/util</a></td><td class='number'>4</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>4</td><td class='priority3'>7</td></tr><tr><td>grails-test-suite-uber/src/test/resources/grails/spring</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/src/test/resources/org/codehaus/groovy/grails/commons</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/src/test/resources/org/codehaus/groovy/grails/commons/cfg</td><td class='number'>2</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-uber/src/test/resources/org/codehaus/groovy/grails/plugins'>grails-test-suite-uber/src/test/resources/org/codehaus/groovy/grails/plugins</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>3</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/resources/grails-app/conf</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/resources/grails-plugin-utils/global-plugins/logging-0.1</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/resources/grails-plugin-utils/global-plugins/logging-0.1/scripts</td><td class='number'>2</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/resources/grails-plugin-utils/grails-debug/scripts</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/resources/grails-plugin-utils/plugins/jsecurity-0.3</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/resources/grails-plugin-utils/plugins/jsecurity-0.3/scripts</td><td class='number'>2</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/resources/spring</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/test-projects/inline-plugins/app/grails-app/conf</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/test-projects/inline-plugins/plugins/foo</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/test-projects/inline-plugins/plugins/foo/grails-app/controllers/foo</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/test-projects/inline-plugins/plugins/foobar</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/test-projects/inline-plugins/plugins/foobar/grails-app/controllers/foobar</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/test-projects/nested-inline-plugins/app/grails-app/conf</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/test-projects/nested-inline-plugins/plugins/plugin-one</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/test-projects/nested-inline-plugins/plugins/plugin-one/grails-app/conf</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/test-projects/nested-inline-plugins/plugins/plugin-two</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/test-projects/plugin-build-settings/grails-app/conf</td><td class='number'>5</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/test-projects/plugin-build-settings/grails-app/conf/spring</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/test-projects/plugin-build-settings/plugins/hibernate-1.2-SNAPSHOT</td><td class='number'>2</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/test-projects/plugin-build-settings/plugins/hibernate-1.2-SNAPSHOT/scripts</td><td class='number'>3</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/test-projects/plugin-build-settings/plugins/webflow-1.2-SNAPSHOT</td><td class='number'>2</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-test-suite-uber/test/test-projects/plugin-build-settings/plugins/webflow-1.2-SNAPSHOT/scripts</td><td class='number'>3</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/grails/test'>grails-test-suite-web/src/test/groovy/grails/test</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>43</td><td class='priority3'>8</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/grails/test/mixin'>grails-test-suite-web/src/test/groovy/grails/test/mixin</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>1</td></tr><tr><td>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/plugins/web</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/plugins/web/filters'>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/plugins/web/filters</a></td><td class='number'>5</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>3</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/plugins/webflow'>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/plugins/webflow</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>1</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/binding'>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/binding</a></td><td class='number'>14</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>4</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/converters'>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/converters</a></td><td class='number'>7</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>3</td><td class='priority3'>5</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/filters'>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/filters</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>4</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/mapping'>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/mapping</a></td><td class='number'>22</td><td class='number'>14</td><td class='priority1'>-</td><td class='priority2'>5</td><td class='priority3'>32</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/mapping/filter'>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/mapping/filter</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>3</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/mime'>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/mime</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/pages'>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/pages</a></td><td class='number'>17</td><td class='number'>9</td><td class='priority1'>-</td><td class='priority2'>18</td><td class='priority3'>9</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/pages/ext/jsp'>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/pages/ext/jsp</a></td><td class='number'>9</td><td class='number'>9</td><td class='priority1'>-</td><td class='priority2'>8</td><td class='priority3'>33</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/servlet/view'>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/servlet/view</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>1</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/taglib'>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/taglib</a></td><td class='number'>39</td><td class='number'>26</td><td class='priority1'>-</td><td class='priority2'>58</td><td class='priority3'>73</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/webflow'>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/webflow</a></td><td class='number'>5</td><td class='number'>5</td><td class='priority1'>-</td><td class='priority2'>6</td><td class='priority3'>15</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/webflow/engine/builder'>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/webflow/engine/builder</a></td><td class='number'>8</td><td class='number'>8</td><td class='priority1'>-</td><td class='priority2'>12</td><td class='priority3'>9</td></tr><tr><td><a href='#grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/webflow/support'>grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/webflow/support</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>6</td><td class='priority3'>10</td></tr><tr><td><a href='#grails-test/src/main/groovy/grails/test'>grails-test/src/main/groovy/grails/test</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>1</td></tr><tr><td><a href='#grails-test/src/main/groovy/org/codehaus/groovy/grails/plugins/testing'>grails-test/src/main/groovy/org/codehaus/groovy/grails/plugins/testing</a></td><td class='number'>4</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>3</td><td class='priority3'>19</td></tr><tr><td><a href='#grails-test/src/main/groovy/org/codehaus/groovy/grails/test'>grails-test/src/main/groovy/org/codehaus/groovy/grails/test</a></td><td class='number'>3</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-test/src/main/groovy/org/codehaus/groovy/grails/test/event'>grails-test/src/main/groovy/org/codehaus/groovy/grails/test/event</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>4</td><td class='priority3'>-</td></tr><tr><td>grails-test/src/main/groovy/org/codehaus/groovy/grails/test/io</td><td class='number'>2</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test/src/main/groovy/org/codehaus/groovy/grails/test/junit4'>grails-test/src/main/groovy/org/codehaus/groovy/grails/test/junit4</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>2</td></tr><tr><td><a href='#grails-test/src/main/groovy/org/codehaus/groovy/grails/test/junit4/listener'>grails-test/src/main/groovy/org/codehaus/groovy/grails/test/junit4/listener</a></td><td class='number'>2</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>5</td><td class='priority3'>1</td></tr><tr><td>grails-test/src/main/groovy/org/codehaus/groovy/grails/test/junit4/result</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test/src/main/groovy/org/codehaus/groovy/grails/test/junit4/runner'>grails-test/src/main/groovy/org/codehaus/groovy/grails/test/junit4/runner</a></td><td class='number'>3</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>2</td></tr><tr><td>grails-test/src/main/groovy/org/codehaus/groovy/grails/test/report/junit</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-test/src/main/groovy/org/codehaus/groovy/grails/test/support'>grails-test/src/main/groovy/org/codehaus/groovy/grails/test/support</a></td><td class='number'>7</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>7</td></tr><tr><td><a href='#grails-web/src/jsp21/groovy/org/codehaus/groovy/grails/web/pages/ext/jsp'>grails-web/src/jsp21/groovy/org/codehaus/groovy/grails/web/pages/ext/jsp</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>6</td></tr><tr><td><a href='#grails-web/src/main/groovy/grails/gsp'>grails-web/src/main/groovy/grails/gsp</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>49</td><td class='priority3'>11</td></tr><tr><td>grails-web/src/main/groovy/org/codehaus/groovy/grails/web/errors</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-web/src/main/groovy/org/codehaus/groovy/grails/web/i18n</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-web/src/main/groovy/org/codehaus/groovy/grails/web/mapping'>grails-web/src/main/groovy/org/codehaus/groovy/grails/web/mapping</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>2</td><td class='priority3'>8</td></tr><tr><td><a href='#grails-web/src/main/groovy/org/codehaus/groovy/grails/web/mime'>grails-web/src/main/groovy/org/codehaus/groovy/grails/web/mime</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>1</td></tr><tr><td><a href='#grails-web/src/main/groovy/org/codehaus/groovy/grails/web/pages'>grails-web/src/main/groovy/org/codehaus/groovy/grails/web/pages</a></td><td class='number'>3</td><td class='number'>3</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>8</td></tr><tr><td><a href='#grails-web/src/main/groovy/org/codehaus/groovy/grails/web/pages/ext/jsp'>grails-web/src/main/groovy/org/codehaus/groovy/grails/web/pages/ext/jsp</a></td><td class='number'>7</td><td class='number'>6</td><td class='priority1'>-</td><td class='priority2'>20</td><td class='priority3'>24</td></tr><tr><td>grails-web/src/main/groovy/org/codehaus/groovy/grails/web/servlet/mvc</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td>grails-web/src/main/groovy/org/codehaus/groovy/grails/web/servlet/mvc/exceptions</td><td class='number'>1</td><td class='number'>-</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>-</td></tr><tr><td><a href='#grails-web/src/main/groovy/org/codehaus/groovy/grails/web/taglib'>grails-web/src/main/groovy/org/codehaus/groovy/grails/web/taglib</a></td><td class='number'>2</td><td class='number'>2</td><td class='priority1'>-</td><td class='priority2'>1</td><td class='priority3'>3</td></tr><tr><td><a href='#grails-web/src/main/groovy/org/codehaus/groovy/grails/web/util'>grails-web/src/main/groovy/org/codehaus/groovy/grails/web/util</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>1</td></tr><tr><td><a href='#grails-webflow/src/main/groovy/grails/test'>grails-webflow/src/main/groovy/grails/test</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>4</td><td class='priority3'>7</td></tr><tr><td><a href='#grails-webflow/src/main/groovy/org/codehaus/groovy/grails/webflow'>grails-webflow/src/main/groovy/org/codehaus/groovy/grails/webflow</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>21</td></tr><tr><td><a href='#grails-webflow/src/main/groovy/org/codehaus/groovy/grails/webflow/context/servlet'>grails-webflow/src/main/groovy/org/codehaus/groovy/grails/webflow/context/servlet</a></td><td class='number'>1</td><td class='number'>1</td><td class='priority1'>-</td><td class='priority2'>-</td><td class='priority3'>4</td></tr><tr><td><a href='#grails-webflow/src/main/groovy/org/codehaus/groovy/grails/webflow/engine/builder'>grails-webflow/src/main/groovy/org/codehaus/groovy/grails/webflow/engine/builder</a></td><td class='number'>13</td><td class='number'>9</td><td class='priority1'>-</td><td class='priority2'>16</td><td class='priority3'>33</td></tr><tr><td><a href='#scripts'>scripts</a></td><td class='number'>73</td><td class='number'>24</td><td class='priority1'>-</td><td class='priority2'>17</td><td class='priority3'>81</td></tr></table></div><div class='summary'><a name='buildSrc/src/main/groovy/org/grails/gradle'> </a><h2 class='packageHeader'>Package: buildSrc.src.main.groovy.org.grails.gradle</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsBuildPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>10</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.gradle.api.DefaultTask</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.gradle.api.DefaultTask] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.gradle.api.specs.Specs</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.gradle.api.specs.Specs] import is never referenced</span></p></td></tr></table></div><div class='summary'><a name='grails-bootstrap/src/main/groovy/grails/build/interactive/completors'> </a><h2 class='packageHeader'>Package: grails-bootstrap.src.main.groovy.grails.build.interactive.completors</h2></div><div class='summary'><h3 class='fileHeader'>➥ CreateController.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>31</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsResourceUtils.isDomainClass(res.getURL())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.build.interactive.completors.CreateController. getURL() can probably be rewritten as URL</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CreateScaffoldController.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>31</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsResourceUtils.isDomainClass(res.getURL())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.build.interactive.completors.CreateScaffoldController. getURL() can probably be rewritten as URL</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CreateService.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>31</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsResourceUtils.isDomainClass(res.getURL())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.build.interactive.completors.CreateService. getURL() can probably be rewritten as URL</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CreateTagLib.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>31</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsResourceUtils.isDomainClass(res.getURL())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.build.interactive.completors.CreateTagLib. getURL() can probably be rewritten as URL</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GenerateAll.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsResourceUtils.isDomainClass(res.getURL())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.build.interactive.completors.GenerateAll. getURL() can probably be rewritten as URL</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GenerateController.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsResourceUtils.isDomainClass(res.getURL())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.build.interactive.completors.GenerateController. getURL() can probably be rewritten as URL</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GenerateViews.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsResourceUtils.isDomainClass(res.getURL())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.build.interactive.completors.GenerateViews. getURL() can probably be rewritten as URL</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ RegexCompletor.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>34</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>int complete(String buffer, int cursor, List candidates) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class RegexCompletor. Method parameter [cursor] is never referenced in the method complete of class grails.build.interactive.completors.RegexCompletor</span></p></td></tr><tr><td><a href='#UnnecessaryElseStatement'>UnnecessaryElseStatement</a></td><td class='priority3'>3</td><td class='number'>39</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>else return -1</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>When an if statement block ends with a return statement the else is unnecessary</span></p></td></tr></table></div><div class='summary'><a name='grails-bootstrap/src/main/groovy/grails/util'> </a><h2 class='packageHeader'>Package: grails-bootstrap.src.main.groovy.grails.util</h2></div><div class='summary'><h3 class='fileHeader'>➥ BuildSettings.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>1003</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void postLoadConfig() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. The cyclomatic complexity for method [postLoadConfig] is [21]</span></p></td></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>1316</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private void establishProjectStructure() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. The cyclomatic complexity for method [establishProjectStructure] is [25]</span></p></td></tr><tr><td><a href='#UnnecessaryElseStatement'>UnnecessaryElseStatement</a></td><td class='priority3'>3</td><td class='number'>488</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>else {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>When an if statement block ends with a return statement the else is unnecessary</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>589</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getCompileDependencies()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getCompileDependencies() can probably be rewritten as compileDependencies</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>603</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getProvidedDependencies()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getProvidedDependencies() can probably be rewritten as providedDependencies</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>616</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getRuntimeDependencies()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getRuntimeDependencies() can probably be rewritten as runtimeDependencies</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>630</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getTestDependencies()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getTestDependencies() can probably be rewritten as testDependencies</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>644</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getBuildDependencies()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getBuildDependencies() can probably be rewritten as buildDependencies</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>783</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected def loadBuildPropertiesFromClasspath(Propertie..uildProps) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. The def keyword is unneeded when a method is marked protected</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>1011</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def configURL = config.getConfigFile()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getConfigFile() can probably be rewritten as configFile</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>1012</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def configFile = configURL ? new File(configURL.getFile()) : null</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getFile() can probably be rewritten as file</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>1014</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def metadataFile = Metadata.current.getMetadataFile()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getMetadataFile() can probably be rewritten as metadataFile</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>1148</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>gcl = rootLoader != null ? new GroovyClassLoader(rootLoa..assLoader())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getSystemClassLoader() can probably be rewritten as systemClassLoader</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>1157</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def appName = metadata.getApplicationName() ?: "grails"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getApplicationName() can probably be rewritten as applicationName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>1158</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def appVersion = metadata.getApplicationVersion() ?: grailsVersion</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getApplicationVersion() can probably be rewritten as applicationVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>1217</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginDirs = getPluginDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getPluginDirectories() can probably be rewritten as pluginDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>1311</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>appName: Metadata.current.getApplicationName(),</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getApplicationName() can probably be rewritten as applicationName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>1312</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>appVersion: Metadata.current.getApplicationVersion())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getApplicationVersion() can probably be rewritten as applicationVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>1335</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def workingDirName = metadata.getApplicationName() ?: CO..ING_DIR_NAME</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getApplicationName() can probably be rewritten as applicationName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>1344</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = metadata.getApplicationVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getApplicationVersion() can probably be rewritten as applicationVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>1345</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def appName = metadata.getApplicationName() ?: baseDir.name</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getApplicationName() can probably be rewritten as applicationName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>1512</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getBasePluginDescriptor() != null</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildSettings. getBasePluginDescriptor() can probably be rewritten as basePluginDescriptor</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsMain.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>24</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>props.load(getClass().getClassLoader().getResourceAsStre..roperties"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.None. getClassLoader() can probably be rewritten as classLoader</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ PluginBuildSettings.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>187</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsPluginInfo[] getPluginInfos(String pluginDirPath=t..inDirPath) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PluginBuildSettings. Method parameter [pluginDirPath] is never referenced in the method getPluginInfos of class grails.util.PluginBuildSettings</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>203</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch (e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>739</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch (e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>759</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def (name, version, xml) = result</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [xml] in class grails.util.PluginBuildSettings is not used</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>112</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>for (pluginDir in getInlinePluginDirectories()) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getInlinePluginDirectories() can probably be rewritten as inlinePluginDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>160</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected def addPluginScopeInfoForDirAndInfo(PluginScop..ource dir) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. The def keyword is unneeded when a method is marked protected</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>192</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Resource[] pluginDescriptors = getPluginDescriptors()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getPluginDescriptors() can probably be rewritten as pluginDescriptors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>215</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>buildSettings?.isInlinePluginLocation(pluginLocation?.getFile())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getFile() can probably be rewritten as file</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>226</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>locations = buildSettings.getInlinePluginDirectories().c..source(it) }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getInlinePluginDirectories() can probably be rewritten as inlinePluginDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>239</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (!pluginInfosMap) getPluginInfos() // initialize the infos</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getPluginInfos() can probably be rewritten as pluginInfos</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>252</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (!pluginInfosMap) getPluginInfos() // initialize the infos</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getPluginInfos() can probably be rewritten as pluginInfos</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>264</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginDirs = getPluginDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getPluginDirectories() can probably be rewritten as pluginDirectories</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>275</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>sourcePath = sourcePath.substring(pluginPath.length())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>287</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def baseDir = buildSettings?.getBaseDir()?.getCanonicalPath()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getCanonicalPath() can probably be rewritten as canonicalPath</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>287</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def baseDir = buildSettings?.getBaseDir()?.getCanonicalPath()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getBaseDir() can probably be rewritten as baseDir</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>386</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return getPluginSourceDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getPluginSourceDirectories() can probably be rewritten as pluginSourceDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>414</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginSourceDirectories() // initialize cache</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getPluginSourceDirectories() can probably be rewritten as pluginSourceDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>454</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>pluginDirectoryResources = buildSettings.getPluginDirect..s Resource[]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getPluginDirectories() can probably be rewritten as pluginDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>469</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (pluginManager == null) return getPluginInfos()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getPluginInfos() can probably be rewritten as pluginInfos</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>471</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginInfos = getPluginInfos().findAll {GrailsPluginInfo info -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getPluginInfos() can probably be rewritten as pluginInfos</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>472</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def plugin = pluginManager.getGrailsPlugin(info.getName())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>486</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>implicitPluginDirectories = buildSettings.getImplicitPlu..source(it) }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getImplicitPluginDirectories() can probably be rewritten as implicitPluginDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>498</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return buildSettings?.getPluginBaseDirectories() ?: []</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getPluginBaseDirectories() can probably be rewritten as pluginBaseDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>578</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>artefactResources.addAll compileScopePluginInfo.getArtefactResources()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getArtefactResources() can probably be rewritten as artefactResources</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>579</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>artefactResources.addAll providedScopePluginInfo.getArte..tResources()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getArtefactResources() can probably be rewritten as artefactResources</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>581</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (Environment.getCurrent() == Environment.TEST) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>582</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>artefactResources.addAll testScopePluginInfo.getArtefactResources()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getArtefactResources() can probably be rewritten as artefactResources</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>584</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def inlineDirectories = getInlinePluginDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getInlinePluginDirectories() can probably be rewritten as inlinePluginDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>615</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def baseDescriptor = getBasePluginDescriptor()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getBasePluginDescriptor() can probably be rewritten as basePluginDescriptor</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>619</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>for (inlinePluginDir in getInlinePluginDirectories()) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getInlinePluginDirectories() can probably be rewritten as inlinePluginDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>635</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginDirs = getPluginDirectories().toList()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getPluginDirectories() can probably be rewritten as pluginDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>824</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Resource[] pluginDirs = getPluginDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettings. getPluginDirectories() can probably be rewritten as pluginDirectories</span></p></td></tr></table></div><div class='summary'><a name='grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/interactive'> </a><h2 class='packageHeader'>Package: grails-bootstrap.src.main.groovy.org.codehaus.groovy.grails.cli.interactive</h2></div><div class='summary'><h3 class='fileHeader'>➥ InteractiveMode.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>85</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void run() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.cli.interactive.InteractiveMode. The cyclomatic complexity for method [run] is [31]</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>203</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch(ScriptExitException e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>226</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} catch (e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>48</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>@Delegate GrailsConsole console = GrailsConsole.getInstance()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.cli.interactive.InteractiveMode. getInstance() can probably be rewritten as instance</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>64</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GroovySystem.getMetaClassRegistry().addMetaClassRegistry..stryCleaner)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.cli.interactive.InteractiveMode. getMetaClassRegistry() can probably be rewritten as metaClassRegistry</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>82</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getCurrent() != null && getCurrent().interactiveModeActive</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.cli.interactive.InteractiveMode. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>82</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getCurrent() != null && getCurrent().interactiveModeActive</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.cli.interactive.InteractiveMode. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>136</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final desktop = Desktop.getDesktop()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.cli.interactive.InteractiveMode. getDesktop() can probably be rewritten as desktop</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>238</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def parser = GrailsScriptRunner.getCommandLineParser()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.cli.interactive.InteractiveMode. getCommandLineParser() can probably be rewritten as commandLineParser</span></p></td></tr></table></div><div class='summary'><a name='grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/interactive/completors'> </a><h2 class='packageHeader'>Package: grails-bootstrap.src.main.groovy.org.codehaus.groovy.grails.cli.interactive.completors</h2></div><div class='summary'><h3 class='fileHeader'>➥ ClassNameCompletor.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>61</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>boolean shouldInclude(Resource res) { true }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ClassNameCompletor. Method parameter [res] is never referenced in the method shouldInclude of class org.codehaus.groovy.grails.cli.interactive.completors.ClassNameCompletor</span></p></td></tr></table></div><div class='summary'><a name='grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/plugins'> </a><h2 class='packageHeader'>Package: grails-bootstrap.src.main.groovy.org.codehaus.groovy.grails.plugins</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsPluginUtils.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#SynchronizedMethod'>SynchronizedMethod</a></td><td class='priority2'>2</td><td class='number'>120</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static synchronized PluginBuildSettings getPluginBuildSettings() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. The method getPluginBuildSettings is synchronized at the method level</span></p></td></tr><tr><td><a href='#SynchronizedMethod'>SynchronizedMethod</a></td><td class='priority2'>2</td><td class='number'>127</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static synchronized setPluginBuildSettings(PluginBuildSe.. settings) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. The method setPluginBuildSettings is synchronized at the method level</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>134</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static GrailsPluginInfo[] getPluginInfos(String pluginDi..Dir?.path) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getPluginInfos of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>144</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static GrailsPluginInfo[] getSupportedPluginInfos(String..Dir?.path) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getSupportedPluginInfos of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>152</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static List<String> getPluginBaseDirectories(String pluginDirPath) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getPluginBaseDirectories of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>167</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static Resource[] getPluginDirectories(String pluginDirPath) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getPluginDirectories of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>174</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static List<Resource> getImplicitPluginDirectories(Strin..Dir?.path) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getImplicitPluginDirectories of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>185</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static Resource[] getArtefactResources(String basedir) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [basedir] is never referenced in the method getArtefactResources of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>199</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static Resource[] getPluginXmlMetadata(String pluginsDirPath) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [pluginsDirPath] is never referenced in the method getPluginXmlMetadata of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>206</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static Resource[] getAvailableScripts(String grailsHome,..g basedir) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [grailsHome] is never referenced in the method getAvailableScripts of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>206</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static Resource[] getAvailableScripts(String grailsHome,..g basedir) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getAvailableScripts of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>206</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static Resource[] getAvailableScripts(String grailsHome,..g basedir) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [basedir] is never referenced in the method getAvailableScripts of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>213</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static Resource[] getPluginScripts(String pluginDirPath) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getPluginScripts of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>220</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static Resource[] getPluginResourceBundles(String pluginDirPath) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [pluginDirPath] is never referenced in the method getPluginResourceBundles of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>227</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static Resource[] getPluginSourceFiles(String pluginsDirPath) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [pluginsDirPath] is never referenced in the method getPluginSourceFiles of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>234</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static Resource[] getPluginJarFiles(String pluginsDirPath) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [pluginsDirPath] is never referenced in the method getPluginJarFiles of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>241</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static Resource[] getPluginDescriptors(String basedir, S..nsDirPath) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [basedir] is never referenced in the method getPluginDescriptors of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>241</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static Resource[] getPluginDescriptors(String basedir, S..nsDirPath) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [pluginsDirPath] is never referenced in the method getPluginDescriptors of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>260</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static Resource[] getPluginLibDirectories(String pluginsDirPath) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [pluginsDirPath] is never referenced in the method getPluginLibDirectories of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>267</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static Resource[] getPluginI18nDirectories(String plugin..Dir?.path) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [pluginsDirPath] is never referenced in the method getPluginI18nDirectories of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>302</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static Resource getPluginDirForName(String pluginsDirPat..luginName) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. Method parameter [pluginsDirPath] is never referenced in the method getPluginDirForName of class org.codehaus.groovy.grails.plugins.GrailsPluginUtils</span></p></td></tr><tr><td><a href='#SynchronizedMethod'>SynchronizedMethod</a></td><td class='priority2'>2</td><td class='number'>309</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static synchronized clearCaches() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtils. The method clearCaches is synchronized at the method level</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>135</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return getPluginBuildSettings().getPluginInfos()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginInfos() can probably be rewritten as pluginInfos</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>135</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return getPluginBuildSettings().getPluginInfos()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>145</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final PluginBuildSettings settings = getPluginBuildSettings()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>146</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return settings.getSupportedPluginInfos()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getSupportedPluginInfos() can probably be rewritten as supportedPluginInfos</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>153</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginBaseDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBaseDirectories() can probably be rewritten as pluginBaseDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>153</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginBaseDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>160</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginBaseDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBaseDirectories() can probably be rewritten as pluginBaseDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>160</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginBaseDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>164</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginDirectories() can probably be rewritten as pluginDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>164</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>168</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginDirectories() can probably be rewritten as pluginDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>168</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>175</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getImplicitPluginDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getImplicitPluginDirectories() can probably be rewritten as implicitPluginDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>175</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getImplicitPluginDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>179</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().isGlobalPluginLocation(pluginDir)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>186</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getArtefactResources()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getArtefactResources() can probably be rewritten as artefactResources</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>186</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getArtefactResources()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>193</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getArtefactResourcesForOne(projectDir)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>200</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginXmlMetadata()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginXmlMetadata() can probably be rewritten as pluginXmlMetadata</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>200</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginXmlMetadata()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>207</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getAvailableScripts()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getAvailableScripts() can probably be rewritten as availableScripts</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>207</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getAvailableScripts()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>214</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginScripts()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginScripts() can probably be rewritten as pluginScripts</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>214</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginScripts()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>221</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginResourceBundles()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginResourceBundles() can probably be rewritten as pluginResourceBundles</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>221</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginResourceBundles()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>228</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginSourceFiles()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginSourceFiles() can probably be rewritten as pluginSourceFiles</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>228</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginSourceFiles()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>235</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginJarFiles()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginJarFiles() can probably be rewritten as pluginJarFiles</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>235</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginJarFiles()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>242</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginDescriptors()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginDescriptors() can probably be rewritten as pluginDescriptors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>242</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginDescriptors()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>246</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getBasePluginDescriptor(basedir)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>254</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getDescriptorForPlugin(pluginDir)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>261</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginLibDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginLibDirectories() can probably be rewritten as pluginLibDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>261</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginLibDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>268</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginI18nDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginI18nDirectories() can probably be rewritten as pluginI18nDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>268</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginI18nDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>275</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getGlobalPluginsPath()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getGlobalPluginsPath() can probably be rewritten as globalPluginsPath</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>275</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getGlobalPluginsPath()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>282</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginDirForName(pluginName)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>289</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getMetadataForPlugin(pluginName)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>296</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getMetadataForPlugin(pluginDir)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>303</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().getPluginDirForName(pluginName)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>310</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPluginBuildSettings().clearCache()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtils. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsVersionUtils.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EqualsAndHashCode'>EqualsAndHashCode</a></td><td class='priority2'>2</td><td class='number'>100</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>class VersionComparator implements Comparator {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The class org.codehaus.groovy.grails.plugins.VersionComparator defines equals(Object) but not hashCode()</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>167</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>boolean equals(obj) { false }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class VersionComparator. Method parameter [obj] is never referenced in the method equals of class org.codehaus.groovy.grails.plugins.VersionComparator</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ PluginInfo.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>44</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch(e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>56</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>input = pluginXml.getInputStream()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.PluginInfo. getInputStream() can probably be rewritten as inputStream</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>97</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>"${getName()}-${getVersion()}"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.PluginInfo. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>97</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>"${getName()}-${getVersion()}"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.PluginInfo. getVersion() can probably be rewritten as version</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>101</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>[name:getName(), version:getVersion()]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.PluginInfo. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>101</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>[name:getName(), version:getVersion()]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.PluginInfo. getVersion() can probably be rewritten as version</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>119</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private def lookupFromMetadata(String name) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.PluginInfo. The def keyword is unneeded when a method is marked private</span></p></td></tr></table></div><div class='summary'><a name='grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve'> </a><h2 class='packageHeader'>Package: grails-bootstrap.src.main.groovy.org.codehaus.groovy.grails.resolve</h2></div><div class='summary'><h3 class='fileHeader'>➥ EnhancedDefaultDependencyDescriptor.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>121</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Field field = getClass().getSuperclass().getDeclaredFiel..Transitive")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.EnhancedDefaultDependencyDescriptor. getSuperclass() can probably be rewritten as superclass</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>128</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Field field = getClass().getSuperclass().getDeclaredFiel..isChanging")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.EnhancedDefaultDependencyDescriptor. getSuperclass() can probably be rewritten as superclass</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ IvyDependencyManager.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>34</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.apache.ivy.plugins.resolver.ChainResolver</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.apache.ivy.plugins.resolver.ChainResolver] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.apache.ivy.util.Message</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.apache.ivy.util.Message] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.apache.ivy.util.MessageLogger</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.apache.ivy.util.MessageLogger] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryElseStatement'>UnnecessaryElseStatement</a></td><td class='priority3'>3</td><td class='number'>254</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>else {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>When an if statement block ends with a return statement the else is unnecessary</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>396</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def candidates = getPluginDependencyDescriptors().findAl..pplication }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManager. getPluginDependencyDescriptors() can probably be rewritten as pluginDependencyDescriptors</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ PluginInstallEngine.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>366</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def (name, version, xml) = readMetadataFromZip(zipLocation)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [xml] in class org.codehaus.groovy.grails.resolve.PluginInstallEngine is not used</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>429</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void resolvePluginJarDependencies(fullPluginNa..ies = [:]) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PluginInstallEngine. Method parameter [pluginName] is never referenced in the method resolvePluginJarDependencies of class org.codehaus.groovy.grails.resolve.PluginInstallEngine</span></p></td></tr><tr><td><a href='#BooleanGetBoolean'>BooleanGetBoolean</a></td><td class='priority2'>2</td><td class='number'>446</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def runningUpgrade = Boolean.getBoolean('runningGrailsUpgrade')</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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.</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>504</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected Map processPluginDependencies(String pluginNam..pluginXml) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PluginInstallEngine. Method parameter [pluginName] is never referenced in the method processPluginDependencies of class org.codehaus.groovy.grails.resolve.PluginInstallEngine</span></p></td></tr><tr><td><a href='#UnusedPrivateMethod'>UnusedPrivateMethod</a></td><td class='priority2'>2</td><td class='number'>731</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private registerMetadataForPluginLocation(Resource pluginDir) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The method registerMetadataForPluginLocation is not used within PluginInstallEngine.groovy</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>91</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>applicationPluginsLocation = settings.getProjectPluginsDir()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getProjectPluginsDir() can probably be rewritten as projectPluginsDir</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>228</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>cacheDir currentDependencyManager.ivySettings.getDefault..absolutePath</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getDefaultCache() can probably be rewritten as defaultCache</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>237</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>pluginResolver.setCheckmodified(true)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>390</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PluginBuildSettings pluginSettings = pluginSettings</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>461</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>grails.build.logging.GrailsConsole.getInstance().warn("""</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getInstance() can probably be rewritten as instance</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>461</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>grails.build.logging.GrailsConsole.getInstance().warn("""</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The grails.build.logging.GrailsConsole class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>510</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def grailsVersion = settings.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>563</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsConsole.getInstance().addStatus("Uninstalled plugin [$name]")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getInstance() can probably be rewritten as instance</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>566</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsConsole.getInstance().warning("No plugin [$name${v.. uninstall")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getInstance() can probably be rewritten as instance</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>585</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private def addToMetadata(pluginName, pluginVersion) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. The def keyword is unneeded when a method is marked private</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>649</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsConsole.getInstance().userInput(msg, ['y','n'] as ..ng[]) == 'y'</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getInstance() can probably be rewritten as instance</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>657</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginInfos = pluginSettings.getPluginInfos()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.PluginInstallEngine. getPluginInfos() can probably be rewritten as pluginInfos</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ PluginResolveEngine.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>273</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch(e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>74</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>output.println getPluginInfoHeader()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.PluginResolveEngine. getPluginInfoHeader() can probably be rewritten as pluginInfoHeader</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>129</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>output.println getPluginInfoFooter()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.PluginResolveEngine. getPluginInfoFooter() can probably be rewritten as pluginInfoFooter</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>136</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected def printDependencies(output, dependencies) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.PluginResolveEngine. The def keyword is unneeded when a method is marked protected</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>145</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected def printSectionTitle(PrintWriter output, String title) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.PluginResolveEngine. The def keyword is unneeded when a method is marked protected</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>151</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected def printLineSeparator(PrintWriter output) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.PluginResolveEngine. The def keyword is unneeded when a method is marked protected</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ResolveException.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>for(IvyNode node in confReport.getUnresolvedDependencies()) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.ResolveException. getUnresolvedDependencies() can probably be rewritten as unresolvedDependencies</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>31</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def failedDownloads = confReport.getFailedArtifactsReports()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.ResolveException. getFailedArtifactsReports() can probably be rewritten as failedArtifactsReports</span></p></td></tr></table></div><div class='summary'><a name='grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/config'> </a><h2 class='packageHeader'>Package: grails-bootstrap.src.main.groovy.org.codehaus.groovy.grails.resolve.config</h2></div><div class='summary'><h3 class='fileHeader'>➥ RepositoriesConfigurer.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>91</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>fileSystemResolver.settings = dependencyManager.ivySettings</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>169</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>urlResolver.setCheckmodified(true)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><a name='grails-core/src/main/groovy/org/codehaus/groovy/grails/commons/cfg'> </a><h2 class='packageHeader'>Package: grails-core.src.main.groovy.org.codehaus.groovy.grails.commons.cfg</h2></div><div class='summary'><h3 class='fileHeader'>➥ ConfigurationHelper.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGroovyImport'>UnnecessaryGroovyImport</a></td><td class='priority3'>3</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import java.util.Map</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>53</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getCachedConfigs().clear()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getCachedConfigs() can probably be rewritten as cachedConfigs</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>64</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>classLoader = application.getClassLoader()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getClassLoader() can probably be rewritten as classLoader</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>77</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>co = getCachedConfigs().get(cacheKey)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getCachedConfigs() can probably be rewritten as cachedConfigs</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>111</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getCachedConfigs().put(cacheKey, co)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getCachedConfigs() can probably be rewritten as cachedConfigs</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>127</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>binding.put(CONFIG_BINDING_APP_NAME, application.getMeta..ATION_NAME))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getMetadata() can probably be rewritten as metadata</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>128</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>binding.put(CONFIG_BINDING_APP_VERSION, application.getM..ON_VERSION))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getMetadata() can probably be rewritten as metadata</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>142</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getCachedConfigs().put(DEV_CACHE_KEY, config)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getCachedConfigs() can probably be rewritten as cachedConfigs</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>192</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>stream = resource.getInputStream()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper. getInputStream() can probably be rewritten as inputStream</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MapBasedSmartPropertyOverrideConfigurer.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def beans = getBeansConfig()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.cfg.MapBasedSmartPropertyOverrideConfigurer. getBeansConfig() can probably be rewritten as beansConfig</span></p></td></tr></table></div><div class='summary'><a name='grails-core/src/main/groovy/org/codehaus/groovy/grails/commons/metaclass'> </a><h2 class='packageHeader'>Package: grails-core.src.main.groovy.org.codehaus.groovy.grails.commons.metaclass</h2></div><div class='summary'><h3 class='fileHeader'>➥ MetaClassEnhancer.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>method.invoke(method.getDeclaringClass(), instance, *args)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.metaclass.MetaClassEnhancer$1. getDeclaringClass() can probably be rewritten as declaringClass</span></p></td></tr></table></div><div class='summary'><a name='grails-core/src/main/groovy/org/codehaus/groovy/grails/compiler'> </a><h2 class='packageHeader'>Package: grails-core.src.main.groovy.org.codehaus.groovy.grails.compiler</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsProjectCompiler.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedPrivateField'>UnusedPrivateField</a></td><td class='priority2'>2</td><td class='number'>43</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static final List<String> PLUGIN_EXCLUDE_PATHS =..ial handling</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The field PLUGIN_EXCLUDE_PATHS is not used within the class org.codehaus.groovy.grails.compiler.GrailsProjectCompiler</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>97</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>pluginSettings.getArtefactResourcesForCurrentEnvironment())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.compiler.GrailsProjectCompiler. getArtefactResourcesForCurrentEnvironment() can probably be rewritten as artefactResourcesForCurrentEnvironment</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>142</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def jarFiles = getJarFiles()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.compiler.GrailsProjectCompiler. getJarFiles() can probably be rewritten as jarFiles</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>195</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>jarFiles.addAll(getExtraDependencies())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.compiler.GrailsProjectCompiler. getExtraDependencies() can probably be rewritten as extraDependencies</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsProjectPackager.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsConsole grailsConsole = GrailsConsole.getInstance()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.compiler.GrailsProjectPackager. getInstance() can probably be rewritten as instance</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>119</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ant.copy(todir:buildSettings.getClassesDir(), failonerror:false) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.compiler.GrailsProjectPackager. getClassesDir() can probably be rewritten as classesDir</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>269</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginInfos = pluginSettings.getSupportedPluginInfos()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.compiler.GrailsProjectPackager. getSupportedPluginInfos() can probably be rewritten as supportedPluginInfos</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>295</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginInfos = pluginSettings.getSupportedPluginInfos()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.compiler.GrailsProjectPackager. getSupportedPluginInfos() can probably be rewritten as supportedPluginInfos</span></p></td></tr></table></div><div class='summary'><a name='grails-core/src/main/groovy/org/codehaus/groovy/grails/exceptions'> </a><h2 class='packageHeader'>Package: grails-core.src.main.groovy.org.codehaus.groovy.grails.exceptions</h2></div><div class='summary'><h3 class='fileHeader'>➥ DefaultStackTracePrinter.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>43</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String prettyPrint(Throwable t) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. The cyclomatic complexity for method [prettyPrint] is [23]</span></p></td></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>167</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String prettyPrintCodeSnippet(Throwable exception) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. The cyclomatic complexity for method [prettyPrintCodeSnippet] is [21]</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>239</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch (e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>245</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} catch (e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>278</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} catch (e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>318</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String formatCodeSnippetEnd(Resource resource, int lineNumber) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DefaultStackTracePrinter. Method parameter [resource] is never referenced in the method formatCodeSnippetEnd of class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>318</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String formatCodeSnippetEnd(Resource resource, int lineNumber) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DefaultStackTracePrinter. Method parameter [lineNumber] is never referenced in the method formatCodeSnippetEnd of class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>139</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected def printCausedByMessage(PrintWriter sb, Throwable e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. The def keyword is unneeded when a method is marked protected</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>144</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected def printHeader(PrintWriter sb, String header) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. The def keyword is unneeded when a method is marked protected</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>164</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>res == null ? te.className : res.getFilename()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getFilename() can probably be rewritten as filename</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>284</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object message = mcee.getErrorCollector().getErrors().it..tor().next()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>284</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object message = mcee.getErrorCollector().getErrors().it..tor().next()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getErrorCollector() can probably be rewritten as errorCollector</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>287</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final tmp = new FileSystemResource(sem.getCause().getSourceLocator())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getSourceLocator() can probably be rewritten as sourceLocator</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>287</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final tmp = new FileSystemResource(sem.getCause().getSourceLocator())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getCause() can probably be rewritten as cause</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>309</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object message = mcee.getErrorCollector().getErrors().it..tor().next()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>309</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object message = mcee.getErrorCollector().getErrors().it..tor().next()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getErrorCollector() can probably be rewritten as errorCollector</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>312</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>lineNumber = sem.getCause().getLine()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getLine() can probably be rewritten as line</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>312</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>lineNumber = sem.getCause().getLine()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getCause() can probably be rewritten as cause</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>344</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>while (ex.getCause() != null && !ex.equals(ex.getCause())) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getCause() can probably be rewritten as cause</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>344</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>while (ex.getCause() != null && !ex.equals(ex.getCause())) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getCause() can probably be rewritten as cause</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>345</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ex = ex.getCause()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.exceptions.DefaultStackTracePrinter. getCause() can probably be rewritten as cause</span></p></td></tr></table></div><div class='summary'><a name='grails-core/src/main/groovy/org/codehaus/groovy/grails/plugins'> </a><h2 class='packageHeader'>Package: grails-core.src.main.groovy.org.codehaus.groovy.grails.plugins</h2></div><div class='summary'><h3 class='fileHeader'>➥ CoreGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.CoreGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>80</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (getParentCtx()?.containsBean('pluginManager')) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.CoreGrailsPlugin. getParentCtx() can probably be rewritten as parentCtx</span></p></td></tr><tr><td><a href='#UnnecessaryCollectCall'>UnnecessaryCollectCall</a></td><td class='priority3'>3</td><td class='number'>99</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def locations = new ArrayList(settings.pluginDirectories..olutePath })</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.CoreGrailsPlugin. The call to collect could probably be rewritten as a spread expression: settings.pluginDirectories*.absolutePath</span></p></td></tr></table></div><div class='summary'><a name='grails-core/src/main/groovy/org/codehaus/groovy/grails/plugins/publishing'> </a><h2 class='packageHeader'>Package: grails-core.src.main.groovy.org.codehaus.groovy.grails.plugins.publishing</h2></div><div class='summary'><h3 class='fileHeader'>➥ DefaultPluginPublisher.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>157</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected GPathResult getPluginMetadata(String pluginName) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DefaultPluginPublisher. Method parameter [pluginName] is never referenced in the method getPluginMetadata of class org.codehaus.groovy.grails.plugins.publishing.DefaultPluginPublisher</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>120</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def lastPlugin = allPlugins[allPlugins.size()-1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to allPlugins.last() or allPlugins[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>140</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>InputStream stream = pluginsListFile.getInputStream()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.publishing.DefaultPluginPublisher. getInputStream() can probably be rewritten as inputStream</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ PluginDescriptorGenerator.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>83</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void generatePluginXml(pluginProps, MarkupBuilder xml) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.publishing.PluginDescriptorGenerator. The cyclomatic complexity for method [generatePluginXml] is [28]</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.apache.ivy.plugins.resolver.URLResolver</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.apache.ivy.plugins.resolver.URLResolver] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ PluginPackager.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>139</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String packageSource(String pluginName, File classesDir,..targetDir) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PluginPackager. Method parameter [classesDir] is never referenced in the method packageSource of class org.codehaus.groovy.grails.plugins.publishing.PluginPackager</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>139</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String packageSource(String pluginName, File classesDir,..targetDir) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PluginPackager. Method parameter [targetDir] is never referenced in the method packageSource of class org.codehaus.groovy.grails.plugins.publishing.PluginPackager</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>149</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginGrailsVersion = "${GrailsUtil.grailsVersion} > *"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [pluginGrailsVersion] in class org.codehaus.groovy.grails.plugins.publishing.PluginPackager is not used</span></p></td></tr></table></div><div class='summary'><a name='grails-core/src/main/groovy/org/codehaus/groovy/grails/plugins/support'> </a><h2 class='packageHeader'>Package: grails-core.src.main.groovy.org.codehaus.groovy.grails.plugins.support</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsPluginUtils.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>13</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.support.GrailsPluginUtils. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ WatchPattern.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>59</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} catch (e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr></table></div><div class='summary'><a name='grails-crud/src/main/groovy/org/codehaus/groovy/grails/scaffolding'> </a><h2 class='packageHeader'>Package: grails-crud.src.main.groovy.org.codehaus.groovy.grails.scaffolding</h2></div><div class='summary'><h3 class='fileHeader'>➥ DefaultGrailsTemplateGenerator.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedPrivateMethod'>UnusedPrivateMethod</a></td><td class='priority2'>2</td><td class='number'>144</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private generateListView(domainClass, destDir) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The method generateListView is not used within DefaultGrailsTemplateGenerator.groovy</span></p></td></tr><tr><td><a href='#UnusedPrivateMethod'>UnusedPrivateMethod</a></td><td class='priority2'>2</td><td class='number'>154</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private generateShowView(domainClass, destDir) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The method generateShowView is not used within DefaultGrailsTemplateGenerator.groovy</span></p></td></tr><tr><td><a href='#UnusedPrivateMethod'>UnusedPrivateMethod</a></td><td class='priority2'>2</td><td class='number'>164</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private generateEditView(domainClass, destDir) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The method generateEditView is not used within DefaultGrailsTemplateGenerator.groovy</span></p></td></tr><tr><td><a href='#UnusedPrivateMethod'>UnusedPrivateMethod</a></td><td class='priority2'>2</td><td class='number'>174</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private generateCreateView(domainClass, destDir) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The method generateCreateView is not used within DefaultGrailsTemplateGenerator.groovy</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>113</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>for (t in getTemplateNames()) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.scaffolding.DefaultGrailsTemplateGenerator. getTemplateNames() can probably be rewritten as templateNames</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>255</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def response = GrailsConsole.getInstance().userInput("Fi..as String[])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.scaffolding.DefaultGrailsTemplateGenerator. getInstance() can probably be rewritten as instance</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>284</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return templateFile.inputStream.getText()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.scaffolding.DefaultGrailsTemplateGenerator. getText() can probably be rewritten as text</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>306</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>template = template.substring(1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.scaffolding.DefaultGrailsTemplateGenerator. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr></table></div><div class='summary'><a name='grails-docs/src/main/groovy/grails/doc'> </a><h2 class='packageHeader'>Package: grails-docs.src.main.groovy.grails.doc</h2></div><div class='summary'><h3 class='fileHeader'>➥ DocEngine.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>227</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void appendCreateLink(StringBuffer buffer, String name, String view) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DocEngine. Method parameter [view] is never referenced in the method appendCreateLink of class grails.doc.DocEngine</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>301</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void handleMatch(StringBuffer buffer, MatchResult result..t context) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BlockQuoteFilter. Method parameter [context] is never referenced in the method handleMatch of class grails.doc.BlockQuoteFilter</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>310</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void handleMatch(StringBuffer buffer, MatchResult result..t context) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ItalicFilter. Method parameter [context] is never referenced in the method handleMatch of class grails.doc.ItalicFilter</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>319</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void handleMatch(StringBuffer buffer, MatchResult result..t context) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BoldFilter. Method parameter [context] is never referenced in the method handleMatch of class grails.doc.BoldFilter</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>329</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void handleMatch(StringBuffer buffer, MatchResult result..t context) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class CodeFilter. Method parameter [context] is never referenced in the method handleMatch of class grails.doc.CodeFilter</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>363</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void handleMatch(StringBuffer buffer, MatchResult result..t context) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TextileLinkFilter. Method parameter [context] is never referenced in the method handleMatch of class grails.doc.TextileLinkFilter</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import java.util.regex.Pattern</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [java.util.regex.Pattern] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.radeox.macro.CodeMacro</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.radeox.macro.CodeMacro] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.radeox.macro.parameter.BaseMacroParameter</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.radeox.macro.parameter.BaseMacroParameter] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.radeox.util.Encoder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.radeox.util.Encoder] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DocPublisher.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>101</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch (e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>130</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private void catPublish() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.doc.DocPublisher. The cyclomatic complexity for method [catPublish] is [28]</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>251</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def fullToc = new StringBuilder()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [fullToc] in class grails.doc.DocPublisher is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>295</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def reference = [:]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [reference] in class grails.doc.DocPublisher is not used</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>404</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>varsCopy.content = engine.render(sourceFile.text, context)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>586</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>URL url = getClass().getClassLoader().getResource(src)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.doc.DocPublisher. getClassLoader() can probably be rewritten as classLoader</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ PdfBuilder.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedPrivateField'>UnusedPrivateField</a></td><td class='priority2'>2</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static final String LIVE_DOC_SITE = 'http://grails.org'</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The field LIVE_DOC_SITE is not used within the class grails.doc.PdfBuilder</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static void build(String baseDir, String styleDir = null) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PdfBuilder. Method parameter [styleDir] is never referenced in the method build of class grails.doc.PdfBuilder</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>73</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Document doc = builder.parse(new ByteArrayInputStream(xml.getBytes()))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.doc.PdfBuilder. getBytes() can probably be rewritten as bytes</span></p></td></tr></table></div><div class='summary'><a name='grails-docs/src/main/groovy/grails/doc/filters'> </a><h2 class='packageHeader'>Package: grails-docs.src.main.groovy.grails.doc.filters</h2></div><div class='summary'><h3 class='fileHeader'>➥ HeaderFilter.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void handleMatch(StringBuffer out, MatchResult matchResu..erContext) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class HeaderFilter. Method parameter [filterContext] is never referenced in the method handleMatch of class grails.doc.filters.HeaderFilter</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.radeox.filter.regex.RegexFilter</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.radeox.filter.regex.RegexFilter] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ LinkTestFilter.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>54</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Writer writer = new StringBufferWriter(buffer)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [writer] in class grails.doc.filters.LinkTestFilter is not used</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.radeox.filter.interwiki.InterWiki</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.radeox.filter.interwiki.InterWiki] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>48</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def engine = context.getRenderContext().getRenderEngine()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.doc.filters.LinkTestFilter. getRenderEngine() can probably be rewritten as renderEngine</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>48</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def engine = context.getRenderContext().getRenderEngine()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.doc.filters.LinkTestFilter. getRenderContext() can probably be rewritten as renderContext</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>71</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>alias = name.substring(0, pipeIndex)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.doc.filters.LinkTestFilter. The String.substring(int, int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>name = name.substring(pipeIndex + 1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.doc.filters.LinkTestFilter. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>79</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>hash = name.substring(hashIndex + 1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.doc.filters.LinkTestFilter. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>80</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>name = name.substring(0, hashIndex)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.doc.filters.LinkTestFilter. The String.substring(int, int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>106</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>context.getRenderContext().setCacheable(false)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.doc.filters.LinkTestFilter. getRenderContext() can probably be rewritten as renderContext</span></p></td></tr></table></div><div class='summary'><a name='grails-docs/src/main/groovy/grails/doc/gradle'> </a><h2 class='packageHeader'>Package: grails-docs.src.main.groovy.grails.doc.gradle</h2></div><div class='summary'><h3 class='fileHeader'>➥ PublishGuide.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>56</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>publisher.css = project.file("${resourcesDir}/css")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>57</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>publisher.js = project.file("${resourcesDir}/js")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>58</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>publisher.style = project.file("${resourcesDir}/style")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>59</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>publisher.version = props."grails.version"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>60</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>publisher.logo = '<a href="http://grails.org" target="_b..r="0"/></a>'</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>61</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>publisher.sponsorLogo = '<a href="http://springsource.co..r="0"/></a>'</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><a name='grails-docs/src/main/groovy/grails/doc/macros'> </a><h2 class='packageHeader'>Package: grails-docs.src.main.groovy.grails.doc.macros</h2></div><div class='summary'><h3 class='fileHeader'>➥ GspTagSourceMacro.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String code</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [code] in class grails.doc.macros.GspTagSourceMacro is not used</span></p></td></tr></table></div><div class='summary'><a name='grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate'> </a><h2 class='packageHeader'>Package: grails-hibernate.src.main.groovy.org.codehaus.groovy.grails.orm.hibernate</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsHibernateTransactionManager.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.hibernate.Session</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.hibernate.Session] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ HibernateGormEnhancer.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>194</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} catch (e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#ThrowExceptionFromFinallyBlock'>ThrowExceptionFromFinallyBlock</a></td><td class='priority2'>2</td><td class='number'>961</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>throw e</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Throwing an exception from a finally block can hide an underlying error</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>148</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>this.sessionFactory = datastore.getSessionFactory()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateGormStaticApi. getSessionFactory() can probably be rewritten as sessionFactory</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>156</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>grailsApplication = domainClassMappingContext.getGrailsApplication()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateGormStaticApi. getGrailsApplication() can probably be rewritten as grailsApplication</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>668</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def sessionFactory = datastore.getSessionFactory()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateGormValidationApi. getSessionFactory() can probably be rewritten as sessionFactory</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>673</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def grailsApplication = domainClassMappingContext.getGra..pplication()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateGormValidationApi. getGrailsApplication() can probably be rewritten as grailsApplication</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>736</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>sessionFactory = datastore.getSessionFactory()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateGormInstanceApi. getSessionFactory() can probably be rewritten as sessionFactory</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>741</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def grailsApplication = domainClassMappingContext.getGra..pplication()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateGormInstanceApi. getGrailsApplication() can probably be rewritten as grailsApplication</span></p></td></tr></table></div><div class='summary'><a name='grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/cfg'> </a><h2 class='packageHeader'>Package: grails-hibernate.src.main.groovy.org.codehaus.groovy.grails.orm.hibernate.cfg</h2></div><div class='summary'><h3 class='fileHeader'>➥ GORMEnhancingBeanPostProcessor.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>43</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def postProcessBeforeInitialization(Object bean, String ..me) { bean }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GORMEnhancingBeanPostProcessor. Method parameter [beanName] is never referenced in the method postProcessBeforeInitialization of class org.codehaus.groovy.grails.orm.hibernate.cfg.GORMEnhancingBeanPostProcessor</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object postProcessAfterInitialization(Object bean, String beanName) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GORMEnhancingBeanPostProcessor. Method parameter [beanName] is never referenced in the method postProcessAfterInitialization of class org.codehaus.groovy.grails.orm.hibernate.cfg.GORMEnhancingBeanPostProcessor</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ HibernateMappingBuilder.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>373</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private handleMethodMissing = { String name, args -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.HibernateMappingBuilder. The cyclomatic complexity for method [handleMethodMissing] is [46]</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>382</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>property.cascade = namedArgs.cascade ?: property.cascade</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>383</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>property.sort = namedArgs.sort ?: property.sort</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>384</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>property.order = namedArgs.order ?: property.order</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>385</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>property.batchSize = namedArgs.batchSize instanceof Inte..ty.batchSize</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>386</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>property.ignoreNotFound = namedArgs.ignoreNotFound != nu..noreNotFound</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>387</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>property.typeParams = namedArgs.params ?: property.typeParams</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>577</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>column.length = args["length"] ?: -1</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>578</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>column.precision = args["precision"] ?: -1</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>579</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>column.scale = args["scale"] ?: -1</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ HibernateNamedQueriesBuilder.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>231</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def preparedClosure = getPreparedCriteriaClosure()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.NamedCriteriaProxy. getPreparedCriteriaClosure() can probably be rewritten as preparedCriteriaClosure</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>287</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def previousClosure = previousInChain.getPreparedCriteriaClosure()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.NamedCriteriaProxy. getPreparedCriteriaClosure() can probably be rewritten as preparedCriteriaClosure</span></p></td></tr></table></div><div class='summary'><a name='grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/plugins/orm/hibernate'> </a><h2 class='packageHeader'>Package: grails-hibernate.src.main.groovy.org.codehaus.groovy.grails.plugins.orm.hibernate</h2></div><div class='summary'><h3 class='fileHeader'>➥ HibernatePluginSupport.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>79</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static doWithSpring = {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. The cyclomatic complexity for method [doWithSpring] is [55]</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>186</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def cacheClass = getClass().classLoader.loadClass(cacheProvider)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [cacheClass] in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>349</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String prefix = isDefault ? '' : datasourceName + '_'</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [prefix] in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport is not used</span></p></td></tr><tr><td><a href='#UnusedPrivateMethod'>UnusedPrivateMethod</a></td><td class='priority2'>2</td><td class='number'>590</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static List<String> removeNullNames(Map query) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The method removeNullNames is not used within HibernatePluginSupport.groovy</span></p></td></tr><tr><td><a href='#ThrowExceptionFromFinallyBlock'>ThrowExceptionFromFinallyBlock</a></td><td class='priority2'>2</td><td class='number'>612</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>throw e</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Throwing an exception from a finally block can hide an underlying error</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>638</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} catch (TypeMismatchException e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>669</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} catch (FileNotFoundException fnfe) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.orm.hibernate.cfg.Defa..onfiguration</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.orm.hibernate.cfg.DefaultGrailsDomainConfiguration] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>67</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.domain.GrailsDomainCla..istentEntity</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.domain.GrailsDomainClassPersistentEntity] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>81</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (getSpringConfig().containsBean(ConstraintsEvaluator.BEAN_NAME)) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. getSpringConfig() can probably be rewritten as springConfig</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>96</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (getSpringConfig().containsBean('dataSource')) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. getSpringConfig() can probably be rewritten as springConfig</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>107</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>new PersistentConstraintFactory(getSpringConfig().getUnr..onContext(),</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. getUnrefreshedApplicationContext() can probably be rewritten as unrefreshedApplicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>107</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>new PersistentConstraintFactory(getSpringConfig().getUnr..onContext(),</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. getSpringConfig() can probably be rewritten as springConfig</span></p></td></tr><tr><td><a href='#UnnecessaryCollectCall'>UnnecessaryCollectCall</a></td><td class='priority3'>3</td><td class='number'>252</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>hibConfigLocations.addAll(explicitLocations.collect { it.toString() })</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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()</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>320</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (getSpringConfig().containsBean("controllerHandlerMappings")) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. getSpringConfig() can probably be rewritten as springConfig</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>323</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (getSpringConfig().containsBean("annotationHandlerMapping")) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. getSpringConfig() can probably be rewritten as springConfig</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>510</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>for (PersistentEntity entity in mappingContext.getPersis..ntities()) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport. getPersistentEntities() can probably be rewritten as persistentEntities</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>701</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>validateMethods.remove 'setValidateMethod'</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-async/src/main/groovy/org/codehaus/groovy/grails/plugins/web/async'> </a><h2 class='packageHeader'>Package: grails-plugin-async.src.main.groovy.org.codehaus.groovy.grails.plugins.web.async</h2></div><div class='summary'><h3 class='fileHeader'>➥ ControllersAsyncGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>31</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.async.ControllersAsyncGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsAsyncContext.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.sitemesh.SpringMVCViewDecorator</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.sitemesh.SpringMVCViewDecorator] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def applicationContext = webRequest.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.async.GrailsAsyncContext. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>58</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsWebRequest webRequest = new GrailsWebRequest(reque..etContext())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.async.GrailsAsyncContext. getServletContext() can probably be rewritten as servletContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>84</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def targetResponse = bufferingResponse.getTargetResponse()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.async.GrailsAsyncContext. getTargetResponse() can probably be rewritten as targetResponse</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>85</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def content = bufferingResponse.getContent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.async.GrailsAsyncContext. getContent() can probably be rewritten as content</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>91</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>content.writeOriginal(targetResponse.getWriter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.async.GrailsAsyncContext. getWriter() can probably be rewritten as writer</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-async/src/main/groovy/org/codehaus/groovy/grails/plugins/web/async/api'> </a><h2 class='packageHeader'>Package: grails-plugin-async.src.main.groovy.org.codehaus.groovy.grails.plugins.web.async.api</h2></div><div class='summary'><h3 class='fileHeader'>➥ ControllersAsyncApi.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>39</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>AsyncContext startAsync(instance) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-codecs/src/main/groovy/org/codehaus/groovy/grails/plugins'> </a><h2 class='packageHeader'>Package: grails-plugin-codecs.src.main.groovy.org.codehaus.groovy.grails.plugins</h2></div><div class='summary'><h3 class='fileHeader'>➥ CodecsGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.CodecsGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def encodeMethod = codecClass.getEncodeMethod()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.CodecsGrailsPlugin. getEncodeMethod() can probably be rewritten as encodeMethod</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>84</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def decodeMethod = codecClass.getDecodeMethod()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.CodecsGrailsPlugin. getDecodeMethod() can probably be rewritten as decodeMethod</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-codecs/src/main/groovy/org/codehaus/groovy/grails/plugins/codecs'> </a><h2 class='packageHeader'>Package: grails-plugin-codecs.src.main.groovy.org.codehaus.groovy.grails.plugins.codecs</h2></div><div class='summary'><h3 class='fileHeader'>➥ Base64Codec.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.runtime.DefaultGroovyMethods</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.runtime.DefaultGroovyMethods] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>49</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return Base64.decodeBase64(theTarget.toString().getBytes())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.codecs.Base64Codec. getBytes() can probably be rewritten as bytes</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ HexCodec.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>theTarget.each() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.codecs.HexCodec. Parentheses in the 'each' method call are unnecessary and can be removed.</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ SHA256Codec.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import java.security.MessageDigest</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [java.security.MessageDigest] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ URLCodec.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGroovyImport'>UnnecessaryGroovyImport</a></td><td class='priority3'>3</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import java.net.URLEncoder</span></p></td></tr><tr><td><a href='#UnnecessaryGroovyImport'>UnnecessaryGroovyImport</a></td><td class='priority3'>3</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import java.net.URLDecoder</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>URLEncoder.encode(obj.toString(), URLCodec.getEncoding())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.codecs.URLCodec. getEncoding() can probably be rewritten as encoding</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>34</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>URLDecoder.decode(obj.toString(), URLCodec.getEncoding())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.codecs.URLCodec. getEncoding() can probably be rewritten as encoding</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static def getEncoding() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.codecs.URLCodec. The def keyword is unneeded when a method is marked private</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>38</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def request = RequestContextHolder.getRequestAttributes()?.request</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.codecs.URLCodec. getRequestAttributes() can probably be rewritten as requestAttributes</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-codecs/src/test/groovy/org/codehaus/groovy/grails/web/codecs'> </a><h2 class='packageHeader'>Package: grails-plugin-codecs.src.test.groovy.org.codehaus.groovy.grails.web.codecs</h2></div><div class='summary'><h3 class='fileHeader'>➥ Base64CodecTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>14</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class Base64CodecTests. The method setUp() does not call super.setUp()</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ HexCodecTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UseAssertNullInsteadOfAssertEquals'>UseAssertNullInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(codec.encode(null), null)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.codecs.HexCodecTests. assertEquals can be simplified using assertNull</span></p></td></tr><tr><td><a href='#UseAssertNullInsteadOfAssertEquals'>UseAssertNullInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(codec.decode(null), null)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.codecs.HexCodecTests. assertEquals can be simplified using assertNull</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ URLCodecTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>14</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class URLCodecTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class URLCodecTests. The method tearDown() does not call super.tearDown()</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/plugins/web'> </a><h2 class='packageHeader'>Package: grails-plugin-controllers.src.main.groovy.org.codehaus.groovy.grails.plugins.web</h2></div><div class='summary'><h3 class='fileHeader'>➥ ControllersGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>109</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def basedir = System.getProperty("base.dir")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [basedir] in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPlugin is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>110</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def grailsEnv = Environment.current.name</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [grailsEnv] in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPlugin is not used</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>201</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static void enhanceDomainWithBinding(ApplicationContext ..aClass mc) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllersGrailsPlugin. Method parameter [ctx] is never referenced in the method enhanceDomainWithBinding of class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPlugin</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>50</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>113</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mappingElement = mappingElement[mappingElement.size() - 1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to mappingElement.last() or mappingElement[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>113</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mappingElement = mappingElement[mappingElement.size() - 1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to mappingElement.last() or mappingElement[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>125</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def lastFilter = filters[filters.size() - 1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to filters.last() or filters[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>125</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def lastFilter = filters[filters.size() - 1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to filters.last() or filters[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>126</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def lastFilterMapping = filterMappings[filterMappings.size() - 1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to filterMappings.last() or filterMappings[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>126</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def lastFilterMapping = filterMappings[filterMappings.size() - 1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to filterMappings.last() or filterMappings[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>169</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object gspEnc = application.getFlatConfig().get("grails....encoding");</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPlugin. getFlatConfig() can probably be rewritten as flatConfig</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>175</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def redirectListeners = ctx.getBeansOfType(RedirectEvent..tener.class)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>RedirectEventListener.class can be rewritten as RedirectEventListener</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>178</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object o = application.getFlatConfig().get(RedirectDynam..JSESSIONID);</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPlugin. getFlatConfig() can probably be rewritten as flatConfig</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/web/metaclass'> </a><h2 class='packageHeader'>Package: grails-plugin-controllers.src.main.groovy.org.codehaus.groovy.grails.web.metaclass</h2></div><div class='summary'><h3 class='fileHeader'>➥ ChainMethod.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def flash = webRequest.getFlashScope()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.metaclass.ChainMethod. getFlashScope() can probably be rewritten as flashScope</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>65</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def appCtx = webRequest.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.metaclass.ChainMethod. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>74</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def response = webRequest.getCurrentResponse()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.metaclass.ChainMethod. getCurrentResponse() can probably be rewritten as currentResponse</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ WithFormMethod.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#SynchronizedMethod'>SynchronizedMethod</a></td><td class='priority2'>2</td><td class='number'>66</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected synchronized boolean isTokenValid(GrailsWebReq..ebRequest) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class WithFormMethod. The method isTokenValid is synchronized at the method level</span></p></td></tr><tr><td><a href='#SynchronizedMethod'>SynchronizedMethod</a></td><td class='priority2'>2</td><td class='number'>88</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected synchronized resetToken(GrailsWebRequest webRequest) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class WithFormMethod. The method resetToken is synchronized at the method level</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>118</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected Object invalidTokenInternal(Closure callable) { model }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ValidResponseHandler. Method parameter [callable] is never referenced in the method invalidTokenInternal of class org.codehaus.groovy.grails.web.metaclass.ValidResponseHandler</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import javax.servlet.http.HttpServletRequest</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [javax.servlet.http.HttpServletRequest] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>67</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final request = webRequest.getCurrentRequest()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.metaclass.WithFormMethod. getCurrentRequest() can probably be rewritten as currentRequest</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>89</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final request = webRequest.getCurrentRequest()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.metaclass.WithFormMethod. getCurrentRequest() can probably be rewritten as currentRequest</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/web/plugins/support'> </a><h2 class='packageHeader'>Package: grails-plugin-controllers.src.main.groovy.org.codehaus.groovy.grails.web.plugins.support</h2></div><div class='summary'><h3 class='fileHeader'>➥ WebMetaUtils.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>85</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static void prepareCommandObjectBindingAction(Method act..ntext ctx) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class WebMetaUtils. Method parameter [action] is never referenced in the method prepareCommandObjectBindingAction of class org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>230</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static registerCommonWebProperties(MetaClass mc, GrailsA..plication) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class WebMetaUtils. Method parameter [application] is never referenced in the method registerCommonWebProperties of class org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>101</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def paramTypes = originalAction.getParameterTypes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils. getParameterTypes() can probably be rewritten as parameterTypes</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>137</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty.getPropertyName()), errors)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils. getPropertyName() can probably be rewritten as propertyName</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>164</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return result.substring(0, result.size() - 8)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils. The String.substring(int, int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>250</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mc.getResponse = responseObject</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>252</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mc.getGrailsAttributes = grailsAttrsObject</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>254</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mc.getGrailsApplication = {-> RCH.currentRequestAttribut..pplication }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>256</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mc.getActionName = {-> RCH.currentRequestAttributes().actionName }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>257</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mc.getControllerName = {-> RCH.currentRequestAttributes(..rollerName }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>258</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mc.getWebRequest = {-> RCH.currentRequestAttributes() }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>264</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final MetaClass mc = taglib.getMetaClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils. getMetaClass() can probably be rewritten as metaClass</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/plugins/converters'> </a><h2 class='packageHeader'>Package: grails-plugin-converters.src.main.groovy.org.codehaus.groovy.grails.plugins.converters</h2></div><div class='summary'><h3 class='fileHeader'>➥ ConvertersGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>40</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.converters.ConvertersGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>controllers: GrailsUtil.getGrailsVersion(),</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.converters.ConvertersGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>53</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>domainClass: GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.converters.ConvertersGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ConvertersPluginSupport.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>44</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>static void enhanceApplication(GrailsApplication applica..onContext) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ConvertersPluginSupport. Method parameter [application] is never referenced in the method enhanceApplication of class org.codehaus.groovy.grails.plugins.converters.ConvertersPluginSupport</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/web/converters'> </a><h2 class='packageHeader'>Package: grails-plugin-converters.src.main.groovy.org.codehaus.groovy.grails.web.converters</h2></div><div class='summary'><h3 class='fileHeader'>➥ JSONParsingParameterCreationListener.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def request = params.getRequest()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.converters.JSONParsingParameterCreationListener. getRequest() can probably be rewritten as request</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ XMLParsingParameterCreationListener.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def request = params.getRequest()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.converters.XMLParsingParameterCreationListener. getRequest() can probably be rewritten as request</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-converters/src/main/groovy/org/codehaus/groovy/grails/web/converters/configuration'> </a><h2 class='packageHeader'>Package: grails-plugin-converters.src.main.groovy.org.codehaus.groovy.grails.web.converters.configuration</h2></div><div class='summary'><h3 class='fileHeader'>➥ configtest.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#ImportFromSamePackage'>ImportFromSamePackage</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.converters.configu..nInitializer</span></p></td></tr><tr><td><a href='#ImportFromSamePackage'>ImportFromSamePackage</a></td><td class='priority3'>3</td><td class='number'>4</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.converters.configu..rationHolder</span></p></td></tr><tr><td><a href='#ImportFromSamePackage'>ImportFromSamePackage</a></td><td class='priority3'>3</td><td class='number'>6</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.converters.configu..onfiguration</span></p></td></tr><tr><td><a href='#ImportFromSamePackage'>ImportFromSamePackage</a></td><td class='priority3'>3</td><td class='number'>7</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.converters.configu..onfiguration</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>15</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def defcfg = ConvertersConfigurationHolder.getConverterC..(JSON.class)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>JSON.class can be rewritten as JSON</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-datasource/src/main/groovy/org/codehaus/groovy/grails/plugins/datasource'> </a><h2 class='packageHeader'>Package: grails-plugin-datasource.src.main.groovy.org.codehaus.groovy.grails.plugins.datasource</h2></div><div class='summary'><h3 class='fileHeader'>➥ DataSourceGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def createDatasource = { String datasourceName, ds -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.datasource.DataSourceGrailsPlugin. The cyclomatic complexity for method [createDatasource] is [22]</span></p></td></tr><tr><td><a href='#ClassForName'>ClassForName</a></td><td class='priority2'>2</td><td class='number'>186</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>codecClass = Class.forName(encryptionCodec, true, applic..classLoader)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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(...)</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>275</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} catch (e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.datasource.DataSourceGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def dependsOn = [core: GrailsUtil.getGrailsVersion()]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.datasource.DataSourceGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryElseStatement'>UnnecessaryElseStatement</a></td><td class='priority3'>3</td><td class='number'>191</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>else {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>When an if statement block ends with a return statement the else is unnecessary</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>221</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>listeners[listeners.size() - 1] + {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to listeners.last() or listeners[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>221</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>listeners[listeners.size() - 1] + {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to listeners.last() or listeners[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>269</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>connection = dataSource.getConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.datasource.DataSourceGrailsPlugin. getConnection() can probably be rewritten as connection</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-domain-class/src/main/groovy/org/codehaus/groovy/grails/domain'> </a><h2 class='packageHeader'>Package: grails-plugin-domain-class.src.main.groovy.org.codehaus.groovy.grails.domain</h2></div><div class='summary'><h3 class='fileHeader'>➥ GormApiSupport.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>34</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PersistentEntity entity = ctx.getPersistentEntity(cls.getName())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.domain.GormApiSupport. getName() can probably be rewritten as name</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-domain-class/src/main/groovy/org/codehaus/groovy/grails/plugins'> </a><h2 class='packageHeader'>Package: grails-plugin-domain-class.src.main.groovy.org.codehaus.groovy.grails.plugins</h2></div><div class='summary'><h3 class='fileHeader'>➥ DomainClassGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>113</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} catch (e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>289</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>public static addRelationshipManagementMethods(GrailsDom..ntext ctx) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin. The cyclomatic complexity for method [addRelationshipManagementMethods] is [27]</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.ClosureToMapPopulator</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.ClosureToMapPopulator] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>40</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.spring.GrailsR..Configurator</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>112</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>org.grails.datastore.mapping.reflect.ClassPropertyFetche..hers.clear()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The org.grails.datastore.mapping.reflect.ClassPropertyFetcher class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>112</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>org.grails.datastore.mapping.reflect.ClassPropertyFetche..hers.clear()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The org.grails.datastore.mapping.reflect.ClassPropertyFetcher class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>170</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>for (GrailsDomainClass component in dc.getComponents()) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin. getComponents() can probably be rewritten as components</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>225</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def attributes = rch.getRequestAttributes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin. getRequestAttributes() can probably be rewritten as requestAttributes</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>232</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def attributes = rch.getRequestAttributes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin. getRequestAttributes() can probably be rewritten as requestAttributes</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>261</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>delegate.setErrors (new BeanPropertyBindingResult(delega...getName()))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryElseStatement'>UnnecessaryElseStatement</a></td><td class='priority3'>3</td><td class='number'>306</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>else {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>When an if statement block ends with a return statement the else is unnecessary</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DomainClassPluginSupport.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.validation.BeanPropertyBindingResult</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.validation.BeanPropertyBindingResult] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>prop.validate(object, object.getProperty(prop.getPropert..localErrors)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.DomainClassPluginSupport. getPropertyName() can probably be rewritten as propertyName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def fieldName = localError.getField()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.DomainClassPluginSupport. getField() can probably be rewritten as field</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-filters/src/main/groovy/org/codehaus/groovy/grails/plugins/web/filters'> </a><h2 class='packageHeader'>Package: grails-plugin-filters.src.main.groovy.org.codehaus.groovy.grails.plugins.web.filters</h2></div><div class='summary'><h3 class='fileHeader'>➥ FilterConfig.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#ConsecutiveStringConcatenation'>ConsecutiveStringConcatenation</a></td><td class='priority3'>3</td><td class='number'>100</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>"Invalid filter definition in ${filtersDefinition.getCla..} - trying "</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>String concatenation in class org.codehaus.groovy.grails.plugins.web.filters.FilterConfig can be joined into a single literal</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FilterToHandlerAdapter.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>116</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>boolean preHandle(HttpServletRequest request, HttpServle.. Object o) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FilterToHandlerAdapter. Method parameter [o] is never referenced in the method preHandle of class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>138</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void postHandle(HttpServletRequest request, HttpServletR..elAndView) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FilterToHandlerAdapter. Method parameter [o] is never referenced in the method postHandle of class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>182</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void afterCompletion(HttpServletRequest request, HttpSer...Exception {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FilterToHandlerAdapter. Method parameter [response] is never referenced in the method afterCompletion of class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>182</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void afterCompletion(HttpServletRequest request, HttpSer...Exception {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FilterToHandlerAdapter. Method parameter [o] is never referenced in the method afterCompletion of class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>112</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (!uri) uri = request.getRequestURI()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter. getRequestURI() can probably be rewritten as requestURI</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>113</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return uri.substring(request.getContextPath().length())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter. getContextPath() can probably be rewritten as contextPath</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>113</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return uri.substring(request.getContextPath().length())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>223</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>actionName = controllerClass?.getDefaultAction()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.filters.FilterToHandlerAdapter. getDefaultAction() can probably be rewritten as defaultAction</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FiltersGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>100</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def filterClass = applicationContext.getBean("${c.fullName}Class")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [filterClass] in class org.codehaus.groovy.grails.plugins.web.filters.FiltersGrailsPlugin is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>149</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def filterClass = applicationContext.getBean("${c.fullName}Class")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [filterClass] in class org.codehaus.groovy.grails.plugins.web.filters.FiltersGrailsPlugin is not used</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>40</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.filters.FiltersGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-gsp/src/main/groovy/org/codehaus/groovy/grails/plugins/web'> </a><h2 class='packageHeader'>Package: grails-plugin-gsp.src.main.groovy.org.codehaus.groovy.grails.plugins.web</h2></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPagesGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>89</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def doWithSpring = {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.GroovyPagesGrailsPlugin. The cyclomatic complexity for method [doWithSpring] is [23]</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>289</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsPluginManager pluginManager = getManager()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [pluginManager] in class org.codehaus.groovy.grails.plugins.web.GroovyPagesGrailsPlugin is not used</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.GrailsClassUtils</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.commons.GrailsClassUtils] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.GrailsTagLibClass</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.commons.GrailsTagLibClass] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>61</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.GroovyPagesGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>167</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>groovyPageLocator = groovyPageLocator</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>167</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>groovyPageLocator = groovyPageLocator</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>172</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>jspTagLibraryResolver = jspTagLibraryResolver</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>172</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>jspTagLibraryResolver = jspTagLibraryResolver</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>178</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>groovyPageLocator = groovyPageLocator</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>178</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>groovyPageLocator = groovyPageLocator</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>202</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>groovyPageLocator = groovyPageLocator</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>202</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>groovyPageLocator = groovyPageLocator</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>269</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (Modifier.isAbstract(superClass.getModifiers()) && !s..Enhanced)) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.GroovyPagesGrailsPlugin. getModifiers() can probably be rewritten as modifiers</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>278</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>nonEnhancedClasses.each { enhancer.enhance it.getMetaClass() }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.GroovyPagesGrailsPlugin. getMetaClass() can probably be rewritten as metaClass</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>289</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsPluginManager pluginManager = getManager()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.GroovyPagesGrailsPlugin. getManager() can probably be rewritten as manager</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-gsp/src/main/groovy/org/codehaus/groovy/grails/plugins/web/taglib'> </a><h2 class='packageHeader'>Package: grails-plugin-gsp.src.main.groovy.org.codehaus.groovy.grails.plugins.web.taglib</h2></div><div class='summary'><h3 class='fileHeader'>➥ ApplicationTagLib.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.runtime.DefaultGroovyMethods;</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.runtime.DefaultGroovyMethods] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryElseStatement'>UnnecessaryElseStatement</a></td><td class='priority3'>3</td><td class='number'>80</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} else {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>When an if statement block ends with a return statement the else is unnecessary</span></p></td></tr><tr><td><a href='#UnnecessaryElseStatement'>UnnecessaryElseStatement</a></td><td class='priority3'>3</td><td class='number'>203</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} else {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>When an if statement block ends with a return statement the else is unnecessary</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>233</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def writer = getOut()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib. getOut() can probably be rewritten as out</span></p></td></tr><tr><td><a href='#UnnecessaryElseStatement'>UnnecessaryElseStatement</a></td><td class='priority3'>3</td><td class='number'>398</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>else {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>When an if statement block ends with a return statement the else is unnecessary</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CountryTagLib.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryCollectCall'>UnnecessaryCollectCall</a></td><td class='priority3'>3</td><td class='number'>274</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ISO3166_3.entrySet().sort { a, b -> a.value.compareTo(b...) { it.key }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>274</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ISO3166_3.entrySet().sort { a, b -> a.value.compareTo(b...) { it.key }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.CountryTagLib. Parentheses in the 'collect' method call are unnecessary and can be removed.</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FormTagLib.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>477</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Closure datePicker = { attrs -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. The cyclomatic complexity for method [datePicker] is [58]</span></p></td></tr><tr><td><a href='#AddEmptyString'>AddEmptyString</a></td><td class='priority2'>2</td><td class='number'>667</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def h = '' + i</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Concatenating an empty string is an inefficient way to convert an object to a String. Consider using toString() or String.valueOf(Object)</span></p></td></tr><tr><td><a href='#AddEmptyString'>AddEmptyString</a></td><td class='priority2'>2</td><td class='number'>696</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def m = '' + i</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Concatenating an empty string is an inefficient way to convert an object to a String. Consider using toString() or String.valueOf(Object)</span></p></td></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>813</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Closure select = { attrs -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. The cyclomatic complexity for method [select] is [26]</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>952</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch (e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.util.StreamCharBuffer</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.util.StreamCharBuffer] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>319</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def writer = getOut()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. getOut() can probably be rewritten as out</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>478</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def out = out // let x = x ?</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>478</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def out = out // let x = x ?</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>485</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>xdefault = DateFormat.getInstance().parse(xdefault)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. getInstance() can probably be rewritten as instance</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>723</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>attrs.from = TimeZone.getAvailableIDs()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. getAvailableIDs() can probably be rewritten as availableIDs</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>724</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>attrs.value = (attrs.value ? attrs.value.ID : TimeZone.g..efault().ID)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. getDefault() can probably be rewritten as default</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>755</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>attrs.from = Locale.getAvailableLocales()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. getAvailableLocales() can probably be rewritten as availableLocales</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>820</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def messageSource = grailsAttributes.getApplicationConte..sageSource")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FormatTagLib.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>227</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Closure formatNumber = { attrs -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormatTagLib. The cyclomatic complexity for method [formatNumber] is [26]</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>162</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>timeZone = TimeZone.getDefault()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormatTagLib. getDefault() can probably be rewritten as default</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>281</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>dcfs = decimalFormat.getDecimalFormatSymbols()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormatTagLib. getDecimalFormatSymbols() can probably be rewritten as decimalFormatSymbols</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>338</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>locale = Locale.getDefault()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.FormatTagLib. getDefault() can probably be rewritten as default</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ JavascriptTagLib.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} catch (e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnusedPrivateMethod'>UnusedPrivateMethod</a></td><td class='priority2'>2</td><td class='number'>62</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private void initHasResourceProcessor() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The method initHasResourceProcessor is not used within JavascriptTagLib.groovy</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>162</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>reqResCtx = (requestPluginContext.startsWith("/") ? requ..ntext) + '/'</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.JavascriptTagLib. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>193</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getProvider().doRemoteFunction(owner, attrs, out)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.JavascriptTagLib. getProvider() can probably be rewritten as provider</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>349</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def p = getProvider()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.JavascriptTagLib. getProvider() can probably be rewritten as provider</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>388</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def p = getProvider()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.JavascriptTagLib. getProvider() can probably be rewritten as provider</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ RenderTagLib.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>329</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Closure paginate = { attrs -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. The cyclomatic complexity for method [paginate] is [40]</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return getRequest().getAttribute(PAGE)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getRequest() can probably be rewritten as request</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>107</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def oldPage = getPage()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getPage() can probably be rewritten as page</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>151</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def parser = getFactory().getPageParser(contentType)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getFactory() can probably be rewritten as factory</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>158</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def decoratorMapper = getFactory().getDecoratorMapper()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getDecoratorMapper() can probably be rewritten as decoratorMapper</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>158</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def decoratorMapper = getFactory().getDecoratorMapper()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getFactory() can probably be rewritten as factory</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>165</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def t = groovyPagesTemplateEngine.createTemplate(d.getPage())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getPage() can probably be rewritten as page</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>177</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return FactoryHolder.getFactory()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getFactory() can probably be rewritten as factory</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>197</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def htmlPage = getPage()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getPage() can probably be rewritten as page</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>216</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>out << propertyName.substring(propertyName.lastIndexOf('.') + 1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>244</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def htmlPage = getPage()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getPage() can probably be rewritten as page</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>291</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPage().writeBody(out)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getPage() can probably be rewritten as page</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>302</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPage().writeHead(out)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getPage() can probably be rewritten as page</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>565</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>groovyPagesTemplateRenderer.render(getWebRequest(), getP..y, getOut())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getWebRequest() can probably be rewritten as webRequest</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>565</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>groovyPagesTemplateRenderer.render(getWebRequest(), getP..y, getOut())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getPageScope() can probably be rewritten as pageScope</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>565</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>groovyPagesTemplateRenderer.render(getWebRequest(), getP..y, getOut())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib. getOut() can probably be rewritten as out</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ SitemeshTagLib.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>172</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def content = captureTagContent(out, 'meta', attrs, body, true)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [content] in class org.codehaus.groovy.grails.plugins.web.taglib.SitemeshTagLib is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ValidationTagLib.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryCollectCall'>UnnecessaryCollectCall</a></td><td class='priority3'>3</td><td class='number'>115</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>checkList = model.findAll {it.value?.errors instanceof E..t {it.value}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>249</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mkp.errors() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. Parentheses in the 'errors' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>348</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def againstClass = attrs.against ?: form.substring(0,1)...substring(1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. The String.substring(int, int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>348</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def againstClass = attrs.against ?: form.substring(0,1)...substring(1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessaryCollectCall'>UnnecessaryCollectCall</a></td><td class='priority3'>3</td><td class='number'>356</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>appliedConstraints += it.collect{ it.appliedConstraints }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>384</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def scriptName = "org/apache/commons/validator/javascrip..g(1) + ".js"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. The String.substring(int, int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>384</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def scriptName = "org/apache/commons/validator/javascrip..g(1) + ".js"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>410</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def validateType = k.substring(0,1).toUpperCase() + k.substring(1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. The String.substring(int, int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>410</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def validateType = k.substring(0,1).toUpperCase() + k.substring(1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>426</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PropertyEditorRegistry registry = RequestContextHolder.c..orRegistry()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib. getPropertyEditorRegistry() can probably be rewritten as propertyEditorRegistry</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-i18n/src/main/groovy/org/codehaus/groovy/grails/plugins/i18n'> </a><h2 class='packageHeader'>Package: grails-plugin-i18n.src.main.groovy.org.codehaus.groovy.grails.plugins.i18n</h2></div><div class='summary'><h3 class='fileHeader'>➥ I18nGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.i18n.I18nGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-log4j/src/main/groovy/org/codehaus/groovy/grails/plugins/log4j'> </a><h2 class='packageHeader'>Package: grails-plugin-log4j.src.main.groovy.org.codehaus.groovy.grails.plugins.log4j</h2></div><div class='summary'><h3 class='fileHeader'>➥ Log4jConfig.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>181</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Logger root = Logger.getRootLogger()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.log4j.Log4jConfig. getRootLogger() can probably be rewritten as rootLogger</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>229</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>BuildSettings settings = BuildSettingsHolder.getSettings()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.log4j.Log4jConfig. getSettings() can probably be rewritten as settings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>230</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def targetDir = settings?.getProjectTargetDir()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.log4j.Log4jConfig. getProjectTargetDir() can probably be rewritten as projectTargetDir</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>240</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def root = Logger.getRootLogger()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.log4j.Log4jConfig. getRootLogger() can probably be rewritten as rootLogger</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>320</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>LogLog.error "Appender $appender not found configuring l...getName()}"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.log4j.Log4jConfig. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>375</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Logger.getRootLogger().removeAppender name</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.log4j.Log4jConfig. getRootLogger() can probably be rewritten as rootLogger</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>444</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def EnvironmentsLog4JConfig(Log4jConfig config) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.log4j.EnvironmentsLog4JConfig. The def keyword is unneeded on constructors</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ LoggingGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.log4j.LoggingGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mappingElement = mappingElement[mappingElement.size() - 1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to mappingElement.last() or mappingElement[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mappingElement = mappingElement[mappingElement.size() - 1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to mappingElement.last() or mappingElement[-1]</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-mimetypes/src/main/groovy/org/codehaus/groovy/grails/plugins/web/api'> </a><h2 class='packageHeader'>Package: grails-plugin-mimetypes.src.main.groovy.org.codehaus.groovy.grails.plugins.web.api</h2></div><div class='summary'><h3 class='fileHeader'>➥ ControllersMimeTypesApi.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>50</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def withFormat(instance, Closure callable) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllersMimeTypesApi. Method parameter [instance] is never referenced in the method withFormat of class org.codehaus.groovy.grails.plugins.web.api.ControllersMimeTypesApi</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ RequestMimeTypesApi.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>76</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>parser.configuredMimeTypes = getMimeTypes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.api.RequestMimeTypesApi. getMimeTypes() can probably be rewritten as mimeTypes</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ResponseMimeTypesApi.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedPrivateMethodParameter'>UnusedPrivateMethodParameter</a></td><td class='priority2'>2</td><td class='number'>122</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private MimeType[] getMimeTypesInternal(HttpServletReque.. response) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ResponseMimeTypesApi. Method parameter [response] is never referenced in the method getMimeTypesInternal of class org.codehaus.groovy.grails.plugins.web.api.ResponseMimeTypesApi</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>HttpServletRequest request = webRequest.getCurrentRequest()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.api.ResponseMimeTypesApi. getCurrentRequest() can probably be rewritten as currentRequest</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>77</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def allMimes = getMimeTypes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.api.ResponseMimeTypesApi. getMimeTypes() can probably be rewritten as mimeTypes</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>79</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>result = mime ? mime.extension : getMimeTypes()[0].extension</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.api.ResponseMimeTypesApi. getMimeTypes() can probably be rewritten as mimeTypes</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>130</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>parser.configuredMimeTypes = getMimeTypes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.api.ResponseMimeTypesApi. getMimeTypes() can probably be rewritten as mimeTypes</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-mimetypes/src/main/groovy/org/codehaus/groovy/grails/plugins/web/mimes'> </a><h2 class='packageHeader'>Package: grails-plugin-mimetypes.src.main.groovy.org.codehaus.groovy.grails.plugins.web.mimes</h2></div><div class='summary'><h3 class='fileHeader'>➥ MimeTypesGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.mimes.MimeTypesGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-mimetypes/src/main/groovy/org/codehaus/groovy/grails/web/mime'> </a><h2 class='packageHeader'>Package: grails-plugin-mimetypes.src.main.groovy.org.codehaus.groovy.grails.web.mime</h2></div><div class='summary'><h3 class='fileHeader'>➥ DefaultAcceptHeaderParser.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def qualifiedMimes = []</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [qualifiedMimes] in class org.codehaus.groovy.grails.web.mime.DefaultAcceptHeaderParser is not used</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>43</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def config = application?.getConfig()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mime.DefaultAcceptHeaderParser. getConfig() can probably be rewritten as config</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>56</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return MimeType.getConfiguredMimeTypes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mime.DefaultAcceptHeaderParser. getConfiguredMimeTypes() can probably be rewritten as configuredMimeTypes</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-scaffolding/src/main/groovy/org/codehaus/groovy/grails/plugins/scaffolding'> </a><h2 class='packageHeader'>Package: grails-plugin-scaffolding.src.main.groovy.org.codehaus.groovy.grails.plugins.scaffolding</h2></div><div class='summary'><h3 class='fileHeader'>➥ ScaffoldingGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>188</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch (Exception e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.beans.factory.config.BeanDefinition</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.beans.factory.config.BeanDefinition] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>50</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = grails.util.GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.scaffolding.ScaffoldingGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-services/src/main/groovy/org/codehaus/groovy/grails/plugins/services'> </a><h2 class='packageHeader'>Package: grails-plugin-services.src.main.groovy.org.codehaus.groovy.grails.plugins.services</h2></div><div class='summary'><h3 class='fileHeader'>➥ ServicesGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>39</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.services.ServicesGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>90</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>"${serviceClass.propertyName}"(serviceClass.getClazz()) { bean -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.services.ServicesGrailsPlugin. getClazz() can probably be rewritten as clazz</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>158</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>"$serviceName"(serviceClass.getClazz()) { bean -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.services.ServicesGrailsPlugin. getClazz() can probably be rewritten as clazz</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-servlets/src/main/groovy/org/codehaus/groovy/grails/plugins/web'> </a><h2 class='packageHeader'>Package: grails-plugin-servlets.src.main.groovy.org.codehaus.groovy.grails.plugins.web</h2></div><div class='summary'><h3 class='fileHeader'>➥ ServletsGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>31</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.ServletsGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-testing/src/main/groovy/grails/test'> </a><h2 class='packageHeader'>Package: grails-plugin-testing.src.main.groovy.grails.test</h2></div><div class='summary'><h3 class='fileHeader'>➥ AbstractCliTestCase.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedPrivateField'>UnusedPrivateField</a></td><td class='priority2'>2</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private final Condition waiting = lock.newCondition()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The field waiting is not used within the class grails.test.AbstractCliTestCase</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>91</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String getOutput() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractCliTestCase. The method getOutput is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>95</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setOutput(String output) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractCliTestCase. The method setOutput is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>103</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>File getWorkDir() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractCliTestCase. The method getWorkDir is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>107</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setWorkDir(File dir) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractCliTestCase. The method setWorkDir is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>117</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void enterInput(String input) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractCliTestCase. The method enterInput is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>127</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>int waitForProcess() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractCliTestCase. The method waitForProcess is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>129</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final monitor = "monitor"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [monitor] in class grails.test.AbstractCliTestCase is not used</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>139</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch (InterruptedException ex) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>214</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>public boolean isWindows() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractCliTestCase. The method isWindows is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ControllerUnitTestCase.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>58</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Class getControllerClass() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllerUnitTestCase. The method getControllerClass is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPagesTestCase.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setControllerName(String name) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GroovyPagesTestCase. The method setControllerName is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>49</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertOutputEquals(expected, template, params = [:]..tring() }) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GroovyPagesTestCase. The method assertOutputEquals is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>61</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String applyTemplate(template, params = [:]) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GroovyPagesTestCase. The method applyTemplate is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>67</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void applyTemplate(StringWriter sw, template, params = [:]) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GroovyPagesTestCase. The method applyTemplate is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MockUtils.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedPrivateMethodParameter'>UnusedPrivateMethodParameter</a></td><td class='priority2'>2</td><td class='number'>567</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static void addDynamicFinders(Class clazz, List ..Instances) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUtils. Method parameter [testInstances] is never referenced in the method addDynamicFinders of class grails.test.MockUtils</span></p></td></tr><tr><td><a href='#UnusedPrivateMethodParameter'>UnusedPrivateMethodParameter</a></td><td class='priority2'>2</td><td class='number'>655</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static void addCountMethods(Class clazz, GrailsD..Instances) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUtils. Method parameter [dc] is never referenced in the method addCountMethods of class grails.test.MockUtils</span></p></td></tr><tr><td><a href='#UnusedPrivateMethodParameter'>UnusedPrivateMethodParameter</a></td><td class='priority2'>2</td><td class='number'>732</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static void addOtherStaticMethods(Class clazz, L..Instances) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUtils. Method parameter [testInstances] is never referenced in the method addOtherStaticMethods of class grails.test.MockUtils</span></p></td></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>752</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static void addDynamicInstanceMethods(Class claz..Instances) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.MockUtils. The cyclomatic complexity for method [addDynamicInstanceMethods] is [24]</span></p></td></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>917</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static void addValidateMethod(</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.MockUtils. The cyclomatic complexity for method [addValidateMethod] is [27]</span></p></td></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>1097</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static processInstances(instances, property, com..tor, args) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.MockUtils. The cyclomatic complexity for method [processInstances] is [26]</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.validation.BeanPropertyBindingResult</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.validation.BeanPropertyBindingResult] import is never referenced</span></p></td></tr><tr><td><a href='#ConstantAssertExpression'>ConstantAssertExpression</a></td><td class='priority3'>3</td><td class='number'>295</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert false : "'template' attribute must be provided."</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The assert statement within class grails.test.MockUtils has a constant boolean expression [false]</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>315</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>clazz.metaClass.getSession = {-> mockRequest.getSession() }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.MockUtils. getSession() can probably be rewritten as session</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>359</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def shortName = clazz.name.substring(pos + 1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.MockUtils. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessaryElseStatement'>UnnecessaryElseStatement</a></td><td class='priority3'>3</td><td class='number'>633</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} else {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>When an if statement block ends with a return statement the else is unnecessary</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>945</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>while (clazz != Object.class) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Object.class can be rewritten as Object</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>947</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>clazz = clazz.getSuperclass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.MockUtils. getSuperclass() can probably be rewritten as superclass</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>1322</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (value instanceof Number && Long.class.equals(targetType)) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Long.class can be rewritten as Long</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MvcUnitTestCase.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>85</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Class getTestClass() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MvcUnitTestCase. The method getTestClass is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.GrailsNameUtils</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.GrailsNameUtils] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>122</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected def bindMockWebRequest(GrailsMockHttpServletRe..kResponse) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.MvcUnitTestCase. The def keyword is unneeded when a method is marked protected</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TagLibUnitTestCase.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>65</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Class getTagLibClass() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TagLibUnitTestCase. The method getTagLibClass is public but not a test method</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-testing/src/main/groovy/grails/test/mixin/domain'> </a><h2 class='packageHeader'>Package: grails-plugin-testing.src.main.groovy.grails.test.mixin.domain</h2></div><div class='summary'><h3 class='fileHeader'>➥ DomainClassUnitTestMixin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>153</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def validator = applicationContext.getBean(validationBea..dator.class)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Validator.class can be rewritten as Validator</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-testing/src/main/groovy/grails/test/mixin/support'> </a><h2 class='packageHeader'>Package: grails-plugin-testing.src.main.groovy.grails.test.mixin.support</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsUnitTestMixin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>80</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>CachedIntrospectionResults.clearClassLoader(GrailsUnitTe..classLoader)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>GrailsUnitTestMixin.class can be rewritten as GrailsUnitTestMixin</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>169</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>result = ScriptBytecodeAdapter.unwrap(gre).getMessage()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.support.GrailsUnitTestMixin. getMessage() can probably be rewritten as message</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>173</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>result = e.getMessage()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.support.GrailsUnitTestMixin. getMessage() can probably be rewritten as message</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>201</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>throw new AssertionFailedError("Closure " + code + " sho..z.getName())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.support.GrailsUnitTestMixin. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>203</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>throw new AssertionFailedError("Closure " + code + " sho..ion " + th);</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.support.GrailsUnitTestMixin. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>205</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return th.getMessage();</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.support.GrailsUnitTestMixin. getMessage() can probably be rewritten as message</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-testing/src/main/groovy/grails/test/mixin/web'> </a><h2 class='packageHeader'>Package: grails-plugin-testing.src.main.groovy.grails.test.mixin.web</h2></div><div class='summary'><h3 class='fileHeader'>➥ ControllerUnitTestMixin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>124</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>webRequest.getParams()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.ControllerUnitTestMixin. getParams() can probably be rewritten as params</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>159</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>webRequest.getFlashScope()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.ControllerUnitTestMixin. getFlashScope() can probably be rewritten as flashScope</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>184</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final classLoader = ControllerUnitTestMixin.class.getClassLoader()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.ControllerUnitTestMixin. getClassLoader() can probably be rewritten as classLoader</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>184</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final classLoader = ControllerUnitTestMixin.class.getClassLoader()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>ControllerUnitTestMixin.class can be rewritten as ControllerUnitTestMixin</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>252</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>request = webRequest.getCurrentRequest()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.ControllerUnitTestMixin. getCurrentRequest() can probably be rewritten as currentRequest</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>253</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>response = webRequest.getCurrentResponse()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.ControllerUnitTestMixin. getCurrentResponse() can probably be rewritten as currentResponse</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>254</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>servletContext = webRequest.getServletContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.ControllerUnitTestMixin. getServletContext() can probably be rewritten as servletContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>349</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return factory.getObject()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.TestResponseMimeTypesApi. getObject() can probably be rewritten as object</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>359</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return factory.getObject()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.TestRequestMimeTypesApi. getObject() can probably be rewritten as object</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FiltersUnitTestMixin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>64</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getCompositeInterceptor().handlers?.clear()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.FiltersUnitTestMixin. getCompositeInterceptor() can probably be rewritten as compositeInterceptor</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>94</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return getCompositeInterceptor()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.FiltersUnitTestMixin. getCompositeInterceptor() can probably be rewritten as compositeInterceptor</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>116</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final interceptor = getCompositeInterceptor()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.FiltersUnitTestMixin. getCompositeInterceptor() can probably be rewritten as compositeInterceptor</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPageUnitTestMixin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>97</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>MetaClass mc = tagLib.getMetaClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.GroovyPageUnitTestMixin. getMetaClass() can probably be rewritten as metaClass</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ UrlMappingsUnitTestMixin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>182</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertForwardUrlMapping(assertions, url, paramAssertions) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.UrlMappingsUnitTestMixin. The cyclomatic complexity for method [assertForwardUrlMapping] is [23]</span></p></td></tr><tr><td><a href='#MisorderedStaticImports'>MisorderedStaticImports</a></td><td class='priority3'>3</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import static junit.framework.Assert.assertEquals</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Static imports should appear before normal imports</span></p></td></tr><tr><td><a href='#MisorderedStaticImports'>MisorderedStaticImports</a></td><td class='priority3'>3</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import static junit.framework.Assert.assertNotNull</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Static imports should appear before normal imports</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>54</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>grailsApplication = grailsApplication</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>60</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getUrlMappingsHolder()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.UrlMappingsUnitTestMixin. getUrlMappingsHolder() can probably be rewritten as urlMappingsHolder</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>77</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>UrlMappingsHolder mappingsHolder = getUrlMappingsHolder()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.UrlMappingsUnitTestMixin. getUrlMappingsHolder() can probably be rewritten as urlMappingsHolder</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>217</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (actual[0] == "/") actual = actual.substring(1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.UrlMappingsUnitTestMixin. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>218</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (expected[0] == "/") expected = expected.substring(1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.web.UrlMappingsUnitTestMixin. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-tomcat/src/main/groovy/org/grails/plugins/tomcat'> </a><h2 class='packageHeader'>Package: grails-plugin-tomcat.src.main.groovy.org.grails.plugins.tomcat</h2></div><div class='summary'><h3 class='fileHeader'>➥ InlineExplodedTomcatServer.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} catch (e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#MisorderedStaticImports'>MisorderedStaticImports</a></td><td class='priority3'>3</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import static grails.build.logging.GrailsConsole.instance as CONSOLE</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Static imports should appear before normal imports</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>73</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginManager = PluginManagerHolder.getPluginManager()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.grails.plugins.tomcat.InlineExplodedTomcatServer. getPluginManager() can probably be rewritten as pluginManager</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>120</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>sslConnector.setAttribute("keystorePass", keyPassword)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>121</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>sslConnector.URIEncoding = 'UTF-8'</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ IsolatedWarTomcatServer.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>95</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>try { err = errFile.text } catch (IOException e) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>126</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} catch(e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>75</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>for (entry in getConfigParams()) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.grails.plugins.tomcat.IsolatedWarTomcatServer. getConfigParams() can probably be rewritten as configParams</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TomcatLoader.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addPropertyChangeListener(PropertyChangeListener listener) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TomcatLoader. The method addPropertyChangeListener is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addPropertyChangeListener(PropertyChangeListener listener) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TomcatLoader. Method parameter [listener] is never referenced in the method addPropertyChangeListener of class org.grails.plugins.tomcat.TomcatLoader</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>58</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void backgroundProcess() {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TomcatLoader. The method backgroundProcess is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>68</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void removePropertyChangeListener(PropertyChangeListener listener) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TomcatLoader. The method removePropertyChangeListener is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>68</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void removePropertyChangeListener(PropertyChangeListener listener) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TomcatLoader. Method parameter [listener] is never referenced in the method removePropertyChangeListener of class org.grails.plugins.tomcat.TomcatLoader</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>82</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>log.info("Dual registration of jndi stream handler: " + ..etMessage())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.grails.plugins.tomcat.TomcatLoader. getMessage() can probably be rewritten as message</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>86</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>DirContextURLStreamHandler.bind(classLoader, container.getResources())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.grails.plugins.tomcat.TomcatLoader. getResources() can probably be rewritten as resources</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TomcatServer.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#ClassForName'>ClassForName</a></td><td class='priority2'>2</td><td class='number'>161</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Class.forName('sun.security.tools.KeyTool')</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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(...)</span></p></td></tr><tr><td><a href='#ClassForName'>ClassForName</a></td><td class='priority2'>2</td><td class='number'>164</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Class.forName('com.ibm.crypto.tools.KeyTool')</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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(...)</span></p></td></tr><tr><td><a href='#MisorderedStaticImports'>MisorderedStaticImports</a></td><td class='priority3'>3</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import static grails.build.logging.GrailsConsole.instance as CONSOLE</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Static imports should appear before normal imports</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>50</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>buildSettings = BuildSettingsHolder.getSettings()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.grails.plugins.tomcat.TomcatServer. getSettings() can probably be rewritten as settings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>51</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>pluginSettings = GrailsPluginUtils.getPluginBuildSettings()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.grails.plugins.tomcat.TomcatServer. getPluginBuildSettings() can probably be rewritten as pluginBuildSettings</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>145</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getKeyToolClass().main(</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.grails.plugins.tomcat.TomcatServer. getKeyToolClass() can probably be rewritten as keyToolClass</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-url-mappings/src/main/groovy/grails/test'> </a><h2 class='packageHeader'>Package: grails-plugin-url-mappings.src.main.groovy.grails.test</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsUrlMappingsTestCase.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>56</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def createMappingsHolder() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method createMappingsHolder is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>63</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def createControllerMap() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method createControllerMap is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>71</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def getUrlMappingEvaluatees() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method getUrlMappingEvaluatees is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>84</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>91</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>95</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def getActions(controller) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method getActions is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>104</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def getDefaultAction(controllerName) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method getDefaultAction is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>109</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def assertController(controller, url) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method assertController is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>115</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def assertAction(controller, action, url) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method assertAction is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>121</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def assertView(controller, view, url) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method assertView is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>129</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertUrlMapping(assertions, url) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method assertUrlMapping is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>133</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertUrlMapping(assertions, url, paramAssertions) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method assertUrlMapping is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>140</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertForwardUrlMapping(assertions, url) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method assertForwardUrlMapping is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>144</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertForwardUrlMapping(assertions, url, paramAssertions) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method assertForwardUrlMapping is public but not a test method</span></p></td></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>144</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertForwardUrlMapping(assertions, url, paramAssertions) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.GrailsUrlMappingsTestCase. The cyclomatic complexity for method [assertForwardUrlMapping] is [21]</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>202</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertReverseUrlMapping(assertions, url) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method assertReverseUrlMapping is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>206</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertReverseUrlMapping(assertions, url, paramAssertions) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCase. The method assertReverseUrlMapping is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.GrailsWebUtil</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.GrailsWebUtil] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.DefaultGrailsApplication</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.commons.DefaultGrailsApplication] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.GrailsApplication</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.commons.GrailsApplication] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>24</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.plugins.web.mapping.Ur..GrailsPlugin</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.plugins.web.mapping.UrlMappingsGrailsPlugin] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.support.MockApplicationContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.support.MockApplicationContext] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.multipart.ContentL..partResolver</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.multipart.ContentLengthAwareCommonsMultipartResolver] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.web.context.WebApplicationContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.web.context.WebApplicationContext] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.web.servlet.DispatcherServlet</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.web.servlet.DispatcherServlet] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>34</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.web.context.ServletContextAware</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.web.context.ServletContextAware] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import javax.servlet.ServletContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [javax.servlet.ServletContext] import is never referenced</span></p></td></tr><tr><td><a href='#DuplicateImport'>DuplicateImport</a></td><td class='priority3'>3</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.GrailsClassUtils</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>176</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (actual[0] == "/") actual = actual.substring(1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.GrailsUrlMappingsTestCase. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>177</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (expected[0] == "/") expected = expected.substring(1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.GrailsUrlMappingsTestCase. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-url-mappings/src/main/groovy/org/codehaus/groovy/grails/plugins/web/mapping'> </a><h2 class='packageHeader'>Package: grails-plugin-url-mappings.src.main.groovy.org.codehaus.groovy.grails.plugins.web.mapping</h2></div><div class='summary'><h3 class='fileHeader'>➥ UrlMappingsGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedPrivateMethodParameter'>UnusedPrivateMethodParameter</a></td><td class='priority2'>2</td><td class='number'>161</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private UrlMappingsHolder createUrlMappingsHolder(Grails..inManager) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class UrlMappingsGrailsPlugin. Method parameter [application] is never referenced in the method createUrlMappingsHolder of class org.codehaus.groovy.grails.plugins.web.mapping.UrlMappingsGrailsPlugin</span></p></td></tr><tr><td><a href='#UnusedPrivateMethodParameter'>UnusedPrivateMethodParameter</a></td><td class='priority2'>2</td><td class='number'>161</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private UrlMappingsHolder createUrlMappingsHolder(Grails..inManager) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class UrlMappingsGrailsPlugin. Method parameter [pluginManager] is never referenced in the method createUrlMappingsHolder of class org.codehaus.groovy.grails.plugins.web.mapping.UrlMappingsGrailsPlugin</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.mapping.UrlMappingsGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>63</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>urlMappingsTargetSource(org.springframework.aop.target.H..)) { bean -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The org.springframework.aop.target.HotSwappableTargetSource class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>63</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>urlMappingsTargetSource(org.springframework.aop.target.H..)) { bean -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The org.springframework.aop.target.HotSwappableTargetSource class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>69</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>proxyInterfaces = [org.codehaus.groovy.grails.web.mappin..pingsHolder]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The org.codehaus.groovy.grails.web.mapping.UrlMappingsHolder class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>69</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>proxyInterfaces = [org.codehaus.groovy.grails.web.mappin..pingsHolder]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The org.codehaus.groovy.grails.web.mapping.UrlMappingsHolder class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>75</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def lastFilter = filters[filters.size()-1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to filters.last() or filters[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>75</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def lastFilter = filters[filters.size()-1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to filters.last() or filters[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>85</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def lastServlet = servlets[servlets.size()-1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to servlets.last() or servlets[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>85</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def lastServlet = servlets[servlets.size()-1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to servlets.last() or servlets[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>95</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def lastMapping = servletMappings[servletMappings.size()-1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to servletMappings.last() or servletMappings[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>95</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def lastMapping = servletMappings[servletMappings.size()-1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to servletMappings.last() or servletMappings[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>124</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>welcomeFileList = welcomeFileList[welcomeFileList.size() - 1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to welcomeFileList.last() or welcomeFileList[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>124</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>welcomeFileList = welcomeFileList[welcomeFileList.size() - 1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to welcomeFileList.last() or welcomeFileList[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>132</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def lastFilterMapping = filterMappings[filterMappings.size() - 1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to filterMappings.last() or filterMappings[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryCallForLastElement'>UnnecessaryCallForLastElement</a></td><td class='priority3'>3</td><td class='number'>132</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def lastFilterMapping = filterMappings[filterMappings.size() - 1]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Unnecessarily complex access of last element. This can be simplified to filterMappings.last() or filterMappings[-1]</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>166</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final urlMappingsHolder = factory.getObject()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.mapping.UrlMappingsGrailsPlugin. getObject() can probably be rewritten as object</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-validation/src/main/groovy/org/codehaus/groovy/grails/plugins'> </a><h2 class='packageHeader'>Package: grails-plugin-validation.src.main.groovy.org.codehaus.groovy.grails.plugins</h2></div><div class='summary'><h3 class='fileHeader'>➥ ValidationGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedPrivateMethodParameter'>UnusedPrivateMethodParameter</a></td><td class='priority2'>2</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static addValidationMethods(application, validat..lass, ctx) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ValidationGrailsPlugin. Method parameter [ctx] is never referenced in the method addValidationMethods of class org.codehaus.groovy.grails.plugins.ValidationGrailsPlugin</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.core.type.filter.AnnotationTypeFilter</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.core.type.filter.AnnotationTypeFilter] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>33</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.ValidationGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>64</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def attributes = rch.getRequestAttributes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.ValidationGrailsPlugin. getRequestAttributes() can probably be rewritten as requestAttributes</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>71</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def attributes = rch.getRequestAttributes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.ValidationGrailsPlugin. getRequestAttributes() can probably be rewritten as requestAttributes</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>90</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>errors = new BeanPropertyBindingResult(delegate, delegat..).getName())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.ValidationGrailsPlugin. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>100</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>delegate.setErrors(new BeanPropertyBindingResult(delegat...getName()))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.ValidationGrailsPlugin. getName() can probably be rewritten as name</span></p></td></tr></table></div><div class='summary'><a name='grails-plugin-validation/src/test/groovy/org/codehaus/groovy/grails/plugins'> </a><h2 class='packageHeader'>Package: grails-plugin-validation.src.test.groovy.org.codehaus.groovy.grails.plugins</h2></div><div class='summary'><h3 class='fileHeader'>➥ ValidationGrailsPluginTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#ImportFromSamePackage'>ImportFromSamePackage</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.plugins.ValidationGrailsPlugin</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def registry = GroovySystem.getMetaClassRegistry()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.ValidationGrailsPluginTests. getMetaClassRegistry() can probably be rewritten as metaClassRegistry</span></p></td></tr></table></div><div class='summary'><a name='grails-spring/src/main/groovy/grails/spring'> </a><h2 class='packageHeader'>Package: grails-spring.src.main.groovy.grails.spring</h2></div><div class='summary'><h3 class='fileHeader'>➥ DynamicElementReader.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>75</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void afterInvocation() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DynamicElementReader. The method afterInvocation is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>53</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>EntityResolver entityResolver = new DelegatingEntityReso..assLoader())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.spring.DynamicElementReader. getClassLoader() can probably be rewritten as classLoader</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>53</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>EntityResolver entityResolver = new DelegatingEntityReso..assLoader())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>DynamicElementReader.class can be rewritten as DynamicElementReader</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>121</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Element element = documentLoader.loadDocument(is, entity..entElement()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.spring.DynamicElementReader. getDocumentElement() can probably be rewritten as documentElement</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>126</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>BeanDefinitionHolder holder = new BeanDefinitionHolder(b..n.getName())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.spring.DynamicElementReader. getBeanDefinition() can probably be rewritten as beanDefinition</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>126</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>BeanDefinitionHolder holder = new BeanDefinitionHolder(b..n.getName())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.spring.DynamicElementReader. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>128</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>beanConfiguration.setBeanDefinition(holder.getBeanDefinition())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.spring.DynamicElementReader. getBeanDefinition() can probably be rewritten as beanDefinition</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-base/src/main/groovy/org/codehaus/groovy/grails/plugins/web'> </a><h2 class='packageHeader'>Package: grails-test-suite-base.src.main.groovy.org.codehaus.groovy.grails.plugins.web</h2></div><div class='summary'><h3 class='fileHeader'>➥ AbstractGrailsPluginTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>82</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected final void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsPluginTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>50</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ga = new DefaultGrailsApplication(gcl.getLoadedClasses(),gcl)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.AbstractGrailsPluginTests. getLoadedClasses() can probably be rewritten as loadedClasses</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>75</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>appCtx = springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.AbstractGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-base/src/main/groovy/org/codehaus/groovy/grails/web/servlet/mvc'> </a><h2 class='packageHeader'>Package: grails-test-suite-base.src.main.groovy.org.codehaus.groovy.grails.web.servlet.mvc</h2></div><div class='summary'><h3 class='fileHeader'>➥ AbstractGrailsControllerTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>150</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def withConfig(String text, Closure callable) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsControllerTests. The method withConfig is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>162</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsWebRequest buildMockRequest(ConfigObject config) t.. Exception {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsControllerTests. The method buildMockRequest is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>174</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void runTest(Closure callable) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsControllerTests. The method runTest is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>76</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ga = new DefaultGrailsApplication(gcl.getLoadedClasses(), gcl)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests. getLoadedClasses() can probably be rewritten as loadedClasses</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>112</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>servletContext = ctx.getServletContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests. getServletContext() can probably be rewritten as servletContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>119</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>appCtx = springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>169</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>appCtx.getServletContext().setAttribute(GrailsApplicatio..EXT, appCtx)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests. getServletContext() can probably be rewritten as servletContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>170</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>appCtx.getServletContext().setAttribute(WebApplicationCo..UTE, appCtx)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests. getServletContext() can probably be rewritten as servletContext</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-base/src/main/groovy/org/codehaus/groovy/grails/web/taglib'> </a><h2 class='packageHeader'>Package: grails-test-suite-base.src.main.groovy.org.codehaus.groovy.grails.web.taglib</h2></div><div class='summary'><h3 class='fileHeader'>➥ AbstractGrailsTagTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>68</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def withConfig(String text, Closure callable) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method withConfig is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>80</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsWebRequest buildMockRequest(ConfigObject config) t.. Exception {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method buildMockRequest is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>89</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def profile(String name, Closure callable) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method profile is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>99</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def withTag(String tagName, Writer out, Closure callable) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method withTag is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>122</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GroovyPageOutputStack stack=GroovyPageOutputStack.createNew(out)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [stack] in class org.codehaus.groovy.grails.web.taglib.AbstractGrailsTagTests is not used</span></p></td></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>150</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() throws Exception {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>240</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>265</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void runTest(Closure callable) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method runTest is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>269</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void printCompiledSource(template, params = [:]) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method printCompiledSource is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>275</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def getCompiledSource(template, params = [:]) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method getCompiledSource is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>289</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String text = sw.toString()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [text] in class org.codehaus.groovy.grails.web.taglib.AbstractGrailsTagTests is not used</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>292</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def assertCompiledSourceContains(expected, template, params = [:]) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method assertCompiledSourceContains is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>297</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertOutputContains(expected, template, params = [:]) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method assertOutputContains is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>302</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertOutputNotContains(expected, template, params = [:]) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method assertOutputNotContains is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>320</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertOutputEquals(expected, template, params = [:]..tring() }) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method assertOutputEquals is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>356</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def applyTemplate(template, params = [:], target = null,..me = null) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method applyTemplate is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>381</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String sitemeshPreprocess(String template) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method sitemeshPreprocess is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>386</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String applyLayout(String layout, String template, Map params=[:]) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagTests. The method applyLayout is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>85</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>initThemeSource(request.getCurrentRequest(), messageSource)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.AbstractGrailsTagTests. getCurrentRequest() can probably be rewritten as currentRequest</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>204</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>JstlUtils.exposeLocalizationContext webRequest.getRequest(),null</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.AbstractGrailsTagTests. getRequest() can probably be rewritten as request</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>215</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>appCtx = springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.AbstractGrailsTagTests. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>235</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private def initThemeSource(request, StaticMessageSource..ageSource) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.AbstractGrailsTagTests. The def keyword is unneeded when a method is marked private</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>343</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected def assertTemplateOutputEquals(expected, Groov..tring() }) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.AbstractGrailsTagTests. The def keyword is unneeded when a method is marked protected</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.orm.hibernate</h2></div><div class='summary'><h3 class='fileHeader'>➥ AbstractGrailsHibernateTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>121</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onApplicationCreated() {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsHibernateTests. The method onApplicationCreated is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>137</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsWebRequest buildMockRequest(ConfigObject config = .. Exception {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsHibernateTests. The method buildMockRequest is public but not a test method</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>158</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch(e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>165</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch(e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ga = new DefaultGrailsApplication(gcl.getLoadedClasses(), gcl)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.AbstractGrailsHibernateTests. getLoadedClasses() can probably be rewritten as loadedClasses</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>86</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ga.setMainContext(springConfig.getUnrefreshedApplicationContext())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.AbstractGrailsHibernateTests. getUnrefreshedApplicationContext() can probably be rewritten as unrefreshedApplicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>87</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>appCtx = springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.AbstractGrailsHibernateTests. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>162</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getClass().classLoader.loadClass("net.sf.ehcache.CacheManager")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.AbstractGrailsHibernateTests. getInstance() can probably be rewritten as instance</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>198</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GroovySystem.getMetaClassRegistry().removeMetaClass meta..tyMode.POJO)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.AbstractGrailsHibernateTests. getMetaClassRegistry() can probably be rewritten as metaClassRegistry</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ AbstractInheritanceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>83</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Abstract = ga.getDomainClass("AbstractInheritanceAbs..Base").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Abstract] in class org.codehaus.groovy.grails.orm.hibernate.AbstractInheritanceTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>104</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Comment = ga.getDomainClass("AbstractInheritanceComment").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Comment] in class org.codehaus.groovy.grails.orm.hibernate.AbstractInheritanceTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ AllDeleteOrphanMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testDeleteOrphanMapping() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AllDeleteOrphanMappingTests. Test method 'testDeleteOrphanMapping' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ AssertionFailureInEventTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testNoAssertionErrorInEvent() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AssertionFailureInEventTests. Test method 'testNoAssertionErrorInEvent' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ AutoImportPackedDomainTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UseAssertEqualsInsteadOfAssertTrue'>UseAssertEqualsInsteadOfAssertTrue</a></td><td class='priority3'>3</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue models.size() == 1</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.AutoImportPackedDomainTests. Replace assertTrue with a call to assertEquals()</span></p></td></tr><tr><td><a href='#UseAssertEqualsInsteadOfAssertTrue'>UseAssertEqualsInsteadOfAssertTrue</a></td><td class='priority3'>3</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue models.size() == 1</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.AutoImportPackedDomainTests. Replace assertTrue with a call to assertEquals()</span></p></td></tr><tr><td><a href='#UseAssertEqualsInsteadOfAssertTrue'>UseAssertEqualsInsteadOfAssertTrue</a></td><td class='priority3'>3</td><td class='number'>33</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue models.size() == 1</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.AutoImportPackedDomainTests. Replace assertTrue with a call to assertEquals()</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ BidirectionalHasOneMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testRefreshHasOneAssociation() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BidirectionalHasOneMappingTests. Test method 'testRefreshHasOneAssociation' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ BidirectionalListMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BidirectionalListMappingTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>59</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PersistentClass faqSection = config.getClassMapping("TestFaqSection")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [faqSection] in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>97</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PersistentClass faqSection = config.getClassMapping("TestFaqSection")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [faqSection] in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>147</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PersistentClass faqSection = config.getClassMapping("TestFaqSection")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [faqSection] in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>169</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PersistentClass faqSection = config.getClassMapping("TestFaqSection")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [faqSection] in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>188</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PersistentClass faqSection = config.getClassMapping("TestFaqSection")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [faqSection] in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>276</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>SimpleValue indexColumnValue = indexColumn.getValue()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [indexColumnValue] in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests is not used</span></p></td></tr><tr><td><a href='#JUnitUnnecessaryTearDown'>JUnitUnnecessaryTearDown</a></td><td class='priority3'>3</td><td class='number'>54</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BidirectionalListMappingTests. The tearDown() method contains no logic and can be removed</span></p></td></tr><tr><td><a href='#UnnecessaryOverridingMethod'>UnnecessaryOverridingMethod</a></td><td class='priority3'>3</td><td class='number'>54</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BidirectionalListMappingTests. The method tearDown contains no logic and can be safely deleted</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>74</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull elementsIndexBackref.getCascade()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCascade() can probably be rewritten as cascade</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>75</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals CascadeStyle.NONE, elementsIndexBackref.getCascadeStyle()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCascadeStyle() can probably be rewritten as cascadeStyle</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>76</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "TestFaqSection.elements", elementsIndexBa..ectionRole()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCollectionRole() can probably be rewritten as collectionRole</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>77</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1, elementsIndexBackref.getColumnSpan()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>78</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "TestFaqSection", elementsIndexBackref.getEntityName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getEntityName() can probably be rewritten as entityName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>79</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals PropertyGeneration.NEVER, elementsIndexBack..Generation()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getGeneration() can probably be rewritten as generation</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>80</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "_elementsIndexBackref", elementsIndexBackref.getName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>81</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull elementsIndexBackref.getNodeName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getNodeName() can probably be rewritten as nodeName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>82</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull elementsIndexBackref.getPropertyAccessorName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getPropertyAccessorName() can probably be rewritten as propertyAccessorName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>83</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals IntegerType, elementsIndexBackref.getType().getClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getType() can probably be rewritten as type</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>84</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals SimpleValue, elementsIndexBackref.getValue().getClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getValue() can probably be rewritten as value</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>86</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>SimpleValue value = elementsIndexBackref.getValue()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getValue() can probably be rewritten as value</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>112</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull elementsBackref.getCascade()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCascade() can probably be rewritten as cascade</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>113</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals CascadeStyle.NONE, elementsBackref.getCascadeStyle()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCascadeStyle() can probably be rewritten as cascadeStyle</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>114</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "TestFaqSection.elements", elementsBackref...ectionRole()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCollectionRole() can probably be rewritten as collectionRole</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>115</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1, elementsBackref.getColumnSpan()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>116</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "TestFaqSection", elementsBackref.getEntityName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getEntityName() can probably be rewritten as entityName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>117</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals PropertyGeneration.NEVER, elementsBackref.getGeneration()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getGeneration() can probably be rewritten as generation</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>118</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "_TestFaqSection_elementsBackref", elements..ef.getName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>119</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull elementsBackref.getNodeName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getNodeName() can probably be rewritten as nodeName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>120</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "TestFaqElement", elementsBackref.getPersis..tClassName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getClassName() can probably be rewritten as className</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>120</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "TestFaqElement", elementsBackref.getPersis..tClassName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getPersistentClass() can probably be rewritten as persistentClass</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>121</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull elementsBackref.getPropertyAccessorName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getPropertyAccessorName() can probably be rewritten as propertyAccessorName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>122</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals LongType, elementsBackref.getType().getClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getType() can probably be rewritten as type</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>123</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals DependantValue, elementsBackref.getValue().getClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getValue() can probably be rewritten as value</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>125</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>DependantValue value = elementsBackref.getValue()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getValue() can probably be rewritten as value</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>133</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1,value.getColumnInsertability().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>134</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue value.getColumnInsertability()[0]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>135</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1,value.getColumnUpdateability().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>136</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue value.getColumnUpdateability()[0]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>138</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1, value.getColumnSpan()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>139</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals FetchMode.SELECT, value.getFetchMode()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getFetchMode() can probably be rewritten as fetchMode</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>140</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull value.getForeignKeyName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getForeignKeyName() can probably be rewritten as foreignKeyName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>141</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "assigned", value.getIdentifierGeneratorStrategy()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getIdentifierGeneratorStrategy() can probably be rewritten as identifierGeneratorStrategy</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>142</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull value.getNullValue()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getNullValue() can probably be rewritten as nullValue</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>143</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals LongType, value.getType().getClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getType() can probably be rewritten as type</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>161</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "none", section.getCascade()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCascade() can probably be rewritten as cascade</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>162</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals CascadeStyle.NONE, section.getCascadeStyle()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCascadeStyle() can probably be rewritten as cascadeStyle</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>163</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1, section.getColumnSpan()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>164</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals PropertyGeneration.NEVER, section.getGeneration()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getGeneration() can probably be rewritten as generation</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>165</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "section", section.getName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>172</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Column sectionColumn = section.getColumnIterator().next()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnIterator() can probably be rewritten as columnIterator</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>174</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "section_id", sectionColumn.getCanonicalName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCanonicalName() can probably be rewritten as canonicalName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>175</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull sectionColumn.getCheckConstraint()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCheckConstraint() can probably be rewritten as checkConstraint</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>176</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull sectionColumn.getComment()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getComment() can probably be rewritten as comment</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>177</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull sectionColumn.getDefaultValue()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getDefaultValue() can probably be rewritten as defaultValue</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>178</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 255, sectionColumn.getLength()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getLength() can probably be rewritten as length</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>179</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "section_id", sectionColumn.getName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>180</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 19, sectionColumn.getPrecision()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getPrecision() can probably be rewritten as precision</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>181</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "section_id", sectionColumn.getQuotedName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getQuotedName() can probably be rewritten as quotedName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>182</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 2, sectionColumn.getScale()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getScale() can probably be rewritten as scale</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>183</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "section_id", sectionColumn.getText()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getText() can probably be rewritten as text</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>184</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 0, sectionColumn.getTypeIndex()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getTypeIndex() can probably be rewritten as typeIndex</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>192</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ManyToOne manyToOne = section.getValue()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getValue() can probably be rewritten as value</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>193</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1,manyToOne.getColumnInsertability().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>194</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue manyToOne.getColumnInsertability()[0]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>195</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1,manyToOne.getColumnUpdateability().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>196</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue manyToOne.getColumnUpdateability()[0]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>208</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1, manyToOne.getConstraintColumns().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getConstraintColumns() can probably be rewritten as constraintColumns</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>209</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals FetchMode.DEFAULT, manyToOne.getFetchMode()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getFetchMode() can probably be rewritten as fetchMode</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>210</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull manyToOne.getForeignKeyName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getForeignKeyName() can probably be rewritten as foreignKeyName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>211</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "assigned", manyToOne.getIdentifierGeneratorStrategy()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getIdentifierGeneratorStrategy() can probably be rewritten as identifierGeneratorStrategy</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>212</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull manyToOne.getNullValue()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getNullValue() can probably be rewritten as nullValue</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>213</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "TestFaqSection", manyToOne.getReferencedEntityName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getReferencedEntityName() can probably be rewritten as referencedEntityName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>214</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull manyToOne.getReferencedPropertyName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getReferencedPropertyName() can probably be rewritten as referencedPropertyName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>215</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals ManyToOneType, manyToOne.getType().getClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getType() can probably be rewritten as type</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>216</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "TestFaqSection", manyToOne.getTypeName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getTypeName() can probably be rewritten as typeName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>246</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 0,list.getBaseIndex()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getBaseIndex() can probably be rewritten as baseIndex</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>248</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Table t = list.getCollectionTable()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCollectionTable() can probably be rewritten as collectionTable</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>250</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 0, list.getColumnInsertability().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>251</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull list.getCacheConcurrencyStrategy()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCacheConcurrencyStrategy() can probably be rewritten as cacheConcurrencyStrategy</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>252</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "TestFaqSection.elements", list.getCacheRegionName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCacheRegionName() can probably be rewritten as cacheRegionName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>253</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 0,list.getColumnSpan()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>254</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 0, list.getColumnUpdateability().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>255</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull list.getElementNodeName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getElementNodeName() can probably be rewritten as elementNodeName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>256</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>SimpleValue index = list.getIndex()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getIndex() can probably be rewritten as index</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>258</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1,index.getColumnInsertability().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>259</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue index.getColumnInsertability()[0]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>260</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1,index.getColumnUpdateability().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>261</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue index.getColumnUpdateability()[0]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>263</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1, index.getColumnSpan()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>265</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Column indexColumn = index.getColumnIterator().next()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnIterator() can probably be rewritten as columnIterator</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>266</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "elements_idx", indexColumn.getCanonicalName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCanonicalName() can probably be rewritten as canonicalName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>267</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull indexColumn.getCheckConstraint()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getCheckConstraint() can probably be rewritten as checkConstraint</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>268</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull indexColumn.getComment()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getComment() can probably be rewritten as comment</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>269</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull indexColumn.getDefaultValue()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getDefaultValue() can probably be rewritten as defaultValue</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>270</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 255, indexColumn.getLength()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getLength() can probably be rewritten as length</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>271</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "elements_idx", indexColumn.getName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>272</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 19, indexColumn.getPrecision()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getPrecision() can probably be rewritten as precision</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>273</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "elements_idx", indexColumn.getQuotedName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getQuotedName() can probably be rewritten as quotedName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>274</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 2, indexColumn.getScale()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getScale() can probably be rewritten as scale</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>275</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "elements_idx", indexColumn.getText()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getText() can probably be rewritten as text</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>276</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>SimpleValue indexColumnValue = indexColumn.getValue()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getValue() can probably be rewritten as value</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>278</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals FetchMode.SELECT, index.getFetchMode()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getFetchMode() can probably be rewritten as fetchMode</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>279</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull index.getForeignKeyName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getForeignKeyName() can probably be rewritten as foreignKeyName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>280</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "assigned", index.getIdentifierGeneratorStrategy()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getIdentifierGeneratorStrategy() can probably be rewritten as identifierGeneratorStrategy</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>281</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull index.getNullValue()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getNullValue() can probably be rewritten as nullValue</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>282</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals IntegerType, index.getType()?.getClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getType() can probably be rewritten as type</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>283</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "integer", index.getTypeName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getTypeName() can probably be rewritten as typeName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>284</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull index.getTypeParameters()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getTypeParameters() can probably be rewritten as typeParameters</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>286</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>KeyValue key = list.getKey()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getKey() can probably be rewritten as key</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>288</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1,key.getColumnInsertability().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>289</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue key.getColumnInsertability()[0]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnInsertability() can probably be rewritten as columnInsertability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>290</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1,key.getColumnUpdateability().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>291</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue key.getColumnUpdateability()[0]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnUpdateability() can probably be rewritten as columnUpdateability</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>293</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1, key.getColumnSpan()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>294</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals FetchMode.SELECT, key.getFetchMode()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getFetchMode() can probably be rewritten as fetchMode</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>295</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull key.getNullValue()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getNullValue() can probably be rewritten as nullValue</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>296</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals LongType, key.getType().getClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getType() can probably be rewritten as type</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>298</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>OneToMany element = list.getElement()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getElement() can probably be rewritten as element</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>300</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1, element.getColumnSpan()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getColumnSpan() can probably be rewritten as columnSpan</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>301</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals FetchMode.JOIN, element.getFetchMode()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getFetchMode() can probably be rewritten as fetchMode</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>302</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PersistentClass associatedClass = element.getAssociatedClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getAssociatedClass() can probably be rewritten as associatedClass</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>303</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "TestFaqElement", associatedClass.getClassName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getClassName() can probably be rewritten as className</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>304</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals ManyToOneType, element.getType().getClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListMappingTests. getType() can probably be rewritten as type</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ BidirectionalListPersistTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>section = session.get(sectionClass.getClazz(),1L)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalListPersistTests. getClazz() can probably be rewritten as clazz</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ BidirectionalOneToManyAndCircularOneToManyTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>67</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals uploadsProperty.getOtherSide(), recipientProperty</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalOneToManyAndCircularOneToManyTests. getOtherSide() can probably be rewritten as otherSide</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>68</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals recipientProperty.getOtherSide(), uploadsProperty</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalOneToManyAndCircularOneToManyTests. getOtherSide() can probably be rewritten as otherSide</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>80</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals uploadLogsProperty.getOtherSide(), senderProperty</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalOneToManyAndCircularOneToManyTests. getOtherSide() can probably be rewritten as otherSide</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>81</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals senderProperty.getOtherSide(), uploadLogsProperty</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalOneToManyAndCircularOneToManyTests. getOtherSide() can probably be rewritten as otherSide</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ BidirectionalOneToManyAndOneToOneTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testSaveAndLoad() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BidirectionalOneToManyAndOneToOneTests. Test method 'testSaveAndLoad' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ BidirectionalOneToManyWithInheritanceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def configItemClass = ga.getDomainClass("ConfigurationItem").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [configItemClass] in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalOneToManyWithInheritanceTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ BidirectionalOnetoManyWithInheritanceRelationshipManagementTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>44</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def otherSide = collection.getOtherSide()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.BidirectionalOnetoManyWithInheritanceRelationshipManagementTests. getOtherSide() can probably be rewritten as otherSide</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CascadingDeleteBehaviour2Tests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class CascadingDeleteBehaviour2Tests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CascadingDeleteBehaviour3Tests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class CascadingDeleteBehaviour3Tests. The method onSetUp is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.GrailsDomainClass</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.commons.GrailsDomainClass] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CascadingDeleteBehaviourTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>85</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class CascadingDeleteBehaviourTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CascadingSaveAndUniqueConstraintTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>31</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testCascadingSaveAndUniqueConstraint() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class CascadingSaveAndUniqueConstraintTests. Test method 'testCascadingSaveAndUniqueConstraint' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>34</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def face = faceClass.newInstance(nose:noseClass.newInstance()).save()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [face] in class org.codehaus.groovy.grails.orm.hibernate.CascadingSaveAndUniqueConstraintTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CircularRelationshipTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class CircularRelationshipTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CircularUnidirectionalOneToManyTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>33</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class CircularUnidirectionalOneToManyTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ClassHeirarchyInheritanceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ClassHeirarchyInheritanceTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CreateCriteriaTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>58</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class CreateCriteriaTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CreateMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class CreateMethodTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CriteriaBuilderTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>135</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def criteriaInstance = getInstance()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.CriteriaBuilderTests. getInstance() can probably be rewritten as instance</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>149</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def criteriaInstance = getInstance()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.CriteriaBuilderTests. getInstance() can probably be rewritten as instance</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CriteriaListDistinctTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Plant = ga.getDomainClass("Plant").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Plant] in class org.codehaus.groovy.grails.orm.hibernate.CriteriaListDistinctTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>66</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Plant = ga.getDomainClass("Plant").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Plant] in class org.codehaus.groovy.grails.orm.hibernate.CriteriaListDistinctTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CustomCascadeMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>38</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def twoClass = ga.getDomainClass("CustomCascadeMappingTwo").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [twoClass] in class org.codehaus.groovy.grails.orm.hibernate.CustomCascadeMappingTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CyclicManyToManyWithInheritanceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testCyclicManyToManyWithInheritance() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class CyclicManyToManyWithInheritanceTests. Test method 'testCyclicManyToManyWithInheritance' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DataBindingDynamicConstructorTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>11</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DataBindingDynamicConstructorTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DataSourceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>sessionFactoryConnection = sessionFactoryConnection.getW..Connection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.DataSourceTests. getWrappedConnection() can probably be rewritten as wrappedConnection</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>sessionFactoryConnection = sessionFactoryConnection.getT..Connection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.DataSourceTests. getTargetConnection() can probably be rewritten as targetConnection</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>dataSourceConnection = dataSourceConnection.getTargetConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.DataSourceTests. getTargetConnection() can probably be rewritten as targetConnection</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>39</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>dataSourceConnection = dataSourceConnection.getWrappedConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.DataSourceTests. getWrappedConnection() can probably be rewritten as wrappedConnection</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>dataSourceConnection = dataSourceConnection.getTargetConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.DataSourceTests. getTargetConnection() can probably be rewritten as targetConnection</span></p></td></tr><tr><td><a href='#UseAssertSameInsteadOfAssertTrue'>UseAssertSameInsteadOfAssertTrue</a></td><td class='priority3'>3</td><td class='number'>48</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue sessionFactoryConnection.is(dataSourceConnection)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.DataSourceTests. assert method can be simplified using the assertSame method</span></p></td></tr><tr><td><a href='#UseAssertSameInsteadOfAssertTrue'>UseAssertSameInsteadOfAssertTrue</a></td><td class='priority3'>3</td><td class='number'>49</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertFalse unproxiedConnection.is(dataSourceConnection)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.DataSourceTests. assert method can be simplified using the assertSame method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DeepHierarchyTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>80</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DeepHierarchyTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DefaultSortOrderForCollectionTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Book = ga.getDomainClass("DefaultSortOrderForCollect..Book").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Book] in class org.codehaus.groovy.grails.orm.hibernate.DefaultSortOrderForCollectionTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DeleteFromCollectionTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def bookClass = ga.getDomainClass("DeleteBook").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [bookClass] in class org.codehaus.groovy.grails.orm.hibernate.DeleteFromCollectionTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DeleteMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DeleteMethodTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DerivedPropertiesTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void afterPluginInitialization() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DerivedPropertiesTests. The method afterPluginInitialization is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>49</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void onTearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DerivedPropertiesTests. The method onTearDown is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>54</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def mc = mdc.clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [mc] in class org.codehaus.groovy.grails.orm.hibernate.DerivedPropertiesTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DirtyTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>126</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 0, d.getDirtyPropertyNames().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.DirtyTests. getDirtyPropertyNames() can probably be rewritten as dirtyPropertyNames</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DiscriminatorColumnMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Child2 = ga.getDomainClass("Child2").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Child2] in class org.codehaus.groovy.grails.orm.hibernate.DiscriminatorColumnMappingTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DiscriminatorFormulaMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>116</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Root = ga.getDomainClass("Root").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Root] in class org.codehaus.groovy.grails.orm.hibernate.DiscriminatorFormulaMappingTests is not used</span></p></td></tr><tr><td><a href='#UseAssertNullInsteadOfAssertEquals'>UseAssertNullInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>101</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals null, rs.getString("tree")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.DiscriminatorFormulaMappingTests. assertEquals can be simplified using assertNull</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>111</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>rs.close()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DomainEventsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>40</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testNoModifyVersion() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DomainEventsTests. Test method 'testNoModifyVersion' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>154</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def success = false</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [success] in class org.codehaus.groovy.grails.orm.hibernate.DomainEventsTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DomainEventsWithMethodsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>276</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DomainEventsWithMethodsTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DontFlushAfterDataAccessExceptionTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>48</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals FlushMode.AUTO, session.getFlushMode()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.DontFlushAfterDataAccessExceptionTests. getFlushMode() can probably be rewritten as flushMode</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>58</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals FlushMode.MANUAL, session.getFlushMode()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.DontFlushAfterDataAccessExceptionTests. getFlushMode() can probably be rewritten as flushMode</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ EagerFindByQueryTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>33</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def tagClass = ga.getDomainClass("EagerFindByQueryTag").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [tagClass] in class org.codehaus.groovy.grails.orm.hibernate.EagerFindByQueryTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>50</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def tagClass = ga.getDomainClass("EagerFindByQueryTag").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [tagClass] in class org.codehaus.groovy.grails.orm.hibernate.EagerFindByQueryTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>67</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def tagClass = ga.getDomainClass("EagerFindByQueryTag").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [tagClass] in class org.codehaus.groovy.grails.orm.hibernate.EagerFindByQueryTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>83</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def tagClass = ga.getDomainClass("EagerFindByQueryTag").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [tagClass] in class org.codehaus.groovy.grails.orm.hibernate.EagerFindByQueryTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ EnumMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>81</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def con = ds.getConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.EnumMappingTests. getConnection() can probably be rewritten as connection</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>104</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def con = ds.getConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.EnumMappingTests. getConnection() can probably be rewritten as connection</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ExecuteUpdateTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def init() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ExecuteUpdateTests. The method init is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ExistsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#ImportFromSamePackage'>ImportFromSamePackage</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.orm.hibernate.Abstract..bernateTests</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FindAllMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>50</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>theClass.findAll("from FindAllTest where name = 'Angus'"..ache: true])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>theClass.findAll("from FindAllTest where name = 'Malcolm..ache: true])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>60</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>theClass.findAll("from FindAllTest where name = 'Malcolm..ache: true])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>103</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>theClass.findAll("from FindAllTest where name = :name", ..ache: true])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>108</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>theClass.findAll("from FindAllTest where name = :name", ..ache: true])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>113</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>theClass.findAll("from FindAllTest where name = :name", ..ache: true])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FindByMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>186</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def jakeB = new Person(firstName: 'Jake', lastName: 'Bro..: 11).save()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [jakeB] in class org.codehaus.groovy.grails.orm.hibernate.FindByMethodTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FindMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FindMethodTests. The method onSetUp is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>74</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>theClass.find("from FindMethodTestClass where one = 'Ang..ache: true])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>79</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>theClass.find("from FindMethodTestClass where one = 'Mal..ache: true])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>84</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>theClass.find("from FindMethodTestClass where one = 'Mal..ache: true])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>89</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>theClass.find("from FindMethodTestClass where one = :nam..ache: true])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>94</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>theClass.find("from FindMethodTestClass where one = :nam..ache: true])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>99</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>theClass.find("from FindMethodTestClass where one = :nam..ache: true])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>104</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>theClass.find("from FindMethodTestClass where one = :nam..che: false])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>109</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>theClass.find("from FindMethodTestClass where one = :nam..ache: true])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FindOrCreateWherePersistenceMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.persistence.Entity</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.persistence.Entity] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FindOrSaveWherePersistenceMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.persistence.Entity</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.persistence.Entity] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ HibernateCriteriaBuilderTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>List retrieveListOfNames() { ['bart'] }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class HibernateCriteriaBuilderTests. The method retrieveListOfNames is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>1004</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>List results = parse("{ " +</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [results] in class org.codehaus.groovy.grails.orm.hibernate.HibernateCriteriaBuilderTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>1032</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>List results = parse("{ " +</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [results] in class org.codehaus.groovy.grails.orm.hibernate.HibernateCriteriaBuilderTests is not used</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>437</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals clazzName , result.getClass().getName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateCriteriaBuilderTests. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>1689</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GroovyClassLoader cl = grailsApplication.getClassLoader()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateCriteriaBuilderTests. getClassLoader() can probably be rewritten as classLoader</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>1706</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Class tc = grailsApplication.getArtefact(DomainClassArte..).getClazz()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.HibernateCriteriaBuilderTests. getClazz() can probably be rewritten as clazz</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ HibernateEventListenerTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>51</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onPostInsert(PostInsertEvent event) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestAuditListener. The method onPostInsert is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>51</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onPostInsert(PostInsertEvent event) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestAuditListener. Method parameter [event] is never referenced in the method onPostInsert of class org.codehaus.groovy.grails.orm.hibernate.TestAuditListener</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onPostDelete(PostDeleteEvent event) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestAuditListener. The method onPostDelete is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onPostDelete(PostDeleteEvent event) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestAuditListener. Method parameter [event] is never referenced in the method onPostDelete of class org.codehaus.groovy.grails.orm.hibernate.TestAuditListener</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>53</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSaveOrUpdate(SaveOrUpdateEvent event) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestAuditListener. The method onSaveOrUpdate is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>53</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSaveOrUpdate(SaveOrUpdateEvent event) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestAuditListener. Method parameter [event] is never referenced in the method onSaveOrUpdate of class org.codehaus.groovy.grails.orm.hibernate.TestAuditListener</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ListDomainTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>9</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def authorClass = ga.getDomainClass("Author")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [authorClass] in class org.codehaus.groovy.grails.orm.hibernate.ListDomainTests is not used</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ListDomainTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ListMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def ids = [a1.id, a2.id, a2.id]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [ids] in class org.codehaus.groovy.grails.orm.hibernate.ListMappingTests is not used</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>54</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ListMappingTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ LoadMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>107</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def o = clazz.newInstance()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [o] in class org.codehaus.groovy.grails.orm.hibernate.LoadMethodTests is not used</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>7</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.orm.hibernate3.HibernateObjec..ureException</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.orm.hibernate3.HibernateObjectRetrievalFailureException] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "id is accessible even if object doesn't ex..ance.getId()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.LoadMethodTests. getId() can probably be rewritten as id</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>51</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "id is accessible even if object doesn't ex..ance.getId()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.LoadMethodTests. getId() can probably be rewritten as id</span></p></td></tr><tr><td><a href='#UseAssertSameInsteadOfAssertTrue'>UseAssertSameInsteadOfAssertTrue</a></td><td class='priority3'>3</td><td class='number'>77</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue getInstance.is(loadInstance)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.LoadMethodTests. assert method can be simplified using the assertSame method</span></p></td></tr><tr><td><a href='#UseAssertSameInsteadOfAssertTrue'>UseAssertSameInsteadOfAssertTrue</a></td><td class='priority3'>3</td><td class='number'>96</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertFalse getInstance.is(loadInstance)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.LoadMethodTests. assert method can be simplified using the assertSame method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ManyToManyCompositeIdTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ManyToManyCompositeIdTests. The method onSetUp is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import junit.framework.TestCase</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [junit.framework.TestCase] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ManyToManyLazinessTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ManyToManyLazinessTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ManyToManyTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>114</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ManyToManyTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ManyToManyWithInheritanceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def ShapeAttribute = ga.getDomainClass("ShapeAttribute").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [ShapeAttribute] in class org.codehaus.groovy.grails.orm.hibernate.ManyToManyWithInheritanceTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MapDomainTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MapDomainTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MapMappingJoinTableTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MapMappingJoinTableTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MapMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UseAssertFalseInsteadOfNegation'>UseAssertFalseInsteadOfNegation</a></td><td class='priority2'>2</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue !book.hasErrors()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.MapMappingTests. assertTrue(!book.hasErrors()) can be simplified to assertFalse(book.hasErrors())</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>90</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MapMappingTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MappedByColumn2Tests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MappedByColumn2Tests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MappedByColumnTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MappedByColumnTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MappingDefaultsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UseAssertFalseInsteadOfNegation'>UseAssertFalseInsteadOfNegation</a></td><td class='priority2'>2</td><td class='number'>73</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue "should have inherited blank from shared cons..", !cp.blank</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDefaultsTests. assertTrue(!cp.blank) can be simplified to assertFalse(cp.blank)</span></p></td></tr><tr><td><a href='#UseAssertFalseInsteadOfNegation'>UseAssertFalseInsteadOfNegation</a></td><td class='priority2'>2</td><td class='number'>75</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue "should not have inherited matches from [anot..", !cp.email</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDefaultsTests. assertTrue(!cp.email) can be simplified to assertFalse(cp.email)</span></p></td></tr><tr><td><a href='#ChainedTest'>ChainedTest</a></td><td class='priority2'>2</td><td class='number'>79</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testMappingDefaults()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UseAssertEqualsInsteadOfAssertTrue'>UseAssertEqualsInsteadOfAssertTrue</a></td><td class='priority3'>3</td><td class='number'>74</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue "size should have been in the specified range..0 == cp.size</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDefaultsTests. Replace assertTrue with a call to assertEquals()</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MappingDefinitionInheritedBySubclassTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>48</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert rs.next() == true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The expression '(rs.next() == true)' can be simplified to 'rs.next()'</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MappingDslTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testTableMapping() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MappingDslTests. Test method 'testTableMapping' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>113</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>DataSource ds = applicationContext.dataSource</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [ds] in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>203</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def personClass = ga.getDomainClass("MappedPerson").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [personClass] in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests is not used</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>283</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testCompositeIdAssignedGenerator_GRAILS_6289() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MappingDslTests. Test method 'testCompositeIdAssignedGenerator_GRAILS_6289' makes no assertions</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>con = ds.getConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>con = ds.getConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>82</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>con = ds.getConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>121</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final cmd = session.getSessionFactory().getClassMetadata..Class.clazz)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getSessionFactory() can probably be rewritten as sessionFactory</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>153</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>con = ds.getConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>192</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>con = ds.getConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>220</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>con = ds.getConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>248</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>con = ds.getConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>273</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>con = ds.getConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>303</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>connection = ds.getConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.MappingDslTests. getConnection() can probably be rewritten as connection</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MultipleDataSourceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>348</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Library = ga.getDomainClass('MdsLibrary').clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Library] in class org.codehaus.groovy.grails.orm.hibernate.MultipleDataSourceTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>349</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Visit = ga.getDomainClass('MdsVisit').clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Visit] in class org.codehaus.groovy.grails.orm.hibernate.MultipleDataSourceTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>379</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Library = ga.getDomainClass('MdsLibrary').clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Library] in class org.codehaus.groovy.grails.orm.hibernate.MultipleDataSourceTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>380</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Visit = ga.getDomainClass('MdsVisit').clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Visit] in class org.codehaus.groovy.grails.orm.hibernate.MultipleDataSourceTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>409</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Library = ga.getDomainClass('MdsLibrary').clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Library] in class org.codehaus.groovy.grails.orm.hibernate.MultipleDataSourceTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>410</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Visit = ga.getDomainClass('MdsVisit').clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Visit] in class org.codehaus.groovy.grails.orm.hibernate.MultipleDataSourceTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ NamedCriteriaInheritanceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.persistence.Entity</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.persistence.Entity] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ NamedCriteriaPublication.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>79</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>thisWeeksPaperbacks() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.NamedCriteriaPublication. Parentheses in the 'thisWeeksPaperbacks' method call are unnecessary and can be removed.</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ NamedCriteriaTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>504</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def titles = publications.title</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [titles] in class org.codehaus.groovy.grails.orm.hibernate.NamedCriteriaTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ NamingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>77</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>names << ddl.substring(0, ddl.indexOf(' '))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.NamingTests. The String.substring(int, int) method can be replaced with the subscript operator</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ OneToManySelfInheritanceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Root = ga.getDomainClass("onetomanyselfinheritancete..Root").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Root] in class org.codehaus.groovy.grails.orm.hibernate.OneToManySelfInheritanceTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ OneToManyWithComposideIdentifierTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testPersistAssociationWithCompositeId() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class OneToManyWithComposideIdentifierTests. Test method 'testPersistAssociationWithCompositeId' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>57</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testUpdateInverseSide() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class OneToManyWithComposideIdentifierTests. Test method 'testUpdateInverseSide' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ OneToManyWithInheritanceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.util.Log4jConfigurer</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.util.Log4jConfigurer] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ OneToManyWithSelfAndInheritanceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>39</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def orgB = Organization.newInstance(name:'Org B', descri..org1).save()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [orgB] in class org.codehaus.groovy.grails.orm.hibernate.OneToManyWithSelfAndInheritanceTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>40</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def orgaa = Organization.newInstance(name:'Org aa', desc..orgA).save()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [orgaa] in class org.codehaus.groovy.grails.orm.hibernate.OneToManyWithSelfAndInheritanceTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>44</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def xorgB = ExtOrganization.newInstance(name:'ExtOrg B',..org1).save()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [xorgB] in class org.codehaus.groovy.grails.orm.hibernate.OneToManyWithSelfAndInheritanceTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def xorgaa = ExtOrganization.newInstance(name:'ExtOrg aa..orgA).save()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [xorgaa] in class org.codehaus.groovy.grails.orm.hibernate.OneToManyWithSelfAndInheritanceTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ PersistenceMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>750</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>MetaClass domain = obj.getMetaClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [domain] in class org.codehaus.groovy.grails.orm.hibernate.PersistenceMethodTests is not used</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>438</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>returnValue = domainClass.getAll()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.PersistenceMethodTests. getAll() can probably be rewritten as all</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>750</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>MetaClass domain = obj.getMetaClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.PersistenceMethodTests. getMetaClass() can probably be rewritten as metaClass</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ PessimisticLockingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>11</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testLockMethod() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PessimisticLockingTests. Test method 'testLockMethod' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>43</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PessimisticLockingTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ SavePersistentMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>159</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>datastore.getEventTriggeringInterceptor().failOnError = true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.SavePersistentMethodTests. getEventTriggeringInterceptor() can probably be rewritten as eventTriggeringInterceptor</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>177</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def interceptor = datastore.getEventTriggeringInterceptor()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.SavePersistentMethodTests. getEventTriggeringInterceptor() can probably be rewritten as eventTriggeringInterceptor</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ SimpleBelongsToMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>10</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def bookClass = ga.getDomainClass("Book")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [bookClass] in class org.codehaus.groovy.grails.orm.hibernate.SimpleBelongsToMappingTests is not used</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>15</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SimpleBelongsToMappingTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TablePerHierarchyAssocationTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def sub1Class = ga.getDomainClass("TablePerHierarchSub1").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [sub1Class] in class org.codehaus.groovy.grails.orm.hibernate.TablePerHierarchyAssocationTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TablePerSubclassIdentityMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testMappedIdentityForSubclass() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TablePerSubclassIdentityMappingTests. Test method 'testMappedIdentityForSubclass' makes no assertions</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>con = ds.getConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.TablePerSubclassIdentityMappingTests. getConnection() can probably be rewritten as connection</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TablePerSubclassWithCustomTableNameTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testGeneratedTables() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TablePerSubclassWithCustomTableNameTests. Test method 'testGeneratedTables' makes no assertions</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>con = ds.getConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.TablePerSubclassWithCustomTableNameTests. getConnection() can probably be rewritten as connection</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TwoManyToManyTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>100</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TwoManyToManyTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TwoUnidirectionalOneToManyTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>7</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testTwoUniOneToManys() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TwoUnidirectionalOneToManyTests. Test method 'testTwoUniOneToManys' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TwoUnidirectionalOneToManyTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ URLMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class URLMappingTests. The method onSetUp is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>b.discard()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ UnidirectionalOneToManyHibernateMappedTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testAnnotatedOneToManyDomain() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class UnidirectionalOneToManyHibernateMappedTests. Test method 'testAnnotatedOneToManyDomain' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ UnidirectionalOneToManyWithJoinTableTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testUnidirectionalOneToManyWithExplicityJoinTable() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class UnidirectionalOneToManyWithJoinTableTests. Test method 'testUnidirectionalOneToManyWithExplicityJoinTable' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ UserTypeMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>148</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>con = ds.getConnection()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.UserTypeMappingTests. getConnection() can probably be rewritten as connection</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ValidationFailureTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ValidationFailureTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ VersionColumnTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>40</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testVersionColumnMapping() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class VersionColumnTests. Test method 'testVersionColumnMapping' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import java.sql.Connection</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [java.sql.Connection] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ WithCriteriaMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>24</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class WithCriteriaMethodTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ WithTransactionMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>33</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class WithTransactionMethodTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/binding'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.orm.hibernate.binding</h2></div><div class='summary'><h3 class='fileHeader'>➥ AssociationDataBindingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>197</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def book = Book.newInstance(title: "Pattern Recognition"..Error: true)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [book] in class org.codehaus.groovy.grails.orm.hibernate.binding.AssociationDataBindingTests is not used</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>332</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>request.addParameter("books[0].reviewers['bob'].name", "Bob Bloggs")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>333</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>request.addParameter("books[0].reviewers['chuck'].name",..uck Bloggs")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>334</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>request.addParameter("books[1].title", "The Stand")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ NonDomainCollectionBindingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>11</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class NonDomainCollectionBindingTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/cfg'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.orm.hibernate.cfg</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsDomainBinderTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>672</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ConstrainedProperty constrainedProperty = getConstrained..ngProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedStringProperty() can probably be rewritten as constrainedStringProperty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>677</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty = getConstrainedStringProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedStringProperty() can probably be rewritten as constrainedStringProperty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>682</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty = getConstrainedStringProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedStringProperty() can probably be rewritten as constrainedStringProperty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>686</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty = getConstrainedStringProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedStringProperty() can probably be rewritten as constrainedStringProperty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>692</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty = getConstrainedStringProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedStringProperty() can probably be rewritten as constrainedStringProperty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>702</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ConstrainedProperty constrainedProperty = getConstrained..alProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>709</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty = getConstrainedBigDecimalProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty</span></p></td></tr><tr><td><a href='#UnnecessaryBigDecimalInstantiation'>UnnecessaryBigDecimalInstantiation</a></td><td class='priority3'>3</td><td class='number'>710</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty.applyConstraint(ConstrainedProperty...l("123.45"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Can be rewritten as 123.45 or 123.45G</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>715</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty = getConstrainedBigDecimalProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty</span></p></td></tr><tr><td><a href='#UnnecessaryBigDecimalInstantiation'>UnnecessaryBigDecimalInstantiation</a></td><td class='priority3'>3</td><td class='number'>717</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty.applyConstraint(ConstrainedProperty...("-123.45"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Can be rewritten as -123.45 or -123.45G</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>721</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty = getConstrainedBigDecimalProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty</span></p></td></tr><tr><td><a href='#UnnecessaryBigDecimalInstantiation'>UnnecessaryBigDecimalInstantiation</a></td><td class='priority3'>3</td><td class='number'>722</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty.applyConstraint(ConstrainedProperty...("123.45")))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Can be rewritten as 123.45 or 123.45G</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>726</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty = getConstrainedBigDecimalProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty</span></p></td></tr><tr><td><a href='#UnnecessaryBigDecimalInstantiation'>UnnecessaryBigDecimalInstantiation</a></td><td class='priority3'>3</td><td class='number'>727</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty.applyConstraint(ConstrainedProperty...mal("123")))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Can be rewritten as -123.45 or -123.45G</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>731</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty = getConstrainedBigDecimalProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>737</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty = getConstrainedBigDecimalProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty</span></p></td></tr><tr><td><a href='#UnnecessaryBigDecimalInstantiation'>UnnecessaryBigDecimalInstantiation</a></td><td class='priority3'>3</td><td class='number'>738</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty.applyConstraint(ConstrainedProperty...l("123.45"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Can be rewritten as 123.45 or 123.45G</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>744</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty = getConstrainedBigDecimalProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty</span></p></td></tr><tr><td><a href='#UnnecessaryBigDecimalInstantiation'>UnnecessaryBigDecimalInstantiation</a></td><td class='priority3'>3</td><td class='number'>745</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty.applyConstraint(ConstrainedProperty..."123.4567"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Can be rewritten as 123.4567 or 123.4567G</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>751</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty = getConstrainedBigDecimalProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty</span></p></td></tr><tr><td><a href='#UnnecessaryBigDecimalInstantiation'>UnnecessaryBigDecimalInstantiation</a></td><td class='priority3'>3</td><td class='number'>752</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty.applyConstraint(ConstrainedProperty..."123.4567"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Can be rewritten as 123.4567 or 123.4567G</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>754</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty = getConstrainedBigDecimalProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty</span></p></td></tr><tr><td><a href='#UnnecessaryBigDecimalInstantiation'>UnnecessaryBigDecimalInstantiation</a></td><td class='priority3'>3</td><td class='number'>755</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty.applyConstraint(ConstrainedProperty...7890.4567"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Can be rewritten as 12345678901234567890.4567 or 12345678901234567890.4567G</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>757</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty = getConstrainedBigDecimalProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty</span></p></td></tr><tr><td><a href='#UnnecessaryBigDecimalInstantiation'>UnnecessaryBigDecimalInstantiation</a></td><td class='priority3'>3</td><td class='number'>758</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty.applyConstraint(ConstrainedProperty...-123.4567"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Can be rewritten as -123.4567 or -123.4567G</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>760</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty = getConstrainedBigDecimalProperty()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinderTests. getConstrainedBigDecimalProperty() can probably be rewritten as constrainedBigDecimalProperty</span></p></td></tr><tr><td><a href='#UnnecessaryBigDecimalInstantiation'>UnnecessaryBigDecimalInstantiation</a></td><td class='priority3'>3</td><td class='number'>761</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>constrainedProperty.applyConstraint(ConstrainedProperty...7890.4567"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Can be rewritten as -12345678901234567890.4567 or -12345678901234567890.4567G</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsHibernateUtilTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#MisorderedStaticImports'>MisorderedStaticImports</a></td><td class='priority3'>3</td><td class='number'>4</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import static org.codehaus.groovy.grails.orm.hibernate.c..ernateUtil.*</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Static imports should appear before normal imports</span></p></td></tr><tr><td><a href='#JUnitUnnecessarySetUp'>JUnitUnnecessarySetUp</a></td><td class='priority3'>3</td><td class='number'>8</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>@Override protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsHibernateUtilTests. The setUp() method contains no logic and can be removed</span></p></td></tr><tr><td><a href='#UnnecessaryOverridingMethod'>UnnecessaryOverridingMethod</a></td><td class='priority3'>3</td><td class='number'>8</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>@Override protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsHibernateUtilTests. The method setUp contains no logic and can be safely deleted</span></p></td></tr><tr><td><a href='#JUnitUnnecessaryTearDown'>JUnitUnnecessaryTearDown</a></td><td class='priority3'>3</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>@Override protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsHibernateUtilTests. The tearDown() method contains no logic and can be removed</span></p></td></tr><tr><td><a href='#UnnecessaryOverridingMethod'>UnnecessaryOverridingMethod</a></td><td class='priority3'>3</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>@Override protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsHibernateUtilTests. The method tearDown contains no logic and can be safely deleted</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MonetaryAmountUserType.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EqualsOverloaded'>EqualsOverloaded</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>boolean equals(Object x, Object y) { x == y }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MonetaryAmountUserType. The class org.codehaus.groovy.grails.orm.hibernate.cfg.MonetaryAmountUserType overloads the equals method, it does not override it.</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object nullSafeGet(ResultSet resultSet, String[] names, ..LException {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MonetaryAmountUserType. Method parameter [owner] is never referenced in the method nullSafeGet of class org.codehaus.groovy.grails.orm.hibernate.cfg.MonetaryAmountUserType</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>44</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object assemble(Serializable cached, Object owner) { cached }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MonetaryAmountUserType. Method parameter [owner] is never referenced in the method assemble of class org.codehaus.groovy.grails.orm.hibernate.cfg.MonetaryAmountUserType</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object replace(Object original, Object target, Object ow..{ original }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MonetaryAmountUserType. Method parameter [target] is never referenced in the method replace of class org.codehaus.groovy.grails.orm.hibernate.cfg.MonetaryAmountUserType</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object replace(Object original, Object target, Object ow..{ original }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MonetaryAmountUserType. Method parameter [owner] is never referenced in the method replace of class org.codehaus.groovy.grails.orm.hibernate.cfg.MonetaryAmountUserType</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MyUserType.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EqualsOverloaded'>EqualsOverloaded</a></td><td class='priority2'>2</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>boolean equals(Object x, Object y) { x.name == y.name }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MyUserType. The class org.codehaus.groovy.grails.orm.hibernate.cfg.MyUserType overloads the equals method, it does not override it.</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object nullSafeGet(ResultSet resultSet, String[] names, ..LException {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MyUserType. Method parameter [owner] is never referenced in the method nullSafeGet of class org.codehaus.groovy.grails.orm.hibernate.cfg.MyUserType</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>43</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object assemble(Serializable cached, Object owner) { cached }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MyUserType. Method parameter [owner] is never referenced in the method assemble of class org.codehaus.groovy.grails.orm.hibernate.cfg.MyUserType</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object replace(Object original, Object target, Object ow..{ original }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MyUserType. Method parameter [target] is never referenced in the method replace of class org.codehaus.groovy.grails.orm.hibernate.cfg.MyUserType</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object replace(Object original, Object target, Object ow..{ original }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MyUserType. Method parameter [owner] is never referenced in the method replace of class org.codehaus.groovy.grails.orm.hibernate.cfg.MyUserType</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/metaclass'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.orm.hibernate.metaclass</h2></div><div class='summary'><h3 class='fileHeader'>➥ BeforeValidateHelperTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>65</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def beforeValidate(List properties) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ClassWithListArgBeforeValidate. Method parameter [properties] is never referenced in the method beforeValidate of class org.codehaus.groovy.grails.orm.hibernate.metaclass.ClassWithListArgBeforeValidate</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>76</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def beforeValidate(List properties) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ClassWithOverloadedBeforeValidate. Method parameter [properties] is never referenced in the method beforeValidate of class org.codehaus.groovy.grails.orm.hibernate.metaclass.ClassWithOverloadedBeforeValidate</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import groovy.mock.interceptor.MockFor</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [groovy.mock.interceptor.MockFor] import is never referenced</span></p></td></tr><tr><td><a href='#ImportFromSamePackage'>ImportFromSamePackage</a></td><td class='priority3'>3</td><td class='number'>4</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.orm.hibernate.metaclas..idateHelper;</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/support'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.orm.hibernate.support</h2></div><div class='summary'><h3 class='fileHeader'>➥ FlushOnRedirectTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>6</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ HibernatePersistenceContextInterceptorTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>6</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.orm.hibernate3.SessionHolder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.orm.hibernate3.SessionHolder] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def interceptor = getInterceptor()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.support.HibernatePersistenceContextInterceptorTests. getInterceptor() can probably be rewritten as interceptor</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", false, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>31</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", true, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>33</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", false, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", true, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", false, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def interceptor = getInterceptor()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.support.HibernatePersistenceContextInterceptorTests. getInterceptor() can probably be rewritten as interceptor</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", false, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", true, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", true, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>49</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", true, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>51</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", false, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>54</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", true, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>interceptor.destroy()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>56</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", false, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>60</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def interceptor = getInterceptor()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.support.HibernatePersistenceContextInterceptorTests. getInterceptor() can probably be rewritten as interceptor</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>70</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", false, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", true, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>74</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", false, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>81</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def interceptor = getInterceptor()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.orm.hibernate.support.HibernatePersistenceContextInterceptorTests. getInterceptor() can probably be rewritten as interceptor</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>93</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", false, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>95</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", true, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>97</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("interceptor open", false, interceptor.open)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/hibernate/validation'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.orm.hibernate.validation</h2></div><div class='summary'><h3 class='fileHeader'>➥ UniqueConstraintTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>15</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def userClass = ga.getDomainClass("User")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [userClass] in class org.codehaus.groovy.grails.orm.hibernate.validation.UniqueConstraintTests is not used</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>265</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class UniqueConstraintTests. The method onSetUp is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>50</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.save(true)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>63</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.organization = "organization1"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>64</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>68</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.id = 123L</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>69</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>79</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>83</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.code = "321"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>84</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.login = "login1"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>85</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.grp = "group1"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>86</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.department = "department1"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>87</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.organization = "organization2"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>88</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>92</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.grp = "group2"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>93</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>97</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.grp = "group1"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>98</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.department = "department2"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>99</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>103</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.login = "login2"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>104</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.grp = "group2"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>105</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.department = "department1"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>106</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.organization = "organization1"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>107</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>111</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.organization = "organization2"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>112</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>228</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user1.save(true)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>236</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user2.save(true)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>244</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>user3.save(true)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/orm/support'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.orm.support</h2></div><div class='summary'><h3 class='fileHeader'>➥ TransactionManagerPostProcessorTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>dataSource = dataSource</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/plugins'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.plugins</h2></div><div class='summary'><h3 class='fileHeader'>➥ RelationshipManagementMethodsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>59</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def addressClass = ga.getDomainClass("Address")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [addressClass] in class org.codehaus.groovy.grails.plugins.RelationshipManagementMethodsTests is not used</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>142</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class RelationshipManagementMethodsTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/plugins/scaffolding'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.plugins.scaffolding</h2></div><div class='summary'><h3 class='fileHeader'>➥ ScaffoldingGrailsPluginTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>75</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def appCtx = springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.scaffolding.ScaffoldingGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>87</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>gcl.getLoadedClasses().find { it.name.endsWith("TagLib") })</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.scaffolding.ScaffoldingGrailsPluginTests. getLoadedClasses() can probably be rewritten as loadedClasses</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/plugins/services'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.plugins.services</h2></div><div class='summary'><h3 class='fileHeader'>➥ ScopedProxyAndServiceClassTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.web.context.support.WebApplic..ContextUtils</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.web.context.support.WebApplicationContextUtils] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ServicesGrailsPluginTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ServicesGrailsPluginTests. The method onSetUp is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>110</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.services.ServicesGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/reload'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.reload</h2></div><div class='summary'><h3 class='fileHeader'>➥ ServiceReloadTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ServiceReloadTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/scaffolding'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.scaffolding</h2></div><div class='summary'><h3 class='fileHeader'>➥ DefaultGrailsTemplateGeneratorTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DefaultGrailsTemplateGeneratorTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>33</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DefaultGrailsTemplateGeneratorTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>14</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.plugins.PluginManagerHolder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.plugins.PluginManagerHolder] import is never referenced</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>68</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert sw.toString().contains('g:datePicker name="regula..}"') == true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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}")'</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>69</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert sw.toString().contains('datePicker name="sqlDate"..e}') == true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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})'</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TemplateGeneratingResponseHandlerTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#DuplicateImport'>DuplicateImport</a></td><td class='priority3'>3</td><td class='number'>7</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.web.context.request.*</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/scaffolding/view'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.scaffolding.view</h2></div><div class='summary'><h3 class='fileHeader'>➥ ScaffoldedGroovyPageViewTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>33</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ScaffoldedGroovyPageViewTests. The method tearDown() does not call super.tearDown()</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ScaffoldingViewResolverTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>60</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected String generateViewSource(String viewName, Gra..mainClass) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestScaffoldingViewResolver. Method parameter [domainClass] is never referenced in the method generateViewSource of class org.codehaus.groovy.grails.scaffolding.view.TestScaffoldingViewResolver</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>38</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>viewResolver.servletContext = webRequest.getServletContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.scaffolding.view.ScaffoldingViewResolverTests. getServletContext() can probably be rewritten as servletContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>48</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def view = viewResolver.loadView("/foo/list", Locale.getDefault())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.scaffolding.view.ScaffoldingViewResolverTests. getDefault() can probably be rewritten as default</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/validation'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.validation</h2></div><div class='summary'><h3 class='fileHeader'>➥ VetoingNullableBehaviourTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UseAssertEqualsInsteadOfAssertTrue'>UseAssertEqualsInsteadOfAssertTrue</a></td><td class='priority3'>3</td><td class='number'>100</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue("Error not found for field ${field}, errors w..ld) == null)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.VetoingNullableBehaviourTests. Replace assertTrue with a call to assertEquals()</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/web/binding'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.web.binding</h2></div><div class='summary'><h3 class='fileHeader'>➥ DataBindingWithAssociationTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>93</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Book = ga.getDomainClass("databindingwithassociation..ook3").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Book] in class org.codehaus.groovy.grails.web.binding.DataBindingWithAssociationTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>120</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def Book = ga.getDomainClass("databindingwithassociation..ook3").clazz</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [Book] in class org.codehaus.groovy.grails.web.binding.DataBindingWithAssociationTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DataBindingWithEmbeddedTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#MisorderedStaticImports'>MisorderedStaticImports</a></td><td class='priority3'>3</td><td class='number'>6</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import static org.hamcrest.CoreMatchers.*</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Static imports should appear before normal imports</span></p></td></tr><tr><td><a href='#MisorderedStaticImports'>MisorderedStaticImports</a></td><td class='priority3'>3</td><td class='number'>7</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import static org.junit.Assert.assertThat</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Static imports should appear before normal imports</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-persistence/src/test/groovy/org/codehaus/groovy/grails/web/converters'> </a><h2 class='packageHeader'>Package: grails-test-suite-persistence.src.test.groovy.org.codehaus.groovy.grails.web.converters</h2></div><div class='summary'><h3 class='fileHeader'>➥ ConvertsWithHibernateProxiesTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def converter = parent as JSON</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [converter] in class org.codehaus.groovy.grails.web.converters.ConvertsWithHibernateProxiesTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>74</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def converter = parent as XML</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [converter] in class org.codehaus.groovy.grails.web.converters.ConvertsWithHibernateProxiesTests is not used</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/grails/ant'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.grails.ant</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsTaskTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>10</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testWithClasspath() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsTaskTests. The method testWithClasspath is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>10</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testWithClasspath() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsTaskTests. Test method 'testWithClasspath' makes no assertions</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/grails/spring'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.grails.spring</h2></div><div class='summary'><h3 class='fileHeader'>➥ BeanBuilderTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>706</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def dataSource = ctx.getBean("dataSource")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [dataSource] in class grails.spring.BeanBuilderTests is not used</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>709</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testHolyGrailWiring() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BeanBuilderTests. Test method 'testHolyGrailWiring' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>760</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testBeanBuilderWithScript() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BeanBuilderTests. Test method 'testBeanBuilderWithScript' makes no assertions</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>867</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object remove(String name) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestScope. The method remove is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>867</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object remove(String name) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestScope. Method parameter [name] is never referenced in the method remove of class grails.spring.TestScope</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>871</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void registerDestructionCallback(String name, Runnable callback) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestScope. The method registerDestructionCallback is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>871</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void registerDestructionCallback(String name, Runnable callback) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestScope. Method parameter [name] is never referenced in the method registerDestructionCallback of class grails.spring.TestScope</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>871</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void registerDestructionCallback(String name, Runnable callback) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestScope. Method parameter [callback] is never referenced in the method registerDestructionCallback of class grails.spring.TestScope</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>875</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object get(String name, ObjectFactory<?> objectFactory) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestScope. Method parameter [name] is never referenced in the method get of class grails.spring.TestScope</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>880</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object resolveContextualObject(String s) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestScope. Method parameter [s] is never referenced in the method resolveContextualObject of class grails.spring.TestScope</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.plugins.GrailsPluginManager;</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.plugins.GrailsPluginManager] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>149</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GenericApplicationContext appCtx = bb.getSpringConfig()...ionContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.spring.BeanBuilderTests. getUnrefreshedApplicationContext() can probably be rewritten as unrefreshedApplicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>149</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GenericApplicationContext appCtx = bb.getSpringConfig()...ionContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.spring.BeanBuilderTests. getSpringConfig() can probably be rewritten as springConfig</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>150</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>appCtx.getBeanFactory().registerScope("test", scope)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.spring.BeanBuilderTests. getBeanFactory() can probably be rewritten as beanFactory</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>176</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>appCtx = bb.getSpringConfig().getUnrefreshedApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.spring.BeanBuilderTests. getUnrefreshedApplicationContext() can probably be rewritten as unrefreshedApplicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>176</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>appCtx = bb.getSpringConfig().getUnrefreshedApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.spring.BeanBuilderTests. getSpringConfig() can probably be rewritten as springConfig</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>177</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>appCtx.getBeanFactory().registerScope("test", scope)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.spring.BeanBuilderTests. getBeanFactory() can probably be rewritten as beanFactory</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>237</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GenericApplicationContext appCtx = bb.getSpringConfig()...ionContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.spring.BeanBuilderTests. getUnrefreshedApplicationContext() can probably be rewritten as unrefreshedApplicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>237</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GenericApplicationContext appCtx = bb.getSpringConfig()...ionContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.spring.BeanBuilderTests. getSpringConfig() can probably be rewritten as springConfig</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>239</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>appCtx.getBeanFactory().registerScope("test", scope)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.spring.BeanBuilderTests. getBeanFactory() can probably be rewritten as beanFactory</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>305</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>quest = quest</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>312</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>shouldFail(org.springframework.beans.factory.BeanIsAbstr..Exception) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The org.springframework.beans.factory.BeanIsAbstractException class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>327</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>quest = quest</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>376</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals true, bean1.props?.overweight</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#ConstantAssertExpression'>ConstantAssertExpression</a></td><td class='priority3'>3</td><td class='number'>590</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert "marge", marge.person</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The assert statement within class grails.spring.BeanBuilderTests has a constant boolean expression [marge]</span></p></td></tr><tr><td><a href='#ConstantAssertExpression'>ConstantAssertExpression</a></td><td class='priority3'>3</td><td class='number'>608</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert "marge", marge.person</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The assert statement within class grails.spring.BeanBuilderTests has a constant boolean expression [marge]</span></p></td></tr><tr><td><a href='#ConstantAssertExpression'>ConstantAssertExpression</a></td><td class='priority3'>3</td><td class='number'>632</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert "homer", homer.person</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The assert statement within class grails.spring.BeanBuilderTests has a constant boolean expression [homer]</span></p></td></tr><tr><td><a href='#ConstantAssertExpression'>ConstantAssertExpression</a></td><td class='priority3'>3</td><td class='number'>633</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert 45, homer.age</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The assert statement within class grails.spring.BeanBuilderTests has a constant boolean expression [45]</span></p></td></tr><tr><td><a href='#ConstantAssertExpression'>ConstantAssertExpression</a></td><td class='priority3'>3</td><td class='number'>635</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert "marge", ctx.getBean("marge").person</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The assert statement within class grails.spring.BeanBuilderTests has a constant boolean expression [marge]</span></p></td></tr><tr><td><a href='#ConstantAssertExpression'>ConstantAssertExpression</a></td><td class='priority3'>3</td><td class='number'>637</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert "mcBain", ctx.getBean("mcBain").person</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The assert statement within class grails.spring.BeanBuilderTests has a constant boolean expression [mcBain]</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>877</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>objectFactory.getObject()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.spring.TestScope. getObject() can probably be rewritten as object</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/grails/test'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.grails.test</h2></div><div class='summary'><h3 class='fileHeader'>➥ ControllerUnitTestCaseTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>10</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testControllerClass() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllerUnitTestCaseTests. Test method 'testControllerClass' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testExplicitControllerClass() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllerUnitTestCaseTests. Test method 'testExplicitControllerClass' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testMockCommandObject() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllerUnitTestCaseTests. Test method 'testMockCommandObject' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testGetSetModelAndView() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllerUnitTestCaseTests. Test method 'testGetSetModelAndView' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>39</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testResetWithResponseNotCommitted() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllerUnitTestCaseTests. Test method 'testResetWithResponseNotCommitted' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testResetWithResponseCommitted() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllerUnitTestCaseTests. Test method 'testResetWithResponseCommitted' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>56</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testModelAndView() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class UnitTestControllerTestCase. Test method 'testModelAndView' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>89</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testResetWithResponseNotCommitted() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class UnitTestControllerTestCase. Test method 'testResetWithResponseNotCommitted' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsMockTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>386</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String multiMethod(String str) { "static" }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsMockCollaborator. Method parameter [str] is never referenced in the method multiMethod of class grails.test.GrailsMockCollaborator</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>388</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String multiMethod(String str, Map map) { "static" }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsMockCollaborator. Method parameter [str] is never referenced in the method multiMethod of class grails.test.GrailsMockCollaborator</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>388</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String multiMethod(String str, Map map) { "static" }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsMockCollaborator. Method parameter [map] is never referenced in the method multiMethod of class grails.test.GrailsMockCollaborator</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>390</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String someMethod(String str1, Object[] args, String str..{ 'static' }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsMockCollaborator. Method parameter [str1] is never referenced in the method someMethod of class grails.test.GrailsMockCollaborator</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>390</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String someMethod(String str1, Object[] args, String str..{ 'static' }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsMockCollaborator. Method parameter [args] is never referenced in the method someMethod of class grails.test.GrailsMockCollaborator</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>390</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String someMethod(String str1, Object[] args, String str..{ 'static' }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsMockCollaborator. Method parameter [str2] is never referenced in the method someMethod of class grails.test.GrailsMockCollaborator</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>97</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mockControl.demand.update() { -> "Success!"}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.GrailsMockTests. Parentheses in the 'update' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>151</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mockControl.demand.static.findByNothing() { -> "Success!"}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.GrailsMockTests. Parentheses in the 'findByNothing' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>407</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>setMetaClass(GroovySystem.getMetaClassRegistry().getMeta..erty.class);</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.GrailsMockWithMetaClassGetProperty. getMetaClassRegistry() can probably be rewritten as metaClassRegistry</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>407</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>setMetaClass(GroovySystem.getMetaClassRegistry().getMeta..erty.class);</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>GrailsMockWithMetaClassGetProperty.class can be rewritten as GrailsMockWithMetaClassGetProperty</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>407</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>setMetaClass(GroovySystem.getMetaClassRegistry().getMeta..erty.class);</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>GrailsMockWithMetaClassGetProperty.class can be rewritten as GrailsMockWithMetaClassGetProperty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>417</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GroovySystem.getMetaClassRegistry().setMetaClass(nodeCla..wMetaClass);</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.GrailsMockWithMetaClassGetProperty. getMetaClassRegistry() can probably be rewritten as metaClassRegistry</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsUnitTestCaseTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUnitTestCaseTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUnitTestCaseTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testMockConfig() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUnitTestCaseTests. Test method 'testMockConfig' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>65</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testMockConfigReturnsConfig() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUnitTestCaseTests. Test method 'testMockConfigReturnsConfig' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testMockLogging() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUnitTestCaseTests. Test method 'testMockLogging' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>82</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testMockLoggingWithDebugEnabled() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUnitTestCaseTests. Test method 'testMockLoggingWithDebugEnabled' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>92</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testMockDomainErrors() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUnitTestCaseTests. Test method 'testMockDomainErrors' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>106</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testMockForConstraintsTests() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUnitTestCaseTests. Test method 'testMockForConstraintsTests' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>118</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testMockFor() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUnitTestCaseTests. Test method 'testMockFor' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>141</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testCascadingValidation() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUnitTestCaseTests. Test method 'testCascadingValidation' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>148</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testMockDynamicMethodsWithInstanceList() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUnitTestCaseTests. Test method 'testMockDynamicMethodsWithInstanceList' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>162</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testLoadCodec() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUnitTestCaseTests. Test method 'testLoadCodec' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>169</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testConverters() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUnitTestCaseTests. Test method 'testConverters' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>412</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def foo(s) { 1 }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ClassToMock. Method parameter [s] is never referenced in the method foo of class grails.test.ClassToMock</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>126</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testCase.tearDown()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>128</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testCase.setUp()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>129</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testCase.testMockInterface1()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>130</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testCase.tearDown()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>132</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testCase.setUp()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>133</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testCase.testMockInterface2()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>134</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testCase.tearDown()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>177</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testCase.tearDown()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>223</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mocker.demand.foo() {s -> 1 }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.TestUnitTestCase. Parentheses in the 'foo' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>231</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mocker.demand.foo() {s -> 1 }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.TestUnitTestCase. Parentheses in the 'foo' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>239</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mocker.demand.foo() {s -> 1 }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.TestUnitTestCase. Parentheses in the 'foo' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>247</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mocker.demand.foo() {s -> 1 }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.TestUnitTestCase. Parentheses in the 'foo' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>365</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>log.warn "Test warning with exception", new Exception("s..ent wrong!")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>366</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>log.info "Test info message"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>367</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>log.info "Test info message with exception", new Excepti..ent wrong!")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>368</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>log.debug "Test debug"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>369</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>log.debug "Test debug with exception", new Exception("so..ent wrong!")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>370</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>log.trace "Test trace"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>371</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>log.trace "Test trace with exception", new Exception("so..ent wrong!")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MockDomainWithInheritanceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>14</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockDomainWithInheritanceTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testMockDomainWithInheritance() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockDomainWithInheritanceTests. Test method 'testMockDomainWithInheritance' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>34</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PersonTests. The method tearDown() does not call super.tearDown()</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MockForTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>11</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testUnregisteredMockedStaticMethods() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockForTests. Test method 'testUnregisteredMockedStaticMethods' makes no assertions</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testcase.tearDown()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MockUtilsAndHasManyTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUtilsAndHasManyTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUtilsAndHasManyTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testMockDomainWithHasMany() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUtilsAndHasManyTests. Test method 'testMockDomainWithHasMany' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MagazineTests. The method tearDown() does not call super.tearDown()</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MockUtilsDeleteDomainTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUtilsDeleteDomainTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUtilsDeleteDomainTests. The method tearDown() does not call super.tearDown()</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MockUtilsSaveDomainTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>34</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUtilsSaveDomainTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUtilsSaveDomainTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>78</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def domain1 = new TestDomainWithUUID(name: "Alice Doe", ..: 35).save()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [domain1] in class grails.test.MockUtilsSaveDomainTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MockUtilsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UseAssertFalseInsteadOfNegation'>UseAssertFalseInsteadOfNegation</a></td><td class='priority2'>2</td><td class='number'>1135</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue !model</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.MockUtilsTests. assertTrue(!model) can be simplified to assertFalse(model)</span></p></td></tr><tr><td><a href='#EqualsAndHashCode'>EqualsAndHashCode</a></td><td class='priority2'>2</td><td class='number'>1589</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>class TestDomain {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The class grails.test.TestDomain defines equals(Object) but not hashCode()</span></p></td></tr><tr><td><a href='#EqualsAndHashCode'>EqualsAndHashCode</a></td><td class='priority2'>2</td><td class='number'>1685</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>class TestDomainWithUUID {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The class grails.test.TestDomainWithUUID defines equals(Object) but not hashCode()</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>1882</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def beforeValidate(List properties) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ClassWithListArgBeforeValidate. Method parameter [properties] is never referenced in the method beforeValidate of class grails.test.ClassWithListArgBeforeValidate</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>1896</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def beforeValidate(List properties) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ClassWithOverloadedBeforeValidate. Method parameter [properties] is never referenced in the method beforeValidate of class grails.test.ClassWithOverloadedBeforeValidate</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>1202</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>cmd.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TagLibUnitTestCaseTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>8</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testTagThatPopulatesPageScope() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TagLibUnitTestCaseTests. Test method 'testTagThatPopulatesPageScope' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testTagThatAccessesPageScope() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TagLibUnitTestCaseTests. Test method 'testTagThatAccessesPageScope' makes no assertions</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/grails/test/mixin'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.grails.test.mixin</h2></div><div class='summary'><h3 class='fileHeader'>➥ AstEnhancedControllerUnitTestMixinTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>34</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>50</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>60</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>70</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>81</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>104</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>112</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>121</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>131</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>149</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>159</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>168</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>178</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>188</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>196</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.AstEnhancedControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ AutowireServiceViaDefineBeansTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testThatBeansAreWired() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AutowireServiceViaDefineBeansTests. Test method 'testThatBeansAreWired' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.junit.Before</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.junit.Before] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>7</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.junit.BeforeClass</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.junit.BeforeClass] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ BidirectionalOneToManyUnitTestTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testRelationship() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BidirectionalOneToManyUnitTestTests. Test method 'testRelationship' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ControllerAndFilterMixinInteractionTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def index() { }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SecureUserController. The method index is both empty and not marked with @Override</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ControllerAndMockForTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>9</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testIndexWithoutUsingMockFor() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllerAndMockForTests. Test method 'testIndexWithoutUsingMockFor' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testIndexWithoutUsingMockForAgain() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllerAndMockForTests. Test method 'testIndexWithoutUsingMockForAgain' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ControllerUnitTestMixinTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#BrokenOddnessCheck'>BrokenOddnessCheck</a></td><td class='priority2'>2</td><td class='number'>564</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if(val.size() % 2 == 1) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#BrokenOddnessCheck'>BrokenOddnessCheck</a></td><td class='priority2'>2</td><td class='number'>564</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if(val.size() % 2 == 1) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>63</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>73</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>83</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>94</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>117</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>125</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>134</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>143</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>154</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>172</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>182</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>191</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>201</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>211</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>219</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>229</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>251</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = getMockController()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.mixin.ControllerUnitTestMixinTests. getMockController() can probably be rewritten as mockController</span></p></td></tr><tr><td><a href='#UnnecessaryOverridingMethod'>UnnecessaryOverridingMethod</a></td><td class='priority3'>3</td><td class='number'>552</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def method1() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SubController. The method method1 contains no logic and can be safely deleted</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ControllerWithMockCollabTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testFirstCall() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllerWithMockCollabTests. Test method 'testFirstCall' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testSecondCall() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllerWithMockCollabTests. Test method 'testSecondCall' makes no assertions</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert called == true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The expression '(called == true)' can be simplified to 'called'</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DomainClassAnnotatedSetupMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testSaveInSetup() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DomainClassAnnotatedSetupMethodTests. The method testSaveInSetup is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testSaveInSetup() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DomainClassAnnotatedSetupMethodTests. Test method 'testSaveInSetup' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DomainClassControllerUnitTestMixinTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>6</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.validation.ValidationErrors</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.validation.ValidationErrors] import is never referenced</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>57</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert book.validate() == false</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The expression '(book.validate() == false)' can be simplified to '!book.validate()'</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DomainClassSetupMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DomainClassSetupMethodTests. The method setUp() does not call super.setUp()</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MockForTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void request(HttpServletRequest request) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SolrServer. Method parameter [request] is never referenced in the method request of class grails.test.mixin.SolrServer</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ServiceAndMockForTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testIndexWithoutUsingMockForAgain() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ServiceAndMockForTests. Test method 'testIndexWithoutUsingMockForAgain' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ UrlMappingsTestMixinTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>73</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch (e) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>151</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>@Action def action1(){}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCaseFakeController. The method action1 is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>152</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>@Action def action2(){}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCaseFakeController. The method action2 is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>153</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>@Action def action3(){}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCaseFakeController. The method action3 is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>157</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>@Action def publicProfile() {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class UserController. The method publicProfile is both empty and not marked with @Override</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/grails/util'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.grails.util</h2></div><div class='summary'><h3 class='fileHeader'>➥ BuildScopeTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>9</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BuildScopeTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>14</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals BuildScope.ALL, BuildScope.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildScopeTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals BuildScope.WAR, BuildScope.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.BuildScopeTests. getCurrent() can probably be rewritten as current</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ BuildSettingsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>15</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BuildSettingsTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BuildSettingsTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>332</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void receiveGrailsBuildEvent(String name, Object[] args) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BuildSettingsTestsGrailsBuildListener. The method receiveGrailsBuildEvent is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>332</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void receiveGrailsBuildEvent(String name, Object[] args) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BuildSettingsTestsGrailsBuildListener. Method parameter [name] is never referenced in the method receiveGrailsBuildEvent of class grails.util.BuildSettingsTestsGrailsBuildListener</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>332</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void receiveGrailsBuildEvent(String name, Object[] args) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BuildSettingsTestsGrailsBuildListener. Method parameter [args] is never referenced in the method receiveGrailsBuildEvent of class grails.util.BuildSettingsTestsGrailsBuildListener</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ EnvironmentTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>9</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class EnvironmentTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>14</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Metadata.getCurrent().clear()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals Environment.PRODUCTION, Environment.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>51</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals Environment.DEVELOPMENT, Environment.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>68</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals Environment.CUSTOM, Environment.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>88</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals Environment.PRODUCTION, Environment.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>107</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals Environment.DEVELOPMENT, Environment.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>126</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals Environment.CUSTOM, Environment.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>148</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals Environment.PRODUCTION, Environment.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>151</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals Environment.DEVELOPMENT, Environment.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>154</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals Environment.CUSTOM, Environment.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>169</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals Environment.PRODUCTION, Environment.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>172</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals Environment.DEVELOPMENT, Environment.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>175</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals Environment.PRODUCTION, Environment.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>178</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals Environment.DEVELOPMENT, Environment.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>186</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertFalse "reload should be disabled by default in pro..oadEnabled()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>189</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertFalse "reload should be disabled by default in dev..oadEnabled()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>192</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue "reload should be enabled by default in devel..oadEnabled()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>196</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertFalse "reload should be disabled by default in pro..oadEnabled()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>199</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertFalse "reload should be disabled by default in pro..oadEnabled()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>201</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>System.setProperty(Environment.RELOAD_LOCATION, ".")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>202</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue "reload should be enabled by default in produ..oadEnabled()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.EnvironmentTests. getCurrent() can probably be rewritten as current</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MetadataTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>15</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "1.1", m.getInstalledPlugins().tomcat</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.MetadataTests. getInstalledPlugins() can probably be rewritten as installedPlugins</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "1.2", m.getInstalledPlugins().hibernate</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.MetadataTests. getInstalledPlugins() can probably be rewritten as installedPlugins</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ PluginBuildSettingsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PluginBuildSettings createPluginBuildSettings(File proje.._PROJ_DIR) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PluginBuildSettingsTests. The method createPluginBuildSettings is public but not a test method</span></p></td></tr><tr><td><a href='#UseAssertFalseInsteadOfNegation'>UseAssertFalseInsteadOfNegation</a></td><td class='priority2'>2</td><td class='number'>277</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue("should not be a plugin-two dir in same dir a..pp.exists())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. assertTrue(!pluginTwoInSameDirAsRootApp.exists()) can be simplified to assertFalse(pluginTwoInSameDirAsRootApp.exists())</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>71</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def sourceFiles = pluginSettings.getPluginSourceFiles()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. getPluginSourceFiles() can probably be rewritten as pluginSourceFiles</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>102</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 2, pluginSettings.getPluginLibDirectories().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. getPluginLibDirectories() can probably be rewritten as pluginLibDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>103</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 2, pluginSettings.getPluginLibDirectories().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. getPluginLibDirectories() can probably be rewritten as pluginLibDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>108</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 2, pluginSettings.getPluginDescriptors().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. getPluginDescriptors() can probably be rewritten as pluginDescriptors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>109</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 2, pluginSettings.getPluginDescriptors().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. getPluginDescriptors() can probably be rewritten as pluginDescriptors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>116</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 6, pluginSettings.getArtefactResources().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. getArtefactResources() can probably be rewritten as artefactResources</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>117</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 6, pluginSettings.getArtefactResources().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. getArtefactResources() can probably be rewritten as artefactResources</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>131</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def scripts = pluginSettings.getAvailableScripts()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. getAvailableScripts() can probably be rewritten as availableScripts</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>143</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def scripts = pluginSettings.getPluginScripts()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. getPluginScripts() can probably be rewritten as pluginScripts</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>151</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 2, pluginSettings.getPluginXmlMetadata().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. getPluginXmlMetadata() can probably be rewritten as pluginXmlMetadata</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>152</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 2, pluginSettings.getPluginXmlMetadata().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. getPluginXmlMetadata() can probably be rewritten as pluginXmlMetadata</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>158</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginInfos = pluginSettings.getPluginInfos()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. getPluginInfos() can probably be rewritten as pluginInfos</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>177</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginDirs = createPluginBuildSettings().getImplicit..irectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. getImplicitPluginDirectories() can probably be rewritten as implicitPluginDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>199</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginDirs = pluginSettings.getPluginDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. getPluginDirectories() can probably be rewritten as pluginDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>282</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginInfos = pluginSettings.getPluginInfos()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.util.PluginBuildSettingsTests. getPluginInfos() can probably be rewritten as pluginInfos</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/cli'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.cli</h2></div><div class='summary'><h3 class='fileHeader'>➥ AbstractCliTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractCliTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>51</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractCliTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>100</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>settings.resourcesDir = new File("$projectDir/resources")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>101</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>settings.testClassesDir = new File("$projectDir/test-classes")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>102</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>settings.projectPluginsDir = new File("$projectDir/plugins")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>103</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>settings.globalPluginsDir = new File("$workDir/global-plugins")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/cli/support'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.cli.support</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsBuildHelperTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>13</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testSetDepedenciesExternallyConfigured() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsBuildHelperTests. Test method 'testSetDepedenciesExternallyConfigured' makes no assertions</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testHelper.projectPluginsDir = new File("plugins")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>43</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testHelper.globalPluginsDir = new File("global-work/plugins")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>44</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testHelper.testReportsDir = new File("target/test-reports")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testHelper.compileDependencies = testCompileDeps</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testHelper.testDependencies = testTestDeps</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>testHelper.runtimeDependencies = testRuntimeDeps</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ JndiBindingSupportTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import javax.naming.Context</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [javax.naming.Context] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import javax.naming.spi.ObjectFactory</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [javax.naming.spi.ObjectFactory] import is never referenced</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/commons'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.commons</h2></div><div class='summary'><h3 class='fileHeader'>➥ DefaultGrailsCodecClassTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>9</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DefaultGrailsCodecClassTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>13</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DefaultGrailsCodecClassTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def encode(obj) { "encoded" }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class CodecWithMethodsCodec. Method parameter [obj] is never referenced in the method encode of class org.codehaus.groovy.grails.commons.CodecWithMethodsCodec</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def decode(obj) { "decoded" }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class CodecWithMethodsCodec. Method parameter [obj] is never referenced in the method decode of class org.codehaus.groovy.grails.commons.CodecWithMethodsCodec</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "encoded", codecClass.getEncodeMethod().call("stuff")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsCodecClassTests. getEncodeMethod() can probably be rewritten as encodeMethod</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "decoded", codecClass.getDecodeMethod().call("stuff")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsCodecClassTests. getDecodeMethod() can probably be rewritten as decodeMethod</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DefaultGrailsDomainClassPropertyTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>13</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DefaultGrailsDomainClassPropertyTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#ComparisonWithSelf'>ComparisonWithSelf</a></td><td class='priority2'>2</td><td class='number'>24</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue(prop1Child.equals(prop1Child))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Comparing an object to itself is useless and may indicate a bug: prop1Child.equals(prop1Child)</span></p></td></tr><tr><td><a href='#UnnecessaryGroovyImport'>UnnecessaryGroovyImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import groovy.util.GroovyTestCase</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>15</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>parentClass = new DefaultGrailsDomainClass(ParentClass.class)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>ParentClass.class can be rewritten as ParentClass</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>childClass = new DefaultGrailsDomainClass(ChildClass.class)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>ChildClass.class can be rewritten as ChildClass</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DefaultGrailsDomainClassTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>272</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Class topClass = gcl.parseClass("class Top {\n" +</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [topClass] in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>279</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Class middleClass = gcl.parseClass("class Middle extends Top {\n" +</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [middleClass] in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>284</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Class bottomClass = gcl.parseClass("class Bottom extends Middle {\n" +</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [bottomClass] in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests is not used</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>372</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch(InvalidPropertyException ipe) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>38</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(GrailsDomainClassProperty.FETCH_EAGER, test..FetchMode())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getFetchMode() can probably be rewritten as fetchMode</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(GrailsDomainClassProperty.FETCH_LAZY, other..FetchMode())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getFetchMode() can probably be rewritten as fetchMode</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>200</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>domainMap.put(dc.getFullName(),dc)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getFullName() can probably be rewritten as fullName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>207</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue(dc.getPropertyByName("children").getOtherSide..("parent")))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getOtherSide() can probably be rewritten as otherSide</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>208</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue(dc.getPropertyByName("parent").getOtherSide()..children")))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getOtherSide() can probably be rewritten as otherSide</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>256</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(c1dc.getPropertyByName("ones").getOtherSide..me("other"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getOtherSide() can probably be rewritten as otherSide</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>263</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(c2dc.getPropertyByName("other").getOtherSid..ame("ones"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getOtherSide() can probably be rewritten as otherSide</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>362</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("UserTest",domainClass.getName())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>364</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(domainClass.getIdentifier())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getIdentifier() can probably be rewritten as identifier</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>365</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(domainClass.getVersion())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getVersion() can probably be rewritten as version</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>366</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue(domainClass.getIdentifier().isIdentity())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getIdentifier() can probably be rewritten as identifier</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>390</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsDomainClassProperty[] persistantProperties = domai..Properties()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassTests. getPersistentProperties() can probably be rewritten as persistentProperties</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsMetaClassUtilsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>15</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(GrailsMetaClassUtils.getRegistry())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.GrailsMetaClassUtilsTests. getRegistry() can probably be rewritten as registry</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>39</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "bar", d.getFoo()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.GrailsMetaClassUtilsTests. getFoo() can probably be rewritten as foo</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>48</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "bar", d.getFoo()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.GrailsMetaClassUtilsTests. getFoo() can probably be rewritten as foo</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsPluginManagerDescriptorTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>8</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testDoWithWebDescriptor() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginManagerDescriptorTests. Test method 'testDoWithWebDescriptor' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def xml = new XmlSlurper().parseText(text)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [xml] in class org.codehaus.groovy.grails.commons.GrailsPluginManagerDescriptorTests is not used</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testDevelopmentDescriptor() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginManagerDescriptorTests. Test method 'testDevelopmentDescriptor' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def xml = new XmlSlurper().parseText(text)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [xml] in class org.codehaus.groovy.grails.commons.GrailsPluginManagerDescriptorTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsPluginManagerTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>122</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testWithLoadLastPlugin() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginManagerTests. Test method 'testWithLoadLastPlugin' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>134</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testDependencyResolutionSucces() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginManagerTests. Test method 'testDependencyResolutionSucces' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.plugins.exceptions.PluginException</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.plugins.exceptions.PluginException] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>103</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, manager.getPluginResources().length)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.GrailsPluginManagerTests. getPluginResources() can probably be rewritten as pluginResources</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>112</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("classEditor",plugin.getName())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.GrailsPluginManagerTests. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>113</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("1.1", plugin.getVersion())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.GrailsPluginManagerTests. getVersion() can probably be rewritten as version</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>153</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def ctx = springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.GrailsPluginManagerTests. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>171</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def ctx = springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.GrailsPluginManagerTests. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/commons/metaclass'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.commons.metaclass</h2></div><div class='summary'><h3 class='fileHeader'>➥ DynamicMethodsExpandoMetaClassTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.beans.BeanUtils</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.beans.BeanUtils] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def metaClass = new DynamicMethodsExpandoMetaClass(Book.class)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Book.class can be rewritten as Book</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>44</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def metaClass = new DynamicMethodsExpandoMetaClass(Book.class, true)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Book.class can be rewritten as Book</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>57</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def metaClass = new DynamicMethodsExpandoMetaClass(Book.class, true)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Book.class can be rewritten as Book</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>76</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "bar", b.getFoo()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.commons.metaclass.DynamicMethodsExpandoMetaClassTests. getFoo() can probably be rewritten as foo</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ LazyMetaPropertyMapTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CoupledTestCase'>CoupledTestCase</a></td><td class='priority2'>2</td><td class='number'>11</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def obj = new PropertyMapTest(name:"Homer", age:45)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#CoupledTestCase'>CoupledTestCase</a></td><td class='priority2'>2</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def map = new LazyMetaPropertyMap(new PropertyMapTest(na..er:"stuff"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#CoupledTestCase'>CoupledTestCase</a></td><td class='priority2'>2</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def map = new LazyMetaPropertyMap(new PropertyMapTest())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>new PropertyMapTest() creates an instance of a test case. Test cases should not be coupled. Move this method to a helper object</span></p></td></tr><tr><td><a href='#CoupledTestCase'>CoupledTestCase</a></td><td class='priority2'>2</td><td class='number'>33</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def map = new LazyMetaPropertyMap(new PropertyMapTest())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>new PropertyMapTest() creates an instance of a test case. Test cases should not be coupled. Move this method to a helper object</span></p></td></tr><tr><td><a href='#CoupledTestCase'>CoupledTestCase</a></td><td class='priority2'>2</td><td class='number'>38</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def map = new LazyMetaPropertyMap(new PropertyMapTest())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>new PropertyMapTest() creates an instance of a test case. Test cases should not be coupled. Move this method to a helper object</span></p></td></tr><tr><td><a href='#CoupledTestCase'>CoupledTestCase</a></td><td class='priority2'>2</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def map = new LazyMetaPropertyMap(new PropertyMapTest(na..r", age:45))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#CoupledTestCase'>CoupledTestCase</a></td><td class='priority2'>2</td><td class='number'>54</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def map = new LazyMetaPropertyMap(new PropertyMapTest(na..r", age:45))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#CoupledTestCase'>CoupledTestCase</a></td><td class='priority2'>2</td><td class='number'>70</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def map = new LazyMetaPropertyMap(new PropertyMapTest(na..t", age:11))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#CoupledTestCase'>CoupledTestCase</a></td><td class='priority2'>2</td><td class='number'>85</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def map = new LazyMetaPropertyMap(new PropertyMapTest(na..t", age:11))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#CoupledTestCase'>CoupledTestCase</a></td><td class='priority2'>2</td><td class='number'>94</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def map = new LazyMetaPropertyMap(new PropertyMapTest(na..t", age:11))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MetaClassEnhancerTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() throws Exception {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MetaClassEnhancerTests. The method tearDown() does not call super.tearDown()</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/compiler'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.compiler</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsClassLoaderTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.control.CompilerConfiguration</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.control.CompilerConfiguration] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>4</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.compiler.support.Grail..sourceLoader</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.compiler.support.GrailsResourceLoader] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert e == gcl.getCompilationError() : "should have sto..ation error"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.compiler.GrailsClassLoaderTests. getCompilationError() can probably be rewritten as compilationError</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>38</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert !gcl.getCompilationError() : "shouldn't have any ..tion errors"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.compiler.GrailsClassLoaderTests. getCompilationError() can probably be rewritten as compilationError</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/compiler/injection'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.compiler.injection</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsASTUtilsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>64</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert true == firstNameBindableExpression.value</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The expression '(true == firstNameBindableExpression.value)' can be simplified to 'firstNameBindableExpression.value'</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert false == lastNameBindableExpression.value</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The expression '(false == lastNameBindableExpression.value)' can be simplified to '!lastNameBindableExpression.value'</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/context/support'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.context.support</h2></div><div class='summary'><h3 class='fileHeader'>➥ PluginAwareResourceBundleMessageSourceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PluginAwareResourceBundleMessageSourceTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PluginAwareResourceBundleMessageSourceTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>61</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected Resource[] getPluginBundles(String pluginName) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestPluginAwareResourceBundleMessageSource. Method parameter [pluginName] is never referenced in the method getPluginBundles of class org.codehaus.groovy.grails.context.support.TestPluginAwareResourceBundleMessageSource</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Metadata.getCurrent().put(Metadata.WAR_DEPLOYED, "true")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.context.support.PluginAwareResourceBundleMessageSourceTests. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Metadata.getCurrent().put(Metadata.WAR_DEPLOYED, "")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.context.support.PluginAwareResourceBundleMessageSourceTests. getCurrent() can probably be rewritten as current</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/documentation'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.documentation</h2></div><div class='summary'><h3 class='fileHeader'>➥ MetadataGeneratingExpandoMetaClassTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import groovy.xml.StreamingMarkupBuilder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [groovy.xml.StreamingMarkupBuilder] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.ControllerArtefactHandler</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.commons.ControllerArtefactHandler] import is never referenced</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.plugins</h2></div><div class='summary'><h3 class='fileHeader'>➥ CoreGrailsPluginTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testComponentScan() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class CoreGrailsPluginTests. Test method 'testComponentScan' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def appCtx = springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [appCtx] in class org.codehaus.groovy.grails.plugins.CoreGrailsPluginTests is not used</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def appCtx = springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.CoreGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>38</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def appCtx = springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.CoreGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def appCtx = springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.CoreGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>119</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def appCtx = springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.CoreGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DomainClassGrailsPluginTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DomainClassGrailsPluginTests. The method onSetUp is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>202</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>boolean shouldInject(URL url) { true }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AlwaysInjector. Method parameter [url] is never referenced in the method shouldInject of class org.codehaus.groovy.grails.plugins.AlwaysInjector</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>204</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected boolean isDomainClass(ClassNode classNode, Sou..e) { true }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AlwaysInjector. Method parameter [classNode] is never referenced in the method isDomainClass of class org.codehaus.groovy.grails.plugins.AlwaysInjector</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>204</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected boolean isDomainClass(ClassNode classNode, Sou..e) { true }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AlwaysInjector. Method parameter [sourceNode] is never referenced in the method isDomainClass of class org.codehaus.groovy.grails.plugins.AlwaysInjector</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>206</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected boolean shouldInjectClass(ClassNode classNode) { true }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AlwaysInjector. Method parameter [classNode] is never referenced in the method shouldInjectClass of class org.codehaus.groovy.grails.plugins.AlwaysInjector</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>43</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>gcl.parseClass("""class Child3 extends grails.test.Parent2 {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsPluginTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>4</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.BuildSettings</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.BuildSettings] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>181</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>System.setProperty(Environment.KEY, Environment.PRODUCTION.getName())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginTests. getName() can probably be rewritten as name</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsPluginUtilsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtilsTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsPluginUtilsTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>6</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.apache.commons.io.FileUtils</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.apache.commons.io.FileUtils] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>146</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginDirs = GrailsPluginUtils.getPluginDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtilsTests. getPluginDirectories() can probably be rewritten as pluginDirectories</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>155</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginDirs = GrailsPluginUtils.getImplicitPluginDirectories()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.GrailsPluginUtilsTests. getImplicitPluginDirectories() can probably be rewritten as implicitPluginDirectories</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ PluginDescriptorReaderTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>50</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Resource createRelative(String relativePath) { new ByteA..xml.bytes) }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PluginDescriptorReaderTests$1. Method parameter [relativePath] is never referenced in the method createRelative of class org.codehaus.groovy.grails.plugins.PluginDescriptorReaderTests$1</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ PluginInfoTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>38</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GPathResult parseMetadata(Resource pluginDir) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockPluginInfo. Method parameter [pluginDir] is never referenced in the method parseMetadata of class org.codehaus.groovy.grails.plugins.MockPluginInfo</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/i18n'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.plugins.i18n</h2></div><div class='summary'><h3 class='fileHeader'>➥ I18nGrailsPluginTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ctx.registerMockResource("WEB-INF/grails-app/i18n/sub/di..properties")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ctx.registerMockResource("WEB-INF/grails-app/i18n/nobundle")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ctx.registerMockResource("WEB-INF/grails-app/i18n/nobundle.txt")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ctx.registerMockResource("WEB-INF/grails-app/i18n/nobundle.xml")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>34</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def appCtx = springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.i18n.I18nGrailsPluginTests. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/logging'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.plugins.logging</h2></div><div class='summary'><h3 class='fileHeader'>➥ Log4jDslTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>201</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def consoleAppender</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [consoleAppender] in class org.codehaus.groovy.grails.plugins.logging.Log4jDslTests is not used</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>120</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def r = Logger.getRootLogger()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.logging.Log4jDslTests. getRootLogger() can probably be rewritten as rootLogger</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>139</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>r = Logger.getRootLogger()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.logging.Log4jDslTests. getRootLogger() can probably be rewritten as rootLogger</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>158</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>r = Logger.getRootLogger()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.logging.Log4jDslTests. getRootLogger() can probably be rewritten as rootLogger</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>178</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def root = Logger.getRootLogger()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.logging.Log4jDslTests. getRootLogger() can probably be rewritten as rootLogger</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>181</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def appenders = root.getAllAppenders()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.logging.Log4jDslTests. getAllAppenders() can probably be rewritten as allAppenders</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/publishing'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.plugins.publishing</h2></div><div class='summary'><h3 class='fileHeader'>➥ DefaultPluginPublisherTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>249</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected GPathResult getPluginMetadata(String pluginName) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestPluginPublisher. Method parameter [pluginName] is never referenced in the method getPluginMetadata of class org.codehaus.groovy.grails.plugins.publishing.TestPluginPublisher</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>253</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GPathResult parsePluginList(Resource pluginsListFile) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestPluginPublisher. Method parameter [pluginsListFile] is never referenced in the method parsePluginList of class org.codehaus.groovy.grails.plugins.publishing.TestPluginPublisher</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/web'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.plugins.web</h2></div><div class='summary'><h3 class='fileHeader'>➥ ControllersGrailsPluginTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>180</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Class parseTestBean() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllersGrailsPluginTests. The method parseTestBean is public but not a test method</span></p></td></tr><tr><td><a href='#UseAssertEqualsInsteadOfAssertTrue'>UseAssertEqualsInsteadOfAssertTrue</a></td><td class='priority3'>3</td><td class='number'>115</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue ga.config.grails.disableCommonsMultipart.size() == 0</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPluginTests. Replace assertTrue with a call to assertEquals()</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>131</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull beanDef.getPropertyValues().getPropertyVal..seResource')</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPluginTests. getPropertyValues() can probably be rewritten as propertyValues</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>133</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "file:.", beanDef.getPropertyValues().getPr..).getValue()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPluginTests. getValue() can probably be rewritten as value</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>133</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "file:.", beanDef.getPropertyValues().getPr..).getValue()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPluginTests. getPropertyValues() can probably be rewritten as propertyValues</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>136</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "groovyPageLocator", beanDef.getPropertyVal..()?.beanName</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPluginTests. getValue() can probably be rewritten as value</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>136</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "groovyPageLocator", beanDef.getPropertyVal..()?.beanName</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.ControllersGrailsPluginTests. getPropertyValues() can probably be rewritten as propertyValues</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ LoggingGrailsPluginTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def registry = GroovySystem.metaClassRegistry</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [registry] in class org.codehaus.groovy.grails.plugins.web.LoggingGrailsPluginTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def registry = GroovySystem.metaClassRegistry</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [registry] in class org.codehaus.groovy.grails.plugins.web.LoggingGrailsPluginTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>53</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def registry = GroovySystem.metaClassRegistry</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [registry] in class org.codehaus.groovy.grails.plugins.web.LoggingGrailsPluginTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ServletsGrailsPluginTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>60</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def httpSessionMetaClass = GroovySystem.getMetaClassRegi..HttpSession)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [httpSessionMetaClass] in class org.codehaus.groovy.grails.plugins.web.ServletsGrailsPluginTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>61</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def metaClass = GroovySystem.getMetaClassRegistry().getM...getClass())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [metaClass] in class org.codehaus.groovy.grails.plugins.web.ServletsGrailsPluginTests is not used</span></p></td></tr><tr><td><a href='#UnnecessaryGroovyImport'>UnnecessaryGroovyImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import groovy.lang.GroovySystem;</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>60</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def httpSessionMetaClass = GroovySystem.getMetaClassRegi..HttpSession)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.ServletsGrailsPluginTests. getMetaClassRegistry() can probably be rewritten as metaClassRegistry</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>61</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def metaClass = GroovySystem.getMetaClassRegistry().getM...getClass())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.web.ServletsGrailsPluginTests. getMetaClassRegistry() can probably be rewritten as metaClassRegistry</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/plugins/web/mapping'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.plugins.web.mapping</h2></div><div class='summary'><h3 class='fileHeader'>➥ UrlMappingsGrailsPluginTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>87</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class UrlMappingsGrailsPluginTests. The method tearDown() does not call super.tearDown()</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/reload'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.reload</h2></div><div class='summary'><h3 class='fileHeader'>➥ TagLibReloadTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Class oldClass = ga.getTagLibClass("TestTagLib").getClazz()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [oldClass] in class org.codehaus.groovy.grails.reload.TagLibReloadTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def result</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [result] in class org.codehaus.groovy.grails.reload.TagLibReloadTests is not used</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onInit() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TagLibReloadTests. The method onInit is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Class oldClass = ga.getTagLibClass("TestTagLib").getClazz()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.reload.TagLibReloadTests. getClazz() can probably be rewritten as clazz</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/resolve'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.resolve</h2></div><div class='summary'><h3 class='fileHeader'>➥ IvyDependencyManagerTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class IvyDependencyManagerTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class IvyDependencyManagerTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>119</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testPluginResolve() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class IvyDependencyManagerTests. Test method 'testPluginResolve' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>132</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def report = manager.resolveDependencies()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [report] in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests is not used</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>449</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testResolveApplicationDependencies() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class IvyDependencyManagerTests. Test method 'testResolveApplicationDependencies' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>638</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def grailsVersion = getCurrentGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [grailsVersion] in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests is not used</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>671</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def getCurrentGrailsVersion() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class IvyDependencyManagerTests. The method getCurrentGrailsVersion is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>799</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testResolve() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class IvyDependencyManagerTests. Test method 'testResolve' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>831</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ModuleRevisionId junit = manager.dependencies.find { Mo.. == 'junit'}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [junit] in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests is not used</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>38</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert manager.ivySettings.defaultUseOrigin == true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The expression '(manager.ivySettings.defaultUseOrigin == true)' can be simplified to 'manager.ivySettings.defaultUseOrigin'</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>219</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "1.5", dd.getDependencyRevisionId().revision</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getDependencyRevisionId() can probably be rewritten as dependencyRevisionId</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>226</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "0.5.5", dd.getDependencyRevisionId().revision</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getDependencyRevisionId() can probably be rewritten as dependencyRevisionId</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>233</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "0.5.6", dd.getDependencyRevisionId().revision</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getDependencyRevisionId() can probably be rewritten as dependencyRevisionId</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>298</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 1, dep.getModuleConfigurations().length</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getModuleConfigurations() can probably be rewritten as moduleConfigurations</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>486</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 2, manager.getApplicationDependencyDescriptors().size()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getApplicationDependencyDescriptors() can probably be rewritten as applicationDependencyDescriptors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>617</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def grailsVersion = getCurrentGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getCurrentGrailsVersion() can probably be rewritten as currentGrailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>638</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def grailsVersion = getCurrentGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getCurrentGrailsVersion() can probably be rewritten as currentGrailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>741</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>DefaultDependencyDescriptor dd = manager.getDependencyDe..tor().next()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getDependencyDescriptors() can probably be rewritten as dependencyDescriptors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>757</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>dd = manager.getDependencyDescriptors().iterator().next()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getDependencyDescriptors() can probably be rewritten as dependencyDescriptors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>772</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>DefaultDependencyDescriptor dd = manager.getPluginDepend..tor().next()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getPluginDependencyDescriptors() can probably be rewritten as pluginDependencyDescriptors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>786</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>DefaultDependencyDescriptor dd = manager.getPluginDepend..tor().next()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getPluginDependencyDescriptors() can probably be rewritten as pluginDependencyDescriptors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>850</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>DefaultDependencyDescriptor dd = manager.getDependencyDe..tor().next()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getDependencyDescriptors() can probably be rewritten as dependencyDescriptors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>866</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>dd = manager.getDependencyDescriptors().iterator().next()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.resolve.IvyDependencyManagerTests. getDependencyDescriptors() can probably be rewritten as dependencyDescriptors</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/validation'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.validation</h2></div><div class='summary'><h3 class='fileHeader'>➥ ConstrainedPropertyBuilderForCommandsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>106</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>gcl.parseClass('''</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>119</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>gcl.parseClass('''</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>132</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>gcl.parseClass('''</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>153</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>154</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(5, personCommand.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>155</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>156</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints().get("email"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>160</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>161</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(5, person.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>162</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(person.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>163</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints().get("email"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>181</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>personCommand.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>184</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, personCommand.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>184</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, personCommand.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>185</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, personCommand.getErrors().getFieldErrors..me").size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>186</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getErrors().getFieldErrors("fir..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>186</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getErrors().getFieldErrors("fir..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>199</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>person.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>202</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, person.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>202</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, person.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>203</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, person.getErrors().getFieldErrors("firstName").size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>204</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(person.getErrors().getFieldErrors("firstName"..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>204</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(person.getErrors().getFieldErrors("firstName"..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>214</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>215</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(2, personCommand.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>216</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>217</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints().get("firstName"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>221</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>222</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(5, person.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>223</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(person.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>224</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints().get("firstName"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>225</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints().get("email"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>243</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>personCommand.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>246</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, personCommand.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>246</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, personCommand.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>247</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, personCommand.getErrors().getFieldErrors..me").size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>248</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getErrors().getFieldErrors("fir..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>248</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getErrors().getFieldErrors("fir..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>261</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>person.email = "wrongEmail"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>262</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>person.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>265</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, person.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>265</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, person.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>266</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, person.getErrors().getFieldErrors("email").size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>267</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("wrongEmail", person.getErrors().getFieldEr..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>267</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("wrongEmail", person.getErrors().getFieldEr..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>277</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>278</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(5, personCommand.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>279</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>280</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints().get("telephone"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>282</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(30, personCommand.getConstraints().get("fir..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>282</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(30, personCommand.getConstraints().get("fir..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>283</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(50, personCommand.getConstraints().get("las..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>283</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(50, personCommand.getConstraints().get("las..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>286</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>personCommand.getConstraints().get("telephone").getAppli..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>286</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>personCommand.getConstraints().get("telephone").getAppli..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>290</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>291</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(5, person.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>292</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(person.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>293</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints().get("telephone"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>295</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(30, person.getConstraints().get("firstName"..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>295</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(30, person.getConstraints().get("firstName"..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>296</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(50, person.getConstraints().get("lastName")..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>296</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(50, person.getConstraints().get("lastName")..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>297</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("123123", person.getConstraints().get("tele..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>297</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("123123", person.getConstraints().get("tele..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>315</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>personCommand.lastName = null</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>316</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>personCommand.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>319</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(2, personCommand.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>319</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(2, personCommand.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>332</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>person.firstName = null</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>333</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>person.email = "wrongEmail"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>334</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>person.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>337</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(2, person.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>337</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(2, person.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>338</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, person.getErrors().getFieldErrors("firstName").size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>339</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(person.getErrors().getFieldErrors("firstName"..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>339</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(person.getErrors().getFieldErrors("firstName"..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>340</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, person.getErrors().getFieldErrors("email").size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>341</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("wrongEmail", person.getErrors().getFieldEr..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>341</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("wrongEmail", person.getErrors().getFieldEr..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>351</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>352</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(5, personCommand.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>353</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>354</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints().get("telephone"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>356</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(10, personCommand.getConstraints().get("fir..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>356</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(10, personCommand.getConstraints().get("fir..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>357</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(20, personCommand.getConstraints().get("las..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>357</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(20, personCommand.getConstraints().get("las..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>360</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>personCommand.getConstraints().get("telephone").getAppli..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>360</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>personCommand.getConstraints().get("telephone").getAppli..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>364</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>365</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(5, person.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>366</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(person.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>367</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints().get("telephone"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>369</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(30, person.getConstraints().get("firstName"..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>369</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(30, person.getConstraints().get("firstName"..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>370</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(50, person.getConstraints().get("lastName")..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>370</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(50, person.getConstraints().get("lastName")..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>371</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("123123", person.getConstraints().get("tele..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getParameter() can probably be rewritten as parameter</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>371</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("123123", person.getConstraints().get("tele..Parameter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>389</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>personCommand.firstName = null</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>390</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>personCommand.lastName = null</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>391</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>personCommand.email = "wrongEmail"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>392</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>personCommand.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>395</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, personCommand.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>395</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, personCommand.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>408</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>person.firstName = null</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>409</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>person.email = "wrongEmail"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>410</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>person.validate()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>413</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(2, person.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrorCount() can probably be rewritten as errorCount</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>413</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(2, person.getErrors().getErrorCount())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>414</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, person.getErrors().getFieldErrors("firstName").size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>415</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(person.getErrors().getFieldErrors("firstName"..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>415</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(person.getErrors().getFieldErrors("firstName"..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>416</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(1, person.getErrors().getFieldErrors("email").size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>417</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("wrongEmail", person.getErrors().getFieldEr..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getRejectedValue() can probably be rewritten as rejectedValue</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>417</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("wrongEmail", person.getErrors().getFieldEr..ctedValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getErrors() can probably be rewritten as errors</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>427</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>428</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(2, personCommand.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>429</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>430</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints().get("firstName"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>431</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getConstraints().get("email"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>435</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>436</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(5, person.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>437</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(person.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>438</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints().get("firstName"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>439</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints().get("email"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>449</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>450</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(3, personCommand.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>451</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>452</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getConstraints().get("firstName"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>453</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getConstraints().get("lastName"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>454</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints().get("email"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>458</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>459</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(5, person.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>460</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(person.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>461</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints().get("firstName"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>462</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints().get("email"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>472</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>473</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(3, personCommand.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>474</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>475</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints().get("firstName"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>476</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints().get("lastName"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>477</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints().get("middleName"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>478</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getConstraints().get("email"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>482</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>483</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(5, person.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>484</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(person.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>485</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints().get("firstName"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>486</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints().get("email"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>497</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>498</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(2, personCommand.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>499</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>500</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints().get("firstName"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>501</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(personCommand.getConstraints().get("lastName"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>502</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getConstraints().get("middleName"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>503</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(personCommand.getConstraints().get("email"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>507</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>508</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(5, person.getConstraints().size())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>509</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull(person.getConstraints().get("importFrom"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>510</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints().get("firstName"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>511</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNotNull(person.getConstraints().get("email"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstrainedPropertyBuilderForCommandsTests. getConstraints() can probably be rewritten as constraints</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ConstraintMessageTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>54</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void processValidate(Object target, Object propertyValue..rs errors) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestConstraint. Method parameter [propertyValue] is never referenced in the method processValidate of class org.codehaus.groovy.grails.validation.TestConstraint</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>58</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>boolean supports(Class type) { true }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestConstraint. Method parameter [type] is never referenced in the method supports of class org.codehaus.groovy.grails.validation.TestConstraint</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>39</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>'test'] as String[], errors.getFieldError().getCodes())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstraintMessageTests. getCodes() can probably be rewritten as codes</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>39</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>'test'] as String[], errors.getFieldError().getCodes())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.validation.ConstraintMessageTests. getFieldError() can probably be rewritten as fieldError</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ConstraintsBuilderTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>74</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Errors validateInstance(instance, validator) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ConstraintsBuilderTests. The method validateInstance is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>80</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsDomainClassValidator configureValidator(theClass, instance) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ConstraintsBuilderTests. The method configureValidator is public but not a test method</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/context'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.context</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsConfigUtilsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>64</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def configurator = GrailsConfigUtils.determineGrailsRunt..ontext, ctx)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [configurator] in class org.codehaus.groovy.grails.web.context.GrailsConfigUtilsTests is not used</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>79</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsConfigUtilsTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>48</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>servletContext.addInitParameter("grailsConfiguratorClass..s.getName())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.context.GrailsConfigUtilsTests. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>48</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>servletContext.addInitParameter("grailsConfiguratorClass..s.getName())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>MyGrailsRuntimeConfigurator.class can be rewritten as MyGrailsRuntimeConfigurator</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>53</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals configurator.class.name, MyGrailsRuntimeCon..r.class.name</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>MyGrailsRuntimeConfigurator.class can be rewritten as MyGrailsRuntimeConfigurator</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/errors'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.errors</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsExceptionResolverTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsExceptionResolverTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>264</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>View resolveViewName(String viewName, Locale locale) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DummyViewResolver. Method parameter [locale] is never referenced in the method resolveViewName of class org.codehaus.groovy.grails.web.errors.DummyViewResolver</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>120</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "/grails/foo/bar.dispatch",response.getForwardedUrl()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.errors.GrailsExceptionResolverTests. getForwardedUrl() can probably be rewritten as forwardedUrl</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/filters'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.filters</h2></div><div class='summary'><h3 class='fileHeader'>➥ HiddenHttpMethodFilterTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.mock.web.MockServletContext;</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.mock.web.MockServletContext] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.servlet.GrailsAppl..nAttributes;</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.servlet.GrailsApplicationAttributes] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>6</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest;</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest] import is never referenced</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/i18n'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.i18n</h2></div><div class='summary'><h3 class='fileHeader'>➥ ParamsAwareLocaleChangeInterceptorTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ParamsAwareLocaleChangeInterceptorTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>24</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def request = webRequest.getCurrentRequest()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCurrentRequest() can probably be rewritten as currentRequest</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def response = webRequest.getCurrentResponse()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCurrentResponse() can probably be rewritten as currentResponse</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "de", locale.getLanguage()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getLanguage() can probably be rewritten as language</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>48</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "DE", locale.getCountry()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCountry() can probably be rewritten as country</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def request = webRequest.getCurrentRequest()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCurrentRequest() can probably be rewritten as currentRequest</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>56</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def response = webRequest.getCurrentResponse()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCurrentResponse() can probably be rewritten as currentResponse</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>78</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "de", locale.getLanguage()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getLanguage() can probably be rewritten as language</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>79</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "DE", locale.getCountry()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCountry() can probably be rewritten as country</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>86</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>MockHttpServletRequest request = webRequest.getCurrentRequest()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCurrentRequest() can probably be rewritten as currentRequest</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>87</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def response = webRequest.getCurrentResponse()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCurrentResponse() can probably be rewritten as currentResponse</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>109</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "de", locale.getLanguage()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getLanguage() can probably be rewritten as language</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>110</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "DE", locale.getCountry()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.i18n.ParamsAwareLocaleChangeInterceptorTests. getCountry() can probably be rewritten as country</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/json'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.json</h2></div><div class='summary'><h3 class='fileHeader'>➥ JSONObjectTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UseAssertEqualsInsteadOfAssertTrue'>UseAssertEqualsInsteadOfAssertTrue</a></td><td class='priority3'>3</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue j1 == j2</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.json.JSONObjectTests. Replace assertTrue with a call to assertEquals()</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/metaclass'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.metaclass</h2></div><div class='summary'><h3 class='fileHeader'>➥ WithFormMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>@Override protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class WithFormMethodTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>146</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def result = withForm.withForm(request) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [result] in class org.codehaus.groovy.grails.web.metaclass.WithFormMethodTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>170</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def result = withForm.withForm(request) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [result] in class org.codehaus.groovy.grails.web.metaclass.WithFormMethodTests is not used</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.apache.commons.lang.StringUtils;</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.apache.commons.lang.StringUtils] import is never referenced</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/servlet'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.servlet</h2></div><div class='summary'><h3 class='fileHeader'>➥ BindDataMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>160</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BindDataMethodTests. The method onSetUp is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>34</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>runTest() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>runTest() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>60</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>runTest() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>74</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>runTest() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>86</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>runTest() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>100</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>runTest() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>113</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>runTest() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>117</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>input.each() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'each' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>133</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>runTest() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>147</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>runTest() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.BindDataMethodTests. Parentheses in the 'runTest' method call are unnecessary and can be removed.</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DefaultGrailsApplicationAttributesTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DefaultGrailsApplicationAttributesTests. The method setUp() does not call super.setUp()</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FlashScopeWithErrorsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.mock.web.MockHttpServletRequest</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.mock.web.MockHttpServletRequest] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsHttpSessionTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsHttpSessionTests. The method onSetUp is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def mock = new MockHttpSession()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [mock] in class org.codehaus.groovy.grails.web.servlet.GrailsHttpSessionTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ RenderMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>199</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def resopnse = mockController.response</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [resopnse] in class org.codehaus.groovy.grails.web.servlet.RenderMethodTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>213</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def resopnse = mockController.response</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [resopnse] in class org.codehaus.groovy.grails.web.servlet.RenderMethodTests is not used</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>291</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String toString() { foo }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class RenderTest. The method toString is public but not a test method</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/servlet/filter'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.servlet.filter</h2></div><div class='summary'><h3 class='fileHeader'>➥ AbstractServletFilterTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>54</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractServletFilterTests. The method tearDown() does not call super.tearDown()</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/servlet/mvc'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.servlet.mvc</h2></div><div class='summary'><h3 class='fileHeader'>➥ CommandObjectEnhancementAppliedOnceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert WebMetaUtils.isCommandObjectAction(action) == true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The expression '(WebMetaUtils.isCommandObjectAction(action) == true)' can be simplified to 'WebMetaUtils.isCommandObjectAction(action)'</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert WebMetaUtils.isCommandObjectAction(fresh.index) == false</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The expression '(WebMetaUtils.isCommandObjectAction(fresh.index) == false)' can be simplified to '!WebMetaUtils.isCommandObjectAction(fresh.index)'</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ControllerInheritanceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testCallSuperMethod() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllerInheritanceTests. Test method 'testCallSuperMethod' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ControllersDynamicMethodsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllersDynamicMethodsTests. The method onSetUp is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void runTest(Closure callable) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllersDynamicMethodsTests. The method runTest is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>135</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testRenderMethod() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ControllersDynamicMethodsTests. Test method 'testRenderMethod' makes no assertions</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>53</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def appCtx = springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.servlet.mvc.ControllersDynamicMethodsTests. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsParameterMapTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>240</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testIterateOverMapContainingDate() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsParameterMapTests. Test method 'testIterateOverMapContainingDate' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>4</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.GrailsWebUtil</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.GrailsWebUtil] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>6</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.web.context.WebApplicationContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.web.context.WebApplicationContext] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final webRequest = grails.util.GrailsWebUtil.bindMockWebRequest(ctx)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The grails.util.GrailsWebUtil class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>112</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>map.aList = [1,2]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>113</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>map.array = ["one", "two" ] as String[]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>114</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>map.longNumber = 1234567890</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>115</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>map.z = 'z'</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>209</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals false, map.boolean('one')</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>210</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals true, map.boolean('nonexistent', Boolean.TRUE)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>211</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals false, map.boolean('nonexistent', Boolean.FALSE)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>212</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals true, map.boolean('bool')</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>assertEquals can be simplified using assertTrue or assertFalse</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>262</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mockRequest.addParameter("a.e.g", "gValue")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ParamsObjectTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>24</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>request.addParameter("book.id", "10")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>request.addParameter("publisher.name", "Apress")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>request.addParameter("publisher.authors[0].name", "Fred")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>request.addParameter("publisher.authors[1].name", "Joe")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>request.addParameter("test..foo..bar", "Stuff")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ RenderDynamicMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#ConsecutiveStringConcatenation'>ConsecutiveStringConcatenation</a></td><td class='priority3'>3</td><td class='number'>107</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>render "${'te' + 'xt'}"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>String concatenation in class org.codehaus.groovy.grails.web.servlet.mvc.RenderDynamicMethodTestController can be joined into the literal 'text'</span></p></td></tr><tr><td><a href='#ConsecutiveStringConcatenation'>ConsecutiveStringConcatenation</a></td><td class='priority3'>3</td><td class='number'>107</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>render "${'te' + 'xt'}"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>String concatenation in class org.codehaus.groovy.grails.web.servlet.mvc.RenderDynamicMethodTestController can be joined into the literal 'text'</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TagLibDynamicMethodsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TagLibDynamicMethodsTests. The method onSetUp is public but not a test method</span></p></td></tr><tr><td><a href='#ImportFromSamePackage'>ImportFromSamePackage</a></td><td class='priority3'>3</td><td class='number'>8</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.servlet.mvc.*</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/sitemesh'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.sitemesh</h2></div><div class='summary'><h3 class='fileHeader'>➥ FactoryHolderTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>boolean isPathExcluded(String path) { false }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DummyFactory. Method parameter [path] is never referenced in the method isPathExcluded of class org.codehaus.groovy.grails.web.sitemesh.DummyFactory</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>boolean shouldParsePage(String contentType) { false }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DummyFactory. Method parameter [contentType] is never referenced in the method shouldParsePage of class org.codehaus.groovy.grails.web.sitemesh.DummyFactory</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>39</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void refresh() {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DummyFactory. The method refresh is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>40</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PageParser getPageParser(String contentType) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DummyFactory. Method parameter [contentType] is never referenced in the method getPageParser of class org.codehaus.groovy.grails.web.sitemesh.DummyFactory</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertSame factory, FactoryHolder.getFactory()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.sitemesh.FactoryHolderTests. getFactory() can probably be rewritten as factory</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>FactoryHolder.getFactory()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.sitemesh.FactoryHolderTests. getFactory() can probably be rewritten as factory</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GSPSitemeshPageTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>15</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def result = applyTemplate(template, [:])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def result = applyTemplate(template, [:])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>31</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def result = applyTemplate(template, [:])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>39</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def result = applyTemplate(template, [:])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def result = applyTemplate(template, [:])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>61</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def result = applyTemplate(template, [:])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>79</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def result = applyTemplate(template, [:], target1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>96</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def result = applyTemplate(template, [:])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>113</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def result = applyTemplate(template, [:])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [result] in class org.codehaus.groovy.grails.web.sitemesh.GSPSitemeshPageTests is not used</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>125</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GSPSitemeshPageTests. The method tearDown() does not call super.tearDown()</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/util'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.groovy.org.codehaus.groovy.grails.web.util</h2></div><div class='summary'><h3 class='fileHeader'>➥ StreamCharBufferGroovyTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>7</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class StreamCharBufferGroovyTests. The method setUp() does not call super.setUp()</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ WebUtilsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class WebUtilsTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class WebUtilsTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>141</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void clearGrailsWebRequest() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class WebUtilsTests. The method clearGrailsWebRequest is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>61</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private def bindMockRequest(DefaultGrailsApplication ga) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.util.WebUtilsTests. The def keyword is unneeded when a method is marked private</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>67</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ctx.registerMockBean(MimeType.BEAN_NAME, factory.getObject())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.util.WebUtilsTests. getObject() can probably be rewritten as object</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>103</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull RequestContextHolder.getRequestAttributes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.util.WebUtilsTests. getRequestAttributes() can probably be rewritten as requestAttributes</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>123</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull RequestContextHolder.getRequestAttributes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.util.WebUtilsTests. getRequestAttributes() can probably be rewritten as requestAttributes</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>137</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals mockWebRequest, RequestContextHolder.getReq..Attributes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.util.WebUtilsTests. getRequestAttributes() can probably be rewritten as requestAttributes</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>154</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull RequestContextHolder.getRequestAttributes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.util.WebUtilsTests. getRequestAttributes() can probably be rewritten as requestAttributes</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>160</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertNull RequestContextHolder.getRequestAttributes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.util.WebUtilsTests. getRequestAttributes() can probably be rewritten as requestAttributes</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-uber/src/test/resources/org/codehaus/groovy/grails/plugins'> </a><h2 class='packageHeader'>Package: grails-test-suite-uber.src.test.resources.org.codehaus.groovy.grails.plugins</h2></div><div class='summary'><h3 class='fileHeader'>➥ ClassEditorGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def withSpring() {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ClassEditorGrailsPlugin. The method withSpring is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>7</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def withApplicationContext(ctx) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ClassEditorGrailsPlugin. The method withApplicationContext is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>7</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def withApplicationContext(ctx) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ClassEditorGrailsPlugin. Method parameter [ctx] is never referenced in the method withApplicationContext of class ClassEditorGrailsPlugin</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/grails/test'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.grails.test</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsUrlMappingsTestCaseTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>63</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testSetup() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCaseTests. Test method 'testSetup' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>73</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testSetupExplicitMappingClass() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCaseTests. Test method 'testSetupExplicitMappingClass' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>176</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void test_GRAILS_3571_Bug() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCaseTests. Test method 'test_GRAILS_3571_Bug' makes no assertions</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>209</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch (e) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>265</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testGrails5786() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCaseTests. Test method 'testGrails5786' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>272</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testGrails5222() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsUrlMappingsTestCaseTests. Test method 'testGrails5222' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>353</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def assertView(controller, view, url) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MultipleMappingsTestCase. The method assertView is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>353</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def assertView(controller, view, url) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MultipleMappingsTestCase. Method parameter [controller] is never referenced in the method assertView of class grails.test.MultipleMappingsTestCase</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>353</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def assertView(controller, view, url) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MultipleMappingsTestCase. Method parameter [view] is never referenced in the method assertView of class grails.test.MultipleMappingsTestCase</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>353</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def assertView(controller, view, url) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MultipleMappingsTestCase. Method parameter [url] is never referenced in the method assertView of class grails.test.MultipleMappingsTestCase</span></p></td></tr><tr><td><a href='#EqualsAndHashCode'>EqualsAndHashCode</a></td><td class='priority2'>2</td><td class='number'>396</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>class MockUrlMapping implements UrlMapping {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The class grails.test.MockUrlMapping defines equals(Object) but not hashCode()</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>410</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>UrlMappingInfo match(String uri) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [uri] is never referenced in the method match of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>414</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>int compareTo(Object o) { 0 }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [o] is never referenced in the method compareTo of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>416</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createURL(Map parameterValues, String encoding) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [parameterValues] is never referenced in the method createURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>416</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createURL(Map parameterValues, String encoding) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [encoding] is never referenced in the method createURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>418</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createURL(Map parameterValues, String encoding, S..nt) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [parameterValues] is never referenced in the method createURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>418</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createURL(Map parameterValues, String encoding, S..nt) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [encoding] is never referenced in the method createURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>418</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createURL(Map parameterValues, String encoding, S..nt) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [fragment] is never referenced in the method createURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>420</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createURL(String controller, String action, Map p..ng) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [controller] is never referenced in the method createURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>420</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createURL(String controller, String action, Map p..ng) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [action] is never referenced in the method createURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>420</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createURL(String controller, String action, Map p..ng) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [parameterValues] is never referenced in the method createURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>420</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createURL(String controller, String action, Map p..ng) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [encoding] is never referenced in the method createURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>422</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createRelativeURL(String controller, String actio..ng) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [controller] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>422</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createRelativeURL(String controller, String actio..ng) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [action] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>422</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createRelativeURL(String controller, String actio..ng) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [parameterValues] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>422</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createRelativeURL(String controller, String actio..ng) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [encoding] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>424</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createRelativeURL(String controller, String actio..nt) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [controller] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>424</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createRelativeURL(String controller, String actio..nt) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [action] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>424</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createRelativeURL(String controller, String actio..nt) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [parameterValues] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>424</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createRelativeURL(String controller, String actio..nt) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [encoding] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>424</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createRelativeURL(String controller, String actio..nt) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [fragment] is never referenced in the method createRelativeURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>426</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createURL(String controller, String action, Map p..nt) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [controller] is never referenced in the method createURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>426</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createURL(String controller, String action, Map p..nt) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [action] is never referenced in the method createURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>426</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createURL(String controller, String action, Map p..nt) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [parameterValues] is never referenced in the method createURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>426</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createURL(String controller, String action, Map p..nt) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [encoding] is never referenced in the method createURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>426</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String createURL(String controller, String action, Map p..nt) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [fragment] is never referenced in the method createURL of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>436</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setParameterValues(Map parameterValues) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. The method setParameterValues is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>436</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setParameterValues(Map parameterValues) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [parameterValues] is never referenced in the method setParameterValues of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>438</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setParseRequest(boolean shouldParse) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. The method setParseRequest is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>438</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setParseRequest(boolean shouldParse) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [shouldParse] is never referenced in the method setParseRequest of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>444</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setMappingName(String name) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. The method setMappingName is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>444</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setMappingName(String name) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [name] is never referenced in the method setMappingName of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>446</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>boolean hasRuntimeVariable(String name) { false }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockUrlMapping. Method parameter [name] is never referenced in the method hasRuntimeVariable of class grails.test.MockUrlMapping</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>224</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>test.assertUrlMapping(500, controller: "grailsUrlMapping..: "action1")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>226</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>test.assertForwardUrlMapping("/controllerView", controll..iew: "view")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>235</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>test.assertUrlMapping("/absoluteView", view: "view")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>236</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>test.assertUrlMapping("/absoluteView", view: "/view")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>237</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>test.assertUrlMapping("/absoluteViewWithSlash", view: "view")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>238</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>test.assertUrlMapping("/absoluteViewWithSlash", view: "/view")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>240</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>test.assertUrlMapping("/params/value1/value2", controlle.."action3") {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>260</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>test.assertUrlMapping("/params/value1", controller: "gra.."action3") {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/grails/test/mixin'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.grails.test.mixin</h2></div><div class='summary'><h3 class='fileHeader'>➥ TagLibWithServiceMockTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryConstructor'>UnnecessaryConstructor</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>TimeTagLib() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The constructor can be safely deleted</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ UrlMappingsTestForTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def list() { }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class BookController. The method list is both empty and not marked with @Override</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/plugins/web/filters'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.plugins.web.filters</h2></div><div class='summary'><h3 class='fileHeader'>➥ FilterConfigTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FilterConfigTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>135</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FilterConfigTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>80</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert mockDefinition.generateNumberCalled == true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The expression '(mockDefinition.generateNumberCalled == true)' can be simplified to 'mockDefinition.generateNumberCalled'</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>85</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert mockDefinition.generateNumberCalled == true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The expression '(mockDefinition.generateNumberCalled == true)' can be simplified to 'mockDefinition.generateNumberCalled'</span></p></td></tr><tr><td><a href='#UseAssertTrueInsteadOfAssertEquals'>UseAssertTrueInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>90</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert mockDefinition.generateNumberCalled == true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The expression '(mockDefinition.generateNumberCalled == true)' can be simplified to 'mockDefinition.generateNumberCalled'</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/plugins/webflow'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.plugins.webflow</h2></div><div class='summary'><h3 class='fileHeader'>➥ MockWebFlowGrailsPlugin.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.webflow.MockWebFlowGrailsPlugin. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/binding'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.binding</h2></div><div class='summary'><h3 class='fileHeader'>➥ BindingToNullableTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>48</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def model = controller.update()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [model] in class org.codehaus.groovy.grails.web.binding.BindingToNullableTests is not used</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>4</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.web.context.request.RequestContextHolder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.web.context.request.RequestContextHolder] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DataBindingLazyMetaPropertyMapTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CoupledTestCase'>CoupledTestCase</a></td><td class='priority2'>2</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def map = new DataBindingLazyMetaPropertyMap(new Propert..er:"stuff"))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DataBindingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>185</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def error = b.errors.getFieldError('site')</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [error] in class org.codehaus.groovy.grails.web.binding.DataBindingTests is not used</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>246</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def authorClass = ga.getDomainClass("databindingtests.Au..).getClazz()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [authorClass] in class org.codehaus.groovy.grails.web.binding.DataBindingTests is not used</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>246</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def authorClass = ga.getDomainClass("databindingtests.Au..).getClazz()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.binding.DataBindingTests. getClazz() can probably be rewritten as clazz</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/converters'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.converters</h2></div><div class='summary'><h3 class='fileHeader'>➥ JSONArrayTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(getJSONArray(), getJSONArray())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.converters.JSONArrayTests. getJSONArray() can probably be rewritten as JSONArray</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(getJSONArray(), getJSONArray())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.converters.JSONArrayTests. getJSONArray() can probably be rewritten as JSONArray</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(getJSONArray().hashCode(), getJSONArray().hashCode())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.converters.JSONArrayTests. getJSONArray() can probably be rewritten as JSONArray</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(getJSONArray().hashCode(), getJSONArray().hashCode())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.converters.JSONArrayTests. getJSONArray() can probably be rewritten as JSONArray</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ JSONConverterTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>100</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class JSONConverterTests. The method onSetUp is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>82</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>enumClass.metaClass.asType = {java.lang.Class clazz -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Specifying the package name is not necessary for java.lang.Class</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ XMLConverterTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>92</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def proxy = [getHibernateLazyInitializer:{hibernateIniti..bernateProxy</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [proxy] in class org.codehaus.groovy.grails.web.converters.XMLConverterTests is not used</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>106</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class XMLConverterTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/filters'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.filters</h2></div><div class='summary'><h3 class='fileHeader'>➥ FilterToHandlerAdapterTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitUnnecessarySetUp'>JUnitUnnecessarySetUp</a></td><td class='priority3'>3</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FilterToHandlerAdapterTests. The setUp() method contains no logic and can be removed</span></p></td></tr><tr><td><a href='#UnnecessaryOverridingMethod'>UnnecessaryOverridingMethod</a></td><td class='priority3'>3</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FilterToHandlerAdapterTests. The method setUp contains no logic and can be safely deleted</span></p></td></tr><tr><td><a href='#JUnitUnnecessaryTearDown'>JUnitUnnecessaryTearDown</a></td><td class='priority3'>3</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FilterToHandlerAdapterTests. The tearDown() method contains no logic and can be removed</span></p></td></tr><tr><td><a href='#UnnecessaryOverridingMethod'>UnnecessaryOverridingMethod</a></td><td class='priority3'>3</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FilterToHandlerAdapterTests. The method tearDown contains no logic and can be safely deleted</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/mapping'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.mapping</h2></div><div class='summary'><h3 class='fileHeader'>➥ DefaultUrlCreatorTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>33</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class DefaultUrlCreatorTests. The method tearDown() does not call super.tearDown()</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DoubleWildcardUrlMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.servlet.mvc.Abstra..trollerTests</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.mock.web.MockServletContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.mock.web.MockServletContext] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 'wrong controller name', 'someOther', info...rollerName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.DoubleWildcardUrlMappingTests. getControllerName() can probably be rewritten as controllerName</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DynamicParameterValuesTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.servlet.mvc.Abstra..trollerTests</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.mock.web.MockServletContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.mock.web.MockServletContext] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ IdUrlMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class IdUrlMappingTests. The method onSetUp is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.servlet.mvc.Abstra..trollerTests</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.mock.web.MockServletContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.mock.web.MockServletContext] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ RegexUrlMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>357</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testInit() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class RegexUrlMappingTests. Test method 'testInit' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>359</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def m = new RegexUrlMapping(parser.parse("/(*)/hello"), ..vletContext)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [m] in class org.codehaus.groovy.grails.web.mapping.RegexUrlMappingTests is not used</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>6</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.mock.web.MockServletContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.mock.web.MockServletContext] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "/x/y", info.getURI()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.RegexUrlMappingTests. getURI() can probably be rewritten as URI</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>308</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def cp = new ConstrainedProperty(RegexUrlMappingTests.cl..tring.class)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>RegexUrlMappingTests.class can be rewritten as RegexUrlMappingTests</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>308</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def cp = new ConstrainedProperty(RegexUrlMappingTests.cl..tring.class)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>String.class can be rewritten as String</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>325</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def cp = new ConstrainedProperty(RegexUrlMappingTests.cl..tring.class)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>RegexUrlMappingTests.class can be rewritten as RegexUrlMappingTests</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>325</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def cp = new ConstrainedProperty(RegexUrlMappingTests.cl..tring.class)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>String.class can be rewritten as String</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ResponseCodeUrlMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>6</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.servlet.mvc.Abstra..trollerTests</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>8</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.mock.web.MockServletContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.mock.web.MockServletContext] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryDefInFieldDeclaration'>UnnecessaryDefInFieldDeclaration</a></td><td class='priority3'>3</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def UrlMappingsHolder holder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.ResponseCodeUrlMappingTests. The def keyword is unneeded when a field type is specified</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>59</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("errors", info.getControllerName());</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.ResponseCodeUrlMappingTests. getControllerName() can probably be rewritten as controllerName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>60</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("error404", info.getActionName());</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.ResponseCodeUrlMappingTests. getActionName() can probably be rewritten as actionName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>66</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("errors", info.getControllerName());</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.ResponseCodeUrlMappingTests. getControllerName() can probably be rewritten as controllerName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>67</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("error500", info.getActionName());</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.ResponseCodeUrlMappingTests. getActionName() can probably be rewritten as actionName</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ RestfulMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.validation.ConstrainedProperty;</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.validation.ConstrainedProperty] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>6</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.mock.web.MockServletContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.mock.web.MockServletContext] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ RestfulReverseUrlRenderingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.servlet.mvc.Abstra..trollerTests</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ReverseMappingWithDefaultActionTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>11</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ReverseMappingWithDefaultActionTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ UrlMappingParameterTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.servlet.mvc.Abstra..trollerTests</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.servlet.mvc.AbstractGrailsControllerTests] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>4</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.core.io.ByteArrayResource</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.core.io.ByteArrayResource] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.mock.web.MockServletContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.mock.web.MockServletContext] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ UrlMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.validation.ConstrainedProperty;</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.validation.ConstrainedProperty] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ UrlMappingWithCustomValidatorTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryDefInFieldDeclaration'>UnnecessaryDefInFieldDeclaration</a></td><td class='priority3'>3</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def UrlMappingsHolder holder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.UrlMappingWithCustomValidatorTests. The def keyword is unneeded when a field type is specified</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ UrlMappingsHolderTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.validation.ConstrainedProperty;</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.validation.ConstrainedProperty] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ViewUrlMappingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryDefInFieldDeclaration'>UnnecessaryDefInFieldDeclaration</a></td><td class='priority3'>3</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def UrlMappingsHolder holder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.ViewUrlMappingTests. The def keyword is unneeded when a field type is specified</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>40</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "book.gsp", info.getViewName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.ViewUrlMappingTests. getViewName() can probably be rewritten as viewName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "book.gsp", info.getViewName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.ViewUrlMappingTests. getViewName() can probably be rewritten as viewName</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/mapping/filter'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.mapping.filter</h2></div><div class='summary'><h3 class='fileHeader'>➥ RestfulMappingsFilterTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>7</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.ControllerArtefactHandler;</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.commons.ControllerArtefactHandler] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>8</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.DefaultGrailsApplication</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.commons.DefaultGrailsApplication] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def mappings = evaluator.evaluateMappings(new ByteArrayR..getBytes()))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.filter.RestfulMappingsFilterTests. getBytes() can probably be rewritten as bytes</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/mime'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.mime</h2></div><div class='summary'><h3 class='fileHeader'>➥ AcceptHeaderParserTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>13</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AcceptHeaderParserTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AcceptHeaderParserTests. The method tearDown() does not call super.tearDown()</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/pages'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.pages</h2></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPageBindingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>15</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals binding.getMetaClass(), binding.metaClass</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageBindingTests. getMetaClass() can probably be rewritten as metaClass</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(shouldbe, binding.getVariables())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageBindingTests. getVariables() can probably be rewritten as variables</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>for(e in binding.getVariables().entrySet()) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageBindingTests. getVariables() can probably be rewritten as variables</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPageLineNumberTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>14</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testSpanningMultipleLines() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GroovyPageLineNumberTests. Test method 'testSpanningMultipleLines' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPageMethodDispatchWithNamespaceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>8</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GroovyPageMethodDispatchWithNamespaceTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPageTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>67</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def runPageCode(pageCode) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GroovyPageTests. The method runPageCode is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>146</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def getBinding(out) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GroovyPageTests. The method getBinding is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>157</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>binding.setVariable(GroovyPage.SESSION, request.getSession())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageTests. getSession() can probably be rewritten as session</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>160</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>binding.setVariable(GroovyPage.OUT, out)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPagesTemplateEngineTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>188</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def webRequest = GrailsWebUtil.bindMockWebRequest()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [webRequest] in class org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngineTests is not used</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>570</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GroovyPagesTemplateEngineTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>574</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GroovyPagesTemplateEngineTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>8</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.plugins.MockGrailsPluginManager;</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.plugins.MockGrailsPluginManager] import is never referenced</span></p></td></tr><tr><td><a href='#UseAssertEqualsInsteadOfAssertTrue'>UseAssertEqualsInsteadOfAssertTrue</a></td><td class='priority3'>3</td><td class='number'>40</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertTrue(sw.toString().indexOf("should not be in the output") == -1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngineTests. Replace assertTrue with a call to assertEquals()</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPagesWhitespaceParsingTagTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#ComparisonOfTwoConstants'>ComparisonOfTwoConstants</a></td><td class='priority2'>2</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>test="${2 > 1}">rejoice</g:if>"""</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)</span></p></td></tr><tr><td><a href='#ComparisonOfTwoConstants'>ComparisonOfTwoConstants</a></td><td class='priority2'>2</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'><g:if test="${2 > 1}">rejoice</g:if></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)</span></p></td></tr><tr><td><a href='#ComparisonOfTwoConstants'>ComparisonOfTwoConstants</a></td><td class='priority2'>2</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'><g:if test="${2 > 1}">testing</g:if></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)</span></p></td></tr><tr><td><a href='#ComparisonOfTwoConstants'>ComparisonOfTwoConstants</a></td><td class='priority2'>2</td><td class='number'>59</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'><g:if test="${2 > 1}">testing</g:if></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)</span></p></td></tr><tr><td><a href='#ComparisonOfTwoConstants'>ComparisonOfTwoConstants</a></td><td class='priority2'>2</td><td class='number'>71</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def template = """Hello <g:if test="${2 > 1}">one</g:if>..ee</g:if>"""</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)</span></p></td></tr><tr><td><a href='#ComparisonOfTwoConstants'>ComparisonOfTwoConstants</a></td><td class='priority2'>2</td><td class='number'>71</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def template = """Hello <g:if test="${2 > 1}">one</g:if>..ee</g:if>"""</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)</span></p></td></tr><tr><td><a href='#ComparisonOfTwoConstants'>ComparisonOfTwoConstants</a></td><td class='priority2'>2</td><td class='number'>71</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def template = """Hello <g:if test="${2 > 1}">one</g:if>..ee</g:if>"""</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)</span></p></td></tr><tr><td><a href='#ComparisonOfTwoConstants'>ComparisonOfTwoConstants</a></td><td class='priority2'>2</td><td class='number'>77</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def template = """Hello <g:if test="${2 > 1}">one</g:if></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)</span></p></td></tr><tr><td><a href='#ComparisonOfTwoConstants'>ComparisonOfTwoConstants</a></td><td class='priority2'>2</td><td class='number'>78</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'><g:if test="${2 > 1}">two</g:if></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)</span></p></td></tr><tr><td><a href='#ComparisonOfTwoConstants'>ComparisonOfTwoConstants</a></td><td class='priority2'>2</td><td class='number'>79</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'><g:if test="${2 > 1}">three</g:if>"""</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Comparing two constants or constant literals is useless and may indicate a bug: (2 > 1)</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ModifyOurScopeWithBodyTagTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import junit.framework.TestCase</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [junit.framework.TestCase] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ StaticContentRenderingTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>4</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.ConfigurationHolder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.commons.ConfigurationHolder] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TagLibNamespaceTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onTearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TagLibNamespaceTests. The method onTearDown is public but not a test method</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/pages/ext/jsp'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.pages.ext.jsp</h2></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPageWithJSPTagsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def rootLoader = new RootLoader([] as URL[], Thread.curr..assLoader())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPageWithJSPTagsTests. getContextClassLoader() can probably be rewritten as contextClassLoader</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>24</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>rootLoader.addURL res.getURL()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPageWithJSPTagsTests. getURL() can probably be rewritten as URL</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>rootLoader.addURL it.getURL()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPageWithJSPTagsTests. getURL() can probably be rewritten as URL</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>webRequest.getCurrentRequest().setAttribute(GroovyPagesS..esServlet())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPageWithJSPTagsTests. getCurrentRequest() can probably be rewritten as currentRequest</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPagesPageContextTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>13</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GroovyPagesPageContextTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GroovyPagesPageContextTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert pageContext.getServletConfig()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContextTests. getServletConfig() can probably be rewritten as servletConfig</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert pageContext.getServletContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContextTests. getServletContext() can probably be rewritten as servletContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert pageContext.getRequest()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContextTests. getRequest() can probably be rewritten as request</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert pageContext.getResponse()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContextTests. getResponse() can probably be rewritten as response</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert pageContext.getPage()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContextTests. getPage() can probably be rewritten as page</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ IterativeJspTagTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class IterativeJspTagTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class IterativeJspTagTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>webRequest.getCurrentRequest().setAttribute(GroovyPagesS..esServlet())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.IterativeJspTagTests. getCurrentRequest() can probably be rewritten as currentRequest</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>34</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def rootLoader = new RootLoader([] as URL[], Thread.curr..assLoader())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.IterativeJspTagTests. getContextClassLoader() can probably be rewritten as contextClassLoader</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>rootLoader.addURL res.getURL()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.IterativeJspTagTests. getURL() can probably be rewritten as URL</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>JstlUtils.exposeLocalizationContext webRequest.getRequest(),null</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.IterativeJspTagTests. getRequest() can probably be rewritten as request</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pageContext = PageContextFactory.getCurrent()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.IterativeJspTagTests. getCurrent() can probably be rewritten as current</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ MockRootLoaderTagLibraryResolver.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>15</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def rootLoader = new RootLoader([] as URL[], Thread.curr..assLoader())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.MockRootLoaderTagLibraryResolver. getContextClassLoader() can probably be rewritten as contextClassLoader</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>rootLoader.addURL res.getURL()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.MockRootLoaderTagLibraryResolver. getURL() can probably be rewritten as URL</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ SimpleJspTagTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SimpleJspTagTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SimpleJspTagTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>9</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.core.io.FileSystemResource</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.core.io.FileSystemResource] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>24</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>webRequest.getCurrentRequest().setAttribute(GroovyPagesS..esServlet())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.SimpleJspTagTests. getCurrentRequest() can probably be rewritten as currentRequest</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>JstlUtils.exposeLocalizationContext webRequest.getRequest(),null</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.SimpleJspTagTests. getRequest() can probably be rewritten as request</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ SimpleTagTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SimpleTagTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SimpleTagTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>webRequest.getCurrentRequest().setAttribute(GroovyPagesS..esServlet())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.SimpleTagTests. getCurrentRequest() can probably be rewritten as currentRequest</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>61</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getJspContext().getOut().println("extendsSimpleTagSupport:output");</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.ExtendsSimpleTagSupport. getOut() can probably be rewritten as out</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>61</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getJspContext().getOut().println("extendsSimpleTagSupport:output");</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.ExtendsSimpleTagSupport. getJspContext() can probably be rewritten as jspContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>68</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>JspWriter out = getJspContext().getOut()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.BodySimpleTagSupport. getOut() can probably be rewritten as out</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>68</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>JspWriter out = getJspContext().getOut()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.BodySimpleTagSupport. getJspContext() can probably be rewritten as jspContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>70</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>super.getJspBody().invoke(out)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.BodySimpleTagSupport. getJspBody() can probably be rewritten as jspBody</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TagLibraryResolverTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>65</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>new RootLoader([] as URL[], Thread.currentThread().getCo..assLoader())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.MockWebXmlTagLibraryResolver. getContextClassLoader() can probably be rewritten as contextClassLoader</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>new ByteArrayResource('''<?xml version="1.0" encoding="UTF-8"?></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.MockWebXmlTagLibraryResolver. getInputStream() can probably be rewritten as inputStream</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>new ByteArrayResource('''<?xml version="1.0" encoding="UTF-8"?></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.MockWebXmlTagLibraryResolver. getBytes() can probably be rewritten as bytes</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>118</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>new ByteArrayResource('''<?xml version="1.0" encoding="UTF-8"?></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.MockWebXmlTagLibraryResolver. getBytes() can probably be rewritten as bytes</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TldReaderTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def is = new InputSource(res.getInputStream())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TldReaderTests. getInputStream() can probably be rewritten as inputStream</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>33</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def reader = factory.newSAXParser().getXMLReader()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TldReaderTests. getXMLReader() can probably be rewritten as XMLReader</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ WebXmlTagLibraryReaderTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#ImportFromSamePackage'>ImportFromSamePackage</a></td><td class='priority3'>3</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.pages.ext.jsp.WebX..ibraryReader</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>31</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def reader = factory.newSAXParser().getXMLReader()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.WebXmlTagLibraryReaderTests. getXMLReader() can probably be rewritten as XMLReader</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/servlet/view'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.servlet.view</h2></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPageViewTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GroovyPageViewTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#DuplicateImport'>DuplicateImport</a></td><td class='priority3'>3</td><td class='number'>7</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.web.context.request.*</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/taglib'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.web.taglib</h2></div><div class='summary'><h3 class='fileHeader'>➥ ApplicationTagLibResourcesTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onInitMockBeans() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ApplicationTagLibResourcesTests. The method onInitMockBeans is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def replaceMetaClass(Object o) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ApplicationTagLibResourcesTests. The method replaceMetaClass is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.GrailsUtil</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.GrailsUtil] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import javax.servlet.http.Cookie</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [javax.servlet.http.Cookie] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>7</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import groovy.mock.interceptor.StubFor</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [groovy.mock.interceptor.StubFor] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>9</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.ConfigurationHolder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.commons.ConfigurationHolder] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>11</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.plugins.web.taglib.JavascriptTagLib;</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.plugins.web.taglib.JavascriptTagLib] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.pages.GroovyPageBinding</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.pages.GroovyPageBinding] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>13</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.servlet.GrailsAppl..onAttributes</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.servlet.GrailsApplicationAttributes] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>14</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.taglib.exceptions...TagException</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.TagLibArtefactHandler</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.commons.TagLibArtefactHandler] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.mock.web.MockHttpServletResponse</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.mock.web.MockHttpServletResponse] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>40</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def taglib = appCtx.getBean(ApplicationTagLib.class.name)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>ApplicationTagLib.class can be rewritten as ApplicationTagLib</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>60</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def taglib = appCtx.getBean(ApplicationTagLib.class.name)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>ApplicationTagLib.class can be rewritten as ApplicationTagLib</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ApplicationTagLibTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>7</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import groovy.mock.interceptor.StubFor</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [groovy.mock.interceptor.StubFor] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>15</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.TagLibArtefactHandler</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.commons.TagLibArtefactHandler] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertOutputEquals "/test/plugins/controllers-${GrailsUt..g", template</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.ApplicationTagLibTests. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CoreTagsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.GrailsUtil</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.GrailsUtil] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ CountryTagLibTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>88</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertResultContains(result, expectedSubstring) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class CountryTagLibTests. The method assertResultContains is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FormRenderingTagLibTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertOutputEquals(expected, template, params = [:]) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FormRenderingTagLibTests. The method assertOutputEquals is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FormTagLib2Tests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedPrivateField'>UnusedPrivateField</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static final def SELECT_TAG_NAME = "testSelect"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The field SELECT_TAG_NAME is not used within the class org.codehaus.groovy.grails.web.taglib.FormTagLib2Tests</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testDatePickerTagWithDefaultDateAndPrecision() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithDefaultDateAndPrecision' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testDatePickerTagWithYearPrecision() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithYearPrecision' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>31</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testDatePickerTagWithMonthPrecision() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithMonthPrecision' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testDatePickerTagWithDayPrecision() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithDayPrecision' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>39</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testDatePickerTagWithHourPrecision() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithHourPrecision' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>43</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testDatePickerTagWithMinutePrecision() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithMinutePrecision' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testDatePickerTagWithCustomDate() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithCustomDate' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>74</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testDatePickerTagWithCustomDateAndPrecision() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FormTagLib2Tests. Test method 'testDatePickerTagWithCustomDateAndPrecision' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>121</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String xp</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [xp] in class org.codehaus.groovy.grails.web.taglib.FormTagLib2Tests is not used</span></p></td></tr><tr><td><a href='#UnusedPrivateMethod'>UnusedPrivateMethod</a></td><td class='priority2'>2</td><td class='number'>230</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private void assertSelectFieldPresentWithValue(Document ..ing value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The method assertSelectFieldPresentWithValue is not used within FormTagLib2Tests.groovy</span></p></td></tr><tr><td><a href='#UnusedPrivateMethod'>UnusedPrivateMethod</a></td><td class='priority2'>2</td><td class='number'>236</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private void assertSelectFieldPresentWithValueAndText(Do..ing label) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The method assertSelectFieldPresentWithValueAndText is not used within FormTagLib2Tests.groovy</span></p></td></tr><tr><td><a href='#UnusedPrivateMethod'>UnusedPrivateMethod</a></td><td class='priority2'>2</td><td class='number'>248</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private void assertSelectPresent(Document document, Stri..fieldName) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The method assertSelectPresent is not used within FormTagLib2Tests.groovy</span></p></td></tr><tr><td><a href='#UnnecessaryDefInFieldDeclaration'>UnnecessaryDefInFieldDeclaration</a></td><td class='priority3'>3</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static final def SELECT_TAG_NAME = "testSelect"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib2Tests. The def keyword is unneeded when a field is marked private</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def defaultDate = Calendar.getInstance()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib2Tests. getInstance() can probably be rewritten as instance</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>54</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Document document = getDatePickerOutput(null, 'day', def..e.getTime())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib2Tests. getTime() can probably be rewritten as time</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>69</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>DateFormat defaultFormat = DateFormat.getInstance()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib2Tests. getInstance() can probably be rewritten as instance</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FormTagLib3Tests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedPrivateField'>UnusedPrivateField</a></td><td class='priority2'>2</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static final String DATE_PICKER_TAG_NAME = "testDatePicker"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The field DATE_PICKER_TAG_NAME is not used within the class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests</span></p></td></tr><tr><td><a href='#UnusedPrivateField'>UnusedPrivateField</a></td><td class='priority2'>2</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static final Collection DATE_PRECISIONS_INCLUDIN..s String[]))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The field DATE_PRECISIONS_INCLUDING_MINUTE is not used within the class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests</span></p></td></tr><tr><td><a href='#UnusedPrivateField'>UnusedPrivateField</a></td><td class='priority2'>2</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static final Collection DATE_PRECISIONS_INCLUDIN..s String[]))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The field DATE_PRECISIONS_INCLUDING_HOUR is not used within the class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests</span></p></td></tr><tr><td><a href='#UnusedPrivateField'>UnusedPrivateField</a></td><td class='priority2'>2</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static final Collection DATE_PRECISIONS_INCLUDIN..s String[]))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The field DATE_PRECISIONS_INCLUDING_DAY is not used within the class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests</span></p></td></tr><tr><td><a href='#UnusedPrivateField'>UnusedPrivateField</a></td><td class='priority2'>2</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static final Collection DATE_PRECISIONS_INCLUDIN..s String[]))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The field DATE_PRECISIONS_INCLUDING_MONTH is not used within the class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>207</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final Element inputElement = document.getDocumentElement()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests. getDocumentElement() can probably be rewritten as documentElement</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>233</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final Element inputElement = document.getDocumentElement()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests. getDocumentElement() can probably be rewritten as documentElement</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>262</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final Element inputElement = document.getDocumentElement()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests. getDocumentElement() can probably be rewritten as documentElement</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>288</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final Element inputElement = document.getDocumentElement()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.FormTagLib3Tests. getDocumentElement() can probably be rewritten as documentElement</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FormTagLibTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>234</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testBooleanAttributes() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FormTagLibTests. Test method 'testBooleanAttributes' makes no assertions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FormatTagLibTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertOutputEquals("1980-02-03", template, [date:calender.getTime()])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.FormatTagLibTests. getTime() can probably be rewritten as time</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>38</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertOutputEquals("February 3, 1980", template, [date:c...getTime()])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.FormatTagLibTests. getTime() can probably be rewritten as time</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>44</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertOutputEquals("February 3, 1980 12:00 AM", template...getTime()])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.FormatTagLibTests. getTime() can probably be rewritten as time</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>79</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertOutputEquals("1980-02-03", template, [date:calender.getTime()])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.FormatTagLibTests. getTime() can probably be rewritten as time</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GroovyEachTagTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.taglib.exceptions...TagException</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("for( "+tag.getForeachRenamedIt()+" in test...toString())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.GroovyEachTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("for( "+tag.getForeachRenamedIt()+" in test...toString())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.GroovyEachTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("for( "+tag.getForeachRenamedIt()+" in test...toString())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.GroovyEachTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("for( "+tag.getForeachRenamedIt()+" in test...toString())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.GroovyEachTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GroovyFindAllTagTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGroovyImport'>UnnecessaryGroovyImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import java.io.ByteArrayInputStream</span></p></td></tr><tr><td><a href='#UnnecessaryGroovyImport'>UnnecessaryGroovyImport</a></td><td class='priority3'>3</td><td class='number'>4</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import java.io.PrintWriter</span></p></td></tr><tr><td><a href='#UnnecessaryGroovyImport'>UnnecessaryGroovyImport</a></td><td class='priority3'>3</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import java.util.HashMap</span></p></td></tr><tr><td><a href='#UnnecessaryGroovyImport'>UnnecessaryGroovyImport</a></td><td class='priority3'>3</td><td class='number'>6</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import java.util.Map</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>context.put(GroovyPageParser.class, parser);</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>GroovyPageParser.class can be rewritten as GroovyPageParser</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("for( "+tag.getForeachRenamedIt()+" in eval...toString())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.GroovyFindAllTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("for( "+tag.getForeachRenamedIt()+" in eval...toString())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.GroovyFindAllTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>64</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("findAll", tag.getName())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.GroovyFindAllTagTests. getName() can probably be rewritten as name</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GroovyGrepTagTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>15</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch(Exception e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("for( "+tag.getForeachRenamedIt()+" in test...toString())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.GroovyGrepTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals("for( "+tag.getForeachRenamedIt()+" in test...toString())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.GroovyGrepTagTests. getForeachRenamedIt() can probably be rewritten as foreachRenamedIt</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GroovySyntaxTagTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>56</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void doEndTag() {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MyGroovySyntaxTag. The method doEndTag is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>58</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void doStartTag() {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MyGroovySyntaxTag. The method doStartTag is both empty and not marked with @Override</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ InvokeTagLibAsMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class InvokeTagLibAsMethodTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ JavascriptTagLibResourcesTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>7</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def replaceMetaClass(o) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class JavascriptTagLibResourcesTests. The method replaceMetaClass is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onInitMockBeans() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class JavascriptTagLibResourcesTests. The method onInitMockBeans is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def result = applyTemplate(template, [:])</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [result] in class org.codehaus.groovy.grails.web.taglib.JavascriptTagLibResourcesTests is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ JavascriptTagLibTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String newLine = EOL</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [newLine] in class org.codehaus.groovy.grails.web.taglib.JavascriptTagLibTests is not used</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>93</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def replaceMetaClass(Object o) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class JavascriptTagLibTests. The method replaceMetaClass is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>287</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def setRequestContext() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class JavascriptTagLibTests. The method setRequestContext is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>291</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def setRequestContext(path) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class JavascriptTagLibTests. The method setRequestContext is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>295</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def setupPluginController(tag) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class JavascriptTagLibTests. The method setupPluginController is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>295</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def setupPluginController(tag) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class JavascriptTagLibTests. Method parameter [tag] is never referenced in the method setupPluginController of class org.codehaus.groovy.grails.web.taglib.JavascriptTagLibTests</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>312</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def doRemoteFunction(Object taglib, Object attrs, Object out) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestProvider. Method parameter [taglib] is never referenced in the method doRemoteFunction of class org.codehaus.groovy.grails.web.taglib.TestProvider</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>312</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def doRemoteFunction(Object taglib, Object attrs, Object out) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestProvider. Method parameter [attrs] is never referenced in the method doRemoteFunction of class org.codehaus.groovy.grails.web.taglib.TestProvider</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>316</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def prepareAjaxForm(Object attrs) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestProvider. The method prepareAjaxForm is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>316</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def prepareAjaxForm(Object attrs) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class TestProvider. Method parameter [attrs] is never referenced in the method prepareAjaxForm of class org.codehaus.groovy.grails.web.taglib.TestProvider</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>13</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.TagLibArtefactHandler</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.commons.TagLibArtefactHandler] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def grailsVersion = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.JavascriptTagLibTests. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ LayoutWriterStackTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertEqualsIgnoreWhiteSpace(String s1, String s2) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class LayoutWriterStackTests. The method assertEqualsIgnoreWhiteSpace is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ LinkRenderingTagLib2Tests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>38</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void assertOutputEquals(expected, template, params = [:]) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class LinkRenderingTagLib2Tests. The method assertOutputEquals is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.runtime.InvokerHelper</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.runtime.InvokerHelper] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ LinkRenderingTagLibTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#DuplicateMapKey'>DuplicateMapKey</a></td><td class='priority2'>2</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertOutputEquals '<a href="/demo" class="B">demo</a>',..'7', x: '4']</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Key 'x' is duplicated.</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.runtime.InvokerHelper</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.runtime.InvokerHelper] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ NamespacedTagLibMethodTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>4</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.validation.MapBindingResult</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.validation.MapBindingResult] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ PluginTagLibTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>13</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def grailsVersion = GrailsUtil.getGrailsVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.PluginTagLibTests. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ PropertyEditorTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryCollectCall'>UnnecessaryCollectCall</a></td><td class='priority3'>3</td><td class='number'>84</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals(["grails", "groovy"], obj.tags.collect {it.name})</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>119</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Object v = getValue()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.TestCustomPropertyEditor. getValue() can probably be rewritten as value</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ RenderTagLibTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testPaginateTag() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class RenderTagLibTests. Test method 'testPaginateTag' makes no assertions</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>103</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def head = ""</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [head] in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests is not used</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>205</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testSortableColumnTag() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class RenderTagLibTests. Test method 'testSortableColumnTag' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>219</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testSortableColumnTagWithTitleKey() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class RenderTagLibTests. Test method 'testSortableColumnTagWithTitleKey' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>265</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testSortableColumnTagWithAction() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class RenderTagLibTests. Test method 'testSortableColumnTagWithAction' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>279</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testSortableColumnTagWithDefaultOrder() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class RenderTagLibTests. Test method 'testSortableColumnTagWithDefaultOrder' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>323</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testSortableColumnTagWithAdditionalAttributes() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class RenderTagLibTests. Test method 'testSortableColumnTagWithAdditionalAttributes' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>338</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testSortableColumnTagSorted() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class RenderTagLibTests. Test method 'testSortableColumnTagSorted' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>422</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void checkTagOutput(output, expectedClassValue, expected..edContent) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class RenderTagLibTests. The method checkTagOutput is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>463</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void checkTagOutput(output, expectedClassValue, expected..therAttrs) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class RenderTagLibTests. The method checkTagOutput is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>347</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>webRequest.getParams().put("sort", "title")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>348</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>webRequest.getParams().put("order", "asc")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>364</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>webRequest.getParams().put("sort", "title")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>365</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>webRequest.getParams().put("order", "desc")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>381</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>webRequest.getParams().put("sort", "price")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>382</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>webRequest.getParams().put("order", "desc")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>398</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>webRequest.getParams().put("sort", "price")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>399</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>webRequest.getParams().put("order", "desc")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getParams() can probably be rewritten as params</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>553</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 'my/contenttype', response.getContentType()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getContentType() can probably be rewritten as contentType</span></p></td></tr><tr><td><a href='#UseAssertNullInsteadOfAssertEquals'>UseAssertNullInsteadOfAssertEquals</a></td><td class='priority3'>3</td><td class='number'>557</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals null, response.getContentType()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. assertEquals can be simplified using assertNull</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>557</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals null, response.getContentType()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getContentType() can probably be rewritten as contentType</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>560</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals 'my/contenttype', response.getContentType()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.RenderTagLibTests. getContentType() can probably be rewritten as contentType</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ReturnValueTagLibTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>4</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onSetUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ReturnValueTagLibTests. The method onSetUp is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ SelectTagTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>255</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testMultipleSelect() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SelectTagTests. Test method 'testMultipleSelect' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitTestMethodWithoutAssert'>JUnitTestMethodWithoutAssert</a></td><td class='priority2'>2</td><td class='number'>267</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testMultipleSelectWithObjectValues() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SelectTagTests. Test method 'testMultipleSelectWithObjectValues' makes no assertions</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>281</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void checkMultiSelect(List categories, List selected, Cl..sSelected) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SelectTagTests. The method checkMultiSelect is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedPrivateMethod'>UnusedPrivateMethod</a></td><td class='priority2'>2</td><td class='number'>370</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private void assertSelectFieldNotPresent(Document docume..fieldName) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The method assertSelectFieldNotPresent is not used within SelectTagTests.groovy</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>136</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>range.each() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.SelectTagTests. Parentheses in the 'each' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>154</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>range.each() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.SelectTagTests. Parentheses in the 'each' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>201</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>range.each() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.SelectTagTests. Parentheses in the 'each' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>227</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>categoryMap.each() { value, text -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.SelectTagTests. Parentheses in the 'each' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>233</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>categoryMap.each() { value, text -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.SelectTagTests. Parentheses in the 'each' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>250</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>categoryMap.each() { value, text -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.SelectTagTests. Parentheses in the 'each' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>306</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>categories.each() { cat -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.SelectTagTests. Parentheses in the 'each' method call are unnecessary and can be removed.</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ValidationTagLibTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>214</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>b.publisherURL = new URL("http://canoo.com/gia")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>215</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>b.releaseDate = new Date()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>216</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>b.usPrice = 10.99</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/webflow'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.webflow</h2></div><div class='summary'><h3 class='fileHeader'>➥ FlowCommandObjectsTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>87</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Closure getFlowClosure() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FlowCommandObjectsTests. The method getFlowClosure is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>4</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.webflow.definition.FlowDefinition</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.webflow.definition.FlowDefinition] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>6</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.webflow.context.servlet.Servl..ernalContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.webflow.context.servlet.ServletExternalContext] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def model = getFlowScope()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.FlowCommandObjectsTests. getFlowScope() can probably be rewritten as flowScope</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>51</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def model = getFlowScope()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.FlowCommandObjectsTests. getFlowScope() can probably be rewritten as flowScope</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>74</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def model = getFlowScope()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.FlowCommandObjectsTests. getFlowScope() can probably be rewritten as flowScope</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FlowRedirectTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Closure getFlowClosure() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FlowRedirectTests. The method getFlowClosure is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>10</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.webflow.definition.FlowDefinition</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.webflow.definition.FlowDefinition] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "contextRelative:/test/foo",context.getExte..edirectUrl()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.FlowRedirectTests. getExternalRedirectUrl() can probably be rewritten as externalRedirectUrl</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "contextRelative:/test/foo/1",context.getEx..edirectUrl()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.FlowRedirectTests. getExternalRedirectUrl() can probably be rewritten as externalRedirectUrl</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>44</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assertEquals "contextRelative:/mycontroller/foo",context..edirectUrl()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.FlowRedirectTests. getExternalRedirectUrl() can probably be rewritten as externalRedirectUrl</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FlowTagInvokationTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>33</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void onInit() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FlowTagInvokationTests. The method onInit is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Closure getFlowClosure() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FlowTagInvokationTests. The method getFlowClosure is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>4</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.webflow.definition.FlowDefinition</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.webflow.definition.FlowDefinition] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def model = getFlowScope()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.FlowTagInvokationTests. getFlowScope() can probably be rewritten as flowScope</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def model = getFlowScope()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.FlowTagInvokationTests. getFlowScope() can probably be rewritten as flowScope</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ SubflowExecutionTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Closure getFlowClosure() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SubflowExecutionTests. The method getFlowClosure is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ SubflowExecutionWithExternalSubflowTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Closure getFlowClosure() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SubflowExecutionWithExternalSubflowTests. The method getFlowClosure is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import junit.framework.TestCase</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [junit.framework.TestCase] import is never referenced</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/webflow/engine/builder'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.webflow.engine.builder</h2></div><div class='summary'><h3 class='fileHeader'>➥ FlowBuilderDecisionExecutionTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>10</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Closure getFlowClosure() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FlowBuilderDecisionExecutionTests. The method getFlowClosure is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FlowBuilderDynamicTransitionTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>33</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String getFlowId() { "myFlow" }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FlowBuilderDynamicTransitionTests. The method getFlowId is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Closure getFlowClosure() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FlowBuilderDynamicTransitionTests. The method getFlowClosure is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>12</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def startState = flowDefinition.getStartState()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilderDynamicTransitionTests. getStartState() can probably be rewritten as startState</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FlowBuilderExecutionTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>10</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Closure getFlowClosure() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FlowBuilderExecutionTests. The method getFlowClosure is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def model = getFlowScope()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilderExecutionTests. getFlowScope() can probably be rewritten as flowScope</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FlowBuilderSubFlowExecutionTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Closure getFlowClosure() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FlowBuilderSubFlowExecutionTests. The method getFlowClosure is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>59</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def foo() { "bar" }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FlowBuilderSubFlowExecutionTests. The method foo is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>73</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def theFlow = getFlowDefinition()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilderSubFlowExecutionTests. getFlowDefinition() can probably be rewritten as flowDefinition</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FlowBuilderSubFlowExecutionWithInputOuputTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Closure getFlowClosure() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FlowBuilderSubFlowExecutionWithInputOuputTests. The method getFlowClosure is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>89</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsWebRequest webrequest = grails.util.GrailsWebUtil...WebRequest()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [webrequest] in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilderSubFlowExecutionWithInputOuputTests is not used</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>124</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch (FlowInputMappingException e) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FlowBuilderTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setUp() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FlowBuilderTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FlowBuilderTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>flowBuilderServices.expressionParser = DefaultExpression..sionParser()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilderTests. getExpressionParser() can probably be rewritten as expressionParser</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>154</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def flow = new FlowBuilder("myFlow",getFlowBuilderServic..pl()).flow {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilderTests. getFlowBuilderServices() can probably be rewritten as flowBuilderServices</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FlowBuilderTransitionCriteriaTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>7</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Closure getFlowClosure() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class FlowBuilderTransitionCriteriaTests. The method getFlowClosure is public but not a test method</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ RuntimeRedirectActionTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>context.getFlowScope().put("id", "1")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.RuntimeRedirectActionTests. getFlowScope() can probably be rewritten as flowScope</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert "contextRelative:/book/show/1" == ext.getExternalRedirectUrl()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.RuntimeRedirectActionTests. getExternalRedirectUrl() can probably be rewritten as externalRedirectUrl</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>31</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>context.getFlowScope().put("id", "2")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.RuntimeRedirectActionTests. getFlowScope() can probably be rewritten as flowScope</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>33</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>assert "contextRelative:/book/show/2" == ext.getExternalRedirectUrl()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.RuntimeRedirectActionTests. getExternalRedirectUrl() can probably be rewritten as externalRedirectUrl</span></p></td></tr></table></div><div class='summary'><a name='grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/webflow/support'> </a><h2 class='packageHeader'>Package: grails-test-suite-web.src.test.groovy.org.codehaus.groovy.grails.webflow.support</h2></div><div class='summary'><h3 class='fileHeader'>➥ AbstractGrailsTagAwareFlowExecutionTests.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitSetUpCallsSuper'>JUnitSetUpCallsSuper</a></td><td class='priority2'>2</td><td class='number'>64</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final void setUp() throws Exception {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagAwareFlowExecutionTests. The method setUp() does not call super.setUp()</span></p></td></tr><tr><td><a href='#JUnitTearDownCallsSuper'>JUnitTearDownCallsSuper</a></td><td class='priority2'>2</td><td class='number'>138</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final void tearDown() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagAwareFlowExecutionTests. The method tearDown() does not call super.tearDown()</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>158</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>FlowDefinition registerFlow(String flowId, Closure flowClosure) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagAwareFlowExecutionTests. The method registerFlow is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>167</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>FlowDefinition getFlowDefinition() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagAwareFlowExecutionTests. The method getFlowDefinition is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>175</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String getFlowId() { 'testFlow' }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagAwareFlowExecutionTests. The method getFlowId is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>177</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>abstract Closure getFlowClosure()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class AbstractGrailsTagAwareFlowExecutionTests. The method getFlowClosure is public but not a test method</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>15</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.runtime.InvokerHelper</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.runtime.InvokerHelper] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>40</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.webflow.definition.registry.F..itionLocator</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.webflow.definition.registry.FlowDefinitionLocator] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>111</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>appCtx = springConfig.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>120</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>flowBuilderServices.expressionParser = DefaultExpression..sionParser()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getExpressionParser() can probably be rewritten as expressionParser</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>159</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>FlowBuilder builder = new FlowBuilder(flowId, flowClosur..nRegistry())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getFlowDefinitionRegistry() can probably be rewritten as flowDefinitionRegistry</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>162</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>FlowAssembler assembler = new FlowAssembler(builder, bui..erContext())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getFlowBuilderContext() can probably be rewritten as flowBuilderContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>163</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getFlowDefinitionRegistry().registerFlowDefinition(new D..(assembler))</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getFlowDefinitionRegistry() can probably be rewritten as flowDefinitionRegistry</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>164</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return getFlowDefinitionRegistry().getFlowDefinition(flowId)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getFlowDefinitionRegistry() can probably be rewritten as flowDefinitionRegistry</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>168</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return registerFlow(getFlowId(), getFlowClosure())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getFlowId() can probably be rewritten as flowId</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>168</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return registerFlow(getFlowId(), getFlowClosure())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.support.AbstractGrailsTagAwareFlowExecutionTests. getFlowClosure() can probably be rewritten as flowClosure</span></p></td></tr></table></div><div class='summary'><a name='grails-test/src/main/groovy/grails/test'> </a><h2 class='packageHeader'>Package: grails-test.src.main.groovy.grails.test</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsMock.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>140</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def methods = demand.mockMetaClass.getMetaMethods()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.GrailsMock. getMetaMethods() can probably be rewritten as metaMethods</span></p></td></tr></table></div><div class='summary'><a name='grails-test/src/main/groovy/org/codehaus/groovy/grails/plugins/testing'> </a><h2 class='packageHeader'>Package: grails-test.src.main.groovy.org.codehaus.groovy.grails.plugins.testing</h2></div><div class='summary'><h3 class='fileHeader'>➥ AbstractGrailsMockHttpServletResponse.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>43</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>HttpServletRequest request = GrailsWebRequest.lookup().g..entRequest()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.testing.AbstractGrailsMockHttpServletResponse. getCurrentRequest() can probably be rewritten as currentRequest</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>89</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>webRequest.setOut(getWriter())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.testing.AbstractGrailsMockHttpServletResponse. getWriter() can probably be rewritten as writer</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>94</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getRedirectedUrl()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.testing.AbstractGrailsMockHttpServletResponse. getRedirectedUrl() can probably be rewritten as redirectedUrl</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>106</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (getStatus() in [301, 302]) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.testing.AbstractGrailsMockHttpServletResponse. getStatus() can probably be rewritten as status</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>110</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return super.getRedirectedUrl()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.testing.AbstractGrailsMockHttpServletResponse. getRedirectedUrl() can probably be rewritten as redirectedUrl</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsMockErrors.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.commons.GrailsClassUtils</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.commons.GrailsClassUtils] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsMockHttpServletRequest.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>455</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void delete() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockPart. The method delete is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>497</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void dispatch(javax.servlet.ServletContext context, String path) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockAsyncContext. Method parameter [context] is never referenced in the method dispatch of class org.codehaus.groovy.grails.plugins.testing.MockAsyncContext</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>501</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void complete() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class MockAsyncContext. The method complete is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>34</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import javax.servlet.DispatcherType</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [javax.servlet.DispatcherType] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>63</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>javax.servlet.DispatcherType dispatcherType;</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The javax.servlet.DispatcherType class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>339</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>multipartFiles.add(file.getName(), file);</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.testing.GrailsMockHttpServletRequest. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>396</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getFileMap().values().collect {new MockPart(it)}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.plugins.testing.GrailsMockHttpServletRequest. getFileMap() can probably be rewritten as fileMap</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>399</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>javax.servlet.http.Part getPart(String name) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The javax.servlet.http.Part class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>406</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>javax.servlet.AsyncContext startAsync() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The javax.servlet.AsyncContext class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>415</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>javax.servlet.AsyncContext startAsync(javax.servlet.Serv..tResponse) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The javax.servlet.AsyncContext class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>415</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>javax.servlet.AsyncContext startAsync(javax.servlet.Serv..tResponse) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The javax.servlet.ServletRequest class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>415</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>javax.servlet.AsyncContext startAsync(javax.servlet.Serv..tResponse) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The javax.servlet.ServletResponse class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>526</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addListener(javax.servlet.AsyncListener listener) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The javax.servlet.AsyncListener class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>530</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addListener(javax.servlet.AsyncListener listener, j..tResponse) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The javax.servlet.AsyncListener class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>530</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addListener(javax.servlet.AsyncListener listener, j..tResponse) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The javax.servlet.ServletRequest class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>530</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addListener(javax.servlet.AsyncListener listener, j..tResponse) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The javax.servlet.ServletResponse class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr></table></div><div class='summary'><a name='grails-test/src/main/groovy/org/codehaus/groovy/grails/test'> </a><h2 class='packageHeader'>Package: grails-test.src.main.groovy.org.codehaus.groovy.grails.test</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsTestTargetPattern.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>61</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>methodName = rawPattern.substring(pos + 1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.test.GrailsTestTargetPattern. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>62</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>classPattern = rawPattern.substring(0, pos)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.test.GrailsTestTargetPattern. The String.substring(int, int) method can be replaced with the subscript operator</span></p></td></tr></table></div><div class='summary'><a name='grails-test/src/main/groovy/org/codehaus/groovy/grails/test/event'> </a><h2 class='packageHeader'>Package: grails-test.src.main.groovy.org.codehaus.groovy.grails.test.event</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsTestEventConsoleReporter.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected doTestFailure(String name, failure, boolean isError) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsTestEventConsoleReporter. Method parameter [failure] is never referenced in the method doTestFailure of class org.codehaus.groovy.grails.test.event.GrailsTestEventConsoleReporter</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>42</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected doTestFailure(String name, failure, boolean isError) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsTestEventConsoleReporter. Method parameter [isError] is never referenced in the method doTestFailure of class org.codehaus.groovy.grails.test.event.GrailsTestEventConsoleReporter</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected doTestCaseEnd(String name, String out, String err) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsTestEventConsoleReporter. Method parameter [name] is never referenced in the method doTestCaseEnd of class org.codehaus.groovy.grails.test.event.GrailsTestEventConsoleReporter</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected doTestCaseEnd(String name, String out, String err) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsTestEventConsoleReporter. Method parameter [err] is never referenced in the method doTestCaseEnd of class org.codehaus.groovy.grails.test.event.GrailsTestEventConsoleReporter</span></p></td></tr></table></div><div class='summary'><a name='grails-test/src/main/groovy/org/codehaus/groovy/grails/test/junit4'> </a><h2 class='packageHeader'>Package: grails-test.src.main.groovy.org.codehaus.groovy.grails.test.junit4</h2></div><div class='summary'><h3 class='fileHeader'>➥ JUnit4GrailsTestType.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>53</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def testClasses = getTestClasses()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.test.junit4.JUnit4GrailsTestType. getTestClasses() can probably be rewritten as testClasses</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>76</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>new GrailsTestCaseRunnerBuilder(mode, getApplicationCont..getPatterns)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.test.junit4.JUnit4GrailsTestType. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr></table></div><div class='summary'><a name='grails-test/src/main/groovy/org/codehaus/groovy/grails/test/junit4/listener'> </a><h2 class='packageHeader'>Package: grails-test.src.main.groovy.org.codehaus.groovy.grails.test.junit4.listener</h2></div><div class='summary'><h3 class='fileHeader'>➥ SuiteRunListener.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testRunStarted(Description description) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SuiteRunListener. The method testRunStarted is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testRunStarted(Description description) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SuiteRunListener. Method parameter [description] is never referenced in the method testRunStarted of class org.codehaus.groovy.grails.test.junit4.listener.SuiteRunListener</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>68</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testRunFinished(Result result) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SuiteRunListener. Method parameter [result] is never referenced in the method testRunFinished of class org.codehaus.groovy.grails.test.junit4.listener.SuiteRunListener</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testIgnored(Description description) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SuiteRunListener. The method testIgnored is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>72</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void testIgnored(Description description) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class SuiteRunListener. Method parameter [description] is never referenced in the method testIgnored of class org.codehaus.groovy.grails.test.junit4.listener.SuiteRunListener</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>69</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getPerTestRunListener().finish()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.test.junit4.listener.SuiteRunListener. getPerTestRunListener() can probably be rewritten as perTestRunListener</span></p></td></tr></table></div><div class='summary'><a name='grails-test/src/main/groovy/org/codehaus/groovy/grails/test/junit4/runner'> </a><h2 class='packageHeader'>Package: grails-test.src.main.groovy.org.codehaus.groovy.grails.test.junit4.runner</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsTestCaseRunner.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.junit.runner.notification.RunNotifier</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.junit.runner.notification.RunNotifier] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.test.support.GrailsTestInterceptor</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.test.support.GrailsTestInterceptor] import is never referenced</span></p></td></tr></table></div><div class='summary'><a name='grails-test/src/main/groovy/org/codehaus/groovy/grails/test/support'> </a><h2 class='packageHeader'>Package: grails-test.src.main.groovy.org.codehaus.groovy.grails.test.support</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsTestInterceptor.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>81</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected initRequestEnvironmentIfNecessary(Closure body) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsTestInterceptor. Method parameter [body] is never referenced in the method initRequestEnvironmentIfNecessary of class org.codehaus.groovy.grails.test.support.GrailsTestInterceptor</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>84</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controllerName = getControllerName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.test.support.GrailsTestInterceptor. getControllerName() can probably be rewritten as controllerName</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsTestTransactionInterceptor.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.web.context.request.RequestContextHolder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.web.context.request.RequestContextHolder] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsTestTypeSupport.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>117</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Thread.currentThread().contextClassLoader = getTestClassLoader()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.test.support.GrailsTestTypeSupport. getTestClassLoader() can probably be rewritten as testClassLoader</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>157</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def classPathAdditions = [getSourceDir()]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.test.support.GrailsTestTypeSupport. getSourceDir() can probably be rewritten as sourceDir</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>210</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def basePath = getSourceDir().canonicalPath</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.test.support.GrailsTestTypeSupport. getSourceDir() can probably be rewritten as sourceDir</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>216</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def relativePath = filePath.substring(basePath.size() + 1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.test.support.GrailsTestTypeSupport. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>250</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getTestClassLoader().loadClass(className)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.test.support.GrailsTestTypeSupport. getTestClassLoader() can probably be rewritten as testClassLoader</span></p></td></tr></table></div><div class='summary'><a name='grails-web/src/jsp21/groovy/org/codehaus/groovy/grails/web/pages/ext/jsp'> </a><h2 class='packageHeader'>Package: grails-web.src.jsp21.groovy.org.codehaus.groovy.grails.web.pages.ext.jsp</h2></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPagesJspFactory21.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def jspCtx = servletContext.getAttribute(GroovyPagesJspA..t.getName())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory21. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (!servletContext.getAttribute(GroovyPagesJspApplicati..etName())) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory21. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>23</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>servletContext.setAttribute(GroovyPagesJspApplicationCon..e(), jspCtx)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory21. getName() can probably be rewritten as name</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPagesPageContext21.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (JspFactory.getDefaultFactory() == null) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContext21. getDefaultFactory() can probably be rewritten as defaultFactory</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>39</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def jspContext = JspFactory.getDefaultFactory().getJspAp..etContext())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContext21. getDefaultFactory() can probably be rewritten as defaultFactory</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>39</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def jspContext = JspFactory.getDefaultFactory().getJspAp..etContext())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesPageContext21. getServletContext() can probably be rewritten as servletContext</span></p></td></tr></table></div><div class='summary'><a name='grails-web/src/main/groovy/grails/gsp'> </a><h2 class='packageHeader'>Package: grails-web.src.main.groovy.grails.gsp</h2></div><div class='summary'><h3 class='fileHeader'>➥ PageRenderer.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>165</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>long getDateHeader(String name) { -1L }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderRequest. Method parameter [name] is never referenced in the method getDateHeader of class grails.gsp.PageRenderer$PageRenderRequest</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>167</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String getHeader(String name) { null }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderRequest. Method parameter [name] is never referenced in the method getHeader of class grails.gsp.PageRenderer$PageRenderRequest</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>169</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Enumeration getHeaders(String name) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderRequest. Method parameter [name] is never referenced in the method getHeaders of class grails.gsp.PageRenderer$PageRenderRequest</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>177</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>int getIntHeader(String name) { -1 }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderRequest. Method parameter [name] is never referenced in the method getIntHeader of class grails.gsp.PageRenderer$PageRenderRequest</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>191</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>boolean isUserInRole(String role) { false }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderRequest. Method parameter [role] is never referenced in the method isUserInRole of class grails.gsp.PageRenderer$PageRenderRequest</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>205</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>HttpSession getSession(boolean create) { throw new Unsup..erations") }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderRequest. Method parameter [create] is never referenced in the method getSession of class grails.gsp.PageRenderer$PageRenderRequest</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>264</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String[] getParameterValues(String name) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderRequest. Method parameter [name] is never referenced in the method getParameterValues of class grails.gsp.PageRenderer$PageRenderRequest</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>318</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>RequestDispatcher getRequestDispatcher(String path) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderRequest. Method parameter [path] is never referenced in the method getRequestDispatcher of class grails.gsp.PageRenderer$PageRenderRequest</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>322</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String getRealPath(String path) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderRequest. Method parameter [path] is never referenced in the method getRealPath of class grails.gsp.PageRenderer$PageRenderRequest</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>389</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addCookie(Cookie cookie) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method addCookie is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>389</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addCookie(Cookie cookie) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [cookie] is never referenced in the method addCookie of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>393</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>boolean containsHeader(String name) { false }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method containsHeader of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>403</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void sendError(int sc, String msg) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method sendError is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>403</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void sendError(int sc, String msg) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [sc] is never referenced in the method sendError of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>403</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void sendError(int sc, String msg) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [msg] is never referenced in the method sendError of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>407</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void sendError(int sc) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method sendError is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>407</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void sendError(int sc) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [sc] is never referenced in the method sendError of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>411</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void sendRedirect(String location) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method sendRedirect is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>411</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void sendRedirect(String location) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [location] is never referenced in the method sendRedirect of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>415</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setDateHeader(String name, long date) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method setDateHeader is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>415</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setDateHeader(String name, long date) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method setDateHeader of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>415</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setDateHeader(String name, long date) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [date] is never referenced in the method setDateHeader of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>419</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addDateHeader(String name, long date) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method addDateHeader is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>419</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addDateHeader(String name, long date) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method addDateHeader of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>419</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addDateHeader(String name, long date) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [date] is never referenced in the method addDateHeader of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>423</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setHeader(String name, String value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method setHeader is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>423</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setHeader(String name, String value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method setHeader of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>423</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setHeader(String name, String value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [value] is never referenced in the method setHeader of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>427</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addHeader(String name, String value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method addHeader is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>427</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addHeader(String name, String value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method addHeader of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>427</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addHeader(String name, String value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [value] is never referenced in the method addHeader of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>431</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setIntHeader(String name, int value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method setIntHeader is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>431</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setIntHeader(String name, int value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method setIntHeader of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>431</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setIntHeader(String name, int value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [value] is never referenced in the method setIntHeader of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>435</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addIntHeader(String name, int value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method addIntHeader is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>435</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addIntHeader(String name, int value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method addIntHeader of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>435</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void addIntHeader(String name, int value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [value] is never referenced in the method addIntHeader of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>439</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setStatus(int sc) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method setStatus is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>439</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setStatus(int sc) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [sc] is never referenced in the method setStatus of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>443</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setStatus(int sc, String sm) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method setStatus is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>443</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setStatus(int sc, String sm) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [sc] is never referenced in the method setStatus of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>443</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setStatus(int sc, String sm) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [sm] is never referenced in the method setStatus of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>451</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String getHeader(String name) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method getHeader of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>455</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Collection<String> getHeaders(String name) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [name] is never referenced in the method getHeaders of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>467</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setContentLength(int len) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method setContentLength is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>467</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setContentLength(int len) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. Method parameter [len] is never referenced in the method setContentLength of class grails.gsp.PageRenderer$PageRenderResponse</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>471</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void flushBuffer() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method flushBuffer is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>475</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void resetBuffer() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method resetBuffer is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>481</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void reset() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class PageRenderer$PageRenderResponse. The method reset is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import java.util.concurrent.ConcurrentLinkedQueue</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [java.util.concurrent.ConcurrentLinkedQueue] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.pages.GroovyPagesUriSupport</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.pages.GroovyPagesUriSupport] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.core.io.ResourceLoader</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.core.io.ResourceLoader] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>40</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.web.context.support.ServletCo..sourceLoader</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.web.context.support.ServletContextResourceLoader] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>43</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.pages.discovery.Gr..ScriptSource</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.pages.discovery.GroovyPageResourceScriptSource] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>44</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.pages.discovery.Gr..ScriptSource</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.pages.discovery.GroovyPageCompiledScriptSource] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>126</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def oldRequestAttributes = RequestContextHolder.getRequestAttributes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.gsp.PageRenderer. getRequestAttributes() can probably be rewritten as requestAttributes</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>198</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return new StringBuffer(getRequestURI())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.gsp.PageRenderer$PageRenderRequest. getRequestURI() can probably be rewritten as requestURI</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>309</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return Locale.getDefault()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.gsp.PageRenderer$PageRenderRequest. getDefault() can probably be rewritten as default</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>313</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return new IteratorEnumeration(Locale.getAvailableLocale...iterator())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.gsp.PageRenderer$PageRenderRequest. getAvailableLocales() can probably be rewritten as availableLocales</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>381</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Locale locale = Locale.getDefault()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.gsp.PageRenderer$PageRenderResponse. getDefault() can probably be rewritten as default</span></p></td></tr></table></div><div class='summary'><a name='grails-web/src/main/groovy/org/codehaus/groovy/grails/web/mapping'> </a><h2 class='packageHeader'>Package: grails-web.src.main.groovy.org.codehaus.groovy.grails.web.mapping</h2></div><div class='summary'><h3 class='fileHeader'>➥ DefaultLinkGenerator.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>64</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String link(Map attrs, String encoding = 'UTF-8') {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.DefaultLinkGenerator. The cyclomatic complexity for method [link] is [27]</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>142</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>} catch(e){}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>74</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (cp == null) cp = getContextPath()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.DefaultLinkGenerator. getContextPath() can probably be rewritten as contextPath</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>97</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controller = controllerAttribute != null ? controlle..rollerName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.DefaultLinkGenerator. getControllerName() can probably be rewritten as controllerName</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>149</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final cp = contextPathAttribute != null ? contextPathAtt..ontextPath()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.DefaultLinkGenerator. getContextPath() can probably be rewritten as contextPath</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>177</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>final cp = contextPathAttribute == null ? getContextPath..athAttribute</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.DefaultLinkGenerator. getContextPath() can probably be rewritten as contextPath</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>216</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>contextPath = requestStateLookupStrategy.getContextPath()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mapping.DefaultLinkGenerator. getContextPath() can probably be rewritten as contextPath</span></p></td></tr><tr><td><a href='#UnnecessaryElseStatement'>UnnecessaryElseStatement</a></td><td class='priority3'>3</td><td class='number'>259</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>else {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>When an if statement block ends with a return statement the else is unnecessary</span></p></td></tr><tr><td><a href='#UnnecessaryElseStatement'>UnnecessaryElseStatement</a></td><td class='priority3'>3</td><td class='number'>263</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>else {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>When an if statement block ends with a return statement the else is unnecessary</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ForwardUrlMappingInfo.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest] import is never referenced</span></p></td></tr></table></div><div class='summary'><a name='grails-web/src/main/groovy/org/codehaus/groovy/grails/web/mime'> </a><h2 class='packageHeader'>Package: grails-web.src.main.groovy.org.codehaus.groovy.grails.web.mime</h2></div><div class='summary'><h3 class='fileHeader'>➥ MimeType.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>62</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def context = webRequest?.getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.mime.MimeType. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr></table></div><div class='summary'><a name='grails-web/src/main/groovy/org/codehaus/groovy/grails/web/pages'> </a><h2 class='packageHeader'>Package: grails-web.src.main.groovy.org.codehaus.groovy.grails.web.pages</h2></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPageCompiler.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>87</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def relPackagePath = relativePath(viewsDir, gspfile.getParentFile())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageCompiler. getParentFile() can probably be rewritten as parentFile</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>119</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>gspgroovyfile.getParentFile().mkdirs()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageCompiler. getParentFile() can probably be rewritten as parentFile</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPageCompilerTask.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>58</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>classpath = new Path(getProject())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageCompilerTask. getProject() can probably be rewritten as project</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>81</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>throw new BuildException("destination [${destdir}] direc..tLocation())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageCompilerTask. getLocation() can probably be rewritten as location</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>87</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>throw new BuildException("source [${srcdir}] directory d..tLocation())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageCompilerTask. getLocation() can probably be rewritten as location</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>100</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsConsole.getInstance().updateStatus("Compiling ${gs..kagename}]")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.GroovyPageCompilerTask. getInstance() can probably be rewritten as instance</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPagesMetaUtils.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGroovyImport'>UnnecessaryGroovyImport</a></td><td class='priority3'>3</td><td class='number'>4</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import groovy.lang.MetaClass</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>methodMissingForTagLib(mc, mc.getTheClass(), gspTagLibra..ToMetaClass)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.GroovyPagesMetaUtils. getTheClass() can probably be rewritten as theClass</span></p></td></tr></table></div><div class='summary'><a name='grails-web/src/main/groovy/org/codehaus/groovy/grails/web/pages/ext/jsp'> </a><h2 class='packageHeader'>Package: grails-web.src.main.groovy.org.codehaus.groovy.grails.web.pages.ext.jsp</h2></div><div class='summary'><h3 class='fileHeader'>➥ GroovyPagesJspFactory.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PageContext getPageContext(Servlet servlet, ServletReque..oolean b1) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PageContext getPageContext(Servlet servlet, ServletReque..oolean b1) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PageContext getPageContext(Servlet servlet, ServletReque..oolean b1) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PageContext getPageContext(Servlet servlet, ServletReque..oolean b1) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PageContext getPageContext(Servlet servlet, ServletReque..oolean b1) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PageContext getPageContext(Servlet servlet, ServletReque..oolean b1) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>16</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>PageContext getPageContext(Servlet servlet, ServletReque..oolean b1) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void releasePageContext(PageContext pageContext) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>24</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return { getSpecificationVersion() } as JspEngineInfo</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.GroovyPagesJspFactory. getSpecificationVersion() can probably be rewritten as specificationVersion</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ JspTagImpl.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'>60</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void doTag(Writer targetWriter, Map attributes, Closure body) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.JspTagImpl. The cyclomatic complexity for method [doTag] is [23]</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>153</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected handleSimpleTag(SimpleTag tag, Map attributes,..pageContext,</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>62</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GroovyPagesPageContext pageContext = PageContextFactory.getCurrent();</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.JspTagImpl. getCurrent() can probably be rewritten as current</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>99</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def out = pageContext.getOut()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.JspTagImpl. getOut() can probably be rewritten as out</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>121</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>LOG.warn "Tag ${tag.getClass().getName()} returned SKIP_..rted in GSP"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.JspTagImpl. getName() can probably be rewritten as name</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ PageContextFactory.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>38</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def classLoader = Thread.currentThread().getContextClassLoader()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.PageContextFactory. getContextClassLoader() can probably be rewritten as contextClassLoader</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>51</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def request = webRequest.getCurrentRequest()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.PageContextFactory. getCurrentRequest() can probably be rewritten as currentRequest</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>56</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ServletContext servletContext = webRequest.getServletContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.PageContextFactory. getServletContext() can probably be rewritten as servletContext</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TagLibraryResolver.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>64</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def jarURLs = grailsApplication.isWarDeployed() ? getJar..().getURLs()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getJarsFromServletContext() can probably be rewritten as jarsFromServletContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>64</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def jarURLs = grailsApplication.isWarDeployed() ? getJar..().getURLs()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getURLs() can probably be rewritten as URLs</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>70</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ZipEntry entry = zipInput.getNextEntry()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getNextEntry() can probably be rewritten as nextEntry</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>76</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>entry = zipInput.getNextEntry()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getNextEntry() can probably be rewritten as nextEntry</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>86</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Resource webXml = getWebXmlFromServletContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getWebXmlFromServletContext() can probably be rewritten as webXmlFromServletContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>98</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def jarURLs = grailsApplication.isWarDeployed() ? getJar..().getURLs()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getJarsFromServletContext() can probably be rewritten as jarsFromServletContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>98</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def jarURLs = grailsApplication.isWarDeployed() ? getJar..().getURLs()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getURLs() can probably be rewritten as URLs</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>115</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def source = new InputSource(webXml.getInputStream())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getInputStream() can probably be rewritten as inputStream</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>120</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def reader = factory.newSAXParser().getXMLReader()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getXMLReader() can probably be rewritten as XMLReader</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>126</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>for (entry in webXmlReader.getTagLocations()) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getTagLocations() can probably be rewritten as tagLocations</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>157</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ZipEntry entry = zipInput.getNextEntry()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getNextEntry() can probably be rewritten as nextEntry</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>159</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def name = entry.getName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>169</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if ("taglib".equals(pullParser.getName())) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>175</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (token == XmlPullParser.START_TAG && "uri".equals(pul..etName())) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>177</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>tagLibURI = pullParser.getText()?.trim()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getText() can probably be rewritten as text</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>191</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>entry = zipInput.getNextEntry()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getNextEntry() can probably be rewritten as nextEntry</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>216</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def reader = factory.newSAXParser().getXMLReader()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.pages.ext.jsp.TagLibraryResolver. getXMLReader() can probably be rewritten as XMLReader</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TldReader.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void startElement(String nsuri, String localName, String..ttributes) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void startElement(String nsuri, String localName, String..ttributes) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>36</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void startElement(String nsuri, String localName, String..ttributes) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void endElement(String nsuri, String localName, String qName) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>46</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void endElement(String nsuri, String localName, String qName) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ WebXmlTagLibraryReader.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void startElement(String ns, String localName, String qN..ttributes) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void startElement(String ns, String localName, String qN..ttributes) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void startElement(String ns, String localName, String qN..ttributes) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>51</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void endElement(String ns, String localName, String qName) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>51</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void endElement(String ns, String localName, String qName) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>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</span></p></td></tr></table></div><div class='summary'><a name='grails-web/src/main/groovy/org/codehaus/groovy/grails/web/taglib'> </a><h2 class='packageHeader'>Package: grails-web.src.main.groovy.org.codehaus.groovy.grails.web.taglib</h2></div><div class='summary'><h3 class='fileHeader'>➥ NamespacedTagDispatcher.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>59</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GroovyPagesMetaUtils.methodMissingForTagLib(getMetaClass..lopmentMode)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.web.taglib.NamespacedTagDispatcher. getMetaClass() can probably be rewritten as metaClass</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ TemplateNamespacedTagDispatcher.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#SynchronizedOnThis'>SynchronizedOnThis</a></td><td class='priority2'>2</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>synchronized(this) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The synchronized statement uses the 'this' reference</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>3</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.CollectionUtils;</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.CollectionUtils] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGroovyImport'>UnnecessaryGroovyImport</a></td><td class='priority3'>3</td><td class='number'>5</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import java.util.Map;</span></p></td></tr></table></div><div class='summary'><a name='grails-web/src/main/groovy/org/codehaus/groovy/grails/web/util'> </a><h2 class='packageHeader'>Package: grails-web.src.main.groovy.org.codehaus.groovy.grails.web.util</h2></div><div class='summary'><h3 class='fileHeader'>➥ TypeConvertingMap.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.apache.commons.lang.builder.HashCodeBuilder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.apache.commons.lang.builder.HashCodeBuilder] import is never referenced</span></p></td></tr></table></div><div class='summary'><a name='grails-webflow/src/main/groovy/grails/test'> </a><h2 class='packageHeader'>Package: grails-webflow.src.main.groovy.grails.test</h2></div><div class='summary'><h3 class='fileHeader'>➥ WebFlowTestCase.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>60</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>abstract getFlow()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class WebFlowTestCase. The method getFlow is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>65</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String getFlowId() { "test" }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class WebFlowTestCase. The method getFlowId is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>106</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>FlowDefinition registerFlow(String flowId, Closure flowClosure) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class WebFlowTestCase. The method registerFlow is public but not a test method</span></p></td></tr><tr><td><a href='#JUnitPublicNonTestMethod'>JUnitPublicNonTestMethod</a></td><td class='priority2'>2</td><td class='number'>115</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>FlowDefinition getFlowDefinition() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class WebFlowTestCase. The method getFlowDefinition is public but not a test method</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>69</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsWebRequest webRequest = RequestContextHolder.getRe..Attributes()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.WebFlowTestCase. getRequestAttributes() can probably be rewritten as requestAttributes</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>74</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>mockServletContext = webRequest.getServletContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.WebFlowTestCase. getServletContext() can probably be rewritten as servletContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>75</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>applicationContext = WebApplicationContextUtils.getWebAp..etContext())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.WebFlowTestCase. getServletContext() can probably be rewritten as servletContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>95</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>flowBuilderServices.expressionParser = DefaultExpression..sionParser()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.WebFlowTestCase. getExpressionParser() can probably be rewritten as expressionParser</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>110</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>FlowAssembler assembler = new FlowAssembler(builder, bui..erContext())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.WebFlowTestCase. getFlowBuilderContext() can probably be rewritten as flowBuilderContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>116</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def flow = getFlow()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.WebFlowTestCase. getFlow() can probably be rewritten as flow</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>123</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return registerFlow(getFlowId(), flow)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class grails.test.WebFlowTestCase. getFlowId() can probably be rewritten as flowId</span></p></td></tr></table></div><div class='summary'><a name='grails-webflow/src/main/groovy/org/codehaus/groovy/grails/webflow'> </a><h2 class='packageHeader'>Package: grails-webflow.src.main.groovy.org.codehaus.groovy.grails.webflow</h2></div><div class='summary'><h3 class='fileHeader'>➥ WebFlowPluginSupport.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>24</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.webflow.persistence.Fl..ssionContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.webflow.persistence.FlowAwareCurrentSessionContext] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.webflow.persistence.Se..tionListener</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.webflow.persistence.SessionAwareHibernateFlowExecutionListener] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>40</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.webflow.execution.factory.Sta..stenerLoader</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.webflow.execution.factory.StaticFlowExecutionListenerLoader] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>71</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>viewFactoryCreator = viewFactoryCreator</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>71</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>viewFactoryCreator = viewFactoryCreator</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>80</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>hibernateConversationListener(org.codehaus.groovy.grails..tionManager)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The org.codehaus.groovy.grails.webflow.persistence.SessionAwareHibernateFlowExecutionListener class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>80</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>hibernateConversationListener(org.codehaus.groovy.grails..tionManager)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The org.codehaus.groovy.grails.webflow.persistence.SessionAwareHibernateFlowExecutionListener class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>81</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>executionListenerLoader(org.springframework.webflow.exec..ionListener)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The org.springframework.webflow.execution.factory.StaticFlowExecutionListenerLoader class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>81</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>executionListenerLoader(org.springframework.webflow.exec..ionListener)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The org.springframework.webflow.execution.factory.StaticFlowExecutionListenerLoader class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>82</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>sessionFactory.currentSessionContextClass = org.codehaus..ssionContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The org.codehaus.groovy.grails.webflow.persistence.FlowAwareCurrentSessionContext class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessaryPackageReference'>UnnecessaryPackageReference</a></td><td class='priority3'>3</td><td class='number'>82</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>sessionFactory.currentSessionContextClass = org.codehaus..ssionContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The org.codehaus.groovy.grails.webflow.persistence.FlowAwareCurrentSessionContext class was explicitly imported, so specifying the package name is not necessary</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>103</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>flowExecutor = flowExecutor</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>103</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>flowExecutor = flowExecutor</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>122</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def assembler = new FlowAssembler(builder, builder.getFl..erContext())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. getFlowBuilderContext() can probably be rewritten as flowBuilderContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>170</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>controller.getReference().getWrappedInstance().metaClass..rollerClass)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. getWrappedInstance() can probably be rewritten as wrappedInstance</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>170</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>controller.getReference().getWrappedInstance().metaClass..rollerClass)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. getReference() can probably be rewritten as reference</span></p></td></tr><tr><td><a href='#UnnecessaryDefInVariableDeclaration'>UnnecessaryDefInVariableDeclaration</a></td><td class='priority3'>3</td><td class='number'>172</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def FlowBuilder builder = new FlowBuilder(("${controller..lowRegistry)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. The def keyword is unneeded when a variable is declared with a type</span></p></td></tr><tr><td><a href='#UnnecessaryDefInVariableDeclaration'>UnnecessaryDefInVariableDeclaration</a></td><td class='priority3'>3</td><td class='number'>172</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def FlowBuilder builder = new FlowBuilder(("${controller..lowRegistry)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. The def keyword is unneeded when a variable is declared with a type</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>176</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>FlowAssembler flowAssembler = new FlowAssembler(builder,..erContext())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. getFlowBuilderContext() can probably be rewritten as flowBuilderContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>182</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>controller.getReference().getWrappedInstance().metaClass..entMetaClass</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. getWrappedInstance() can probably be rewritten as wrappedInstance</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>182</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>controller.getReference().getWrappedInstance().metaClass..entMetaClass</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.WebFlowPluginSupport. getReference() can probably be rewritten as reference</span></p></td></tr></table></div><div class='summary'><a name='grails-webflow/src/main/groovy/org/codehaus/groovy/grails/webflow/context/servlet'> </a><h2 class='packageHeader'>Package: grails-webflow.src.main.groovy.org.codehaus.groovy.grails.webflow.context.servlet</h2></div><div class='summary'><h3 class='fileHeader'>➥ GrailsFlowUrlHandler.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.webflow.execution.repository...onRepository</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.webflow.execution.repository.FlowExecutionRepository] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>32</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.webflow.execution.Grai..ExecutorImpl</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.webflow.execution.GrailsFlowExecutorImpl] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>68</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String actionName = flowId.substring(flowId.lastIndexOf('/')+1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.context.servlet.GrailsFlowUrlHandler. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>107</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String actionName = flowId.substring(flowId.lastIndexOf('/') + 1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.context.servlet.GrailsFlowUrlHandler. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr></table></div><div class='summary'><a name='grails-webflow/src/main/groovy/org/codehaus/groovy/grails/webflow/engine/builder'> </a><h2 class='packageHeader'>Package: grails-webflow.src.main.groovy.org.codehaus.groovy.grails.webflow.engine.builder</h2></div><div class='summary'><h3 class='fileHeader'>➥ AbstractDelegate.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryDefInVariableDeclaration'>UnnecessaryDefInVariableDeclaration</a></td><td class='priority3'>3</td><td class='number'>66</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def MetaProperty property = metaClass.getMetaProperty(name)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.AbstractDelegate. The def keyword is unneeded when a variable is declared with a type</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>67</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def ctx = getApplicationContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.AbstractDelegate. getApplicationContext() can probably be rewritten as applicationContext</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ AbstractMapper.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>123</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setValue(Object context, Object value) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class KeyExpression. The method setValue is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>123</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setValue(Object context, Object value) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class KeyExpression. Method parameter [context] is never referenced in the method setValue of class org.codehaus.groovy.grails.webflow.engine.builder.KeyExpression</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>123</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setValue(Object context, Object value) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class KeyExpression. Method parameter [value] is never referenced in the method setValue of class org.codehaus.groovy.grails.webflow.engine.builder.KeyExpression</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>125</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Class getValueType(Object context) {Object}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class KeyExpression. Method parameter [context] is never referenced in the method getValueType of class org.codehaus.groovy.grails.webflow.engine.builder.KeyExpression</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ClosureExpression.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>35</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def attrs = context?.attributes ? context.attributes : [:]</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [attrs] in class org.codehaus.groovy.grails.webflow.engine.builder.ClosureExpression is not used</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setValue(Object context, Object value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ClosureExpression. The method setValue is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setValue(Object context, Object value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ClosureExpression. Method parameter [context] is never referenced in the method setValue of class org.codehaus.groovy.grails.webflow.engine.builder.ClosureExpression</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void setValue(Object context, Object value) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ClosureExpression. Method parameter [value] is never referenced in the method setValue of class org.codehaus.groovy.grails.webflow.engine.builder.ClosureExpression</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>45</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Class getValueType(Object context) { Object }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ClosureExpression. Method parameter [context] is never referenced in the method getValueType of class org.codehaus.groovy.grails.webflow.engine.builder.ClosureExpression</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ClosureInvokingAction.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedPrivateField'>UnusedPrivateField</a></td><td class='priority2'>2</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private static final String RESULT = "result"</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The field RESULT is not used within the class org.codehaus.groovy.grails.webflow.engine.builder.ClosureInvokingAction</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>154</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch (MissingPropertyException e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>53</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>this.hasCommandObjects = noOfParams > 1 || (noOfParams =..ntext.class)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Object.class can be rewritten as Object</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>53</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>this.hasCommandObjects = noOfParams > 1 || (noOfParams =..ntext.class)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>RequestContext.class can be rewritten as RequestContext</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>73</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>prop.validate(delegate, delegate.getProperty(prop.getPro..localErrors)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.ClosureInvokingAction. getPropertyName() can probably be rewritten as propertyName</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ FlowBuilder.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>252</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch (MissingPropertyException mpe) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>262</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch (MissingPropertyException mpe) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>100</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>this.metaClass = GroovySystem.getMetaClassRegistry().get..ilder.class)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getMetaClassRegistry() can probably be rewritten as metaClassRegistry</span></p></td></tr><tr><td><a href='#UnnecessaryDotClass'>UnnecessaryDotClass</a></td><td class='priority3'>3</td><td class='number'>100</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>this.metaClass = GroovySystem.getMetaClassRegistry().get..ilder.class)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>FlowBuilder.class can be rewritten as FlowBuilder</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>113</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>super.getContext()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getContext() can probably be rewritten as context</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>124</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Flow flow = super.getFlow()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlow() can probably be rewritten as flow</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>130</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>FlowArtifactFactory flowFactory = getContext().getFlowAr..actFactory()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlowArtifactFactory() can probably be rewritten as flowArtifactFactory</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>130</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>FlowArtifactFactory flowFactory = getContext().getFlowAr..actFactory()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getContext() can probably be rewritten as context</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>171</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>state = flowFactory.createEndState(name, getFlow(), getA..ntryAction),</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlow() can probably be rewritten as flow</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>195</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>state.getExceptionHandlerSet().add(eh)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getExceptionHandlerSet() can probably be rewritten as exceptionHandlerSet</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>201</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getFlow().setStartState(startFlow)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlow() can probably be rewritten as flow</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>246</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>key = key.substring(GrailsApplicationAttributes.ERRORS.length() + 1)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>276</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getFlow(),</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlow() can probably be rewritten as flow</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>294</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def controllerClass = flowInfo.subflow.getThisObject().getClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getThisObject() can probably be rewritten as thisObject</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>306</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Class controllerClass = flowClosure.getThisObject().getClass()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getThisObject() can probably be rewritten as thisObject</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>313</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return flowFactory.createSubflowState(stateId, getFlow()..on(subflow),</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlow() can probably be rewritten as flow</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>321</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>getFlow(),</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlow() can probably be rewritten as flow</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>333</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return flowFactory.createEndState(stateId, getFlow(),</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getFlow() can probably be rewritten as flow</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>346</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ViewFactory viewFactory = flowBuilderServices.getViewFac..ViewFactory(</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getViewFactoryCreator() can probably be rewritten as viewFactoryCreator</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>348</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>flowBuilderServices.getExpressionParser(),</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getExpressionParser() can probably be rewritten as expressionParser</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>349</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>flowBuilderServices.getConversionService(),</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowBuilder. getConversionService() can probably be rewritten as conversionService</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>454</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>throw new FlowDefinitionException("Event handler in flow..etFlowId() +</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.FlowInfoCapturer. getFlowId() can probably be rewritten as flowId</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ GrailsSubflowAttributeMapper.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void mapSubflowOutput(AttributeMap output, RequestContext context) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsSubflowAttributeMapper. The method mapSubflowOutput is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void mapSubflowOutput(AttributeMap output, RequestContext context) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsSubflowAttributeMapper. Method parameter [output] is never referenced in the method mapSubflowOutput of class org.codehaus.groovy.grails.webflow.engine.builder.GrailsSubflowAttributeMapper</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>47</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void mapSubflowOutput(AttributeMap output, RequestContext context) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class GrailsSubflowAttributeMapper. Method parameter [context] is never referenced in the method mapSubflowOutput of class org.codehaus.groovy.grails.webflow.engine.builder.GrailsSubflowAttributeMapper</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ InputMapper.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryElseStatement'>UnnecessaryElseStatement</a></td><td class='priority3'>3</td><td class='number'>41</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>else {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>When an if statement block ends with a return statement the else is unnecessary</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ RuntimeRedirectAction.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return new GroovyShell(new BeanBinding(delegate)).evalua...getValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.RuntimeRedirectAction. getValue() can probably be rewritten as value</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>69</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>context.getExternalContext().requestExternalRedirect("co..ative:$url")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.RuntimeRedirectAction. getExternalContext() can probably be rewritten as externalContext</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ UriRedirectAction.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.mapping.UrlCreator</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.mapping.UrlCreator] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.web.mapping.UrlMappingsHolder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.web.mapping.UrlMappingsHolder] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessarySelfAssignment'>UnnecessarySelfAssignment</a></td><td class='priority3'>3</td><td class='number'>37</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def uri = uri</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Assignment a variable to itself should be unnecessary. Remove this dead code</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>40</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>uri = new GroovyShell(new BeanBinding(delegate)).evaluat...getValue())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.UriRedirectAction. getValue() can probably be rewritten as value</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>43</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>context.getExternalContext().requestExternalRedirect(uri)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class org.codehaus.groovy.grails.webflow.engine.builder.UriRedirectAction. getExternalContext() can probably be rewritten as externalContext</span></p></td></tr></table></div><div class='summary'><a name='scripts'> </a><h2 class='packageHeader'>Package: scripts</h2></div><div class='summary'><h3 class='fileHeader'>➥ Console.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#BusyWait'>BusyWait</a></td><td class='priority2'>2</td><td class='number'>48</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>sleep(Integer.MAX_VALUE)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Busy wait detected. Switch the usage of Thread.sleep() to a lock or gate from java.util.concurrent</span></p></td></tr><tr><td><a href='#EmptyMethod'>EmptyMethod</a></td><td class='priority2'>2</td><td class='number'>80</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void focusLost(FocusEvent e) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ConsoleFocusListener. The method focusLost is both empty and not marked with @Override</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>80</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void focusLost(FocusEvent e) {}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class ConsoleFocusListener. Method parameter [e] is never referenced in the method focusLost of class ConsoleFocusListener</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ DependencyReport.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>38</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def ivySettings = ant.project.setProperty("ivy.cache.dir..bsolutePath)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [ivySettings] in class None is not used</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ Help_.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>70</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def helpText = ""</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [helpText] in class None is not used</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>55</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>String scriptname = script.getName()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getName() can probably be rewritten as name</span></p></td></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>56</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>return new File(helpDir, scriptname.substring(0, scriptn..)) + ".txt")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. The String.substring(int, int) method can be replaced with the subscript operator</span></p></td></tr><tr><td><a href='#UnnecessaryCollectCall'>UnnecessaryCollectCall</a></td><td class='priority3'>3</td><td class='number'>68</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def scripts = pluginSettings.availableScripts.collect { it.file }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. The call to collect could probably be rewritten as a spread expression: pluginSettings.availableScripts*.file</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>112</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>grails ${scriptName} -- ${getDefaultDescription()}</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getDefaultDescription() can probably be rewritten as defaultDescription</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ListPluginUpdates.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>61</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def availablePluginVersions = getAvailablePluginVersions()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getAvailablePluginVersions() can probably be rewritten as availablePluginVersions</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>62</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def installedPluginVersions = getInstalledPluginVersions()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getInstalledPluginVersions() can probably be rewritten as installedPluginVersions</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ ListPlugins_.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>66</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginInfos = pluginSettings.getPluginInfos()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getPluginInfos() can probably be rewritten as pluginInfos</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ RefreshDependencies.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import groovy.xml.NamespaceBuilder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [groovy.xml.NamespaceBuilder] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.resolve.IvyDependencyManager</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.resolve.IvyDependencyManager] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ Stats.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessarySubstring'>UnnecessarySubstring</a></td><td class='priority3'>3</td><td class='number'>71</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>file.path.substring(baseDirPathLength) =~ info.path &&</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. The String.substring(int) method can be replaced with the subscript operator</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ Upgrade.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'/><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. The cyclomatic complexity for method [run] is [35]</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>125</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>['Config.groovy'].each() {template -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. Parentheses in the 'each' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>131</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>['BuildConfig.groovy'].each() {template -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. Parentheses in the 'each' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>138</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>['DataSource.groovy'].each() {template -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. Parentheses in the 'each' method call are unnecessary and can be removed.</span></p></td></tr><tr><td><a href='#UnnecessaryParenthesesForMethodCallWithClosure'>UnnecessaryParenthesesForMethodCallWithClosure</a></td><td class='priority3'>3</td><td class='number'>146</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>['UrlMappings.groovy'].each() {template -></span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. Parentheses in the 'each' method call are unnecessary and can be removed.</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _GrailsArgParsing.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (getBinding().variables.containsKey("_grails_arg_pars..ed")) return</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getBinding() can probably be rewritten as binding</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _GrailsBootstrap.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryCollectCall'>UnnecessaryCollectCall</a></td><td class='priority3'>3</td><td class='number'>65</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def locations = new ArrayList(grailsSettings.pluginDirec..olutePath })</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. The call to collect could probably be rewritten as a spread expression: grailsSettings.pluginDirectories*.absolutePath</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _GrailsClasspath.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (getBinding().variables.containsKey("_grails_classpat..ed")) return</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getBinding() can probably be rewritten as binding</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _GrailsClean.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (getBinding().variables.containsKey("_grails_clean_called")) return</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getBinding() can probably be rewritten as binding</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>48</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ant.delete(dir:classesDirPath)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>49</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ant.delete(dir:pluginClassesDirPath, failonerror:false)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>50</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ant.delete(dir:resourcesDirPath)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>51</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ant.delete(dir:testDirPath)</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>ant.delete(failonerror:false, includeemptydirs: true) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _GrailsCreateArtifacts.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'/><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. The cyclomatic complexity for method [run] is [26]</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _GrailsDocs.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'/><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. The cyclomatic complexity for method [run] is [30]</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>209</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def context = DocumentationContext.getInstance()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getInstance() can probably be rewritten as instance</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>254</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>publisher.license = ""</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>255</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>publisher.copyright = ""</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>256</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>publisher.footer = ""</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>257</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>publisher.engineProperties = config?.grails?.doc</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _GrailsEvents.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (getBinding().variables.containsKey("_grails_events_c..ed")) return</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getBinding() can probably be rewritten as binding</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _GrailsInit.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.core.io.FileSystemResource</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.core.io.FileSystemResource] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.GrailsNameUtils</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.GrailsNameUtils] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>31</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (getBinding().variables.containsKey("_init_called")) return</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getBinding() can probably be rewritten as binding</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _GrailsPackage.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (getBinding().variables.containsKey("_grails_package_..ed")) return</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getBinding() can probably be rewritten as binding</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _GrailsPluginDev.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedPrivateMethod'>UnusedPrivateMethod</a></td><td class='priority2'>2</td><td class='number'>130</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private loadBasePlugin() {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The method loadBasePlugin is not used within _GrailsPluginDev.groovy</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import groovy.xml.MarkupBuilder</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [groovy.xml.MarkupBuilder] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>18</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.GrailsNameUtils</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.GrailsNameUtils] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.PluginBuildSettings</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.PluginBuildSettings] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.apache.commons.io.FilenameUtils</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.apache.commons.io.FilenameUtils] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>22</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.apache.ivy.core.report.ArtifactDownloadReport</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.apache.ivy.core.report.ArtifactDownloadReport] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>64</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def descriptor = pluginSettings.getBasePluginDescriptor()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getBasePluginDescriptor() can probably be rewritten as basePluginDescriptor</span></p></td></tr><tr><td><a href='#UnnecessaryCollectCall'>UnnecessaryCollectCall</a></td><td class='priority3'>3</td><td class='number'>104</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>packager.jarFiles = deps.collect { it.localFile }</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. The call to collect could probably be rewritten as a spread expression: deps*.localFile</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _GrailsPlugins.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import groovy.xml.dom.DOMCategory</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [groovy.xml.dom.DOMCategory] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.plugins.GrailsPluginInfo</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.plugins.GrailsPluginInfo] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.resolve.PluginResolveEngine</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.resolve.PluginResolveEngine] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.BuildSettings</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.BuildSettings] import is never referenced</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _GrailsRun.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'/><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. The cyclomatic complexity for method [run] is [24]</span></p></td></tr><tr><td><a href='#UnusedMethodParameter'>UnusedMethodParameter</a></td><td class='priority2'>2</td><td class='number'>183</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>void actionPerformed(ActionEvent e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None$1. Method parameter [e] is never referenced in the method actionPerformed of class None$1</span></p></td></tr><tr><td><a href='#UnnecessaryGroovyImport'>UnnecessaryGroovyImport</a></td><td class='priority3'>3</td><td class='number'>24</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import java.net.ServerSocket</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>128</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>Metadata.getCurrent().put(Metadata.WAR_DEPLOYED, "true")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getCurrent() can probably be rewritten as current</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _GrailsSettings.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>19</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.GrailsNameUtils</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.GrailsNameUtils] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>21</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.Metadata</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.Metadata] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>25</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.core.io.ClassPathResource</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.core.io.ClassPathResource] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.core.io.FileSystemResource</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.core.io.FileSystemResource] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.core.io.Resource</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.core.io.Resource] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.core.io.support.PathMatchingR..ternResolver</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.core.io.support.PathMatchingResourcePatternResolver] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.springframework.util.FileCopyUtils</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.springframework.util.FileCopyUtils] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>40</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (getBinding().variables.containsKey("_settings_called")) return</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getBinding() can probably be rewritten as binding</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>76</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (grailsSettings.defaultEnv && getBinding().variables...riptEnv")) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getBinding() can probably be rewritten as binding</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>88</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (getBinding().variables.containsKey("scriptScope")) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getBinding() can probably be rewritten as binding</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _GrailsTest.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'/><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. The cyclomatic complexity for method [run] is [53]</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.GrailsUtil</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.GrailsUtil] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>27</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.test.report.junit.JUni..portsFactory</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.test.report.junit.JUnitReportsFactory] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>33</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.test.event.GrailsTestE..soleReporter</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.test.event.GrailsTestEventConsoleReporter] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>126</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (reRunTests) testNames = getFailedTests()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getFailedTests() can probably be rewritten as failedTests</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _GrailsWar.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'/><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. The cyclomatic complexity for method [run] is [32]</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>191</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def compileScopePluginInfo = ps.compileScopePluginInfo</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [compileScopePluginInfo] in class None is not used</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>192</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def compileScopePluginInfos = ps.getCompileScopedSupport..luginInfos()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getCompileScopedSupportedPluginInfos() can probably be rewritten as compileScopedSupportedPluginInfos</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>193</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def resourceList = ps.getCompileScopedArtefactResources()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getCompileScopedArtefactResources() can probably be rewritten as compileScopedArtefactResources</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>219</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>attribute(name:"Bundle-Version",value:"${metadata.getApp..Version()}")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getApplicationVersion() can probably be rewritten as applicationVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>225</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>switch (metadata.getServletVersion()) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getServletVersion() can probably be rewritten as servletVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>258</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>attribute(name:"Implementation-Version",value:"${metadat..Version()}")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getApplicationVersion() can probably be rewritten as applicationVersion</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>259</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>attribute(name:"Grails-Version",value:"${metadata.getGra..Version()}")</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getGrailsVersion() can probably be rewritten as grailsVersion</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>334</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>protected def createDescriptorInternal(pluginInfos, resourceList) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. The def keyword is unneeded when a method is marked protected</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>395</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private def warPluginsInternal(pluginInfos) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. The def keyword is unneeded when a method is marked private</span></p></td></tr><tr><td><a href='#UnnecessaryDefInMethodDeclaration'>UnnecessaryDefInMethodDeclaration</a></td><td class='priority3'>3</td><td class='number'>405</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>private def warPluginForPluginInfo(GrailsPluginInfo info) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. The def keyword is unneeded when a method is marked private</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>497</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def version = metadata.getApplicationVersion()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getApplicationVersion() can probably be rewritten as applicationVersion</span></p></td></tr></table></div><div class='summary'><h3 class='fileHeader'>➥ _PluginDependencies.groovy</h3><table border='1'><tr class='tableHeader'><th>Rule Name</th><th>Priority</th><th>Line #</th><th>Source Line / Message</th></tr><tr><td><a href='#CyclomaticComplexity'>CyclomaticComplexity</a></td><td class='priority2'>2</td><td class='number'/><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>true</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. The cyclomatic complexity for method [run] is [32]</span></p></td></tr><tr><td><a href='#UnusedVariable'>UnusedVariable</a></td><td class='priority2'>2</td><td class='number'>151</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def application</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The variable [application] in class None is not used</span></p></td></tr><tr><td><a href='#EmptyCatchBlock'>EmptyCatchBlock</a></td><td class='priority2'>2</td><td class='number'>302</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>catch (e) {</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The catch block is empty</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>17</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.BuildSettings</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.BuildSettings] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>20</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import grails.util.PluginBuildSettings</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [grails.util.PluginBuildSettings] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>26</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.control.CompilationUnit</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.control.CompilationUnit] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>28</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.documentation.DocumentationContext</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.documentation.DocumentationContext] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>29</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.documentation.DocumentedMethod</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.documentation.DocumentedMethod] import is never referenced</span></p></td></tr><tr><td><a href='#UnusedImport'>UnusedImport</a></td><td class='priority3'>3</td><td class='number'>30</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>import org.codehaus.groovy.grails.documentation.DocumentedProperty</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The [org.codehaus.groovy.grails.documentation.DocumentedProperty] import is never referenced</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>52</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>if (getBinding().variables.containsKey("_plugin_dependen..ed")) return</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getBinding() can probably be rewritten as binding</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>147</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>def pluginFiles = pluginSettings.getPluginDescriptorsFor..nvironment()</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getPluginDescriptorsForCurrentEnvironment() can probably be rewritten as pluginDescriptorsForCurrentEnvironment</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>308</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>pluginInstallEngine.pluginDirVariableStore = binding</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryObjectReferences'>UnnecessaryObjectReferences</a></td><td class='priority3'>3</td><td class='number'>309</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>pluginInstallEngine.pluginScriptRunner = runPluginScript</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>The code could be more concise by using a with() or identity() block</span></p></td></tr><tr><td><a href='#UnnecessaryGetter'>UnnecessaryGetter</a></td><td class='priority3'>3</td><td class='number'>317</td><td><p class='violationInfo'><span class='violationInfoPrefix'>[SRC]</span><span class='sourceCode'>GrailsResourceLoaderHolder.resourceLoader = new GrailsRe..vironment())</span></p><p class='violationInfo'><span class='violationInfoPrefix'>[MSG]</span><span class='violationMessage'>Violation in class None. getArtefactResourcesForCurrentEnvironment() can probably be rewritten as artefactResourcesForCurrentEnvironment</span></p></td></tr></table></div><div class='summary'><h2>Rule Descriptions</h2><table border='1'><tr class='tableHeader'><th class='ruleDescriptions'>#</th><th class='ruleDescriptions'>Rule Name</th><th class='ruleDescriptions'>Description</th></tr><tr class='ruleDescriptions'><a name='AddEmptyString'/><td>1</td><td class='ruleName priority2'>AddEmptyString</td><td>Finds empty string literals which are being added. This is an inefficient way to convert any type to a String.</td></tr><tr class='ruleDescriptions'><a name='AssertWithinFinallyBlock'/><td>2</td><td class='ruleName priority2'>AssertWithinFinallyBlock</td><td>Checks for <em>assert</em> statements within a <em>finally</em> block. An <em>assert</em> can throw an exception, hiding the original exception, if there is one.</td></tr><tr class='ruleDescriptions'><a name='AssignmentInConditional'/><td>3</td><td class='ruleName priority2'>AssignmentInConditional</td><td>An assignment operator (=) was used in a conditional test. This is usually a typo, and the comparison operator (==) was intended.</td></tr><tr class='ruleDescriptions'><a name='BigDecimalInstantiation'/><td>4</td><td class='ruleName priority2'>BigDecimalInstantiation</td><td>Checks for calls to the <em>BigDecimal</em> constructors that take a <em>double</em> parameter, which may result in an unexpected <em>BigDecimal</em> value.</td></tr><tr class='ruleDescriptions'><a name='BitwiseOperatorInConditional'/><td>5</td><td class='ruleName priority2'>BitwiseOperatorInConditional</td><td>Checks for bitwise operations in conditionals, if you need to do a bitwise operation then it is best practive to extract a temp variable.</td></tr><tr class='ruleDescriptions'><a name='BooleanGetBoolean'/><td>6</td><td class='ruleName priority2'>BooleanGetBoolean</td><td>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'].</td></tr><tr class='ruleDescriptions'><a name='BrokenNullCheck'/><td>7</td><td class='ruleName priority2'>BrokenNullCheck</td><td>Looks for faulty checks for null that can cause a <em>NullPointerException</em>.</td></tr><tr class='ruleDescriptions'><a name='BrokenOddnessCheck'/><td>8</td><td class='ruleName priority2'>BrokenOddnessCheck</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='BusyWait'/><td>9</td><td class='ruleName priority2'>BusyWait</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='ChainedTest'/><td>10</td><td class='ruleName priority2'>ChainedTest</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='ClassForName'/><td>11</td><td class='ruleName priority2'>ClassForName</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='ComparisonOfTwoConstants'/><td>12</td><td class='ruleName priority2'>ComparisonOfTwoConstants</td><td>Checks for expressions where a comparison operator or <em>equals()</em> or <em>compareTo()</em> is used to compare two constants to each other or two literals that contain only constant values., e.g.: <em>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]</em>.</td></tr><tr class='ruleDescriptions'><a name='ComparisonWithSelf'/><td>13</td><td class='ruleName priority2'>ComparisonWithSelf</td><td>Checks for expressions where a comparison operator or <em>equals()</em> or <em>compareTo()</em> is used to compare a variable to itself, e.g.: <em>x == x, x != x, x <=> x, x < x, x =>= x, x.equals(x) or x.compareTo(x)</em>, where <em>x</em> is a variable.</td></tr><tr class='ruleDescriptions'><a name='ConsecutiveLiteralAppends'/><td>14</td><td class='ruleName priority2'>ConsecutiveLiteralAppends</td><td>Violations occur when method calls to append(Object) are chained together with literals as parameters. The chained calls can be joined into one invocation.</td></tr><tr class='ruleDescriptions'><a name='ConsecutiveStringConcatenation'/><td>15</td><td class='ruleName priority3'>ConsecutiveStringConcatenation</td><td>Catches concatenation of two string literals on the same line. These can safely by joined.</td></tr><tr class='ruleDescriptions'><a name='ConstantAssertExpression'/><td>16</td><td class='ruleName priority3'>ConstantAssertExpression</td><td>Checks for <em>assert</em> statements where the assert boolean condition expression is a constant or literal value.</td></tr><tr class='ruleDescriptions'><a name='ConstantIfExpression'/><td>17</td><td class='ruleName priority2'>ConstantIfExpression</td><td>Checks for <em>if</em> statements with a constant value for the if expression, such as <em>true</em>, <em>false</em>, <em>null</em>, or a literal constant value.</td></tr><tr class='ruleDescriptions'><a name='ConstantTernaryExpression'/><td>18</td><td class='ruleName priority2'>ConstantTernaryExpression</td><td>Checks for ternary expressions with a constant value for the boolean expression, such as <em>true</em>, <em>false</em>, <em>null</em>, or a literal constant value.</td></tr><tr class='ruleDescriptions'><a name='CoupledTestCase'/><td>19</td><td class='ruleName priority2'>CoupledTestCase</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='CyclomaticComplexity'/><td>20</td><td class='ruleName priority2'>CyclomaticComplexity</td><td>Checks the cyclomatic complexity for methods/classes.A method (or "closure field") with a cyclomatic complexity value greater than the <em>maxMethodComplexity</em> property (20) causes a violation. Likewise, a class that has an (average method) cyclomatic complexityvalue greater than the <em>maxClassAverageMethodComplexity</em> property (20) causes a violation.</td></tr><tr class='ruleDescriptions'><a name='DeadCode'/><td>21</td><td class='ruleName priority2'>DeadCode</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='DoubleCheckedLocking'/><td>22</td><td class='ruleName priority2'>DoubleCheckedLocking</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='DoubleNegative'/><td>23</td><td class='ruleName priority2'>DoubleNegative</td><td>There is no point in using a double negative, it is always positive. For instance <em>!!x</em> can always be simplified to x. And <em>!(!x)</em> can as well.</td></tr><tr class='ruleDescriptions'><a name='DuplicateCaseStatement'/><td>24</td><td class='ruleName priority2'>DuplicateCaseStatement</td><td>Check for duplicate <em>case</em> statements in a <em>switch</em> block, such as two equal integers or strings.</td></tr><tr class='ruleDescriptions'><a name='DuplicateImport'/><td>25</td><td class='ruleName priority3'>DuplicateImport</td><td>Duplicate import statements are unnecessary.</td></tr><tr class='ruleDescriptions'><a name='DuplicateMapKey'/><td>26</td><td class='ruleName priority2'>DuplicateMapKey</td><td>A map literal is created with duplicated key. The map entry will be overwritten.</td></tr><tr class='ruleDescriptions'><a name='DuplicateSetValue'/><td>27</td><td class='ruleName priority2'>DuplicateSetValue</td><td>A Set literal is created with duplicate constant value. A set cannot contain two elements with the same value.</td></tr><tr class='ruleDescriptions'><a name='EmptyCatchBlock'/><td>28</td><td class='ruleName priority2'>EmptyCatchBlock</td><td>In most cases, exceptions should not be caught and ignored (swallowed).</td></tr><tr class='ruleDescriptions'><a name='EmptyElseBlock'/><td>29</td><td class='ruleName priority2'>EmptyElseBlock</td><td>Empty <em>else</em> blocks are confusing and serve no purpose.</td></tr><tr class='ruleDescriptions'><a name='EmptyFinallyBlock'/><td>30</td><td class='ruleName priority2'>EmptyFinallyBlock</td><td>Empty <em>finally</em> blocks are confusing and serve no purpose.</td></tr><tr class='ruleDescriptions'><a name='EmptyForStatement'/><td>31</td><td class='ruleName priority2'>EmptyForStatement</td><td>Empty <em>for</em> statements are confusing and serve no purpose.</td></tr><tr class='ruleDescriptions'><a name='EmptyIfStatement'/><td>32</td><td class='ruleName priority2'>EmptyIfStatement</td><td>Empty <em>if</em> statements are confusing and serve no purpose.</td></tr><tr class='ruleDescriptions'><a name='EmptyInstanceInitializer'/><td>33</td><td class='ruleName priority2'>EmptyInstanceInitializer</td><td>An empty class instance initializer was found. It is safe to remove it.</td></tr><tr class='ruleDescriptions'><a name='EmptyMethod'/><td>34</td><td class='ruleName priority2'>EmptyMethod</td><td>A method was found without an implementation. If the method is overriding or implementing a parent method, then mark it with the @Override annotation.</td></tr><tr class='ruleDescriptions'><a name='EmptyStaticInitializer'/><td>35</td><td class='ruleName priority2'>EmptyStaticInitializer</td><td>An empty static initializer was found. It is safe to remove it.</td></tr><tr class='ruleDescriptions'><a name='EmptySwitchStatement'/><td>36</td><td class='ruleName priority2'>EmptySwitchStatement</td><td>Empty <em>switch</em> statements are confusing and serve no purpose.</td></tr><tr class='ruleDescriptions'><a name='EmptySynchronizedStatement'/><td>37</td><td class='ruleName priority2'>EmptySynchronizedStatement</td><td>Empty <em>synchronized</em> statements are confusing and serve no purpose.</td></tr><tr class='ruleDescriptions'><a name='EmptyTryBlock'/><td>38</td><td class='ruleName priority2'>EmptyTryBlock</td><td>Empty <em>try</em> blocks are confusing and serve no purpose.</td></tr><tr class='ruleDescriptions'><a name='EmptyWhileStatement'/><td>39</td><td class='ruleName priority2'>EmptyWhileStatement</td><td>Empty <em>while</em> statements are confusing and serve no purpose.</td></tr><tr class='ruleDescriptions'><a name='EqualsAndHashCode'/><td>40</td><td class='ruleName priority2'>EqualsAndHashCode</td><td>If either the <em>boolean equals(Object)</em> or the <em>int hashCode()</em> methods are overridden within a class, then both must be overridden.</td></tr><tr class='ruleDescriptions'><a name='EqualsOverloaded'/><td>41</td><td class='ruleName priority2'>EqualsOverloaded</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='ExplicitGarbageCollection'/><td>42</td><td class='ruleName priority2'>ExplicitGarbageCollection</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='ForLoopShouldBeWhileLoop'/><td>43</td><td class='ruleName priority3'>ForLoopShouldBeWhileLoop</td><td>A for loop without an init and update statement can be simplified to a while loop.</td></tr><tr class='ruleDescriptions'><a name='HardCodedWindowsFileSeparator'/><td>44</td><td class='ruleName priority2'>HardCodedWindowsFileSeparator</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='HardCodedWindowsRootDirectory'/><td>45</td><td class='ruleName priority2'>HardCodedWindowsRootDirectory</td><td>This rule find cases where a <em>File</em> object is constructed with a windows-based path. This is not portable, and using the <em>File.listRoots()</em> method is a better alternative.</td></tr><tr class='ruleDescriptions'><a name='ImportFromSamePackage'/><td>46</td><td class='ruleName priority3'>ImportFromSamePackage</td><td>An import of a class that is within the same package is unnecessary.</td></tr><tr class='ruleDescriptions'><a name='ImportFromSunPackages'/><td>47</td><td class='ruleName priority2'>ImportFromSunPackages</td><td>Avoid importing anything from the 'sun.*' packages. These packages are not portable and are likely to change.</td></tr><tr class='ruleDescriptions'><a name='InconsistentPropertyLocking'/><td>48</td><td class='ruleName priority2'>InconsistentPropertyLocking</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='InconsistentPropertySynchronization'/><td>49</td><td class='ruleName priority2'>InconsistentPropertySynchronization</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='IntegerGetInteger'/><td>50</td><td class='ruleName priority2'>IntegerGetInteger</td><td>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'].</td></tr><tr class='ruleDescriptions'><a name='JUnitAssertAlwaysFails'/><td>51</td><td class='ruleName priority2'>JUnitAssertAlwaysFails</td><td>Checks for JUnit <em>assert()</em> method calls with constant arguments such that the assertion always fails. This includes: <em>assertTrue(false)</em>, <em>assertFalse(true)</em> and <em>assertNull(CONSTANT)</em>.</td></tr><tr class='ruleDescriptions'><a name='JUnitAssertAlwaysSucceeds'/><td>52</td><td class='ruleName priority2'>JUnitAssertAlwaysSucceeds</td><td>Checks for JUnit <em>assert()</em> method calls with constant arguments such that the assertion always succeeds. This includes: <em>assertTrue(true)</em>, <em>assertFalse(false)</em> and <em>assertNull(null)</em>.</td></tr><tr class='ruleDescriptions'><a name='JUnitFailWithoutMessage'/><td>53</td><td class='ruleName priority2'>JUnitFailWithoutMessage</td><td>This rule detects JUnit calling the <em>fail()</em> method without an argument. For better error reporting you should always provide a message.</td></tr><tr class='ruleDescriptions'><a name='JUnitPublicNonTestMethod'/><td>54</td><td class='ruleName priority2'>JUnitPublicNonTestMethod</td><td>Checks if a JUnit test class contains public methods other than standard test methods, JUnit framework methods or methods with JUnit annotations.</td></tr><tr class='ruleDescriptions'><a name='JUnitSetUpCallsSuper'/><td>55</td><td class='ruleName priority2'>JUnitSetUpCallsSuper</td><td>Checks that if the JUnit <em>setUp()</em> method is defined, that it includes a call to <em>super.setUp()</em>.</td></tr><tr class='ruleDescriptions'><a name='JUnitTearDownCallsSuper'/><td>56</td><td class='ruleName priority2'>JUnitTearDownCallsSuper</td><td>Checks that if the JUnit <em>tearDown()</em> method is defined, that it includes a call to <em>super.tearDown()</em>.</td></tr><tr class='ruleDescriptions'><a name='JUnitTestMethodWithoutAssert'/><td>57</td><td class='ruleName priority2'>JUnitTestMethodWithoutAssert</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='JUnitUnnecessarySetUp'/><td>58</td><td class='ruleName priority3'>JUnitUnnecessarySetUp</td><td>Checks for JUnit <em>setUp()</em> methods that contain only a call to <em>super.setUp()</em>.</td></tr><tr class='ruleDescriptions'><a name='JUnitUnnecessaryTearDown'/><td>59</td><td class='ruleName priority3'>JUnitUnnecessaryTearDown</td><td>Checks for JUnit <em>tearDown()</em> methods that contain only a call to <em>super.tearDown()</em>.</td></tr><tr class='ruleDescriptions'><a name='MisorderedStaticImports'/><td>60</td><td class='ruleName priority3'>MisorderedStaticImports</td><td>Static imports should never be declared after nonstatic imports.</td></tr><tr class='ruleDescriptions'><a name='NestedSynchronization'/><td>61</td><td class='ruleName priority2'>NestedSynchronization</td><td>Nested synchronized statements should be avoided. Nested synchronized statements are either useless (if the lock objects are identical) or prone to deadlock.</td></tr><tr class='ruleDescriptions'><a name='RandomDoubleCoercedToZero'/><td>62</td><td class='ruleName priority2'>RandomDoubleCoercedToZero</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='RemoveAllOnSelf'/><td>63</td><td class='ruleName priority2'>RemoveAllOnSelf</td><td>Don't use <em>removeAll</em> to clear a collection. If you want to remove all elements from a collection c, use c.clear, not c.removeAll(c). Calling <em>c.removeAll(c)</em> to clear a collection is less clear, susceptible to errors from typos, less efficient and for some collections, might throw a <em>ConcurrentModificationException</em>.</td></tr><tr class='ruleDescriptions'><a name='ReturnFromFinallyBlock'/><td>64</td><td class='ruleName priority2'>ReturnFromFinallyBlock</td><td>Returning from a <em>finally</em> block is confusing and can hide the original exception.</td></tr><tr class='ruleDescriptions'><a name='SpockIgnoreRestUsed'/><td>65</td><td class='ruleName priority2'>SpockIgnoreRestUsed</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='StaticCalendarField'/><td>66</td><td class='ruleName priority2'>StaticCalendarField</td><td><em>Calendar</em> objects should not be used as static fields. <em>Calendars</em> are inherently unsafe for multihtreaded use. Sharing a single instance across thread boundaries without proper synchronization will result in erratic behavior of the application.</td></tr><tr class='ruleDescriptions'><a name='StaticConnection'/><td>67</td><td class='ruleName priority2'>StaticConnection</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='StaticDateFormatField'/><td>68</td><td class='ruleName priority2'>StaticDateFormatField</td><td><em>DateFormat</em> objects should not be used as static fields. <em>DateFormat</em> are inherently unsafe for multithreaded use. Sharing a single instance across thread boundaries without proper synchronization will result in erratic behavior of the application.</td></tr><tr class='ruleDescriptions'><a name='StaticMatcherField'/><td>69</td><td class='ruleName priority2'>StaticMatcherField</td><td><em>Matcher</em> objects should not be used as static fields. <em>Matcher</em> 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.</td></tr><tr class='ruleDescriptions'><a name='StaticSimpleDateFormatField'/><td>70</td><td class='ruleName priority2'>StaticSimpleDateFormatField</td><td><em>SimpleDateFormat</em> objects should not be used as <em>static</em> fields. <em>SimpleDateFormat</em> 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.</td></tr><tr class='ruleDescriptions'><a name='SynchronizedMethod'/><td>71</td><td class='ruleName priority2'>SynchronizedMethod</td><td>This rule reports uses of the <em>synchronized</em> 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.</td></tr><tr class='ruleDescriptions'><a name='SynchronizedOnBoxedPrimitive'/><td>72</td><td class='ruleName priority2'>SynchronizedOnBoxedPrimitive</td><td>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</td></tr><tr class='ruleDescriptions'><a name='SynchronizedOnGetClass'/><td>73</td><td class='ruleName priority2'>SynchronizedOnGetClass</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='SynchronizedOnReentrantLock'/><td>74</td><td class='ruleName priority2'>SynchronizedOnReentrantLock</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='SynchronizedOnString'/><td>75</td><td class='ruleName priority2'>SynchronizedOnString</td><td>Synchronization on a String field can lead to deadlock because Strings are interned by the JVM and can be shared.</td></tr><tr class='ruleDescriptions'><a name='SynchronizedOnThis'/><td>76</td><td class='ruleName priority2'>SynchronizedOnThis</td><td>This rule reports uses of the <em>synchronized</em> 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.</td></tr><tr class='ruleDescriptions'><a name='SynchronizedReadObjectMethod'/><td>77</td><td class='ruleName priority2'>SynchronizedReadObjectMethod</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='SystemRunFinalizersOnExit'/><td>78</td><td class='ruleName priority2'>SystemRunFinalizersOnExit</td><td>Method calls to <em>System.runFinalizersOnExit()</em> 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.</td></tr><tr class='ruleDescriptions'><a name='ThreadGroup'/><td>79</td><td class='ruleName priority2'>ThreadGroup</td><td>Avoid using ThreadGroup; although it is intended to be used in a threaded environment it contains methods that are not thread safe.</td></tr><tr class='ruleDescriptions'><a name='ThreadLocalNotStaticFinal'/><td>80</td><td class='ruleName priority2'>ThreadLocalNotStaticFinal</td><td><em>ThreadLocal</em> fields should be <em>static</em> and <em>final</em>. In the most common case a <em>java.lang.ThreadLocal</em> instance associates state with a thread. A non-<em>static</em> non-<em>final</em> <em>java.lang.ThreadLocal</em> 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.</td></tr><tr class='ruleDescriptions'><a name='ThreadYield'/><td>81</td><td class='ruleName priority2'>ThreadYield</td><td>Method calls to <em>Thread.yield()</em> should not be allowed. This method has no useful guaranteed semantics, and is often used by inexperienced programmers to mask race conditions.</td></tr><tr class='ruleDescriptions'><a name='ThrowExceptionFromFinallyBlock'/><td>82</td><td class='ruleName priority2'>ThrowExceptionFromFinallyBlock</td><td>Throwing an exception from a <em>finally</em> block is confusing and can hide the original exception.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryBigDecimalInstantiation'/><td>83</td><td class='ruleName priority3'>UnnecessaryBigDecimalInstantiation</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryBigIntegerInstantiation'/><td>84</td><td class='ruleName priority3'>UnnecessaryBigIntegerInstantiation</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryBooleanExpression'/><td>85</td><td class='ruleName priority3'>UnnecessaryBooleanExpression</td><td>Checks for unnecessary boolean expressions, including ANDing (&&) or ORing (||) with <em>true</em>, <em>false</em>, <em>null</em>, or a Map/List/String/Number literal. Also checks for negation (!) of <em>true</em>, <em>false</em>, <em>null</em>, or a Map/List/String/Number literal.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryBooleanInstantiation'/><td>86</td><td class='ruleName priority3'>UnnecessaryBooleanInstantiation</td><td>Use <em>Boolean.valueOf()</em> for variable values or <em>Boolean.TRUE</em> and <em>Boolean.FALSE</em> for constant values instead of calling the <em>Boolean()</em> constructor directly or calling <em>Boolean.valueOf(true)</em> or <em>Boolean.valueOf(false)</em>.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryCallForLastElement'/><td>87</td><td class='ruleName priority3'>UnnecessaryCallForLastElement</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryCallToSubstring'/><td>88</td><td class='ruleName priority3'>UnnecessaryCallToSubstring</td><td>Calling String.substring(0) always returns the original string. This code is meaningless.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryCatchBlock'/><td>89</td><td class='ruleName priority3'>UnnecessaryCatchBlock</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryCollectCall'/><td>90</td><td class='ruleName priority3'>UnnecessaryCollectCall</td><td>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).</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryCollectionCall'/><td>91</td><td class='ruleName priority3'>UnnecessaryCollectionCall</td><td>Useless call to collections. This call doesn't make sense. For any collection c, calling <em>c.containsAll(c)</em> should always be true, and <em>c.retainAll(c)</em> should have no effect.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryConstructor'/><td>92</td><td class='ruleName priority3'>UnnecessaryConstructor</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryDefInFieldDeclaration'/><td>93</td><td class='ruleName priority3'>UnnecessaryDefInFieldDeclaration</td><td>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 = {}.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryDefInMethodDeclaration'/><td>94</td><td class='ruleName priority3'>UnnecessaryDefInMethodDeclaration</td><td>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() {}'.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryDefInVariableDeclaration'/><td>95</td><td class='ruleName priority3'>UnnecessaryDefInVariableDeclaration</td><td>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'.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryDotClass'/><td>96</td><td class='ruleName priority3'>UnnecessaryDotClass</td><td>To make a reference to a class, it is unnecessary to specify the '.class' identifier. For instance String.class can be shortened to String.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryDoubleInstantiation'/><td>97</td><td class='ruleName priority3'>UnnecessaryDoubleInstantiation</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryElseStatement'/><td>98</td><td class='ruleName priority3'>UnnecessaryElseStatement</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryFail'/><td>99</td><td class='ruleName priority2'>UnnecessaryFail</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryFinalOnPrivateMethod'/><td>100</td><td class='ruleName priority3'>UnnecessaryFinalOnPrivateMethod</td><td>A private method is marked final. Private methods cannot be overridden, so marking it final is unnecessary.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryFloatInstantiation'/><td>101</td><td class='ruleName priority3'>UnnecessaryFloatInstantiation</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryGetter'/><td>102</td><td class='ruleName priority3'>UnnecessaryGetter</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryGroovyImport'/><td>103</td><td class='ruleName priority3'>UnnecessaryGroovyImport</td><td>A Groovy file does not need to include an import for classes from <em>java.lang</em>, <em>java.util</em>, <em>java.io</em>, <em>java.net</em>, <em>groovy.lang</em> and <em>groovy.util</em>, as well as the classes <em>java.math.BigDecimal</em> and <em>java.math.BigInteger</em>.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryIfStatement'/><td>104</td><td class='ruleName priority3'>UnnecessaryIfStatement</td><td>Checks for <em>if</em> statements where the if and else blocks are merely returning <em>true</em> and <em>false</em> constants. These cases can be replaced by a simple return statement.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryInstanceOfCheck'/><td>105</td><td class='ruleName priority3'>UnnecessaryInstanceOfCheck</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryInstantiationToGetClass'/><td>106</td><td class='ruleName priority3'>UnnecessaryInstantiationToGetClass</td><td>Avoid instantiating an object just to call getClass() on it; use the .class public member instead.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryIntegerInstantiation'/><td>107</td><td class='ruleName priority3'>UnnecessaryIntegerInstantiation</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryLongInstantiation'/><td>108</td><td class='ruleName priority3'>UnnecessaryLongInstantiation</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryModOne'/><td>109</td><td class='ruleName priority3'>UnnecessaryModOne</td><td>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).</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryNullCheck'/><td>110</td><td class='ruleName priority3'>UnnecessaryNullCheck</td><td>Groovy contains the safe dereference operator, which can be used in boolean conditional statements to safely replace explicit "x == null" tests.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryNullCheckBeforeInstanceOf'/><td>111</td><td class='ruleName priority3'>UnnecessaryNullCheckBeforeInstanceOf</td><td>There is no need to check for null before an instanceof; the instanceof keyword returns false when given a null argument.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryObjectReferences'/><td>112</td><td class='ruleName priority3'>UnnecessaryObjectReferences</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryOverridingMethod'/><td>113</td><td class='ruleName priority3'>UnnecessaryOverridingMethod</td><td>The overriding method merely calls the same method defined in a superclass</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryPackageReference'/><td>114</td><td class='ruleName priority3'>UnnecessaryPackageReference</td><td>Checks for explicit package reference for classes that Groovy imports by default, such as <em>java.lang.String</em>, <em>java.util.Map</em> and <em>groovy.lang.Closure</em>.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryParenthesesForMethodCallWithClosure'/><td>115</td><td class='ruleName priority3'>UnnecessaryParenthesesForMethodCallWithClosure</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='UnnecessarySelfAssignment'/><td>116</td><td class='ruleName priority3'>UnnecessarySelfAssignment</td><td>Method contains a pointless self-assignment to a variable or property.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryStringInstantiation'/><td>117</td><td class='ruleName priority3'>UnnecessaryStringInstantiation</td><td>Use a String literal (e.g., "...") instead of calling the corresponding String constructor (new String("..")) directly.</td></tr><tr class='ruleDescriptions'><a name='UnnecessarySubstring'/><td>118</td><td class='ruleName priority3'>UnnecessarySubstring</td><td>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].</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryTernaryExpression'/><td>119</td><td class='ruleName priority3'>UnnecessaryTernaryExpression</td><td>Checks for ternary expressions where the conditional expression always evaluates to a boolean and the true and false expressions are merely returning <em>true</em> and <em>false</em> constants. Also checks for ternary expressions where both expressions are the same constant or variable.</td></tr><tr class='ruleDescriptions'><a name='UnnecessaryTransientModifier'/><td>120</td><td class='ruleName priority3'>UnnecessaryTransientModifier</td><td>The field is marked as transient, but the class isn't Serializable, so marking it as transient has no effect.</td></tr><tr class='ruleDescriptions'><a name='UnusedArray'/><td>121</td><td class='ruleName priority2'>UnusedArray</td><td>Checks for array allocations that are not assigned or used, unless it is the last statement within a block.</td></tr><tr class='ruleDescriptions'><a name='UnusedImport'/><td>122</td><td class='ruleName priority3'>UnusedImport</td><td>Imports for a class that is never referenced within the source file is unnecessary.</td></tr><tr class='ruleDescriptions'><a name='UnusedMethodParameter'/><td>123</td><td class='ruleName priority2'>UnusedMethodParameter</td><td>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. </td></tr><tr class='ruleDescriptions'><a name='UnusedObject'/><td>124</td><td class='ruleName priority2'>UnusedObject</td><td>Checks for object allocations that are not assigned or used, unless it is the last statement within a block</td></tr><tr class='ruleDescriptions'><a name='UnusedPrivateField'/><td>125</td><td class='ruleName priority2'>UnusedPrivateField</td><td>Checks for private fields that are not referenced within the same class.</td></tr><tr class='ruleDescriptions'><a name='UnusedPrivateMethod'/><td>126</td><td class='ruleName priority2'>UnusedPrivateMethod</td><td>Checks for private methods that are not referenced within the same class.</td></tr><tr class='ruleDescriptions'><a name='UnusedPrivateMethodParameter'/><td>127</td><td class='ruleName priority2'>UnusedPrivateMethodParameter</td><td>Checks for parameters to private methods that are not referenced within the method body.</td></tr><tr class='ruleDescriptions'><a name='UnusedVariable'/><td>128</td><td class='ruleName priority2'>UnusedVariable</td><td>Checks for variables that are never referenced.</td></tr><tr class='ruleDescriptions'><a name='UseAssertEqualsInsteadOfAssertTrue'/><td>129</td><td class='ruleName priority3'>UseAssertEqualsInsteadOfAssertTrue</td><td>This rule detects JUnit assertions in object equality. These assertions should be made by more specific methods, like <em>assertEquals</em>.</td></tr><tr class='ruleDescriptions'><a name='UseAssertFalseInsteadOfNegation'/><td>130</td><td class='ruleName priority2'>UseAssertFalseInsteadOfNegation</td><td>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)</td></tr><tr class='ruleDescriptions'><a name='UseAssertNullInsteadOfAssertEquals'/><td>131</td><td class='ruleName priority3'>UseAssertNullInsteadOfAssertEquals</td><td>This rule detects JUnit calling <em>assertEquals</em> where the first or second parameter is null. These assertion should be made against the <em>assertNull</em> method instead.</td></tr><tr class='ruleDescriptions'><a name='UseAssertSameInsteadOfAssertTrue'/><td>132</td><td class='ruleName priority3'>UseAssertSameInsteadOfAssertTrue</td><td>This rule detects JUnit calling <em>assertTrue</em> where the first or second parameter is an Object#is() call testing for reference equality. These assertion should be made against the <em>assertSame</em> method instead.</td></tr><tr class='ruleDescriptions'><a name='UseAssertTrueInsteadOfAssertEquals'/><td>133</td><td class='ruleName priority3'>UseAssertTrueInsteadOfAssertEquals</td><td>This rule detects JUnit calling <em>assertEquals</em> where the first parameter is a boolean. These assertions should be made by more specific methods, like <em>assertTrue</em> or <em>assertFalse</em>.</td></tr><tr class='ruleDescriptions'><a name='UseAssertTrueInsteadOfNegation'/><td>134</td><td class='ruleName priority2'>UseAssertTrueInsteadOfNegation</td><td>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)</td></tr><tr class='ruleDescriptions'><a name='UseOfNotifyMethod'/><td>135</td><td class='ruleName priority2'>UseOfNotifyMethod</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='VolatileArrayField'/><td>136</td><td class='ruleName priority2'>VolatileArrayField</td><td>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.</td></tr><tr class='ruleDescriptions'><a name='VolatileLongOrDoubleField'/><td>137</td><td class='ruleName priority2'>VolatileLongOrDoubleField</td><td>Long or double fields should not be declared as <em>volatile</em>. 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 <em>volatile</em>. This rule flags fields marked <em>volatile</em> when their type is double or long or the name of their type is "Double" or "Long".</td></tr><tr class='ruleDescriptions'><a name='WaitOutsideOfWhileLoop'/><td>138</td><td class='ruleName priority2'>WaitOutsideOfWhileLoop</td><td>Calls to <em>Object.wait()</em> must be within a <em>while</em> loop. Consider using the Java concurrency utilities instead of <em>wait()</em> and <em>notify()</em>.</td></tr></table></div></body></html>
|