Skip to content

Commit d26c257

Browse files
committed
Replace StringBuffer with StringBuilder and avoid concatenation inside append
Signed-off-by: Nicola Isotta <[email protected]>
1 parent f61ffce commit d26c257

File tree

165 files changed

+523
-571
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

165 files changed

+523
-571
lines changed

src/main/java/com/ibm/as400/access/AS400FileImplBase.java

+8-8
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ public void addPhysicalFileMember(String name, String textDescription)
412412
IOException
413413
{
414414
// Create the ADDPFM command string
415-
StringBuffer cmd = new StringBuffer("QSYS/ADDPFM FILE(");
415+
StringBuilder cmd = new StringBuilder("QSYS/ADDPFM FILE(");
416416
cmd.append(library_);
417417
cmd.append("/");
418418
cmd.append(file_);
@@ -511,7 +511,7 @@ else if (recordFormat_.getKeyFieldDescription(j) instanceof VariableLengthFieldD
511511
if (searchKeyLength < recordKeyLength)
512512
{
513513
// pad the search key with trailing blanks
514-
StringBuffer buf = new StringBuffer(searchKey);
514+
StringBuilder buf = new StringBuilder(searchKey);
515515
for (int i=searchKeyLength; i<recordKeyLength; ++i)
516516
buf.append(" ");
517517
searchKey = buf.toString();
@@ -1375,7 +1375,7 @@ public void startCommitmentControl(AS400Impl system, int commitLockLevel)
13751375
setConverter();
13761376

13771377
// Build the command to start commitment control.
1378-
StringBuffer cmd = new StringBuffer("QSYS/STRCMTCTL LCKLVL(*");
1378+
StringBuilder cmd = new StringBuilder("QSYS/STRCMTCTL LCKLVL(*");
13791379
switch (commitLockLevel)
13801380
{
13811381
case AS400File.COMMIT_LOCK_LEVEL_CHANGE:
@@ -1454,7 +1454,7 @@ public void releaseExplicitLocks()
14541454
if (explicitLocksObtained_.size() > 0)
14551455
{
14561456
// Build the command to release the explicit locks.
1457-
StringBuffer cmd = new StringBuffer("QSYS/DLCOBJ OBJ(");
1457+
StringBuilder cmd = new StringBuilder("QSYS/DLCOBJ OBJ(");
14581458
for (Enumeration e = explicitLocksObtained_.elements();
14591459
e.hasMoreElements();)
14601460
{
@@ -1625,7 +1625,7 @@ public void create(int recordLength, String fileType, String textDescription)
16251625
IOException
16261626
{
16271627
// Create the CRTPF command string
1628-
StringBuffer cmd = new StringBuffer("QSYS/CRTPF FILE(");
1628+
StringBuilder cmd = new StringBuilder("QSYS/CRTPF FILE(");
16291629
cmd.append(library_);
16301630
cmd.append("/");
16311631
cmd.append(file_);
@@ -1705,7 +1705,7 @@ public void create(String ddsSourceFile,
17051705
}
17061706

17071707
// Create the CRTPF command string
1708-
StringBuffer cmd = new StringBuffer("QSYS/CRTPF FILE(");
1708+
StringBuilder cmd = new StringBuilder("QSYS/CRTPF FILE(");
17091709
cmd.append(library_);
17101710
cmd.append("/");
17111711
cmd.append(file_);
@@ -1882,7 +1882,7 @@ public void lock(int lockToObtain)
18821882
if (!explicitLocksObtained_.contains(l))
18831883
{
18841884
// Lock the file using the ALCOBJ command.
1885-
StringBuffer cmd = new StringBuffer("QSYS/ALCOBJ OBJ((");
1885+
StringBuilder cmd = new StringBuilder("QSYS/ALCOBJ OBJ((");
18861886
cmd.append(library_);
18871887
cmd.append("/");
18881888
cmd.append(file_);
@@ -1992,7 +1992,7 @@ public String[] openFile2(int openType, int blockingFactor, int commitLockLevel,
19921992
if (!recordFormatName_.equals(recordFormat_.getName()))
19931993
{
19941994
recordFormatName_ = recordFormat_.getName();
1995-
StringBuffer recordName = new StringBuffer(recordFormat_.getName());
1995+
StringBuilder recordName = new StringBuilder(recordFormat_.getName());
19961996
while (recordName.length() < 10) recordName.append(' ');
19971997
ConverterImplRemote c = ConverterImplRemote.getConverter(system_.getCcsid(), system_); //@B5C
19981998
recordFormatCTLLName_ = c.stringToByteArray(recordName.toString());

src/main/java/com/ibm/as400/access/AS400FileRecordDescriptionImplRemote.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -780,19 +780,19 @@ else if(dft.indexOf("'") != -1)
780780
// Concatenate the 3 "column heading" fields into a single string.
781781
// Delimit each part by single-quotes.
782782
// For example: "'FIRST PART' 'SECOND PART' 'THIRD PART'"
783-
StringBuffer sb = new StringBuffer();
783+
StringBuilder sb = new StringBuilder();
784784

785785
if (colHdg1.length() == 0) sb.append("''");
786-
else sb.append("'" + colHdg1 + "'");
786+
else sb.append("'").append(colHdg1).append("'");
787787

788788
if (colHdg2.length() == 0) {
789789
if (colHdg3.length() == 0) {}
790790
else sb.append(" ''");
791791
}
792-
else sb.append(" '" + colHdg2 + "'");
792+
else sb.append(" '").append(colHdg2).append("'");
793793

794794
if (colHdg3.length() == 0) {}
795-
else sb.append(" '" + colHdg3 + "'");
795+
else sb.append(" '").append(colHdg3).append("'");
796796

797797
fd.setCOLHDG(sb.toString());
798798
}

src/main/java/com/ibm/as400/access/AS400ImplRemote.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1368,11 +1368,11 @@ private String readFTPLine(BufferedReader reader) throws IOException
13681368
if (line == null || line.length() == 0)
13691369
throw new IOException();
13701370
String code = line.substring(0, 3);
1371-
StringBuffer fullMessage = new StringBuffer(line);
1371+
StringBuilder fullMessage = new StringBuilder(line);
13721372
while ((line != null) && !(line.length() > 3 && line.substring(0, 3).equals(code) && line.charAt(3) == ' '))
13731373
{
13741374
line = reader.readLine();
1375-
fullMessage.append("\n" + line);
1375+
fullMessage.append("\n").append(line);
13761376
}
13771377
return fullMessage.toString();
13781378
}

src/main/java/com/ibm/as400/access/AS400JDBCConnectionImpl.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1747,7 +1747,7 @@ public String makeGeneratedKeySelectStatement(String sql, int[] columnIndexes, S
17471747
// @B4C. Use NEW TABLE instead of FINAL TABLE. With FINAL TABLE, the query will fail if
17481748
// AFTER INSERT TRIGGERS are present. Since it is unlikely that AFTER INSERT triggers will
17491749
// change the autogenerated keys, NEW TABLE is used.
1750-
StringBuffer selectAll = new StringBuffer("SELECT * FROM NEW TABLE(");
1750+
StringBuilder selectAll = new StringBuilder("SELECT * FROM NEW TABLE(");
17511751
selectAll.append(sql);
17521752
selectAll.append(")");
17531753
PreparedStatement genPrepStat = prepareStatement(selectAll.toString());
@@ -1780,7 +1780,7 @@ public String makeGeneratedKeySelectStatement(String sql, int[] columnIndexes, S
17801780
// @B4C. Use NEW TABLE instead of FINAL TABLE. With FINAL TABLE, the query will fail if
17811781
// AFTER INSERT TRIGGERS are present. Since it is unlikely that AFTER INSERT triggers will
17821782
// change the autogenerated keys, NEW TABLE is used.
1783-
StringBuffer selectFrom = new StringBuffer("SELECT " + columnNames[0]); //we verified above that there is at least one name
1783+
StringBuilder selectFrom = new StringBuilder("SELECT " + columnNames[0]); //we verified above that there is at least one name
17841784
for(int i=1; i<columnNames.length; i++)
17851785
{
17861786
selectFrom.append(",");
@@ -1807,7 +1807,7 @@ public String makeGeneratedKeySelectStatement(String sql)
18071807
// AFTER INSERT TRIGGERS are present. Since it is unlikely that AFTER INSERT triggers will
18081808
// change the autogenerated keys, NEW TABLE is used.
18091809

1810-
StringBuffer selectFrom = new StringBuffer("SELECT *SQLGENCOLUMNS FROM NEW TABLE(");
1810+
StringBuilder selectFrom = new StringBuilder("SELECT *SQLGENCOLUMNS FROM NEW TABLE(");
18111811
selectFrom.append(sql);
18121812
selectFrom.append(")");
18131813

src/main/java/com/ibm/as400/access/AS400JDBCDatabaseMetaData.java

+11-11
Original file line numberDiff line numberDiff line change
@@ -1968,7 +1968,7 @@ public String getDatabaseProductVersionI ()
19681968
return null;
19691969
}
19701970

1971-
StringBuffer buffer = new StringBuffer ();
1971+
StringBuilder buffer = new StringBuilder ();
19721972
buffer.append (JDUtilities.padZeros (v, 2));
19731973
buffer.append (".");
19741974
buffer.append (JDUtilities.padZeros (r, 2));
@@ -2006,7 +2006,7 @@ public String getDatabaseProductVersionDRDA ()
20062006
r = (vrm & 0x0000ff00) >>> 8; // @D1C
20072007
m = (vrm & 0x000000ff); // @D1C
20082008

2009-
StringBuffer buffer = new StringBuffer ();
2009+
StringBuilder buffer = new StringBuilder ();
20102010
buffer.append("QSQ");
20112011
if (v < 10) buffer.append("0");
20122012
buffer.append(v);
@@ -3632,11 +3632,11 @@ public ResultSet getProcedureColumns (String catalog,
36323632
else
36333633

36343634
{ // Parameters are valid, build request and send
3635-
StringBuffer selectStmt = new StringBuffer();
3635+
StringBuilder selectStmt = new StringBuilder();
36363636
selectStmt.append ("SELECT SPECIFIC_SCHEMA, SPECIFIC_NAME, PARAMETER_NAME, PARAMETER_MODE, ");
36373637
selectStmt.append ("DATA_TYPE, NUMERIC_PRECISION, CHARACTER_MAXIMUM_LENGTH, NUMERIC_SCALE, ");
36383638
selectStmt.append ("NUMERIC_PRECISION_RADIX, IS_NULLABLE, LONG_COMMENT ");
3639-
selectStmt.append ("FROM QSYS2" + getCatalogSeparator() + "SYSPARMS "); // use . or /
3639+
selectStmt.append("FROM QSYS2").append(getCatalogSeparator()).append ("SYSPARMS "); // use . or /
36403640

36413641

36423642

@@ -3645,7 +3645,7 @@ public ResultSet getProcedureColumns (String catalog,
36453645
{
36463646
JDSearchPattern schema = new JDSearchPattern (normalize(schemaPattern)); //@pdc normalize
36473647
String schemaWhereClause = schema.getSQLWhereClause("SPECIFIC_SCHEMA");
3648-
selectStmt.append("WHERE " + schemaWhereClause);
3648+
selectStmt.append("WHERE ").append(schemaWhereClause);
36493649
}
36503650

36513651

@@ -3880,22 +3880,22 @@ public ResultSet getProcedures (String catalog,
38803880

38813881
else
38823882
{ // Parameters are valid, build request and send
3883-
StringBuffer selectStmt = new StringBuffer();
3883+
StringBuilder selectStmt = new StringBuilder();
38843884
/* ifdef JDBC40 */
38853885
selectStmt.append ("SELECT ROUTINE_SCHEMA, ROUTINE_NAME, REMARKS, RESULTS, SPECIFIC_NAME ");//@PROC //@JDBC40
38863886
/* endif */
38873887
/* ifndef JDBC40
38883888
selectStmt.append ("SELECT ROUTINE_SCHEMA, ROUTINE_NAME, REMARKS, RESULTS ");//@PROC
38893889
endif */
3890-
selectStmt.append ("FROM QSYS2" + getCatalogSeparator() + "SYSPROCS "); // use . or /
3890+
selectStmt.append("FROM QSYS2").append(getCatalogSeparator()).append ("SYSPROCS "); // use . or /
38913891

38923892

38933893

38943894
if (schemaPattern !=null)
38953895
{
38963896
JDSearchPattern schema = new JDSearchPattern (schemaPattern);
38973897
String schemaWhereClause = schema.getSQLWhereClause("ROUTINE_SCHEMA");//@PROC
3898-
selectStmt.append("WHERE " + schemaWhereClause);
3898+
selectStmt.append("WHERE ").append(schemaWhereClause);
38993899
}
39003900

39013901

@@ -5529,7 +5529,7 @@ public ResultSet getUDTs (String catalog,
55295529
cs.setString(1, normalize(catalog));
55305530
cs.setString(2, normalize(schemaPattern));
55315531
cs.setString(3, normalize(typeNamePattern));
5532-
StringBuffer typesStringBuffer = new StringBuffer();
5532+
StringBuilder typesStringBuffer = new StringBuilder();
55335533
int stringsInList = 0;
55345534

55355535
if (types != null) {
@@ -5629,7 +5629,7 @@ public ResultSet getUDTs (String catalog,
56295629
{
56305630

56315631
// Build up the query,
5632-
StringBuffer select = new StringBuffer ();
5632+
StringBuilder select = new StringBuilder ();
56335633
select.append ("SELECT USER_DEFINED_TYPE_SCHEMA, " // @B2C
56345634
+ "USER_DEFINED_TYPE_NAME, " // @B2C
56355635
+ "SOURCE_TYPE, REMARKS");
@@ -5654,7 +5654,7 @@ public ResultSet getUDTs (String catalog,
56545654
select.append (getCatalogSeparator ());
56555655
select.append ("SYSTYPES " );
56565656

5657-
StringBuffer where = new StringBuffer ();
5657+
StringBuilder where = new StringBuilder ();
56585658
if (schemaPattern != null)
56595659
{
56605660
JDSearchPattern searchPattern = new JDSearchPattern (schemaPattern);

src/main/java/com/ibm/as400/access/AS400JDBCDriver.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1080,7 +1080,7 @@ static String substitute (String text, Object[] values)
10801080
String variable = "&" + i;
10811081
int j = result.indexOf (variable);
10821082
if (j >= 0) {
1083-
StringBuffer buffer = new StringBuffer();
1083+
StringBuilder buffer = new StringBuilder();
10841084
buffer.append(result.substring(0, j));
10851085
buffer.append(values[i].toString ());
10861086
buffer.append(result.substring(j + variable.length ()));

src/main/java/com/ibm/as400/access/AS400JDBCResultSet.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -4206,7 +4206,7 @@ public void deleteRow ()
42064206
// we need it.
42074207
if(deleteStatement_ == null)
42084208
{ // @D3C
4209-
StringBuffer buffer = new StringBuffer(); // @D3A
4209+
StringBuilder buffer = new StringBuilder(); // @D3A
42104210
buffer.append("DELETE FROM "); // @D3A
42114211
buffer.append(selectTable_); // @D3A
42124212
buffer.append(" WHERE CURRENT OF \""); // @D3A
@@ -4265,7 +4265,7 @@ public void insertRow ()
42654265
buffer.append ("INSERT INTO ");
42664266
buffer.append (selectTable_);
42674267
buffer.append (" (");
4268-
StringBuffer values = new StringBuffer ();
4268+
StringBuilder values = new StringBuilder ();
42694269
int columnsSet = 0;
42704270
for(int i = 0; i < columnCount_; ++i)
42714271
{

src/main/java/com/ibm/as400/access/AS400JDBCSQLXML.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,7 @@ public synchronized String getString() throws SQLException
501501
// string
502502
InputStream stream = null;
503503
BufferedReader reader = null;
504-
StringBuffer sb = new StringBuffer();
504+
StringBuilder sb = new StringBuilder();
505505
try
506506
{
507507
if (lobType == SQLData.BLOB)
@@ -583,6 +583,7 @@ public synchronized String getString() throws SQLException
583583
s = sb.toString();
584584

585585
break; // end of BLOB case
586+
// end of BLOB case
586587
/* ifdef JDBC40 */
587588
case DOM_DOCUMENT:
588589

src/main/java/com/ibm/as400/access/AS400JDBCTimestamp.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public void setNanos(int nanos) {
9494
*/
9595
public String toString() {
9696
String nonFractional=super.toString();
97-
StringBuffer sb = new StringBuffer();
97+
StringBuilder sb = new StringBuilder();
9898
int dotIndex = nonFractional.indexOf('.');
9999
/* Note: the current Timestamp.toString() always returns a dot */
100100
if (dotIndex > 0) {

src/main/java/com/ibm/as400/access/AS400Message.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -850,7 +850,7 @@ public String toString()
850850
// returns the original 'toString' value. In mod 3 toString was changed to return its current value. This method is added for those parts of the Toolbox that still need the value in in the old format.
851851
String toStringM2()
852852
{
853-
StringBuffer buffer = new StringBuffer();
853+
StringBuilder buffer = new StringBuilder();
854854
String id = getID();
855855
String text = getText();
856856
if (id != null)

src/main/java/com/ibm/as400/access/AS400Timestamp.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -541,7 +541,7 @@ public static java.sql.Timestamp parseXsdString(String source, TimeZone timeZone
541541
String withoutNanos = source.substring(0,19); // up to the '.' (exclusive)
542542
if (source.length() > 20)
543543
{
544-
StringBuffer fractionalSeconds = new StringBuffer(source.substring(20));
544+
StringBuilder fractionalSeconds = new StringBuilder(source.substring(20));
545545
// Pad with trailing zeros, to 9 digits, so as to specify "number of nanoseconds".
546546
int numZerosToAdd = 9 - fractionalSeconds.length();
547547
for (int i=0; i<numZerosToAdd; i++) fractionalSeconds.append('0');
@@ -591,7 +591,7 @@ public static String toXsdString(Object javaValue, TimeZone timeZone)
591591
throw e;
592592
}
593593

594-
StringBuffer timestampString = new StringBuffer(getTimestampFormatterXSD(timeZone).format(timestampObj));
594+
StringBuilder timestampString = new StringBuilder(getTimestampFormatterXSD(timeZone).format(timestampObj));
595595

596596
// Append nanoseconds.
597597
timestampString.append('.');
@@ -671,7 +671,7 @@ static final String to6Digits(int value)
671671
if (value < 0 || value > 999999) {
672672
throw new InternalErrorException(InternalErrorException.UNKNOWN, "to6Digits("+value+")",null);
673673
}
674-
StringBuffer buf = new StringBuffer(Integer.toString(value));
674+
StringBuilder buf = new StringBuilder(Integer.toString(value));
675675
int zerosToPrepend = 6 - buf.length();
676676
for (int i=0; i<zerosToPrepend; i++) {
677677
buf.insert(0, '0');
@@ -687,7 +687,7 @@ static final String to9Digits(int value)
687687
if (value < 0 || value > 999999999) {
688688
throw new InternalErrorException(InternalErrorException.UNKNOWN, "to9Digits("+value+")",null);
689689
}
690-
StringBuffer buf = new StringBuffer(Integer.toString(value));
690+
StringBuilder buf = new StringBuilder(Integer.toString(value));
691691
int zerosToPrepend = 9 - buf.length();
692692
for (int i=0; i<zerosToPrepend; i++) {
693693
buf.insert(0, '0');

src/main/java/com/ibm/as400/access/BidiFlagSet.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -773,8 +773,8 @@ public static void set2AllFlags(BidiFlagSet flags1, BidiFlagSet flags2,
773773
String str) throws IllegalArgumentException
774774
{
775775
int capacity = str.length();
776-
StringBuffer sb1 = new StringBuffer(capacity);
777-
StringBuffer sb2 = new StringBuffer(capacity);
776+
StringBuilder sb1 = new StringBuilder(capacity);
777+
StringBuilder sb2 = new StringBuilder(capacity);
778778
StringTokenizer stok = new StringTokenizer(str, "\t ,=:", true);
779779
String token;
780780
int sb2Length = 0;

src/main/java/com/ibm/as400/access/BinaryFieldDescription.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ String[] getDDSDescription()
413413
{
414414
Vector v = new Vector();
415415
// Name columns (10)
416-
StringBuffer desc = new StringBuffer(ddsName_);
416+
StringBuilder desc = new StringBuilder(ddsName_);
417417
// Blank pad the ddsName to 10 characters.
418418
while(desc.length() < 10)
419419
{

src/main/java/com/ibm/as400/access/CharacterFieldDescription.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ String[] getDDSDescription()
9797
{
9898
Vector v = new Vector();
9999
// Name columns (10)
100-
StringBuffer desc = new StringBuffer(ddsName_);
100+
StringBuilder desc = new StringBuilder(ddsName_);
101101
// Blank pad the ddsName to 10 characters.
102102
while(desc.length() < 10)
103103
{

src/main/java/com/ibm/as400/access/ClusteredHashTable.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ public ClusteredHashTableEntry[] elements(String userProfile, String lastModifie
396396

397397
if (lastModifiedProfile != null && lastModifiedProfile.length() < 10)
398398
{
399-
StringBuffer buf = new StringBuffer(lastModifiedProfile);
399+
StringBuilder buf = new StringBuilder(lastModifiedProfile);
400400
for (int i = lastModifiedProfile.length(); i < 10; ++i) {
401401
buf.append(" ");
402402
}
@@ -438,7 +438,7 @@ public ClusteredHashTableEntry[] elements(String userProfile, String lastModifie
438438
try
439439
{
440440
// input -- Qualified userspace name
441-
StringBuffer tempName = new StringBuffer(20);
441+
StringBuilder tempName = new StringBuilder(20);
442442
tempName.append(usrSpc.getName());
443443
for (int i = usrSpc.getName().length(); i < 10; ++i) // pad to 10 characters
444444
tempName.append(' ');

src/main/java/com/ibm/as400/access/CommandList.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -190,9 +190,9 @@ public synchronized Command[] generateList() throws AS400Exception, AS400Securit
190190
throw new ExtendedIllegalStateException("command", ExtendedIllegalStateException.PROPERTY_NOT_SET);
191191

192192
CharConverter conv37_ = new CharConverter(37);
193-
StringBuffer commandString = new StringBuffer(cmd_.toUpperCase().trim());
193+
StringBuilder commandString = new StringBuilder(cmd_.toUpperCase().trim());
194194
while (commandString.length() < 10) commandString.append(' ');
195-
StringBuffer libraryString = new StringBuffer(lib_.toUpperCase().trim());
195+
StringBuilder libraryString = new StringBuilder(lib_.toUpperCase().trim());
196196
while (libraryString.length() < 10) libraryString.append(' ');
197197

198198
// Create the program parameters for the list object program call.

src/main/java/com/ibm/as400/access/ConvTable1376.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2680,7 +2680,7 @@ class ConvTable1376 extends ConvTableDoubleMap
26802680

26812681
static {
26822682

2683-
StringBuffer sb = new StringBuffer();
2683+
StringBuilder sb = new StringBuilder();
26842684
sb.append(toUnicode1_);
26852685
sb.append(toUnicode2_);
26862686
toUnicodeArray_ = (sb.toString()).toCharArray();

0 commit comments

Comments
 (0)