PMD Results

The following document contains the results of PMD 4.2.2.

Files

simplespider/simplespider/LimitThroughPut.java

Violation Line
Found 'DU'-anomaly for variable 'beforeOneMinute' (lines '59'-'91'). 59 - 91
Found 'DD'-anomaly for variable 'mostBlocking' (lines '61'-'77'). 61 - 77
Found 'DU'-anomaly for variable 'beforeCleanup' (lines '63'-'91'). 63 - 91
Found 'DD'-anomaly for variable 'mostBlocking' (lines '77'-'77'). 77
Consider simply returning the value vs storing it in local variable 'current' 97

simplespider/simplespider/Main.java

Violation Line
The class 'Main' has a Cyclomatic Complexity of 4 (Highest = 13). 46 - 275
A class which only has private constructors should be final 46 - 275
Use of modifier volatile is not recommended. 68
Use explicit scoping instead of the default package private level 70
Found 'DU'-anomaly for variable 'importLink' (lines '166'-'170'). 166 - 170
The method runCrawler() has an NPath complexity of 225 172 - 242
The method 'runCrawler' has a Cyclomatic Complexity of 13. 172 - 242
Found 'DU'-anomaly for variable 'linkDao' (lines '176'-'242'). 176 - 242
Found 'DU'-anomaly for variable 'retryCountOnNoLinks' (lines '178'-'242'). 178 - 242
Found 'DD'-anomaly for variable 'retryCountOnNoLinks' (lines '178'-'224'). 178 - 224
Found 'DD'-anomaly for variable 'next' (lines '186'-'194'). 186 - 194
Assigning an Object to null is a code smell. Consider refactoring. 194
Found 'DU'-anomaly for variable 'retryCountOnNoLinks' (lines '213'-'242'). 213 - 242
Found 'DD'-anomaly for variable 'retryCountOnNoLinks' (lines '213'-'224'). 213 - 224
Found 'DU'-anomaly for variable 'retryCountOnNoLinks' (lines '224'-'242'). 224 - 242
Found 'DD'-anomaly for variable 'retryCountOnNoLinks' (lines '224'-'224'). 224
A method/constructor shouldn't explicitly throw java.lang.Exception 244

simplespider/simplespider/bot/Crawler.java

Violation Line
Avoid modifiers which are implied by the context 23

simplespider/simplespider/bot/CrawlerImpl.java

Violation Line
The class 'CrawlerImpl' has a Cyclomatic Complexity of 5 (Highest = 10). 43 - 309
The method 'getHttpConnection' has a Cyclomatic Complexity of 10. 61 - 93
An instanceof check is being performed on the caught exception. Create a separate catch clause for this exception type. 67
The String literal "Failed to load URL \"" appears 4 times in this file; the first occurrence is on line 69 69
An instanceof check is being performed on the caught exception. Create a separate catch clause for this exception type. 71
Avoid reassigning parameters such as 'url' 143
Found 'DU'-anomaly for variable 'linkDao' (lines '164'-'199'). 164 - 199
The method 'getLinks' has a Cyclomatic Complexity of 10. 201 - 249
Found 'DU'-anomaly for variable 'realBaseUrl' (lines '204'-'249'). 204 - 249
Avoid reassigning parameters such as 'mimeType' 251
When doing a String.toLowerCase()/toUpperCase() call, use a Locale 256
Avoid reassigning parameters such as 'mimeType' 271
When doing a String.toLowerCase()/toUpperCase() call, use a Locale 276

simplespider/simplespider/bot/extractor/LinkExtractor.java

Violation Line
Avoid modifiers which are implied by the context 26

simplespider/simplespider/bot/extractor/html/stream/HtmlWriter.java

Violation Line
This class has too many methods, consider refactoring it. 50 - 408
The class 'HtmlWriter' has a Cyclomatic Complexity of 9 (Highest = 66). 50 - 408
It is a good practice to call super() in a constructor 74 - 86
Assigning an Object to null is a code smell. Consider refactoring. 84
Assigning an Object to null is a code smell. Consider refactoring. 85
The method write() has an NPath complexity of 512 112 - 243
Avoid really long methods. 112 - 243
The method 'write' has a Cyclomatic Complexity of 66. 112 - 243
Avoid empty if statements 181 - 183
Avoid unnecessary return statements 276
The method filterTag() has an NPath complexity of 204 279 - 351
The method 'filterTag' has a Cyclomatic Complexity of 13. 279 - 351
Avoid unused method parameters such as 'quotechar'. 279 - 351
Assigning an Object to null is a code smell. Consider refactoring. 347
Assigning an Object to null is a code smell. Consider refactoring. 348
Assigning an Object to null is a code smell. Consider refactoring. 349
Avoid unnecessary return statements 350
The method 'tagEnd' has a Cyclomatic Complexity of 10. 353 - 362
Avoid unused method parameters such as 'quotechar'. 364 - 372
Assigning an Object to null is a code smell. Consider refactoring. 369
Assigning an Object to null is a code smell. Consider refactoring. 370
Assigning an Object to null is a code smell. Consider refactoring. 371
Assigning an Object to null is a code smell. Consider refactoring. 381
Assigning an Object to null is a code smell. Consider refactoring. 384
Assigning an Object to null is a code smell. Consider refactoring. 385
Assigning an Object to null is a code smell. Consider refactoring. 386

simplespider/simplespider/bot/extractor/html/stream/StreamExtractor.java

Violation Line
Found 'DU'-anomaly for variable 'url' (lines '62'-'92'). 62 - 92
Found 'DU'-anomaly for variable 'count' (lines '97'-'117'). 97 - 117
Found 'DD'-anomaly for variable 'n' (lines '99'-'99'). 99
Found 'DU'-anomaly for variable 'n' (lines '99'-'117'). 99 - 117

simplespider/simplespider/bot/extractor/html/stream/TagListener.java

Violation Line
Avoid modifiers which are implied by the context 45
Avoid modifiers which are implied by the context 47
Avoid modifiers which are implied by the context 49
Avoid modifiers which are implied by the context 51

simplespider/simplespider/bot/extractor/html/stream/TagListenerImpl.java

Violation Line
Deeply nested if..then statements are hard to read 119 - 124
Deeply nested if..then statements are hard to read 136 - 138

simplespider/simplespider/bot/extractor/html/stream/TagWriter.java

Violation Line
This class has too many methods, consider refactoring it. 50 - 572
The class 'TagWriter' has a Cyclomatic Complexity of 3 (Highest = 22). 50 - 572
It is a good practice to call super() in a constructor 62 - 66
It is a good practice to call super() in a constructor 68 - 72
It is a good practice to call super() in a constructor 74 - 78
The user-supplied array 'bb' is stored directly. 74
The method 'isWhitespace' has a Cyclomatic Complexity of 11. 376 - 394
The method 'whitespaceStart' has a Cyclomatic Complexity of 11. 396 - 414
The method 'whitespaceEnd' has a Cyclomatic Complexity of 11. 416 - 434
The method propParser() has an NPath complexity of 2595 445 - 515
The method 'propParser' has a Cyclomatic Complexity of 22. 445 - 515
Found 'DU'-anomaly for variable 'p' (lines '450'-'515'). 450 - 515
Found 'DU'-anomaly for variable 'start' (lines '457'-'515'). 457 - 515
Found 'DU'-anomaly for variable 'key' (lines '464'-'515'). 464 - 515
Found 'DU'-anomaly for variable 'start' (lines '479'-'515'). 479 - 515
Found 'DU'-anomaly for variable 'start' (lines '491'-'515'). 491 - 515

simplespider/simplespider/bot/http/HttpClient.java

Violation Line
Avoid modifiers which are implied by the context 29
Avoid modifiers which are implied by the context 31
Avoid modifiers which are implied by the context 33
Avoid modifiers which are implied by the context 35
Avoid modifiers which are implied by the context 37
Avoid modifiers which are implied by the context 39
Avoid modifiers which are implied by the context 41
Avoid modifiers which are implied by the context 43

simplespider/simplespider/bot/http/HttpClientFactory.java

Violation Line
Avoid modifiers which are implied by the context 22

simplespider/simplespider/bot/http/apache/ApacheHttpClient.java

Violation Line
Consider simply returning the value vs storing it in local variable 'realBaseUrl' 94
Assigning an Object to null is a code smell. Consider refactoring. 113

simplespider/simplespider/bot/http/apache/ApacheHttpClientFactory.java

Violation Line
Assigning an Object to null is a code smell. Consider refactoring. 44

simplespider/simplespider/bot/http/apache/ssl/EasySSLProtocolSocketFactory.java

Violation Line
Avoid unnecessary constructors - the compiler will generate these for you 49 - 51
Caught exception is rethrown, original stack trace may be lost 60

simplespider/simplespider/bot/http/apache/ssl/EasyX509TrustManager.java

Violation Line
Private field 'standardTrustManager' could be made final; it is only initialized in the declaration or constructor. 34

simplespider/simplespider/bot/http/apache/ssl/TrustAllSSLProtocolSocketFactory.java

Violation Line
Avoid unnecessary constructors - the compiler will generate these for you 49 - 51
Caught exception is rethrown, original stack trace may be lost 60

simplespider/simplespider/bot/http/apache/ssl/TrustAllX509TrustManager.java

Violation Line
Private field 'standardTrustManager' could be made final; it is only initialized in the declaration or constructor. 31

simplespider/simplespider/dao/DbHelper.java

Violation Line
Avoid modifiers which are implied by the context 25
Avoid modifiers which are implied by the context 27
Avoid modifiers which are implied by the context 29
Avoid modifiers which are implied by the context 31
Avoid modifiers which are implied by the context 33
Avoid modifiers which are implied by the context 35

simplespider/simplespider/dao/DbHelperFactory.java

Violation Line
Avoid modifiers which are implied by the context 25

simplespider/simplespider/dao/LinkDao.java

Violation Line
Avoid modifiers which are implied by the context 22
Avoid modifiers which are implied by the context 24
Avoid modifiers which are implied by the context 26

simplespider/simplespider/dao/db4o/Db4oDbHelper.java

Violation Line
Assigning an Object to null is a code smell. Consider refactoring. 47
Use explicit scoping instead of the default package private level 80 - 83
Use explicit scoping instead of the default package private level 85 - 87

simplespider/simplespider/dao/db4o/Db4oDbHelperFactory.java

Violation Line
The class 'Db4oDbHelperFactory' has a Cyclomatic Complexity of 4 (Highest = 11). 44 - 160
The constructor 'Db4oDbHelperFactory' has a Cyclomatic Complexity of 11. 50 - 141
The String literal " : " appears 4 times in this file; the first occurrence is on line 72 72
Overridable method 'getConnection' called during object construction 119
Avoid appending characters as strings in StringBuffer.append. 128
Use explicit scoping instead of the default package private level 151 - 153
Use explicit scoping instead of the default package private level 155 - 158
Assigning an Object to null is a code smell. Consider refactoring. 157

simplespider/simplespider/dao/db4o/MD5.java

Violation Line
All methods are static. Consider using Singleton instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning. 19 - 63
Found 'DD'-anomaly for variable 'halfbyte' (lines '37'-'29'). 37 - 29
Found 'DU'-anomaly for variable 'halfbyte' (lines '37'-'41'). 37 - 41
Avoid reassigning parameters such as 'text' 43
Assigning an Object to null is a code smell. Consider refactoring. 49

simplespider/simplespider/importing/simplefile/SimpleFileImporter.java

Violation Line
The class 'SimpleFileImporter' has a Cyclomatic Complexity of 8 (Highest = 13). 36 - 128
The method 'importLink' has a Cyclomatic Complexity of 13. 47 - 127
Found 'DU'-anomaly for variable 'fstream' (lines '52'-'127'). 52 - 127
Avoid assignments in operands 70

simplespider/simplespider/util/MD5.java

Violation Line
All methods are static. Consider using Singleton instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning. 18 - 79
Unnecessary final modifier in final class 37 - 39
Unnecessary final modifier in final class 48 - 50
Avoid reassigning parameters such as 'encoding' 58
Found 'DU'-anomaly for variable 'data' (lines '64'-'69'). 64 - 69
Unnecessary final modifier in final class 76 - 78

simplespider/simplespider/util/Punycode.java

Violation Line
The class 'Punycode' has a Cyclomatic Complexity of 6 (Highest = 17). 21 - 269
Use explicit scoping instead of the default package private level 23
Use explicit scoping instead of the default package private level 24
Use explicit scoping instead of the default package private level 25
Use explicit scoping instead of the default package private level 26
Use explicit scoping instead of the default package private level 27
Use explicit scoping instead of the default package private level 28
Use explicit scoping instead of the default package private level 29
Use explicit scoping instead of the default package private level 30
The method encode() has an NPath complexity of 1206 43 - 121
The method 'encode' has a Cyclomatic Complexity of 17. 43 - 121
Found 'DU'-anomaly for variable 'bias' (lines '46'-'121'). 46 - 121
Found 'DD'-anomaly for variable 'b' (lines '50'-'55'). 50 - 55
Found 'DD'-anomaly for variable 'b' (lines '55'-'55'). 55
Found 'DU'-anomaly for variable 'k' (lines '93'-'121'). 93 - 121
Found 'DD'-anomaly for variable 'k' (lines '93'-'93'). 93
Found 'DU'-anomaly for variable 'bias' (lines '110'-'121'). 110 - 121
Found 'DD'-anomaly for variable 'bias' (lines '110'-'110'). 110
Found 'DD'-anomaly for variable 'delta' (lines '111'-'85'). 111 - 85
Found 'DD'-anomaly for variable 'delta' (lines '111'-'116'). 111 - 116
Found 'DU'-anomaly for variable 'h' (lines '112'-'121'). 112 - 121
Found 'DU'-anomaly for variable 'delta' (lines '116'-'121'). 116 - 121
Found 'DU'-anomaly for variable 'n' (lines '117'-'121'). 117 - 121
The method decode() has an NPath complexity of 204 130 - 193
The method 'decode' has a Cyclomatic Complexity of 12. 130 - 193
Found 'DU'-anomaly for variable 'n' (lines '131'-'193'). 131 - 193
Found 'DU'-anomaly for variable 'i' (lines '132'-'193'). 132 - 193
Found 'DU'-anomaly for variable 'bias' (lines '133'-'193'). 133 - 193
Found 'DU'-anomaly for variable 'output' (lines '134'-'193'). 134 - 193
Found 'DU'-anomaly for variable 'oldi' (lines '151'-'193'). 151 - 193
Found 'DU'-anomaly for variable 'w' (lines '152'-'193'). 152 - 193
Found 'DU'-anomaly for variable 'k' (lines '154'-'193'). 154 - 193
Found 'DD'-anomaly for variable 'k' (lines '154'-'154'). 154
Found 'DU'-anomaly for variable 'bias' (lines '180'-'193'). 180 - 193
Found 'DD'-anomaly for variable 'bias' (lines '180'-'180'). 180
Found 'DU'-anomaly for variable 'i' (lines '189'-'193'). 189 - 193
Unnecessary final modifier in final class 195 - 211
Avoid reassigning parameters such as 'delta' 195
Avoid reassigning parameters such as 'delta' 195
Avoid reassigning parameters such as 'delta' 195
Avoid reassigning parameters such as 'delta' 195
Found 'DD'-anomaly for variable 'k' (lines '204'-'207'). 204 - 207
Unnecessary final modifier in final class 213 - 215
Unnecessary final modifier in final class 227 - 237
Unnecessary final modifier in final class 239 - 249

simplespider/simplespider/util/SimpleUrl.java

Violation Line
This class has too many methods, consider refactoring it. 33 - 771
The class 'SimpleUrl' has a Cyclomatic Complexity of 5 (Highest = 23). 33 - 771
The constructor 'SimpleUrl' has a Cyclomatic Complexity of 10. 63 - 115
Avoid reassigning parameters such as 'relPath' 63
The method 'escape' has a Cyclomatic Complexity of 23. 179 - 209
The method main() has an NPath complexity of 1025 211 - 278
The method 'main' has a Cyclomatic Complexity of 18. 211 - 278
The String literal "http://www.anomic.de/home" appears 5 times in this file; the first occurrence is on line 215 215
The String literal "http://www.anomic.de/home/index.html" appears 5 times in this file; the first occurrence is on line 217 217
Found 'DD'-anomaly for variable 'aURL' (lines '236'-'238'). 236 - 238
Assigning an Object to null is a code smell. Consider refactoring. 238
Found 'DD'-anomaly for variable 'jURL' (lines '242'-'244'). 242 - 244
Assigning an Object to null is a code smell. Consider refactoring. 244
Found 'DD'-anomaly for variable 'jURL' (lines '248'-'250'). 248 - 250
Assigning an Object to null is a code smell. Consider refactoring. 250
The method unescape() has an NPath complexity of 217 321 - 369
The method 'unescape' has a Cyclomatic Complexity of 13. 321 - 369
Found 'DD'-anomaly for variable 'ch' (lines '324'-'328'). 324 - 328
Found 'DU'-anomaly for variable 'ch' (lines '324'-'369'). 324 - 369
Found 'DD'-anomaly for variable 'b' (lines '325'-'334'). 325 - 334
Found 'DD'-anomaly for variable 'sumb' (lines '325'-'344'). 325 - 344
Found 'DU'-anomaly for variable 'sumb' (lines '325'-'369'). 325 - 369
Found 'DD'-anomaly for variable 'sumb' (lines '325'-'351'). 325 - 351
Found 'DD'-anomaly for variable 'sumb' (lines '325'-'354'). 325 - 354
Found 'DD'-anomaly for variable 'sumb' (lines '325'-'357'). 325 - 357
Found 'DD'-anomaly for variable 'sumb' (lines '325'-'360'). 325 - 360
Found 'DD'-anomaly for variable 'sumb' (lines '325'-'363'). 325 - 363
Found 'DD'-anomaly for variable 'b' (lines '325'-'337'). 325 - 337
Found 'DD'-anomaly for variable 'b' (lines '325'-'340'). 325 - 340
Found 'DU'-anomaly for variable 'b' (lines '325'-'369'). 325 - 369
Found 'DU'-anomaly for variable 'more' (lines '326'-'369'). 326 - 369
Found 'DD'-anomaly for variable 'more' (lines '326'-'352'). 326 - 352
Found 'DD'-anomaly for variable 'more' (lines '326'-'355'). 326 - 355
Found 'DD'-anomaly for variable 'more' (lines '326'-'358'). 326 - 358
Found 'DD'-anomaly for variable 'more' (lines '326'-'361'). 326 - 361
Found 'DD'-anomaly for variable 'more' (lines '326'-'364'). 326 - 364
Found 'DD'-anomaly for variable 'ch' (lines '328'-'330'). 328 - 330
Found 'DU'-anomaly for variable 'ch' (lines '328'-'369'). 328 - 369
Found 'DD'-anomaly for variable 'ch' (lines '328'-'328'). 328
Found 'DU'-anomaly for variable 'sumb' (lines '351'-'369'). 351 - 369
Found 'DD'-anomaly for variable 'sumb' (lines '351'-'344'). 351 - 344
Found 'DD'-anomaly for variable 'sumb' (lines '351'-'351'). 351
Found 'DD'-anomaly for variable 'sumb' (lines '351'-'354'). 351 - 354
Found 'DD'-anomaly for variable 'sumb' (lines '351'-'357'). 351 - 357
Found 'DD'-anomaly for variable 'sumb' (lines '351'-'360'). 351 - 360
Found 'DD'-anomaly for variable 'sumb' (lines '351'-'363'). 351 - 363
Found 'DU'-anomaly for variable 'more' (lines '352'-'369'). 352 - 369
Found 'DD'-anomaly for variable 'more' (lines '352'-'352'). 352
Found 'DD'-anomaly for variable 'more' (lines '352'-'355'). 352 - 355
Found 'DD'-anomaly for variable 'more' (lines '352'-'358'). 352 - 358
Found 'DD'-anomaly for variable 'more' (lines '352'-'361'). 352 - 361
Found 'DD'-anomaly for variable 'more' (lines '352'-'364'). 352 - 364
Found 'DU'-anomaly for variable 'sumb' (lines '354'-'369'). 354 - 369
Found 'DD'-anomaly for variable 'sumb' (lines '354'-'344'). 354 - 344
Found 'DD'-anomaly for variable 'sumb' (lines '354'-'351'). 354 - 351
Found 'DD'-anomaly for variable 'sumb' (lines '354'-'354'). 354
Found 'DD'-anomaly for variable 'sumb' (lines '354'-'357'). 354 - 357
Found 'DD'-anomaly for variable 'sumb' (lines '354'-'360'). 354 - 360
Found 'DD'-anomaly for variable 'sumb' (lines '354'-'363'). 354 - 363
Found 'DU'-anomaly for variable 'more' (lines '355'-'369'). 355 - 369
Found 'DD'-anomaly for variable 'more' (lines '355'-'352'). 355 - 352
Found 'DD'-anomaly for variable 'more' (lines '355'-'355'). 355
Found 'DD'-anomaly for variable 'more' (lines '355'-'358'). 355 - 358
Found 'DD'-anomaly for variable 'more' (lines '355'-'361'). 355 - 361
Found 'DD'-anomaly for variable 'more' (lines '355'-'364'). 355 - 364
Found 'DU'-anomaly for variable 'sumb' (lines '357'-'369'). 357 - 369
Found 'DD'-anomaly for variable 'sumb' (lines '357'-'344'). 357 - 344
Found 'DD'-anomaly for variable 'sumb' (lines '357'-'351'). 357 - 351
Found 'DD'-anomaly for variable 'sumb' (lines '357'-'354'). 357 - 354
Found 'DD'-anomaly for variable 'sumb' (lines '357'-'357'). 357
Found 'DD'-anomaly for variable 'sumb' (lines '357'-'360'). 357 - 360
Found 'DD'-anomaly for variable 'sumb' (lines '357'-'363'). 357 - 363
Found 'DU'-anomaly for variable 'more' (lines '358'-'369'). 358 - 369
Found 'DD'-anomaly for variable 'more' (lines '358'-'352'). 358 - 352
Found 'DD'-anomaly for variable 'more' (lines '358'-'355'). 358 - 355
Found 'DD'-anomaly for variable 'more' (lines '358'-'358'). 358
Found 'DD'-anomaly for variable 'more' (lines '358'-'361'). 358 - 361
Found 'DD'-anomaly for variable 'more' (lines '358'-'364'). 358 - 364
Found 'DU'-anomaly for variable 'sumb' (lines '360'-'369'). 360 - 369
Found 'DD'-anomaly for variable 'sumb' (lines '360'-'344'). 360 - 344
Found 'DD'-anomaly for variable 'sumb' (lines '360'-'351'). 360 - 351
Found 'DD'-anomaly for variable 'sumb' (lines '360'-'354'). 360 - 354
Found 'DD'-anomaly for variable 'sumb' (lines '360'-'357'). 360 - 357
Found 'DD'-anomaly for variable 'sumb' (lines '360'-'360'). 360
Found 'DD'-anomaly for variable 'sumb' (lines '360'-'363'). 360 - 363
Found 'DU'-anomaly for variable 'more' (lines '361'-'369'). 361 - 369
Found 'DD'-anomaly for variable 'more' (lines '361'-'352'). 361 - 352
Found 'DD'-anomaly for variable 'more' (lines '361'-'355'). 361 - 355
Found 'DD'-anomaly for variable 'more' (lines '361'-'358'). 361 - 358
Found 'DD'-anomaly for variable 'more' (lines '361'-'361'). 361
Found 'DD'-anomaly for variable 'more' (lines '361'-'364'). 361 - 364
Found 'DU'-anomaly for variable 'sumb' (lines '363'-'369'). 363 - 369
Found 'DD'-anomaly for variable 'sumb' (lines '363'-'344'). 363 - 344
Found 'DD'-anomaly for variable 'sumb' (lines '363'-'351'). 363 - 351
Found 'DD'-anomaly for variable 'sumb' (lines '363'-'354'). 363 - 354
Found 'DD'-anomaly for variable 'sumb' (lines '363'-'357'). 363 - 357
Found 'DD'-anomaly for variable 'sumb' (lines '363'-'360'). 363 - 360
Found 'DD'-anomaly for variable 'sumb' (lines '363'-'363'). 363
Found 'DU'-anomaly for variable 'more' (lines '364'-'369'). 364 - 369
Found 'DD'-anomaly for variable 'more' (lines '364'-'352'). 364 - 352
Found 'DD'-anomaly for variable 'more' (lines '364'-'355'). 364 - 355
Found 'DD'-anomaly for variable 'more' (lines '364'-'358'). 364 - 358
Found 'DD'-anomaly for variable 'more' (lines '364'-'361'). 364 - 361
Found 'DD'-anomaly for variable 'more' (lines '364'-'364'). 364
The method equals() has an NPath complexity of 65536 381 - 438
The method 'equals' has a Cyclomatic Complexity of 23. 381 - 438
Avoid if (x != y) ..; else ..; 482
The method hashCode() has an NPath complexity of 15625 553 - 564
Found 'DD'-anomaly for variable 'result' (lines '555'-'556'). 555 - 556
String.trim().length()==0 is an inefficient way to validate an empty String. 574
Caught exception is rethrown, original stack trace may be lost 581
Assigning an Object to null is a code smell. Consider refactoring. 590
Assigning an Object to null is a code smell. Consider refactoring. 601
Found 'DD'-anomaly for variable 'language' (lines '620'-'623'). 620 - 623
The method parseURLString() has an NPath complexity of 2016 628 - 720
The method 'parseURLString' has a Cyclomatic Complexity of 19. 628 - 720
Avoid reassigning parameters such as 'url' 628
Avoid reassigning parameters such as 'url' 628
Avoid assignments in operands 650
Found 'DU'-anomaly for variable 'r' (lines '650'-'720'). 650 - 720
Assigning an Object to null is a code smell. Consider refactoring. 652
Avoid assignments in operands 660
Found 'DU'-anomaly for variable 'r' (lines '660'-'720'). 660 - 720
Assigning an Object to null is a code smell. Consider refactoring. 661
Assigning an Object to null is a code smell. Consider refactoring. 684
Assigning an Object to null is a code smell. Consider refactoring. 686
Assigning an Object to null is a code smell. Consider refactoring. 687
Assigning an Object to null is a code smell. Consider refactoring. 690
Assigning an Object to null is a code smell. Consider refactoring. 691
Assigning an Object to null is a code smell. Consider refactoring. 694
Assigning an Object to null is a code smell. Consider refactoring. 695
Avoid reassigning parameters such as 'myPath' 723
Avoid reassigning parameters such as 'myPath' 723
Position literals first in String comparisons 734
Avoid if (x != y) ..; else ..; 746
Avoid if (x != y) ..; else ..; 747
Found 'DD'-anomaly for variable 'result' (lines '753'-'755'). 753 - 755

simplespider/simplespider/util/ValidityHelper.java

Violation Line
This class has too many methods, consider refactoring it. 25 - 204
The String literal "name" appears 14 times in this file; the first occurrence is on line 28 28
The String literal " is empty" appears 13 times in this file; the first occurrence is on line 36 36
Substitute calls to size() == 0 (or size() != 0) with calls to isEmpty() 65
Substitute calls to size() == 0 (or size() != 0) with calls to isEmpty() 73
Do not use the short type 120
Do not use the short type 124