StringBuffer -> StringBuilder switchovers, refactoring

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7337 51baf565-9d33-0410-a72c-fc3788e3496d
This commit is contained in:
Brian Remedios
2011-09-24 10:12:46 +00:00
parent f6d5d565d1
commit 8be45bd369

View File

@ -60,7 +60,7 @@ public class AvoidDuplicateLiteralsRule extends AbstractJavaRule {
public Set<String> parse(String s) { public Set<String> parse(String s) {
Set<String> result = new HashSet<String>(); Set<String> result = new HashSet<String>();
StringBuffer currentToken = new StringBuffer(); StringBuilder currentToken = new StringBuilder();
boolean inEscapeMode = false; boolean inEscapeMode = false;
for (int i = 0; i < s.length(); i++) { for (int i = 0; i < s.length(); i++) {
if (inEscapeMode) { if (inEscapeMode) {
@ -74,7 +74,7 @@ public class AvoidDuplicateLiteralsRule extends AbstractJavaRule {
} }
if (s.charAt(i) == delimiter) { if (s.charAt(i) == delimiter) {
result.add(currentToken.toString()); result.add(currentToken.toString());
currentToken = new StringBuffer(); currentToken = new StringBuilder();
} else { } else {
currentToken.append(s.charAt(i)); currentToken.append(s.charAt(i));
} }
@ -128,21 +128,30 @@ public class AvoidDuplicateLiteralsRule extends AbstractJavaRule {
super.visit(node, data); super.visit(node, data);
int threshold = getProperty(THRESHOLD_DESCRIPTOR); processResults(data);
for (String key : literals.keySet()) {
List<ASTLiteral> occurrences = literals.get(key);
if (occurrences.size() >= threshold) {
Object[] args = new Object[] { key, Integer.valueOf(occurrences.size()),
Integer.valueOf(occurrences.get(0).getBeginLine()) };
addViolation(data, occurrences.get(0), args);
}
}
minLength = 2 + getProperty(MINIMUM_LENGTH_DESCRIPTOR); minLength = 2 + getProperty(MINIMUM_LENGTH_DESCRIPTOR);
return data; return data;
} }
private void processResults(Object data) {
int threshold = getProperty(THRESHOLD_DESCRIPTOR);
for (Map.Entry<String, List<ASTLiteral>> entry : literals.entrySet()) {
List<ASTLiteral> occurrences = entry.getValue();
if (occurrences.size() >= threshold) {
Object[] args = new Object[] {
entry.getKey(),
Integer.valueOf(occurrences.size()),
Integer.valueOf(occurrences.get(0).getBeginLine())
};
addViolation(data, occurrences.get(0), args);
}
}
}
@Override @Override
public Object visit(ASTLiteral node, Object data) { public Object visit(ASTLiteral node, Object data) {
if (!node.isStringLiteral()) { if (!node.isStringLiteral()) {