From 805e4e5f20c805dbac1555a783665d32436e1ca9 Mon Sep 17 00:00:00 2001 From: benoit Date: Tue, 20 Sep 2016 10:31:05 +0200 Subject: [PATCH] tiny memory allocation improvement add a test for JOrphanUtils#rightAlign --- .../org/apache/jmeter/reporters/Summariser.java | 8 ++++---- .../jmeter/util/HttpSSLProtocolSocketFactory.java | 2 +- .../org/apache/jmeter/functions/LogFunction.java | 8 ++++---- .../org/apache/jmeter/functions/StringFromFile.java | 4 ++-- .../org/apache/jorphan/util/JOrphanUtils.java | 13 ++++++------- .../apache/jmeter/protocol/http/control/Cookie.java | 2 +- .../jmeter/protocol/http/parser/CssParser.java | 2 +- .../protocol/http/parser/HtmlParsingUtils.java | 6 +++--- .../jmeter/protocol/http/sampler/HTTPHC4Impl.java | 8 ++++---- .../protocol/http/sampler/HTTPSampleResult.java | 8 ++++---- .../protocol/http/sampler/HTTPSamplerBase.java | 2 +- .../org/apache/jorphan/util/TestJorphanUtils.java | 12 ++++++++++++ 12 files changed, 43 insertions(+), 32 deletions(-) diff --git a/src/core/org/apache/jmeter/reporters/Summariser.java b/src/core/org/apache/jmeter/reporters/Summariser.java index 2a5eab967ab..795e10f31b6 100644 --- a/src/core/org/apache/jmeter/reporters/Summariser.java +++ b/src/core/org/apache/jmeter/reporters/Summariser.java @@ -237,11 +237,11 @@ private static StringBuilder doubleToSb(DecimalFormat dfDouble, StringBuilder sb private static String format(String name, SummariserRunningSample summariserRunningSample, String type) { DecimalFormat dfDouble = new DecimalFormat("#0.0"); // $NON-NLS-1$ StringBuilder tmp = new StringBuilder(20); // for intermediate use - StringBuilder sb = new StringBuilder(100); // output line buffer + StringBuilder sb = new StringBuilder(140); // output line buffer sb.append(name); - sb.append(" "); + sb.append(' '); sb.append(type); - sb.append(" "); + sb.append(' '); sb.append(longToSb(tmp, summariserRunningSample.getNumSamples(), 6)); sb.append(" in "); long elapsed = summariserRunningSample.getElapsed(); @@ -263,7 +263,7 @@ private static String format(String name, SummariserRunningSample summariserRunn sb.append(longToSb(tmp, summariserRunningSample.getErrorCount(), 5)); sb.append(" ("); sb.append(summariserRunningSample.getErrorPercentageString()); - sb.append(")"); + sb.append(')'); if ("+".equals(type)) { ThreadCounts tc = JMeterContextService.getThreadCounts(); sb.append(" Active: "); diff --git a/src/core/org/apache/jmeter/util/HttpSSLProtocolSocketFactory.java b/src/core/org/apache/jmeter/util/HttpSSLProtocolSocketFactory.java index 65afb9d6961..9713a75b6d4 100644 --- a/src/core/org/apache/jmeter/util/HttpSSLProtocolSocketFactory.java +++ b/src/core/org/apache/jmeter/util/HttpSSLProtocolSocketFactory.java @@ -91,7 +91,7 @@ private String join(String[] strings) { StringBuilder sb = new StringBuilder(); for (int i=0;i0) { - sb.append(" "); + sb.append(' '); } sb.append(strings[i]); } diff --git a/src/functions/org/apache/jmeter/functions/LogFunction.java b/src/functions/org/apache/jmeter/functions/LogFunction.java index 7f9990b1017..1e7180ccec1 100644 --- a/src/functions/org/apache/jmeter/functions/LogFunction.java +++ b/src/functions/org/apache/jmeter/functions/LogFunction.java @@ -116,15 +116,15 @@ private static void printDetails(java.io.PrintStream ps, String s, Throwable t, StringBuilder sb = new StringBuilder(80); sb.append("Log: "); sb.append(tn); - if (c.length()>0){ - sb.append(" "); + if (c.length()>0) { + sb.append(' '); sb.append(c); } else { sb.append(DEFAULT_SEPARATOR); } sb.append(s); if (t != null) { - sb.append(" "); + sb.append(' '); ps.print(sb.toString()); t.printStackTrace(ps); } else { @@ -148,7 +148,7 @@ static synchronized void logDetails(Logger l, String s, String prio, Throwable t StringBuilder sb = new StringBuilder(40); sb.append(tn); if (c.length()>0){ - sb.append(" "); + sb.append(' '); sb.append(c); } else { sb.append(DEFAULT_SEPARATOR); diff --git a/src/functions/org/apache/jmeter/functions/StringFromFile.java b/src/functions/org/apache/jmeter/functions/StringFromFile.java index 4288a69b3a5..1d7a7c5bc8d 100644 --- a/src/functions/org/apache/jmeter/functions/StringFromFile.java +++ b/src/functions/org/apache/jmeter/functions/StringFromFile.java @@ -286,11 +286,11 @@ public synchronized void setParameters(Collection parameters) sb.append("setParameters(");//$NON-NLS-1$ for (int i = 0; i < values.length; i++) { if (i > 0) { - sb.append(","); + sb.append(','); } sb.append(((CompoundVariable) values[i]).getRawParameters()); } - sb.append(")");//$NON-NLS-1$ + sb.append(')');//$NON-NLS-1$ log.info(sb.toString()); // N.B. setParameters is called before the test proper is started, diff --git a/src/jorphan/org/apache/jorphan/util/JOrphanUtils.java b/src/jorphan/org/apache/jorphan/util/JOrphanUtils.java index b4543be8776..f14f7d68afd 100644 --- a/src/jorphan/org/apache/jorphan/util/JOrphanUtils.java +++ b/src/jorphan/org/apache/jorphan/util/JOrphanUtils.java @@ -168,9 +168,8 @@ public static String[] split(String splittee, String delims, String def) { } - private static final String SPACES = " "; - - private static final int SPACES_LEN = SPACES.length(); + private static final char[] SPACES_CHARS = " ".toCharArray(); + private static final int SPACES_LEN = SPACES_CHARS.length; /** * Right aligns some text in a StringBuilder N.B. modifies the input buffer @@ -189,7 +188,7 @@ public static StringBuilder rightAlign(StringBuilder in, int len) { if (pfx > SPACES_LEN) { pfx = SPACES_LEN; } - in.insert(0, SPACES.substring(0, pfx)); + in.insert(0, SPACES_CHARS, 0, pfx); return in; } @@ -210,7 +209,7 @@ public static StringBuilder leftAlign(StringBuilder in, int len) { if (sfx > SPACES_LEN) { sfx = SPACES_LEN; } - in.append(SPACES.substring(0, sfx)); + in.append(SPACES_CHARS, 0, sfx); return in; } @@ -427,7 +426,7 @@ public static String baToHexString(byte[] ba) { for (byte b : ba) { int j = b & 0xff; if (j < 16) { - sb.append("0"); // $NON-NLS-1$ add zero padding + sb.append('0'); // $NON-NLS-1$ add zero padding } sb.append(Integer.toHexString(j)); } @@ -449,7 +448,7 @@ public static String baToHexString(byte[] ba, char separator) { } int j = ba[i] & 0xff; if (j < 16) { - sb.append("0"); // $NON-NLS-1$ add zero padding + sb.append('0'); // $NON-NLS-1$ add zero padding } sb.append(Integer.toHexString(j)); } diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/Cookie.java b/src/protocol/http/org/apache/jmeter/protocol/http/control/Cookie.java index 02043c5457d..a17417c2a0f 100644 --- a/src/protocol/http/org/apache/jmeter/protocol/http/control/Cookie.java +++ b/src/protocol/http/org/apache/jmeter/protocol/http/control/Cookie.java @@ -33,7 +33,7 @@ public class Cookie extends AbstractTestElement implements Serializable { private static final long serialVersionUID = 240L; - private static final String TAB = "\t"; + private static final char TAB = '\t'; private static final String VALUE = "Cookie.value"; //$NON-NLS-1$ diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/CssParser.java b/src/protocol/http/org/apache/jmeter/protocol/http/parser/CssParser.java index e8a5369739c..2ac07e2ac76 100644 --- a/src/protocol/http/org/apache/jmeter/protocol/http/parser/CssParser.java +++ b/src/protocol/http/org/apache/jmeter/protocol/http/parser/CssParser.java @@ -164,7 +164,7 @@ public void onUrlDeclaration( StringBuilder builder = new StringBuilder(); for (Iterator iterator = urlCollection.iterator(); iterator.hasNext();) { URL urlString = iterator.next(); - builder.append(urlString).append(","); + builder.append(urlString).append(','); } LOG.debug("Parsed:"+baseUrl+", got:"+builder.toString()); } diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/HtmlParsingUtils.java b/src/protocol/http/org/apache/jmeter/protocol/http/parser/HtmlParsingUtils.java index b16e95cd408..20023eec138 100644 --- a/src/protocol/http/org/apache/jmeter/protocol/http/parser/HtmlParsingUtils.java +++ b/src/protocol/http/org/apache/jmeter/protocol/http/parser/HtmlParsingUtils.java @@ -359,18 +359,18 @@ private static String getAttributeValue(NamedNodeMap att, String attName) { private static String printNode(Node node) { StringBuilder buf = new StringBuilder(); - buf.append("<"); // $NON-NLS-1$ + buf.append('<'); // $NON-NLS-1$ buf.append(node.getNodeName()); NamedNodeMap atts = node.getAttributes(); for (int x = 0; x < atts.getLength(); x++) { - buf.append(" "); // $NON-NLS-1$ + buf.append(' '); // $NON-NLS-1$ buf.append(atts.item(x).getNodeName()); buf.append("=\""); // $NON-NLS-1$ buf.append(atts.item(x).getNodeValue()); buf.append("\""); // $NON-NLS-1$ } - buf.append(">"); // $NON-NLS-1$ + buf.append('>'); // $NON-NLS-1$ return buf.toString(); } diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java b/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java index 7ce23360306..97817bdee58 100644 --- a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java +++ b/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java @@ -715,9 +715,9 @@ public String toString() { if (hasProxy) { sb.append(" via "); sb.append(proxyUser); - sb.append("@"); + sb.append('@'); sb.append(proxyHost); - sb.append(":"); + sb.append(':'); sb.append(proxyPort); } return sb.toString(); @@ -977,13 +977,13 @@ private String getResponseHeaders(HttpResponse response, HttpContext localContex private void writeResponseHeader(StringBuilder headerBuffer, Header responseHeader) { if(responseHeader instanceof BufferedHeader) { CharArrayBuffer buffer = ((BufferedHeader)responseHeader).getBuffer(); - headerBuffer.append(buffer.buffer(), 0, buffer.length()).append("\n"); // $NON-NLS-1$; + headerBuffer.append(buffer.buffer(), 0, buffer.length()).append('\n'); // $NON-NLS-1$; } else { headerBuffer.append(responseHeader.getName()) .append(": ") // $NON-NLS-1$ .append(responseHeader.getValue()) - .append("\n"); // $NON-NLS-1$ + .append('\n'); // $NON-NLS-1$ } } diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampleResult.java b/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampleResult.java index ff281236d41..9908150649d 100644 --- a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampleResult.java +++ b/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampleResult.java @@ -147,12 +147,12 @@ public String getSamplerData() { if (u != null) { sb.append(' '); sb.append(u.toString()); - sb.append("\n"); + sb.append('\n'); // Include request body if it is a post or put or patch if (!METHODS_WITHOUT_BODY.contains(method)) { - sb.append("\n"+method+" data:\n"); + sb.append("\n").append(method).append(" data:\n"); sb.append(queryString); - sb.append("\n"); + sb.append('\n'); } if (cookies.length()>0){ sb.append("\nCookie Data:\n"); @@ -160,7 +160,7 @@ public String getSamplerData() { } else { sb.append("\n[no cookies]"); } - sb.append("\n"); + sb.append('\n'); } final String sampData = super.getSamplerData(); if (sampData != null){ diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java b/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java index 0882780ad1c..0dd4b1ea26c 100644 --- a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java +++ b/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java @@ -952,7 +952,7 @@ public URL getUrl() throws MalformedURLException { } else { // HTTP URLs must be absolute, allow file to be relative if (!path.startsWith("/")) { // $NON-NLS-1$ - pathAndQuery.append("/"); // $NON-NLS-1$ + pathAndQuery.append('/'); // $NON-NLS-1$ } } pathAndQuery.append(path); diff --git a/test/src/org/apache/jorphan/util/TestJorphanUtils.java b/test/src/org/apache/jorphan/util/TestJorphanUtils.java index 4e04ff9a7ab..5f78307c9a4 100644 --- a/test/src/org/apache/jorphan/util/TestJorphanUtils.java +++ b/test/src/org/apache/jorphan/util/TestJorphanUtils.java @@ -344,4 +344,16 @@ public void testIsBlank() { assertTrue(JOrphanUtils.isBlank(" ")); assertFalse(JOrphanUtils.isBlank(" zdazd dzd ")); } + + @Test + public void testRightAlign() { + StringBuilder in = new StringBuilder("AZE"); + assertEquals(" AZE", JOrphanUtils.rightAlign(in, 6).toString()); + in = new StringBuilder("AZERTY"); + assertEquals("AZERTY", JOrphanUtils.rightAlign(in, 6).toString()); + in = new StringBuilder("baulpismuth"); + assertEquals("baulpismuth", JOrphanUtils.rightAlign(in, 6).toString()); + in = new StringBuilder("A"); + assertEquals(" A", JOrphanUtils.rightAlign(in, 8).toString()); + } }