use stringbuilder instead of stringbuffer
use string concatenation when no string builder is necessary (compiler will do it for us, and it makes our code easier to read)
diff --git a/src/main/java/org/apache/easyant/core/EasyAntMain.java b/src/main/java/org/apache/easyant/core/EasyAntMain.java
index 7c91c6f..cd818b8 100755
--- a/src/main/java/org/apache/easyant/core/EasyAntMain.java
+++ b/src/main/java/org/apache/easyant/core/EasyAntMain.java
@@ -734,12 +734,7 @@
}
props.load(in);
- StringBuilder msg = new StringBuilder();
- msg.append("Apache Ant version ");
- msg.append(props.getProperty("VERSION"));
- msg.append(" compiled on ");
- msg.append(props.getProperty("DATE"));
- antVersion = msg.toString();
+ antVersion = "Apache Ant version " + props.getProperty("VERSION") + " compiled on " + props.getProperty("DATE");
} catch (IOException ioe) {
throw new BuildException("Could not load the version information", ioe);
} finally {
diff --git a/src/main/java/org/apache/easyant/core/ant/ProjectUtils.java b/src/main/java/org/apache/easyant/core/ant/ProjectUtils.java
index d801337..fce22f5 100644
--- a/src/main/java/org/apache/easyant/core/ant/ProjectUtils.java
+++ b/src/main/java/org/apache/easyant/core/ant/ProjectUtils.java
@@ -17,27 +17,19 @@
*/
package org.apache.easyant.core.ant;
+import org.apache.easyant.core.EasyAntMagicNames;
+import org.apache.easyant.core.ant.listerners.MultiModuleLogger;
+import org.apache.tools.ant.*;
+import org.apache.tools.ant.util.ClasspathUtils;
+
import java.io.File;
import java.io.PrintStream;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
-import org.apache.easyant.core.EasyAntMagicNames;
-import org.apache.easyant.core.ant.listerners.MultiModuleLogger;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildListener;
-import org.apache.tools.ant.BuildLogger;
-import org.apache.tools.ant.DefaultLogger;
-import org.apache.tools.ant.Location;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.ProjectHelper;
-import org.apache.tools.ant.Target;
-import org.apache.tools.ant.util.ClasspathUtils;
-
/**
* Utilitary class to manipulate ant's project (such as creating toplevel target)
- *
*/
public class ProjectUtils {
@@ -48,7 +40,7 @@
/**
* emulates a top level target
- *
+ *
* @return a top level target
*/
public static Target createTopLevelTarget() {
@@ -60,7 +52,7 @@
/**
* Emulate an empty project import task check that projectHelper is at toplevel by checking the size of
* projectHelper.getImportTask()
- *
+ *
* @return a temporary file acting as a mainscript
*/
public static File emulateMainScript(Project project) {
@@ -69,11 +61,9 @@
/**
* Replace main logger implementation
- *
- * @param project
- * a given project
- * @param logger
- * {@link BuildLogger} implementation to use
+ *
+ * @param project a given project
+ * @param logger {@link BuildLogger} implementation to use
*/
public static void replaceMainLogger(Project project, BuildLogger logger) {
// Change the default output logger
@@ -118,9 +108,8 @@
/**
* Install multi module logger Multi module logger specified through {@link EasyAntMagicNames}.MULTIMODULE_LOGGER
* property. If this property is not set use default implementation
- *
- * @param project
- * a given project where multi module logger should be installed
+ *
+ * @param project a given project where multi module logger should be installed
*/
public static void installMultiModuleLogger(Project project) {
String multiModuleLoggerClassName = project.getProperty(EasyAntMagicNames.MULTIMODULE_LOGGER);
@@ -134,9 +123,8 @@
/**
* Print memory details
- *
- * @param project
- * a given project
+ *
+ * @param project a given project
*/
public static void printMemoryDetails(Project project) {
project.log("---- Memory Details ----");
@@ -150,15 +138,13 @@
/**
* Targets in imported files with a project name and not overloaded by the main build file will be in the target map
* twice. This method removes the duplicate target.
- *
- * @param targets
- * the targets to filter.
+ *
+ * @param targets the targets to filter.
* @return the filtered targets.
*/
public static Map<String, Target> removeDuplicateTargets(Map<?, ?> targets) {
Map<Location, Target> locationMap = new HashMap<Location, Target>();
- for (Map.Entry<?, ?> entry1 : targets.entrySet()) {
- Map.Entry<?, ?> entry = (Map.Entry<?, ?>) entry1;
+ for (Map.Entry<?, ?> entry : targets.entrySet()) {
String name = (String) entry.getKey();
Target target = (Target) entry.getValue();
Target otherTarget = locationMap.get(target.getLocation());
diff --git a/src/main/java/org/apache/easyant/core/ant/listerners/DefaultEasyAntLogger.java b/src/main/java/org/apache/easyant/core/ant/listerners/DefaultEasyAntLogger.java
index fd88da8..77c011a 100644
--- a/src/main/java/org/apache/easyant/core/ant/listerners/DefaultEasyAntLogger.java
+++ b/src/main/java/org/apache/easyant/core/ant/listerners/DefaultEasyAntLogger.java
@@ -34,7 +34,7 @@
private long startTime = System.currentTimeMillis();
- protected static void throwableMessage(StringBuffer m, Throwable error, boolean verbose) {
+ protected static void throwableMessage(StringBuilder m, Throwable error, boolean verbose) {
while (error != null) {
Throwable cause = error.getCause();
@@ -73,7 +73,7 @@
@Override
public void buildFinished(BuildEvent event) {
Throwable error = event.getException();
- StringBuffer message = new StringBuffer();
+ StringBuilder message = new StringBuilder();
if (error == null) {
message.append(StringUtils.LINE_SEP);
message.append(getBuildSuccessfulMessage());
diff --git a/src/main/java/org/apache/easyant/core/ant/listerners/MultiModuleLogger.java b/src/main/java/org/apache/easyant/core/ant/listerners/MultiModuleLogger.java
index 1ee4619..6df22a6 100644
--- a/src/main/java/org/apache/easyant/core/ant/listerners/MultiModuleLogger.java
+++ b/src/main/java/org/apache/easyant/core/ant/listerners/MultiModuleLogger.java
@@ -184,9 +184,7 @@
private void printExecutionSubBuildsExecutionTimes(Project project) {
List<ExecutionResult> allSubBuildResults = project.getReference(EXECUTION_TIMER_BUILD_RESULTS);
if (allSubBuildResults != null && !allSubBuildResults.isEmpty()) {
- StringBuilder sb = new StringBuilder();
- sb.append(LINE_SEP).append("Project Sub-modules Summary: ").append(LINE_SEP).append(formatExecutionResults(allSubBuildResults));
- project.log(sb.toString());
+ project.log(LINE_SEP + "Project Sub-modules Summary: " + LINE_SEP + formatExecutionResults(allSubBuildResults));
}
}
diff --git a/src/main/java/org/apache/easyant/core/report/XMLEasyAntReportWriter.java b/src/main/java/org/apache/easyant/core/report/XMLEasyAntReportWriter.java
index 8482240..9f2c910 100644
--- a/src/main/java/org/apache/easyant/core/report/XMLEasyAntReportWriter.java
+++ b/src/main/java/org/apache/easyant/core/report/XMLEasyAntReportWriter.java
@@ -84,19 +84,7 @@
out.println("\t<configurations>");
for (Configuration configuration : easyAntReport.getModuleDescriptor().getConfigurations()) {
- StringBuilder sb = new StringBuilder();
- sb.append("\t\t<configuration name=\"");
- sb.append(XMLHelper.escape(configuration.getName()));
- sb.append("\" description=\"");
- sb.append(XMLHelper.escape(configuration.getDescription()));
- sb.append("\" extends=\"");
- sb.append(XMLHelper.escape(Arrays.toString(configuration.getExtends())));
- sb.append("\" deprecated=\"");
- sb.append(XMLHelper.escape(configuration.getDeprecated()));
- sb.append("\" visibility=\"");
- sb.append(XMLHelper.escape(configuration.getVisibility().toString()));
- sb.append("\"/>");
- out.println(sb.toString());
+ out.println("\t\t<configuration name=\"" + XMLHelper.escape(configuration.getName()) + "\" description=\"" + XMLHelper.escape(configuration.getDescription()) + "\" extends=\"" + XMLHelper.escape(Arrays.toString(configuration.getExtends())) + "\" deprecated=\"" + XMLHelper.escape(configuration.getDeprecated()) + "\" visibility=\"" + XMLHelper.escape(configuration.getVisibility().toString()) + "\"/>");
}
out.println("\t</configurations>");
@@ -374,7 +362,7 @@
parameterReports = easyAntReport.getParameterReportsFromCurrentModule();
}
for (ParameterReport paramReport : parameterReports) {
- StringBuffer param = new StringBuffer();
+ StringBuilder param = new StringBuilder();
if (!ParameterType.PROPERTY.equals(paramReport.getType())) {
if (ParameterType.PATH.equals(paramReport.getType())) {
diff --git a/src/main/java/org/apache/easyant/tasks/BindTarget.java b/src/main/java/org/apache/easyant/tasks/BindTarget.java
index d49c806..6653be2 100644
--- a/src/main/java/org/apache/easyant/tasks/BindTarget.java
+++ b/src/main/java/org/apache/easyant/tasks/BindTarget.java
@@ -17,14 +17,10 @@
*/
package org.apache.easyant.tasks;
-import java.util.Enumeration;
-
import org.apache.easyant.core.BuildConfigurationHelper;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.ExtensionPoint;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Target;
-import org.apache.tools.ant.Task;
+import org.apache.tools.ant.*;
+
+import java.util.Enumeration;
public class BindTarget extends Task {
@@ -34,10 +30,9 @@
private String buildConfigurations;
public void execute() throws BuildException {
- StringBuilder message = new StringBuilder();
- message.append("extension-point mapping for target ").append(getTarget()).append(" ");
+ String message = "extension-point mapping for target " + getTarget();
if (!BuildConfigurationHelper.isBuildConfigurationActive(getBuildConfigurations(), getProject(),
- message.toString())) {
+ message)) {
log("no matching build configuration for this extension-point mapping, this mapping will be ignored",
Project.MSG_DEBUG);
return;
diff --git a/src/main/java/org/apache/easyant/tasks/IvyDependencyUpdateChecker.java b/src/main/java/org/apache/easyant/tasks/IvyDependencyUpdateChecker.java
index 8caeb1c..f3d21ad 100644
--- a/src/main/java/org/apache/easyant/tasks/IvyDependencyUpdateChecker.java
+++ b/src/main/java/org/apache/easyant/tasks/IvyDependencyUpdateChecker.java
@@ -107,17 +107,7 @@
// .isTranstive() methods doesn't have the same meaning)
boolean isTransitiveDependency = latest.getDependencyDescriptor(latest.getRoot()) == null;
if ((!isTransitiveDependency) || (isTransitiveDependency && showTransitive)) {
- StringBuilder sb = new StringBuilder();
- sb.append("\t")//
- .append(originalDependency.getResolvedId().getOrganisation()) //
- .append('#')//
- .append(originalDependency.getResolvedId().getName())//
- .append(isTransitiveDependency ? " (transitive)" : "") //
- .append("\t")//
- .append(originalDependency.getResolvedId().getRevision())//
- .append(" -> ")//
- .append(latest.getResolvedId().getRevision());
- log(sb.toString());
+ log("\t" + originalDependency.getResolvedId().getOrganisation() + '#' + originalDependency.getResolvedId().getName() + (isTransitiveDependency ? " (transitive)" : "") + "\t" + originalDependency.getResolvedId().getRevision() + " -> " + latest.getResolvedId().getRevision());
dependencyUpdateDetected = true;
}
}
diff --git a/src/main/java/org/apache/easyant/tasks/PluginUpdateChecker.java b/src/main/java/org/apache/easyant/tasks/PluginUpdateChecker.java
index 6e50048..c9cb898 100644
--- a/src/main/java/org/apache/easyant/tasks/PluginUpdateChecker.java
+++ b/src/main/java/org/apache/easyant/tasks/PluginUpdateChecker.java
@@ -86,16 +86,7 @@
String resolvedRevision = report.getModuleDescriptor().getDependencies()[0].getDependencyRevisionId()
.getRevision();
if (!resolvedRevision.equals(moduleRevisionId.getRevision())) {
- StringBuilder sb = new StringBuilder();
- sb.append("\t")//
- .append(moduleRevisionId.getOrganisation()) //
- .append('#')//
- .append(moduleRevisionId.getName())//
- .append("\t")//
- .append(moduleRevisionId.getRevision())//
- .append(" -> ")//
- .append(resolvedRevision);
- log(sb.toString());
+ log("\t" + moduleRevisionId.getOrganisation() + '#' + moduleRevisionId.getName() + "\t" + moduleRevisionId.getRevision() + " -> " + resolvedRevision);
pluginUpdateDetected=true;
}
diff --git a/src/main/java/org/apache/easyant/tasks/SubModule.java b/src/main/java/org/apache/easyant/tasks/SubModule.java
index 3144ef6..987dcfd 100644
--- a/src/main/java/org/apache/easyant/tasks/SubModule.java
+++ b/src/main/java/org/apache/easyant/tasks/SubModule.java
@@ -315,13 +315,7 @@
if (keys.contains(target)) {
filteredTargets.add(target);
} else {
- StringBuilder sb = new StringBuilder();
- sb.append("Skipping undefined target '")//
- .append(target)//
- .append("'")//
- .append(" on ")//
- .append(subProject.getName());
- subProject.log(sb.toString(), Project.MSG_VERBOSE);
+ subProject.log("Skipping undefined target '" + target + "'" + " on " + subProject.getName(), Project.MSG_VERBOSE);
}
}
return CollectionUtils.flattenToString(filteredTargets);
@@ -334,11 +328,7 @@
*/
private void printExecutingTargetMsg(Project subProject) {
final String HEADER = "======================================================================";
- StringBuilder sb = new StringBuilder();
- sb.append(HEADER).append(StringUtils.LINE_SEP);
- sb.append("Executing ").append(targets).append(" on ").append(subProject.getName());
- sb.append(StringUtils.LINE_SEP).append(HEADER);
- subProject.log(sb.toString());
+ subProject.log(HEADER + StringUtils.LINE_SEP + "Executing " + targets + " on " + subProject.getName() + StringUtils.LINE_SEP + HEADER);
}
/**
diff --git a/src/main/java/org/apache/easyant/tasks/findclasspath/AbstractFindClassPathStrategy.java b/src/main/java/org/apache/easyant/tasks/findclasspath/AbstractFindClassPathStrategy.java
index 93a2a24..6dc3346 100644
--- a/src/main/java/org/apache/easyant/tasks/findclasspath/AbstractFindClassPathStrategy.java
+++ b/src/main/java/org/apache/easyant/tasks/findclasspath/AbstractFindClassPathStrategy.java
@@ -63,12 +63,7 @@
* ivy instance reference
*/
protected void loadCachePath(String organisation, String module, String revision, String conf, Reference ivyRef) {
- StringBuilder sb = new StringBuilder();
- sb.append("Building classpath (").append(getPathid()).append(")");
- sb.append(" with ");
- sb.append(organisation).append("#").append(module).append(";").append(revision);
- sb.append(" conf=").append(conf);
- log(sb.toString(), Project.MSG_DEBUG);
+ log("Building classpath (" + getPathid() + ")" + " with " + organisation + "#" + module + ";" + revision + " conf=" + conf, Project.MSG_DEBUG);
IvyCachePath pluginCachePath = new IvyCachePath();
pluginCachePath.setOrganisation(organisation);
pluginCachePath.setModule(module);
diff --git a/src/test/java/org/apache/easyant/core/EasyAntBaseTest.java b/src/test/java/org/apache/easyant/core/EasyAntBaseTest.java
index 2545077..b4b1a44 100755
--- a/src/test/java/org/apache/easyant/core/EasyAntBaseTest.java
+++ b/src/test/java/org/apache/easyant/core/EasyAntBaseTest.java
@@ -52,10 +52,10 @@
protected Project project;
protected EasyAntConfiguration conf;
- private StringBuffer logBuffer;
- private StringBuffer fullLogBuffer;
- private StringBuffer outBuffer;
- private StringBuffer errBuffer;
+ private StringBuilder logBuffer;
+ private StringBuilder fullLogBuffer;
+ private StringBuilder outBuffer;
+ private StringBuilder errBuffer;
private BuildException buildException;
@Rule
@@ -276,7 +276,7 @@
return buildException;
}
- private String cleanBuffer(StringBuffer buffer) {
+ private String cleanBuffer(StringBuilder buffer) {
StringBuilder cleanedBuffer = new StringBuilder();
for (int i = 0; i < buffer.length(); i++) {
char ch = buffer.charAt(i);
@@ -403,8 +403,8 @@
throw new RuntimeException("You must call the configureProject method before initProject()");
}
// Flush the buffer
- logBuffer = new StringBuffer();
- fullLogBuffer = new StringBuffer();
+ logBuffer = new StringBuilder();
+ fullLogBuffer = new StringBuilder();
// init the new project instance
project = new Project();
project.addBuildListener(new AntTestListener(conf.getMsgOutputLevel()));
@@ -426,14 +426,14 @@
try {
sysOut.flush();
sysErr.flush();
- outBuffer = new StringBuffer();
+ outBuffer = new StringBuilder();
PrintStream out = new PrintStream(new AntOutputStream(outBuffer));
System.setOut(out);
- errBuffer = new StringBuffer();
+ errBuffer = new StringBuilder();
PrintStream err = new PrintStream(new AntOutputStream(errBuffer));
System.setErr(err);
- logBuffer = new StringBuffer();
- fullLogBuffer = new StringBuffer();
+ logBuffer = new StringBuilder();
+ fullLogBuffer = new StringBuilder();
buildException = null;
project.executeTarget(targetName);
} finally {
@@ -601,9 +601,9 @@
* an output stream which saves stuff to our buffer.
*/
private static class AntOutputStream extends java.io.OutputStream {
- private StringBuffer buffer;
+ private StringBuilder buffer;
- public AntOutputStream(StringBuffer buffer) {
+ public AntOutputStream(StringBuilder buffer) {
this.buffer = buffer;
}
diff --git a/src/test/java/org/apache/easyant/tasks/AntTestListener.java b/src/test/java/org/apache/easyant/tasks/AntTestListener.java
index 939b1ee..29b42eb 100644
--- a/src/test/java/org/apache/easyant/tasks/AntTestListener.java
+++ b/src/test/java/org/apache/easyant/tasks/AntTestListener.java
@@ -29,7 +29,7 @@
private int logLevel;
- private StringBuffer buildLog = new StringBuffer();
+ private StringBuilder buildLog = new StringBuilder();
/**
* Constructs a test listener which will ignore log events above the given level.