From bradford.wetmore at oracle.com Fri Aug 1 00:39:00 2014 From: bradford.wetmore at oracle.com (Bradford Wetmore) Date: Thu, 31 Jul 2014 17:39:00 -0700 Subject: RFR: 8042982: Unexpected RuntimeExceptions being thrown by SSLEngine In-Reply-To: <53D2FBB3.8000609@oracle.com> References: <53CE692B.9090802@oracle.com> <53D2FBB3.8000609@oracle.com> Message-ID: <53DAE1A4.1040403@oracle.com> Rob, Looks ok to me too. There are probably other places with RTE's we could fix, but this will solve the immediate problem. Two comments to consider: 1. Use a Multi-catch exception. JDK7+. 2. DHCrypt throws IOException. ECDHCrypt throws SSLException (which is an IOException). Since DHCrypt/ECDHCrypt are essentially the same kind of class, maybe update DHCrypt to throw the same? Brad On 7/25/2014 5:52 PM, Xuelei Fan wrote: > Looks fine to me. > > Thanks, > Xuelei > > On 7/22/2014 9:37 PM, Rob McKenna wrote: >> Hi folks, >> >> A simple change to use SSLHandshakeException instead of RuntimeException >> in getAgreedSecret in DHCrypt and ECDHCrypt. This will prevent these >> RuntimeExceptions from propagating to the application and allow >> application programmers to handle them as SSLHandshakeExceptions. >> >> http://cr.openjdk.java.net/~robm/8042982/webrev.01/ >> >> -Rob >> > From zaiyao.liu at oracle.com Fri Aug 1 03:10:01 2014 From: zaiyao.liu at oracle.com (zaiyao liu) Date: Fri, 01 Aug 2014 11:10:01 +0800 Subject: [JDK-9] RFR: 8050370: Need new regressions tests for messageDigest with DigestIOStream In-Reply-To: <53D5F8AD.2060804@oracle.com> References: <53D5F8AD.2060804@oracle.com> Message-ID: <53DB0509.3000109@oracle.com> May I request you to review 1 new test to be added for messageDigest with DigestIOStream. New test are added to address following: - Test DigestInputStream and DigestOutputStream digest function when digest set on and off - Test DigestInputStream and DigestOutputStream digest function when Swap the message digest engines between DigestIn/OutputStream - Test DigestInputStream and DigestOutputStream digest function when use same message digest object. JDK Issue: https://bugs.openjdk.java.net/browse/JDK-8050370 Webrev: http://cr.openjdk.java.net/~rhalade/8050370/webrev.00/ Thanks, Kevin -------------- next part -------------- An HTML attachment was scrubbed... URL: From weijun.wang at oracle.com Fri Aug 1 04:53:07 2014 From: weijun.wang at oracle.com (Wang Weijun) Date: Fri, 1 Aug 2014 12:53:07 +0800 Subject: Code review request, JDK-8052406, SSLv2Hello protocol may be filter out unexpectedly In-Reply-To: <53D9A6C3.6040905@oracle.com> References: <53D8EB6F.20502@oracle.com> <53D993D1.5090708@oracle.com> <7449D11F-B7F3-40AE-A088-9794C73F37AC@oracle.com> <53D9A6C3.6040905@oracle.com> Message-ID: On Jul 31, 2014, at 10:15, Xuelei Fan wrote: >> The server side now only enables TLS_RSA_WITH_AES_128_CBC_SHA256. If other protocols are enabled, Oh, typo. I meant to ask: "If other cipher suites are enabled, what will be the difference?" --Max >> what will be the difference? You mean TLS 1.0 and 1.1 has built-in support for SSLv2Hello but TLS 1.2 does not? >> > Protocols other then TLS v1.2 and SSLv2Hello would be filtered out, > i.e., cannot be negotiated as there is no suitable cipher suite for > those protocols ("TLS_RSA_WITH_AES_128_CBC_SHA256" only applies to TLS 1.2). From xuelei.fan at oracle.com Fri Aug 1 08:27:52 2014 From: xuelei.fan at oracle.com (Xuelei Fan) Date: Fri, 01 Aug 2014 16:27:52 +0800 Subject: Code review request, JDK-8052406, SSLv2Hello protocol may be filter out unexpectedly In-Reply-To: References: <53D8EB6F.20502@oracle.com> <53D993D1.5090708@oracle.com> <7449D11F-B7F3-40AE-A088-9794C73F37AC@oracle.com> <53D9A6C3.6040905@oracle.com> Message-ID: <53DB4F88.10705@oracle.com> On 8/1/2014 12:53 PM, Wang Weijun wrote: > > On Jul 31, 2014, at 10:15, Xuelei Fan wrote: > >>> The server side now only enables TLS_RSA_WITH_AES_128_CBC_SHA256. If other protocols are enabled, > > Oh, typo. I meant to ask: "If other cipher suites are enabled, what will be the difference?" > If the enabled cipher suites are supported by other protocols, other protocols would be enabled accordingly (for example, if enabled TLS_RSA_WITH_AES_128_CBC_SHA, TLS v1.0 and TLS v1.1 would also be available), and SSLv2Hello are also enabled as the need to accept SSL v2 ClientHello message. Thanks, Xuelei > --Max > >>> what will be the difference? You mean TLS 1.0 and 1.1 has built-in support for SSLv2Hello but TLS 1.2 does not? >>> >> Protocols other then TLS v1.2 and SSLv2Hello would be filtered out, >> i.e., cannot be negotiated as there is no suitable cipher suite for >> those protocols ("TLS_RSA_WITH_AES_128_CBC_SHA256" only applies to TLS 1.2). > From weijun.wang at oracle.com Fri Aug 1 08:52:34 2014 From: weijun.wang at oracle.com (Wang Weijun) Date: Fri, 1 Aug 2014 16:52:34 +0800 Subject: Code review request, JDK-8052406, SSLv2Hello protocol may be filter out unexpectedly In-Reply-To: <53DB4F88.10705@oracle.com> References: <53D8EB6F.20502@oracle.com> <53D993D1.5090708@oracle.com> <7449D11F-B7F3-40AE-A088-9794C73F37AC@oracle.com> <53D9A6C3.6040905@oracle.com> <53DB4F88.10705@oracle.com> Message-ID: <0D57F5F4-1B25-476D-8ECD-F5DB4D5D0AD5@oracle.com> On Aug 1, 2014, at 16:27, Xuelei Fan wrote: > On 8/1/2014 12:53 PM, Wang Weijun wrote: >> >> On Jul 31, 2014, at 10:15, Xuelei Fan wrote: >> >>>> The server side now only enables TLS_RSA_WITH_AES_128_CBC_SHA256. If other protocols are enabled, >> >> Oh, typo. I meant to ask: "If other cipher suites are enabled, what will be the difference?" >> > If the enabled cipher suites are supported by other protocols, other > protocols would be enabled accordingly (for example, if enabled > TLS_RSA_WITH_AES_128_CBC_SHA, TLS v1.0 and TLS v1.1 would also be > available), and SSLv2Hello are also enabled as the need to accept SSL v2 > ClientHello message. I see. No other question. Change is fine. Thanks Max From fweimer at redhat.com Fri Aug 1 10:06:38 2014 From: fweimer at redhat.com (Florian Weimer) Date: Fri, 01 Aug 2014 12:06:38 +0200 Subject: java.security.DigestInputStream does not implement skip(long) Message-ID: <53DB66AE.6030100@redhat.com> I noticed that the implementation of DigestInputStream does not feed skipped-over bytes to the message digest. The specification is silent on this, and I'm not sure if this a specification deficiency or an implementation bug. -- Florian Weimer / Red Hat Product Security From rob.mckenna at oracle.com Fri Aug 1 18:46:16 2014 From: rob.mckenna at oracle.com (Rob McKenna) Date: Fri, 01 Aug 2014 19:46:16 +0100 Subject: RFR: 8042982: Unexpected RuntimeExceptions being thrown by SSLEngine In-Reply-To: <53DAE1A4.1040403@oracle.com> References: <53CE692B.9090802@oracle.com> <53D2FBB3.8000609@oracle.com> <53DAE1A4.1040403@oracle.com> Message-ID: <53DBE078.1040903@oracle.com> Thanks Brad, patch updated, built & tested. -Rob On 01/08/14 01:39, Bradford Wetmore wrote: > Rob, > > Looks ok to me too. There are probably other places with RTE's we > could fix, but this will solve the immediate problem. > > Two comments to consider: > > 1. Use a Multi-catch exception. JDK7+. > > 2. DHCrypt throws IOException. ECDHCrypt throws SSLException (which > is an IOException). Since DHCrypt/ECDHCrypt are essentially the same > kind of class, maybe update DHCrypt to throw the same? > > Brad > > > On 7/25/2014 5:52 PM, Xuelei Fan wrote: >> Looks fine to me. >> >> Thanks, >> Xuelei >> >> On 7/22/2014 9:37 PM, Rob McKenna wrote: >>> Hi folks, >>> >>> A simple change to use SSLHandshakeException instead of >>> RuntimeException >>> in getAgreedSecret in DHCrypt and ECDHCrypt. This will prevent these >>> RuntimeExceptions from propagating to the application and allow >>> application programmers to handle them as SSLHandshakeExceptions. >>> >>> http://cr.openjdk.java.net/~robm/8042982/webrev.01/ >>> >>> -Rob >>> >> From bradford.wetmore at oracle.com Fri Aug 1 18:55:56 2014 From: bradford.wetmore at oracle.com (Bradford Wetmore) Date: Fri, 01 Aug 2014 11:55:56 -0700 Subject: RFR: 8042982: Unexpected RuntimeExceptions being thrown by SSLEngine In-Reply-To: <53DBE078.1040903@oracle.com> References: <53CE692B.9090802@oracle.com> <53D2FBB3.8000609@oracle.com> <53DAE1A4.1040403@oracle.com> <53DBE078.1040903@oracle.com> Message-ID: <53DBE2BC.8070300@oracle.com> BTW, if you feel like it in any backports, the casts to SSLHandshakeException weren't needed. Brad On 8/1/2014 11:46 AM, Rob McKenna wrote: > Thanks Brad, patch updated, built & tested. > > -Rob > > On 01/08/14 01:39, Bradford Wetmore wrote: >> Rob, >> >> Looks ok to me too. There are probably other places with RTE's we >> could fix, but this will solve the immediate problem. >> >> Two comments to consider: >> >> 1. Use a Multi-catch exception. JDK7+. >> >> 2. DHCrypt throws IOException. ECDHCrypt throws SSLException (which >> is an IOException). Since DHCrypt/ECDHCrypt are essentially the same >> kind of class, maybe update DHCrypt to throw the same? >> >> Brad >> >> >> On 7/25/2014 5:52 PM, Xuelei Fan wrote: >>> Looks fine to me. >>> >>> Thanks, >>> Xuelei >>> >>> On 7/22/2014 9:37 PM, Rob McKenna wrote: >>>> Hi folks, >>>> >>>> A simple change to use SSLHandshakeException instead of >>>> RuntimeException >>>> in getAgreedSecret in DHCrypt and ECDHCrypt. This will prevent these >>>> RuntimeExceptions from propagating to the application and allow >>>> application programmers to handle them as SSLHandshakeExceptions. >>>> >>>> http://cr.openjdk.java.net/~robm/8042982/webrev.01/ >>>> >>>> -Rob >>>> >>> > From peter.firmstone at zeus.net.au Sat Aug 2 03:04:36 2014 From: peter.firmstone at zeus.net.au (Peter Firmstone) Date: Sat, 02 Aug 2014 13:04:36 +1000 Subject: JEP Review Request: Improve Security Manager Performance In-Reply-To: <53CFBB52.802@redhat.com> References: <535A72F0.3050800@oracle.com> <53CF396D.4080208@redhat.com> <53CFA587.5080109@oracle.com> <53CFBB52.802@redhat.com> Message-ID: <1406948676.2194.12.camel@Nokia-N900> No David is right, the code will run with the privileges of it's own ProtectionDomain, so if that PD is not trusted, the code cannot bypass security checks from static initializers. This does not break secure by default. A static initializer can write to static fields, but public or protected static mutable fields are a secuity risk, with or without a privileged call. Because classes are loaded lazily by the jvm, the call stack context is randomised causing confusing and difficult to debug policy file configuration for administrators, often resulting in a relaxation of permissions beyond minimum privilege principles. Making the suggested change actually improves security. Regards, Peter. ----- Original message ----- > On 07/23/2014 07:07 AM, Tom Hawtin wrote: > > On 23/07/2014 05:26, David M. Lloyd wrote: > > > I would suggest that one or more of the following be done to mitigate > > > this problem: > > > > > > ? Always have static initialization blocks be privileged (this does > > > require users to be cognizant of this fact when writing static > > > blocks) > > > > If we were following "secure by default", this would break it. It turns > > out having a static initaliser run with an unprivileged acc highlights > > code that is doing something naughty. > > I thought this mindset might dominate, which is unfortunate.? In > practice, it is far better for code to be predictable, concise, and > clear.? It does not really make any sense to have random security > contexts in place and then call it "secure"; it makes more sense to just > tell people "hey your static initializers are privileged".? It's not > like normal directly invokable methods where the user can pass in > arguments and get return values from code that runs in a privileged > context.? It is very, very unusual for a static initializer to perform > any function which is practically exploitable; they are generally > stateless already, taking no input and producing no output.? I don't > think that it can be shown that the blanket ideology really provides any > measurable, real-world benefit; on the contrary, it causes real, > measurable detriment.? I don't think anyone ever said "Oh, it's a good > thing I got that AccessControlException in my static initializer; now I > know that doing XYZ needed a privileged block". > > Nevertheless, I never actually expected to convince anyone of this - > it's one of those ideas which seems culturally "against the grain", i.e. > the general principle tends to outweigh the practical reality.? Still, I > had to propose it, in order to be right with myself. :-) > > > > ? Allow static initialization blocks to partake in the aforementioned > > > annotation-driven privileged method idea > > > > Together with the last point, this does make the elevated privilege > > contain a wider block of code than is necessary. This is [particularly > > the case with static initialisers and initialisers where the code can > > be spread throughout the class. OTOH, relevant sections of code could > > be split out into small methods. > > Exactly - in this case I would even expect that you could separately > annotate each static init with its privileges.? The important thing > would still be that the compiler can do this without constructing a new > class for each chunk (or even a lambda if it could be avoided). > > > > ? Introduce a new permission checking mechanism which examines only a > > > specific relevant caller's protection domain (perhaps determined by > > > filter expression, possibly using the stack examination scheme that > > > Mandy Chung has been working on) > > > > Immediate caller checking, though has similarities to link-time access > > checking, has a spectacularly unfortunate history. > > That is an observation. :-) > > > > ? Introduce a programmatic "elevation" mechanism that increases the > > > privileges of the currently executing method for the remainder of its > > > execution without requiring a call-in to doPrivileged or > > > instantiation of a privileged action object > > > > Tom > > -- > - DML -------------- next part -------------- An HTML attachment was scrubbed... URL: From weijun.wang at oracle.com Mon Aug 4 01:34:36 2014 From: weijun.wang at oracle.com (Wang Weijun) Date: Mon, 4 Aug 2014 09:34:36 +0800 Subject: RFR 8052412: Too many DNS requests for KDC setttings Message-ID: Please review the code change at http://cr.openjdk.java.net/~weijun/8052412/webrev.00 The original code queries DNS server every time the getKDCList() method is called. On the other hand, if the KDC info is written inside a krb5.conf file, it is never re-read (or for each login when the JAAS login config file has Krb5LoginModule refresh on). The re-querying of DNS is a great waste of time. Updated code stores the result in a cache. It's not uncommon that a DNS server could contain stale entries so a removeFromDnsCache() method is called if a KDC is not accessible. When all KDCs for a realm are removed, a new query will be sent. To be consistent with krb5.conf reading, a Krb5LoginModule refresh would reset the cache. Thanks Max From weijun.wang at oracle.com Mon Aug 4 01:48:21 2014 From: weijun.wang at oracle.com (Wang Weijun) Date: Mon, 4 Aug 2014 09:48:21 +0800 Subject: On 8038089: TLS optional support for Kerberos cipher suites needs to be re-examine In-Reply-To: References: <53A3C4A6.7030606@oracle.com> <780FD2A0-ADA6-4A77-ADBE-7FAA8AF8B866@oracle.com> <53A3D33C.9070009@oracle.com> <60040DD4-F887-45B0-85EE-678637B266CA@oracle.com> <53A3F4D9.4060102@oracle.com> <183BD754-34FB-4351-A25B-65A82830AA7B@oracle.com> <53A3FCFB.4090002@oracle.com> <215A6E73-07CA-44C1-87BB-934F420A666C@oracle.com> <53C3E241.5040606@oracle.com> <53C3F9AC.3040008@oracle.com> <53C75299.3060007@oracle.com> Message-ID: Hi Xuelei Are you OK with the code change? The updated webrev is now at http://cr.openjdk.java.net/~weijun/8038089/webrev.02/ Comparing to the last version. there are some comment changes and emptying refs.allowed. The only major change is that the ServiecLoader now uses system class loader. Thanks Max On Jul 21, 2014, at 16:22, Wang Weijun wrote: > Please review the updated webrev at > > http://cr.openjdk.java.net/~weijun/8038089/webrev.01 > > Some comment changes. Some arguments rearrangement between classes. > > The interface is still in sun.security.ssl. It will be easy to move it to somewhere else later. When module is introduced, we may need to export the interface from java.base to java.security.jgss. > > Thanks > Max > > On Jul 17, 2014, at 12:35, Xuelei Fan wrote: > >> On 7/16/2014 4:41 PM, Wang Weijun wrote: >>> Hi Xuelei >>> >>> A *primitive* version of webrev available at >>> >>> http://cr.openjdk.java.net/~weijun/8038089/webrev.00 >>> >>> Please confirm this is the way you like it. >>> >> I have not read too much about the details of the update. But looks >> like it is in the right way. >> >>> ExternalCipherSuite is the service interface and Krb5CipherSuite implements it. It's a modification of the old Krb5Proxy but I've moved as many as Kerberos-related codes to the implementation side so it has less methods now. >>> >>> Most likely we will define this new interface in a public package. >>> >> If krb5 is the only external implementation of TLS cipher suites, I >> think, we may want to try the best not to define public interface if >> possible. >> >> Thanks, >> Xuelei >> >>> I didn't touch any core SSL classes except for ClientHandshaker and ServerHandShaker. If you think there are other places too closely connected with kerberos, please let me know. >>> >>> Ideally, those >>> >>> case K_KRB5: case K_KRB5_EXPORT: >>> Krb5Helper.doXXX(...): >>> >>> should be something like >>> >>> default: >>> getExternalHelper(keyExchange).doXXX(...) >>> >>> but I guess we won't do that unless we know there will be a second implementation. >>> >>> Thanks >>> Max >>> >>> >>> >>> >>> >>> >> > From xuelei.fan at oracle.com Mon Aug 4 03:14:53 2014 From: xuelei.fan at oracle.com (Xuelei Fan) Date: Mon, 04 Aug 2014 11:14:53 +0800 Subject: RFR 8052412: Too many DNS requests for KDC setttings In-Reply-To: References: Message-ID: <53DEFAAD.7010901@oracle.com> It's not common but the DNS records of KDC may be updated. This update may introduce regression if the DNS record get updated. Is it possible to support cache timeout in order to mitigate the impact? Config.java: ------------ 1207 private static Map> dnsCache = 1208 Collections.synchronizedMap(new HashMap<>()); Better to put the lines above in the beginning of the class. 1218 System.out.println("getKDCFromDNS: " + realm + ", " + list); list -> String.join(" ", list)? Xuelei On 8/4/2014 9:34 AM, Wang Weijun wrote: > Please review the code change at > > http://cr.openjdk.java.net/~weijun/8052412/webrev.00 > > The original code queries DNS server every time the getKDCList() method is called. On the other hand, if the KDC info is written inside a krb5.conf file, it is never re-read (or for each login when the JAAS login config file has Krb5LoginModule refresh on). The re-querying of DNS is a great waste of time. > > Updated code stores the result in a cache. It's not uncommon that a DNS server could contain stale entries so a removeFromDnsCache() method is called if a KDC is not accessible. When all KDCs for a realm are removed, a new query will be sent. To be consistent with krb5.conf reading, a Krb5LoginModule refresh would reset the cache. > > Thanks > Max > From weijun.wang at oracle.com Mon Aug 4 03:25:19 2014 From: weijun.wang at oracle.com (Wang Weijun) Date: Mon, 4 Aug 2014 11:25:19 +0800 Subject: RFR 8052412: Too many DNS requests for KDC setttings In-Reply-To: <53DEFAAD.7010901@oracle.com> References: <53DEFAAD.7010901@oracle.com> Message-ID: <612532B6-08B6-4F5E-82B6-E6CDFDD8A1EE@oracle.com> On Aug 4, 2014, at 11:14, Xuelei Fan wrote: > It's not common but the DNS records of KDC may be updated. This update > may introduce regression if the DNS record get updated. Is it possible > to support cache timeout in order to mitigate the impact? Are you OK with using the TTL value in the DNS response? Thanks Max From xuelei.fan at oracle.com Mon Aug 4 03:27:43 2014 From: xuelei.fan at oracle.com (Xuelei Fan) Date: Mon, 04 Aug 2014 11:27:43 +0800 Subject: RFR 8052412: Too many DNS requests for KDC setttings In-Reply-To: <612532B6-08B6-4F5E-82B6-E6CDFDD8A1EE@oracle.com> References: <53DEFAAD.7010901@oracle.com> <612532B6-08B6-4F5E-82B6-E6CDFDD8A1EE@oracle.com> Message-ID: <53DEFDAF.2050706@oracle.com> On 8/4/2014 11:25 AM, Wang Weijun wrote: > > On Aug 4, 2014, at 11:14, Xuelei Fan wrote: > >> It's not common but the DNS records of KDC may be updated. This update >> may introduce regression if the DNS record get updated. Is it possible >> to support cache timeout in order to mitigate the impact? > > Are you OK with using the TTL value in the DNS response? > Sound like a good value to me. Xuelei From christos at zoulas.com Mon Aug 4 05:13:19 2014 From: christos at zoulas.com (Christos Zoulas) Date: Mon, 4 Aug 2014 01:13:19 -0400 Subject: RFR 8052412: Too many DNS requests for KDC setttings In-Reply-To: <53DEFDAF.2050706@oracle.com> from Xuelei Fan (Aug 4, 11:27am) Message-ID: <20140804051319.33C7317FDA3@rebar.astron.com> On Aug 4, 11:27am, xuelei.fan at oracle.com (Xuelei Fan) wrote: -- Subject: Re: RFR 8052412: Too many DNS requests for KDC setttings | On 8/4/2014 11:25 AM, Wang Weijun wrote: | > | > On Aug 4, 2014, at 11:14, Xuelei Fan wrote: | > | >> It's not common but the DNS records of KDC may be updated. This update | >> may introduce regression if the DNS record get updated. Is it possible | >> to support cache timeout in order to mitigate the impact? | > | > Are you OK with using the TTL value in the DNS response? | > | Sound like a good value to me. Just for the DNS timeout? How about TTL/2? What does the Unix KDC do? christos From raghu.k.nair at oracle.com Mon Aug 4 07:11:34 2014 From: raghu.k.nair at oracle.com (raghu k.nair) Date: Mon, 04 Aug 2014 12:41:34 +0530 Subject: Updated review request for CR 8048362 Test doPrivileged with accomplice Message-ID: <53DF3226.7010601@oracle.com> Hello , Please review the updated tests for doPrivilaged with accomplice. Updated the test to use @compile tag rather than compiling using API. Bug -https://bugs.openjdk.java.net/browse/JDK-8048362 webrev - http://cr.openjdk.java.net/~rhalade/8048362/webrev.01/ Thanks, Raghu From raghu.k.nair at oracle.com Mon Aug 4 07:21:39 2014 From: raghu.k.nair at oracle.com (raghu k.nair) Date: Mon, 04 Aug 2014 12:51:39 +0530 Subject: Review request for CR 8049233 Need new tests for testing openssl created certificate In-Reply-To: <53D5EBC7.6020102@oracle.com> References: <53D5EBC7.6020102@oracle.com> Message-ID: <53DF3483.5000106@oracle.com> Hello , Please review the tests for openssl generated certificates and CRLS. Changes made : CustomCertificateFactory.java is made thread safe. Here is the new webrev - http://cr.openjdk.java.net/~rhalade/8049233/webrev.01/ Thanks, Raghu On 7/28/2014 11:50 AM, raghu k.nair wrote: > Hello, > Please review the tests for openssl generated certificates and CRLS. > This tests java.security.cert.Certificate.verify() method and > behaviors of the following classes java.security.X509CRL, > java.security.X509CRLSelector, java.security.X509CRLRevocationReason > and java.security.X509Certificate. > > Bug - |https://bugs.openjdk.java.net/browse/JDK-8049233| > webrev- http://cr.openjdk.java.net/~rhalade/8049233/webrev.00/ > > Thanks, > Raghu Nair > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From xuelei.fan at oracle.com Mon Aug 4 08:52:09 2014 From: xuelei.fan at oracle.com (Xuelei Fan) Date: Mon, 04 Aug 2014 16:52:09 +0800 Subject: On 8038089: TLS optional support for Kerberos cipher suites needs to be re-examine In-Reply-To: References: <53A3C4A6.7030606@oracle.com> <780FD2A0-ADA6-4A77-ADBE-7FAA8AF8B866@oracle.com> <53A3D33C.9070009@oracle.com> <60040DD4-F887-45B0-85EE-678637B266CA@oracle.com> <53A3F4D9.4060102@oracle.com> <183BD754-34FB-4351-A25B-65A82830AA7B@oracle.com> <53A3FCFB.4090002@oracle.com> <215A6E73-07CA-44C1-87BB-934F420A666C@oracle.com> <53C3E241.5040606@oracle.com> <53C3F9AC.3040008@oracle.com> <53C75299.3060007@oracle.com> Message-ID: <53DF49B9.1070707@oracle.com> Please give me more time to think about the overall infrastructure. Xuelei On 8/4/2014 9:48 AM, Wang Weijun wrote: > Hi Xuelei > > Are you OK with the code change? The updated webrev is now at > > http://cr.openjdk.java.net/~weijun/8038089/webrev.02/ > > Comparing to the last version. there are some comment changes and emptying refs.allowed. The only major change is that the ServiecLoader now uses system class loader. > > Thanks > Max > > On Jul 21, 2014, at 16:22, Wang Weijun wrote: > >> Please review the updated webrev at >> >> http://cr.openjdk.java.net/~weijun/8038089/webrev.01 >> >> Some comment changes. Some arguments rearrangement between classes. >> >> The interface is still in sun.security.ssl. It will be easy to move it to somewhere else later. When module is introduced, we may need to export the interface from java.base to java.security.jgss. >> >> Thanks >> Max >> >> On Jul 17, 2014, at 12:35, Xuelei Fan wrote: >> >>> On 7/16/2014 4:41 PM, Wang Weijun wrote: >>>> Hi Xuelei >>>> >>>> A *primitive* version of webrev available at >>>> >>>> http://cr.openjdk.java.net/~weijun/8038089/webrev.00 >>>> >>>> Please confirm this is the way you like it. >>>> >>> I have not read too much about the details of the update. But looks >>> like it is in the right way. >>> >>>> ExternalCipherSuite is the service interface and Krb5CipherSuite implements it. It's a modification of the old Krb5Proxy but I've moved as many as Kerberos-related codes to the implementation side so it has less methods now. >>>> >>>> Most likely we will define this new interface in a public package. >>>> >>> If krb5 is the only external implementation of TLS cipher suites, I >>> think, we may want to try the best not to define public interface if >>> possible. >>> >>> Thanks, >>> Xuelei >>> >>>> I didn't touch any core SSL classes except for ClientHandshaker and ServerHandShaker. If you think there are other places too closely connected with kerberos, please let me know. >>>> >>>> Ideally, those >>>> >>>> case K_KRB5: case K_KRB5_EXPORT: >>>> Krb5Helper.doXXX(...): >>>> >>>> should be something like >>>> >>>> default: >>>> getExternalHelper(keyExchange).doXXX(...) >>>> >>>> but I guess we won't do that unless we know there will be a second implementation. >>>> >>>> Thanks >>>> Max >>>> >>>> >>>> >>>> >>>> >>>> >>> >> > From fweimer at redhat.com Mon Aug 4 10:50:29 2014 From: fweimer at redhat.com (Florian Weimer) Date: Mon, 04 Aug 2014 12:50:29 +0200 Subject: [9] RFR: 8007706: X.509 cert extension SAN should support "_" in dNSName In-Reply-To: <53DC4865.2090101@oracle.com> References: <53CE1847.90700@oracle.com> <53CE1F85.1090907@redhat.com> <53DC4865.2090101@oracle.com> Message-ID: <53DF6575.8050600@redhat.com> On 08/02/2014 04:09 AM, Jason Uh wrote: > Hi Florian, > > Thanks for your input. There was some discussion about the issue in the > past on this list: > http://mail.openjdk.java.net/pipermail/security-dev/2013-February/006622.html > Do you disagree with the comments there? I think the intent of RFC 5280 is *not* to allow "_" in dNSName. However, other PKIX implementations (OpenSSL, NSS) do not seem to verify dNSName syntax at all, so it might be necessary to drop the check for interoperability reasons in OpenJDK, even if it makes OpenJDK less compliant with RFC 5280. -- Florian Weimer / Red Hat Product Security From sean.mullan at oracle.com Mon Aug 4 13:58:10 2014 From: sean.mullan at oracle.com (Sean Mullan) Date: Mon, 04 Aug 2014 09:58:10 -0400 Subject: java.security.DigestInputStream does not implement skip(long) In-Reply-To: <53DB66AE.6030100@redhat.com> References: <53DB66AE.6030100@redhat.com> Message-ID: <53DF9172.1060609@oracle.com> On 08/01/2014 06:06 AM, Florian Weimer wrote: > I noticed that the implementation of DigestInputStream does not feed > skipped-over bytes to the message digest. The specification is silent > on this, and I'm not sure if this a specification deficiency or an > implementation bug. Yes, this is a known issue, see https://bugs.openjdk.java.net/browse/JDK-6587699 --Sean From florian.bruckner at 3kraft.com Mon Aug 4 15:10:01 2014 From: florian.bruckner at 3kraft.com (Florian Bruckner (3kraft)) Date: Mon, 04 Aug 2014 17:10:01 +0200 Subject: apple.security.KeychainStore does not load private key (when called from javaws) In-Reply-To: <0F9AD930-8C72-4BC9-A0FA-A5A5CDA850FC@oracle.com> References: <53C40783.4060204@3kraft.com> <53C4ECC8.3020909@3kraft.com> <53D75D03.4070403@3kraft.com> <0F9AD930-8C72-4BC9-A0FA-A5A5CDA850FC@oracle.com> Message-ID: <53DFA249.3000207@3kraft.com> Hey guys, any feedback/comments on this? Just to summarize again: KeychainStore does not load private keys when not called with a passphrase. This is the case in various deployment scenarios (like javaws), as a consequence identity certificates stored in Apple Keychain are not available (i.e. being offered for selection like on Windows). The reason for this is the implementation of KeychainStore, which uses this API to retrieve a PKCS#12 container from apple keychain: https://developer.apple.com/library/mac/documentation/security/Reference/keychainservices/Reference/reference.html#jumpTo_63 The API documentation says the PKCS#12 keystore being generated with this call requires a password. This is either supplied by the caller or the user is prompted (if a flag is set, which is not the case). KeychainStore then goes on to extract the private key from the returned PKCS#12 store and decrypts it with the password. Therefore, the password passed into engineGetKey is actually used to encrypt and decrypt only in the scope of this method. Therefore, the approach is to create a dummy password for this use case. Please consider these patches to fix this issue: For jdk7u-dev: diff -r 35aabd00a534 src/macosx/classes/apple/security/KeychainStore.java --- a/src/macosx/classes/apple/security/KeychainStore.java Tue Jul 15 02:26:55 2014 +0400 +++ b/src/macosx/classes/apple/security/KeychainStore.java Tue Jul 15 10:52:44 2014 +0200 @@ -134,7 +134,7 @@ * password to recover it. * * @param alias the alias name - * @param password the password for recovering the key + * @param password the password for recovering the key. This password is not used to access the private key in KeyChain, it is used internally only. * * @return the requested key, or null if the given alias does not exist * or does not identify a key entry. @@ -148,6 +148,16 @@ throws NoSuchAlgorithmException, UnrecoverableKeyException { permissionCheck(); + // An empty password is rejected by MacOS API, no private key data + // is exported. If no password is passed (as is the case when + // this implementation is used as browser keystore in various + // deployment scenarios like webstart, JFX and applets), create + // a dummy password to MacOS API is happy. + if (password == null || password.length ==0) { + // Must not be a char array with only a 0, as this is an empty + // string. Therefore use a single character. + password = new char[]{'A'} + } Object entry = entries.get(alias.toLowerCase()); For jdk8u-dev: diff -r baec3649f6c0 src/macosx/classes/apple/security/KeychainStore.java --- a/src/macosx/classes/apple/security/KeychainStore.java Tue Jul 15 02:00:52 2014 +0400 +++ b/src/macosx/classes/apple/security/KeychainStore.java Tue Jul 15 10:54:45 2014 +0200 @@ -140,7 +140,7 @@ * password to recover it. * * @param alias the alias name - * @param password the password for recovering the key + * @param password the password for recovering the key. This password is not used to access the private key in KeyChain, it is used internally only. * * @return the requested key, or null if the given alias does not exist * or does not identify a key entry. @@ -154,7 +154,16 @@ throws NoSuchAlgorithmException, UnrecoverableKeyException { permissionCheck(); - + // An empty password is rejected by MacOS API, no private key data + // is exported. If no password is passed (as is the case when + // this implementation is used as browser keystore in various + // deployment scenarios like webstart, JFX and applets), create + // a dummy password to MacOS API is happy. + if (password == null || password.length ==0) { + // Must not be a char array with only a 0, as this is an empty + // string. Therefore use a single character. + password = new char[]{'A'} + } Object entry = entries.get(alias.toLowerCase()); if (entry == null || !(entry instanceof KeyEntry)) { With best regards, Florian From sean.mullan at oracle.com Mon Aug 4 17:32:57 2014 From: sean.mullan at oracle.com (Sean Mullan) Date: Mon, 04 Aug 2014 13:32:57 -0400 Subject: [9] request for review 8051972: sun/security/pkcs11/ec/ReadCertificates.java fails intermittently In-Reply-To: References: Message-ID: <53DFC3C9.9060700@oracle.com> Looks good. Please add a noreg label (noreg-self probably). Also, the subcomponent should probably be javax.security:pkcs11 --Sean On 07/29/2014 11:02 AM, Vincent Ryan wrote: > Please review this simple fix to eliminate an intermittent test failure. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8051972 > Webrev: http://cr.openjdk.java.net/~vinnie/8051972/webrev.00/ > > The fix detects if a self-signed cert has inadvertently been selected for an > invalid-signature test and ignores the resulting false positive. > > Thanks. > From jason.uh at oracle.com Tue Aug 5 05:52:36 2014 From: jason.uh at oracle.com (Jason Uh) Date: Mon, 04 Aug 2014 22:52:36 -0700 Subject: [9] RFR: 8007706: X.509 cert extension SAN should support "_" in dNSName In-Reply-To: <53DF6575.8050600@redhat.com> References: <53CE1847.90700@oracle.com> <53CE1F85.1090907@redhat.com> <53DC4865.2090101@oracle.com> <53DF6575.8050600@redhat.com> Message-ID: <53E07124.9090301@oracle.com> Hi Florian, I've reviewed the RFC again and think there might be some misinterpretation. The only part I see about underscores reads: > Implementers should note that the at sign ('@') and underscore ('_') > characters are not supported by the ASN.1 type PrintableString. > These characters often appear in Internet addresses. Such addresses > MUST be encoded using an ASN.1 type that supports them. They are > usually encoded as IA5String in either the emailAddress attribute > within a distinguished name or the rfc822Name field of GeneralName. > Conforming implementations MUST NOT encode strings that include > either the at sign or underscore character as PrintableString. RFC 5280 doesn't allow underscores for *PrintableString*, but DNSName is an *IA5String*, which does support them. Jason On 08/04/2014 03:50 AM, Florian Weimer wrote: > On 08/02/2014 04:09 AM, Jason Uh wrote: >> Hi Florian, >> >> Thanks for your input. There was some discussion about the issue in the >> past on this list: >> http://mail.openjdk.java.net/pipermail/security-dev/2013-February/006622.html >> > >> Do you disagree with the comments there? > > I think the intent of RFC 5280 is *not* to allow "_" in dNSName. > > However, other PKIX implementations (OpenSSL, NSS) do not seem to verify > dNSName syntax at all, so it might be necessary to drop the check for > interoperability reasons in OpenJDK, even if it makes OpenJDK less > compliant with RFC 5280. > From fweimer at redhat.com Tue Aug 5 06:58:39 2014 From: fweimer at redhat.com (Florian Weimer) Date: Tue, 05 Aug 2014 08:58:39 +0200 Subject: [9] RFR: 8007706: X.509 cert extension SAN should support "_" in dNSName In-Reply-To: <53E07124.9090301@oracle.com> References: <53CE1847.90700@oracle.com> <53CE1F85.1090907@redhat.com> <53DC4865.2090101@oracle.com> <53DF6575.8050600@redhat.com> <53E07124.9090301@oracle.com> Message-ID: <53E0809F.8080702@redhat.com> On 08/05/2014 07:52 AM, Jason Uh wrote: > Hi Florian, > > I've reviewed the RFC again and think there might be some > misinterpretation. The only part I see about underscores reads: > >> Implementers should note that the at sign ('@') and underscore ('_') >> characters are not supported by the ASN.1 type PrintableString. >> These characters often appear in Internet addresses. Such addresses >> MUST be encoded using an ASN.1 type that supports them. They are >> usually encoded as IA5String in either the emailAddress attribute >> within a distinguished name or the rfc822Name field of GeneralName. >> Conforming implementations MUST NOT encode strings that include >> either the at sign or underscore character as PrintableString. > > RFC 5280 doesn't allow underscores for *PrintableString*, but DNSName is > an *IA5String*, which does support them. By this argument, the patch is still not correct because it leaves in additional checking incompatible with IA5String. (It is also not clear to me what exactly is permissible in IA5Strings and how codepoints are supposedly mapped to their Unicode counterparts if a national variant of T.50 is used, but that's a different issue.) Relaxing all restrictions would match what other software does. My claim that '_' is not allowed in dNSName is based on these two sentences: When the subjectAltName extension contains a domain name system label, the domain name MUST be stored in the dNSName (an IA5String). The name MUST be in the "preferred name syntax", as specified by Section 3.5 of [RFC1034] and as modified by Section 2.1 of [RFC1123]. Section 3.5 of RFC 1034 and section 2.1 of RFC 1123 deal with host name syntax, and the grammar in RFC 1034 (and RFC 952, which is referenced in RFC 1123) does not permit underscores. -- Florian Weimer / Red Hat Product Security From mala.bankal at oracle.com Tue Aug 5 09:32:27 2014 From: mala.bankal at oracle.com (mala bankal) Date: Tue, 05 Aug 2014 15:02:27 +0530 Subject: Request for review : backport of bug# 8031046 to 7u-dev Message-ID: <53E0A4AB.5020601@oracle.com> HI, Request review for the direct backport of bug# 8031046 to 7u-dev. http://cr.openjdk.java.net/~mbankal/8031046/webrev.00/ JDK9 Changeset : http://hg.openjdk.java.net/jdk9/dev/jdk/rev/ab914c760352 JDK8 Changeset : http://hg.openjdk.java.net/jdk8u/jdk8u-dev/jdk/rev/b32e9aba4888 Regression test is not added since it requires special setup, SQE bug filed for the same : https://bugs.openjdk.java.net/browse/INTJDK-7604925 Thanks. rgds mala From valerie.peng at oracle.com Tue Aug 5 19:00:04 2014 From: valerie.peng at oracle.com (Valerie Peng) Date: Tue, 05 Aug 2014 12:00:04 -0700 Subject: Review request for CR 8044193 Need to add known answer tests for AES cipher In-Reply-To: <53D724DF.6060404@oracle.com> References: <53D607D2.7040809@oracle.com> <53D724DF.6060404@oracle.com> Message-ID: <53E129B4.3070200@oracle.com> The tests look fine. However, can you please update the test policy files with fine-grained permissions for SunJCE provider? Please refer to the current /lib/security/java.policy. Thanks, Valerie On 7/28/2014 9:36 PM, zaiyao liu wrote: > Hello, > Please help to review the tests for AES cipher. > This tests test AES ciphers with different modes and padding > schemes when provider change,are part of tests for bug 8044193(Open part) > Bug - https://bugs.openjdk.java.net/browse/JDK-8044193 > webrev- http://cr.openjdk.java.net/~rhalade/8044193/webrev.00/ > > Thanks > > Kevin Liu From sean.mullan at oracle.com Tue Aug 5 19:47:50 2014 From: sean.mullan at oracle.com (Sean Mullan) Date: Tue, 05 Aug 2014 15:47:50 -0400 Subject: apple.security.KeychainStore does not load private key (when called from javaws) In-Reply-To: <53DFA249.3000207@3kraft.com> References: <53C40783.4060204@3kraft.com> <53C4ECC8.3020909@3kraft.com> <53D75D03.4070403@3kraft.com> <0F9AD930-8C72-4BC9-A0FA-A5A5CDA850FC@oracle.com> <53DFA249.3000207@3kraft.com> Message-ID: <53E134E6.5070707@oracle.com> On 08/04/2014 11:10 AM, Florian Bruckner (3kraft) wrote: > Hey guys, > > any feedback/comments on this? This seems like a reasonable change to me. In order to proceed with accepting your patch, you will first need to sign an OCA. See step 0 of http://openjdk.java.net/contribute/ Thanks, Sean > > Just to summarize again: > > KeychainStore does not load private keys when not called with a > passphrase. This is the case in various deployment scenarios (like > javaws), as a consequence identity certificates stored in Apple Keychain > are not available (i.e. being offered for selection like on Windows). > > The reason for this is the implementation of KeychainStore, which uses > this API to retrieve a PKCS#12 container from apple keychain: > > https://developer.apple.com/library/mac/documentation/security/Reference/keychainservices/Reference/reference.html#jumpTo_63 > > > The API documentation says the PKCS#12 keystore being generated with > this call requires a password. This is either supplied by the caller or > the user is prompted (if a flag is set, which is not the case). > > KeychainStore then goes on to extract the private key from the returned > PKCS#12 store and decrypts it with the password. > > Therefore, the password passed into engineGetKey is actually used to > encrypt and decrypt only in the scope of this method. Therefore, the > approach is to create a dummy password for this use case. > > Please consider these patches to fix this issue: > > For jdk7u-dev: > > diff -r 35aabd00a534 src/macosx/classes/apple/security/KeychainStore.java > --- a/src/macosx/classes/apple/security/KeychainStore.java Tue Jul 15 > 02:26:55 2014 +0400 > +++ b/src/macosx/classes/apple/security/KeychainStore.java Tue Jul 15 > 10:52:44 2014 +0200 > @@ -134,7 +134,7 @@ > * password to recover it. > * > * @param alias the alias name > - * @param password the password for recovering the key > + * @param password the password for recovering the key. This > password is not used to access the private key in KeyChain, it is used > internally only. > * > * @return the requested key, or null if the given alias does not > exist > * or does not identify a key entry. > @@ -148,6 +148,16 @@ > throws NoSuchAlgorithmException, UnrecoverableKeyException > { > permissionCheck(); > + // An empty password is rejected by MacOS API, no private key data > + // is exported. If no password is passed (as is the case when > + // this implementation is used as browser keystore in various > + // deployment scenarios like webstart, JFX and applets), create > + // a dummy password to MacOS API is happy. > + if (password == null || password.length ==0) { > + // Must not be a char array with only a 0, as this is an empty > + // string. Therefore use a single character. > + password = new char[]{'A'} > + } > > Object entry = entries.get(alias.toLowerCase()); > > > > For jdk8u-dev: > > diff -r baec3649f6c0 src/macosx/classes/apple/security/KeychainStore.java > --- a/src/macosx/classes/apple/security/KeychainStore.java Tue Jul 15 > 02:00:52 2014 +0400 > +++ b/src/macosx/classes/apple/security/KeychainStore.java Tue Jul 15 > 10:54:45 2014 +0200 > @@ -140,7 +140,7 @@ > * password to recover it. > * > * @param alias the alias name > - * @param password the password for recovering the key > + * @param password the password for recovering the key. This > password is not used to access the private key in KeyChain, it is used > internally only. > * > * @return the requested key, or null if the given alias does not > exist > * or does not identify a key entry. > @@ -154,7 +154,16 @@ > throws NoSuchAlgorithmException, UnrecoverableKeyException > { > permissionCheck(); > - > + // An empty password is rejected by MacOS API, no private key data > + // is exported. If no password is passed (as is the case when > + // this implementation is used as browser keystore in various > + // deployment scenarios like webstart, JFX and applets), create > + // a dummy password to MacOS API is happy. > + if (password == null || password.length ==0) { > + // Must not be a char array with only a 0, as this is an empty > + // string. Therefore use a single character. > + password = new char[]{'A'} > + } > Object entry = entries.get(alias.toLowerCase()); > > if (entry == null || !(entry instanceof KeyEntry)) { > > > With best regards, > > Florian > From sean.mullan at oracle.com Tue Aug 5 21:24:51 2014 From: sean.mullan at oracle.com (Sean Mullan) Date: Tue, 05 Aug 2014 17:24:51 -0400 Subject: RFR 6997010: Consolidate java.security files into one file with modifications In-Reply-To: References: <53D26A23.2010806@oracle.com> <902FCDAA-E90B-4677-836C-D294D725FB45@oracle.com> <53D63762.3040200@oracle.com> Message-ID: <53E14BA3.8020408@oracle.com> On 07/28/2014 09:53 AM, Wang Weijun wrote: > Yes, you are right. > > Webrev updated at http://cr.openjdk.java.net/~weijun/6997010/webrev.02. GendataJavaSecurity.gmk and MakeJavaSecurity.java updated. There's an unnecessary indent at line 1 of GendataJavaSecurity.gmk In CheckSecurityProvider.java, ucrypto is in the closed sources, so Security.getProviders() will not return it if you are testing an OpenJDK build. You need to adjust the test to not include this provider if testing an OpenJDK build. --Sean > > Thanks > Max > > On Jul 28, 2014, at 19:43, Erik Joelsson wrote: > >> Hello Max, >> >> Shouldn't the rule for $(GENDATA_JAVA_SECURITY) depend on $(RESTRICTED_PKGS_SRC) so that updates to the pkgs file triggers a rebuild? For that to work, the variable $(RESTRICTED_PKGS_SRC) needs to be empty for the OPENJDK case rather than have a dummy name and MakeJavaSecurity.java needs to handle missing the last argument. >> >> /Erik >> >> On 2014-07-28 03:44, Wang Weijun wrote: >>> Webrev updated at >>> >>> >>> http://cr.openjdk.java.net/~weijun/6997010/webrev.01/ >>> >>> >>> New test CheckSecurityProvider.java, and updates to MakeJavaSecurity.addPackages(). >>> >>> Thanks >>> Max >>> >>> On Jul 25, 2014, at 22:44, Wang Weijun >>> >>> wrote: >>> >>> >>>> On Jul 25, 2014, at 22:30, Sean Mullan >>>> wrote: >>>> >>>> >>>>>> http://cr.openjdk.java.net/~weijun/6997010/webrev.00/ >>>>>> >>>>>> >>>>>> 4. *IMPORTANT*: In order to easily maintain platform-related entries, >>>>>> every line (including the last line) in package.access and >>>>>> package.definition MUST end with ',\' now. A blank line MUST exist >>>>>> after the last line. This avoid ugly lines like >>>>>> >>>>>> #ifndef windows entry1. #endif #ifdef windows entry1.,\ entry2 >>>>>> #endif >>>>>> >>>>> What happens if someone (inevitably) adds a new package to the list and forgets to do either of these? Does it result in a build failure? >>>>> >>>> No build failure, but test/java/security/SecurityManager/CheckPackageAccess.java will fail. >>>> >>>> I can add check in the build tool. >>>> >>>> >>>>> Otherwise looks good, although I think it would be useful to write an additional test to make sure the correct providers are installed and ordered correctly on the different platforms, something similar to the java/lang/SecurityManager/CheckPackageAccess.java test but specific to providers. >>>>> >>>> OK. >>>> >>>> Thanks >>>> Max >>>> >>>> >> > From valerie.peng at oracle.com Tue Aug 5 21:53:09 2014 From: valerie.peng at oracle.com (Valerie Peng) Date: Tue, 05 Aug 2014 14:53:09 -0700 Subject: RFR 8043836: Need new tests for AES cipher In-Reply-To: <53D61087.6030008@oracle.com> References: <53D61087.6030008@oracle.com> Message-ID: <53E15245.2030906@oracle.com> Looks fine to me. Thanks, Valerie On 7/28/2014 1:57 AM, FELIX YANG wrote: > May I request you to review these 6 new tests to be added for AES cipher. > New tests are added to address following: > > - Test AES for different modes and padding schemes > - Test AES encryption with no padding > - same buffer can be used for encrypt and decrypt with AES > > > JDK Issue: https://bugs.openjdk.java.net/browse/JDK-8043836 > Webrev: http://cr.openjdk.java.net/~rhalade/8043836/webrev.00/ > > Thanks, > From jason.uh at oracle.com Wed Aug 6 00:06:28 2014 From: jason.uh at oracle.com (Jason Uh) Date: Tue, 05 Aug 2014 17:06:28 -0700 Subject: [9] RFR: 8007706: X.509 cert extension SAN should support "_" in dNSName In-Reply-To: <53E0809F.8080702@redhat.com> References: <53CE1847.90700@oracle.com> <53CE1F85.1090907@redhat.com> <53DC4865.2090101@oracle.com> <53DF6575.8050600@redhat.com> <53E07124.9090301@oracle.com> <53E0809F.8080702@redhat.com> Message-ID: <53E17184.3040401@oracle.com> Thanks, Florian. I will withdraw my review request and close this issue. I'll file a separate bug to allow the first character to be a digit, as RFC 1123 relaxed that restriction. Thanks, Jason On 08/04/2014 11:58 PM, Florian Weimer wrote: > On 08/05/2014 07:52 AM, Jason Uh wrote: >> Hi Florian, >> >> I've reviewed the RFC again and think there might be some >> misinterpretation. The only part I see about underscores reads: >> >>> Implementers should note that the at sign ('@') and underscore ('_') >>> characters are not supported by the ASN.1 type PrintableString. >>> These characters often appear in Internet addresses. Such addresses >>> MUST be encoded using an ASN.1 type that supports them. They are >>> usually encoded as IA5String in either the emailAddress attribute >>> within a distinguished name or the rfc822Name field of GeneralName. >>> Conforming implementations MUST NOT encode strings that include >>> either the at sign or underscore character as PrintableString. >> >> RFC 5280 doesn't allow underscores for *PrintableString*, but DNSName is >> an *IA5String*, which does support them. > > By this argument, the patch is still not correct because it leaves in > additional checking incompatible with IA5String. (It is also not clear > to me what exactly is permissible in IA5Strings and how codepoints are > supposedly mapped to their Unicode counterparts if a national variant of > T.50 is used, but that's a different issue.) Relaxing all restrictions > would match what other software does. > > My claim that '_' is not allowed in dNSName is based on these two > sentences: > > When the subjectAltName extension contains a domain name system > label, the domain name MUST be stored in the dNSName (an IA5String). > The name MUST be in the "preferred name syntax", as specified by > Section 3.5 of [RFC1034] and as modified by Section 2.1 of > [RFC1123]. > > Section 3.5 of RFC 1034 and section 2.1 of RFC 1123 deal with host name > syntax, and the grammar in RFC 1034 (and RFC 952, which is referenced in > RFC 1123) does not permit underscores. > From weijun.wang at oracle.com Wed Aug 6 01:23:35 2014 From: weijun.wang at oracle.com (Weijun Wang) Date: Wed, 06 Aug 2014 09:23:35 +0800 Subject: Request for review : backport of bug# 8031046 to 7u-dev In-Reply-To: <53E0A4AB.5020601@oracle.com> References: <53E0A4AB.5020601@oracle.com> Message-ID: <53E18397.6090405@oracle.com> Hi Mala Code change looks fine. When you say "Direct backport", is it equivalent to "applying the same patch with no conflict"? :-) Thanks Max On 8/5/2014 17:32, mala bankal wrote: > HI, > > Request review for the direct backport of bug# 8031046 to 7u-dev. > > http://cr.openjdk.java.net/~mbankal/8031046/webrev.00/ > > JDK9 Changeset : > http://hg.openjdk.java.net/jdk9/dev/jdk/rev/ab914c760352 > JDK8 Changeset : > http://hg.openjdk.java.net/jdk8u/jdk8u-dev/jdk/rev/b32e9aba4888 > > Regression test is not added since it requires special setup, SQE bug > filed for the same : > https://bugs.openjdk.java.net/browse/INTJDK-7604925 > > Thanks. > rgds > mala From mala.bankal at oracle.com Wed Aug 6 04:31:41 2014 From: mala.bankal at oracle.com (mala bankal) Date: Wed, 06 Aug 2014 10:01:41 +0530 Subject: Request for review : backport of bug# 8031046 to 7u-dev In-Reply-To: <53E18397.6090405@oracle.com> References: <53E0A4AB.5020601@oracle.com> <53E18397.6090405@oracle.com> Message-ID: <53E1AFAD.9020001@oracle.com> HI Max, Thanks for the review. Yes it means no extra code changes. :) rgds mala On 8/6/2014 6:53 AM, Weijun Wang wrote: > Hi Mala > > Code change looks fine. > > When you say "Direct backport", is it equivalent to "applying the same > patch with no conflict"? :-) > > Thanks > Max > > On 8/5/2014 17:32, mala bankal wrote: >> HI, >> >> Request review for the direct backport of bug# 8031046 to 7u-dev. >> >> http://cr.openjdk.java.net/~mbankal/8031046/webrev.00/ >> >> JDK9 Changeset : >> http://hg.openjdk.java.net/jdk9/dev/jdk/rev/ab914c760352 >> JDK8 Changeset : >> http://hg.openjdk.java.net/jdk8u/jdk8u-dev/jdk/rev/b32e9aba4888 >> >> Regression test is not added since it requires special setup, SQE bug >> filed for the same : >> https://bugs.openjdk.java.net/browse/INTJDK-7604925 >> >> Thanks. >> rgds >> mala From erik.joelsson at oracle.com Wed Aug 6 09:04:51 2014 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Wed, 06 Aug 2014 11:04:51 +0200 Subject: RFR 6997010: Consolidate java.security files into one file with modifications In-Reply-To: <53E14BA3.8020408@oracle.com> References: <53D26A23.2010806@oracle.com> <902FCDAA-E90B-4677-836C-D294D725FB45@oracle.com> <53D63762.3040200@oracle.com> <53E14BA3.8020408@oracle.com> Message-ID: <53E1EFB3.8000004@oracle.com> On 2014-08-05 23:24, Sean Mullan wrote: > On 07/28/2014 09:53 AM, Wang Weijun wrote: >> Yes, you are right. >> >> Webrev updated at >> http://cr.openjdk.java.net/~weijun/6997010/webrev.02. >> GendataJavaSecurity.gmk and MakeJavaSecurity.java updated. > > There's an unnecessary indent at line 1 of GendataJavaSecurity.gmk Speaking of indentation, please also change the ifdef bodies to 2 spaces. /Erik > > In CheckSecurityProvider.java, ucrypto is in the closed sources, so > Security.getProviders() will not return it if you are testing an > OpenJDK build. You need to adjust the test to not include this > provider if testing an OpenJDK build. > > --Sean > >> >> Thanks >> Max >> >> On Jul 28, 2014, at 19:43, Erik Joelsson >> wrote: >> >>> Hello Max, >>> >>> Shouldn't the rule for $(GENDATA_JAVA_SECURITY) depend on >>> $(RESTRICTED_PKGS_SRC) so that updates to the pkgs file triggers a >>> rebuild? For that to work, the variable $(RESTRICTED_PKGS_SRC) needs >>> to be empty for the OPENJDK case rather than have a dummy name and >>> MakeJavaSecurity.java needs to handle missing the last argument. >>> >>> /Erik >>> >>> On 2014-07-28 03:44, Wang Weijun wrote: >>>> Webrev updated at >>>> >>>> >>>> http://cr.openjdk.java.net/~weijun/6997010/webrev.01/ >>>> >>>> >>>> New test CheckSecurityProvider.java, and updates to >>>> MakeJavaSecurity.addPackages(). >>>> >>>> Thanks >>>> Max >>>> >>>> On Jul 25, 2014, at 22:44, Wang Weijun >>>> >>>> wrote: >>>> >>>> >>>>> On Jul 25, 2014, at 22:30, Sean Mullan >>>>> wrote: >>>>> >>>>> >>>>>>> http://cr.openjdk.java.net/~weijun/6997010/webrev.00/ >>>>>>> >>>>>>> >>>>>>> 4. *IMPORTANT*: In order to easily maintain platform-related >>>>>>> entries, >>>>>>> every line (including the last line) in package.access and >>>>>>> package.definition MUST end with ',\' now. A blank line MUST exist >>>>>>> after the last line. This avoid ugly lines like >>>>>>> >>>>>>> #ifndef windows entry1. #endif #ifdef windows entry1.,\ entry2 >>>>>>> #endif >>>>>>> >>>>>> What happens if someone (inevitably) adds a new package to the >>>>>> list and forgets to do either of these? Does it result in a build >>>>>> failure? >>>>>> >>>>> No build failure, but >>>>> test/java/security/SecurityManager/CheckPackageAccess.java will fail. >>>>> >>>>> I can add check in the build tool. >>>>> >>>>> >>>>>> Otherwise looks good, although I think it would be useful to >>>>>> write an additional test to make sure the correct providers are >>>>>> installed and ordered correctly on the different platforms, >>>>>> something similar to the >>>>>> java/lang/SecurityManager/CheckPackageAccess.java test but >>>>>> specific to providers. >>>>>> >>>>> OK. >>>>> >>>>> Thanks >>>>> Max >>>>> >>>>> >>> >> From weijun.wang at oracle.com Wed Aug 6 09:14:13 2014 From: weijun.wang at oracle.com (Weijun Wang) Date: Wed, 06 Aug 2014 17:14:13 +0800 Subject: RFR 6997010: Consolidate java.security files into one file with modifications In-Reply-To: <53E1EFB3.8000004@oracle.com> References: <53D26A23.2010806@oracle.com> <902FCDAA-E90B-4677-836C-D294D725FB45@oracle.com> <53D63762.3040200@oracle.com> <53E14BA3.8020408@oracle.com> <53E1EFB3.8000004@oracle.com> Message-ID: <53E1F1E5.9070001@oracle.com> On 8/6/2014 17:04, Erik Joelsson wrote: > Speaking of indentation, please also change the ifdef bodies to 2 spaces. Sure. Whenever I edit a Makefile, I dare not use spaces and always use TABs. Obviously an ifdef does not need it. Thanks Max From erik.joelsson at oracle.com Wed Aug 6 09:28:56 2014 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Wed, 06 Aug 2014 11:28:56 +0200 Subject: RFR 6997010: Consolidate java.security files into one file with modifications In-Reply-To: <53E1F1E5.9070001@oracle.com> References: <53D26A23.2010806@oracle.com> <902FCDAA-E90B-4677-836C-D294D725FB45@oracle.com> <53D63762.3040200@oracle.com> <53E14BA3.8020408@oracle.com> <53E1EFB3.8000004@oracle.com> <53E1F1E5.9070001@oracle.com> Message-ID: <53E1F558.6090200@oracle.com> On 2014-08-06 11:14, Weijun Wang wrote: > On 8/6/2014 17:04, Erik Joelsson wrote: >> Speaking of indentation, please also change the ifdef bodies to 2 >> spaces. > > Sure. Whenever I edit a Makefile, I dare not use spaces and always use > TABs. Obviously an ifdef does not need it. > The tab character unfortunately has significance in make, so we carefully differentiate between using space and tab when it's appropriate. A tab in the wrong place can also cause trouble. /Erik > Thanks > Max From xuelei.fan at oracle.com Wed Aug 6 12:55:29 2014 From: xuelei.fan at oracle.com (Xuelei Fan) Date: Wed, 06 Aug 2014 20:55:29 +0800 Subject: On 8038089: TLS optional support for Kerberos cipher suites needs to be re-examine In-Reply-To: References: <53A3C4A6.7030606@oracle.com> <780FD2A0-ADA6-4A77-ADBE-7FAA8AF8B866@oracle.com> <53A3D33C.9070009@oracle.com> <60040DD4-F887-45B0-85EE-678637B266CA@oracle.com> <53A3F4D9.4060102@oracle.com> <183BD754-34FB-4351-A25B-65A82830AA7B@oracle.com> <53A3FCFB.4090002@oracle.com> <215A6E73-07CA-44C1-87BB-934F420A666C@oracle.com> <53C3E241.5040606@oracle.com> <53C3F9AC.3040008@oracle.com> <53C75299.3060007@oracle.com> Message-ID: <53E225C1.80702@oracle.com> Weijun, Where the krb5 impl will be packaged into in the future? Still the SunProvider but in a new jar file? I was wondering whether we can use the provider service approach that we used to define other security components implementations. I'm not quite confident with the security of the use of ServiceLoader.load(). Xuelei On 8/4/2014 9:48 AM, Wang Weijun wrote: > Hi Xuelei > > Are you OK with the code change? The updated webrev is now at > > http://cr.openjdk.java.net/~weijun/8038089/webrev.02/ > > Comparing to the last version. there are some comment changes and emptying refs.allowed. The only major change is that the ServiecLoader now uses system class loader. > > Thanks > Max > > On Jul 21, 2014, at 16:22, Wang Weijun wrote: > >> Please review the updated webrev at >> >> http://cr.openjdk.java.net/~weijun/8038089/webrev.01 >> >> Some comment changes. Some arguments rearrangement between classes. >> >> The interface is still in sun.security.ssl. It will be easy to move it to somewhere else later. When module is introduced, we may need to export the interface from java.base to java.security.jgss. >> >> Thanks >> Max >> >> On Jul 17, 2014, at 12:35, Xuelei Fan wrote: >> >>> On 7/16/2014 4:41 PM, Wang Weijun wrote: >>>> Hi Xuelei >>>> >>>> A *primitive* version of webrev available at >>>> >>>> http://cr.openjdk.java.net/~weijun/8038089/webrev.00 >>>> >>>> Please confirm this is the way you like it. >>>> >>> I have not read too much about the details of the update. But looks >>> like it is in the right way. >>> >>>> ExternalCipherSuite is the service interface and Krb5CipherSuite implements it. It's a modification of the old Krb5Proxy but I've moved as many as Kerberos-related codes to the implementation side so it has less methods now. >>>> >>>> Most likely we will define this new interface in a public package. >>>> >>> If krb5 is the only external implementation of TLS cipher suites, I >>> think, we may want to try the best not to define public interface if >>> possible. >>> >>> Thanks, >>> Xuelei >>> >>>> I didn't touch any core SSL classes except for ClientHandshaker and ServerHandShaker. If you think there are other places too closely connected with kerberos, please let me know. >>>> >>>> Ideally, those >>>> >>>> case K_KRB5: case K_KRB5_EXPORT: >>>> Krb5Helper.doXXX(...): >>>> >>>> should be something like >>>> >>>> default: >>>> getExternalHelper(keyExchange).doXXX(...) >>>> >>>> but I guess we won't do that unless we know there will be a second implementation. >>>> >>>> Thanks >>>> Max >>>> >>>> >>>> >>>> >>>> >>>> >>> >> > From jason.uh at oracle.com Wed Aug 6 18:32:50 2014 From: jason.uh at oracle.com (Jason Uh) Date: Wed, 06 Aug 2014 11:32:50 -0700 Subject: [9] RFR: 8054380: X.509 cert extension SubjectAltName should allow digits as first character of dNSName Message-ID: <53E274D2.2050801@oracle.com> Please review this fix, which allows the first character of a DNSName in a SubjectAltName to be either a letter or a digit. http://cr.openjdk.java.net/~juh/8054380/webrev.01/ This change is to stay compliant with RFC 1123: RFC 1123, Section 2.1: > One aspect of host name syntax is hereby changed: the > restriction on the first character is relaxed to allow either a > letter or a digit. Host software MUST support this more liberal > syntax. Please note this only applies to the first character of the hostname, not the first character of each component in the DNS Name. Given the grammar defined in RFC 952: ::= ::= *["."] ::= [*[]] That is all that is allowed by the above update in RFC 1123. Thanks, Jason From amanda.jiang at oracle.com Wed Aug 6 22:24:01 2014 From: amanda.jiang at oracle.com (Amanda Jiang) Date: Wed, 06 Aug 2014 15:24:01 -0700 Subject: RFR J8050281: New permission tests for JEP 140 In-Reply-To: <53D984DA.2090908@oracle.com> References: <53D984DA.2090908@oracle.com> Message-ID: <53E2AB01.4040100@oracle.com> Updated the original codes for better handling interrupted exception. webrev: http://cr.openjdk.java.net/~tyan/amandaj/JDK-8031661/webrev.01/ Thanks, Amanda On 7/30/14 4:50 PM, Amanda Jiang wrote: > Hi All, > > Could you please review following 2 new regression tests to be added > for JEP140 (Limied doPrivileged). > New tests are added to perform permission tests for limited > doprivileged with multiple threads , and basic API testing. > > JDK Issue: https://bugs.openjdk.java.net/browse/JDK-8050281 > webrev: http://cr.openjdk.java.net/~rhalade/8050281/webrev.00/ > > Thanks, > Amanda From amanda.jiang at oracle.com Wed Aug 6 22:25:21 2014 From: amanda.jiang at oracle.com (Amanda Jiang) Date: Wed, 06 Aug 2014 15:25:21 -0700 Subject: RFR J8050281: New permission tests for JEP 140 In-Reply-To: <53E2AB01.4040100@oracle.com> References: <53D984DA.2090908@oracle.com> <53E2AB01.4040100@oracle.com> Message-ID: <53E2AB51.2000405@oracle.com> Sorry, wrong webrev link, it should be: http://cr.openjdk.java.net/~tyan/amandaj/8050281/webrev.01/ Thanks, Amanda On 8/6/14 3:24 PM, Amanda Jiang wrote: > Updated the original codes for better handling interrupted exception. > webrev: http://cr.openjdk.java.net/~tyan/amandaj/JDK-8031661/webrev.01/ > > Thanks, > Amanda > > On 7/30/14 4:50 PM, Amanda Jiang wrote: >> Hi All, >> >> Could you please review following 2 new regression tests to be added >> for JEP140 (Limied doPrivileged). >> New tests are added to perform permission tests for limited >> doprivileged with multiple threads , and basic API testing. >> >> JDK Issue: https://bugs.openjdk.java.net/browse/JDK-8050281 >> webrev: http://cr.openjdk.java.net/~rhalade/8050281/webrev.00/ >> >> Thanks, >> Amanda > From weijun.wang at oracle.com Thu Aug 7 02:53:25 2014 From: weijun.wang at oracle.com (Weijun Wang) Date: Thu, 07 Aug 2014 10:53:25 +0800 Subject: On 8038089: TLS optional support for Kerberos cipher suites needs to be re-examine In-Reply-To: <53E225C1.80702@oracle.com> References: <53A3C4A6.7030606@oracle.com> <780FD2A0-ADA6-4A77-ADBE-7FAA8AF8B866@oracle.com> <53A3D33C.9070009@oracle.com> <60040DD4-F887-45B0-85EE-678637B266CA@oracle.com> <53A3F4D9.4060102@oracle.com> <183BD754-34FB-4351-A25B-65A82830AA7B@oracle.com> <53A3FCFB.4090002@oracle.com> <215A6E73-07CA-44C1-87BB-934F420A666C@oracle.com> <53C3E241.5040606@oracle.com> <53C3F9AC.3040008@oracle.com> <53C75299.3060007@oracle.com> <53E225C1.80702@oracle.com> Message-ID: <53E2EA25.4020301@oracle.com> On 8/6/2014 20:55, Xuelei Fan wrote: > Weijun, > > Where the krb5 impl will be packaged into in the future? In the java.jgss module. > Still the > SunProvider but in a new jar file? I was wondering whether we can use > the provider service approach that we used to define other security > components implementations. I'm not quite confident with the security > of the use of ServiceLoader.load(). You mean define a new provider service like "MessageDigest" and "Cipher", I think that's a heavier version of ServiceLoader. Also this interface is now quite premature and only used internal. By security, are you afraid of someone providing his own implementation and shadow the JDK one? I'll do some investigation. --Max > > Xuelei > > > On 8/4/2014 9:48 AM, Wang Weijun wrote: >> Hi Xuelei >> >> Are you OK with the code change? The updated webrev is now at >> >> http://cr.openjdk.java.net/~weijun/8038089/webrev.02/ >> >> Comparing to the last version. there are some comment changes and emptying refs.allowed. The only major change is that the ServiecLoader now uses system class loader. >> >> Thanks >> Max >> >> On Jul 21, 2014, at 16:22, Wang Weijun wrote: >> >>> Please review the updated webrev at >>> >>> http://cr.openjdk.java.net/~weijun/8038089/webrev.01 >>> >>> Some comment changes. Some arguments rearrangement between classes. >>> >>> The interface is still in sun.security.ssl. It will be easy to move it to somewhere else later. When module is introduced, we may need to export the interface from java.base to java.security.jgss. >>> >>> Thanks >>> Max >>> >>> On Jul 17, 2014, at 12:35, Xuelei Fan wrote: >>> >>>> On 7/16/2014 4:41 PM, Wang Weijun wrote: >>>>> Hi Xuelei >>>>> >>>>> A *primitive* version of webrev available at >>>>> >>>>> http://cr.openjdk.java.net/~weijun/8038089/webrev.00 >>>>> >>>>> Please confirm this is the way you like it. >>>>> >>>> I have not read too much about the details of the update. But looks >>>> like it is in the right way. >>>> >>>>> ExternalCipherSuite is the service interface and Krb5CipherSuite implements it. It's a modification of the old Krb5Proxy but I've moved as many as Kerberos-related codes to the implementation side so it has less methods now. >>>>> >>>>> Most likely we will define this new interface in a public package. >>>>> >>>> If krb5 is the only external implementation of TLS cipher suites, I >>>> think, we may want to try the best not to define public interface if >>>> possible. >>>> >>>> Thanks, >>>> Xuelei >>>> >>>>> I didn't touch any core SSL classes except for ClientHandshaker and ServerHandShaker. If you think there are other places too closely connected with kerberos, please let me know. >>>>> >>>>> Ideally, those >>>>> >>>>> case K_KRB5: case K_KRB5_EXPORT: >>>>> Krb5Helper.doXXX(...): >>>>> >>>>> should be something like >>>>> >>>>> default: >>>>> getExternalHelper(keyExchange).doXXX(...) >>>>> >>>>> but I guess we won't do that unless we know there will be a second implementation. >>>>> >>>>> Thanks >>>>> Max >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>> >> > From florian.bruckner at 3kraft.com Thu Aug 7 07:18:47 2014 From: florian.bruckner at 3kraft.com (Florian Bruckner (3kraft)) Date: Thu, 07 Aug 2014 09:18:47 +0200 Subject: apple.security.KeychainStore does not load private key (when called from javaws) In-Reply-To: <53E134E6.5070707@oracle.com> References: <53C40783.4060204@3kraft.com> <53C4ECC8.3020909@3kraft.com> <53D75D03.4070403@3kraft.com> <0F9AD930-8C72-4BC9-A0FA-A5A5CDA850FC@oracle.com> <53DFA249.3000207@3kraft.com> <53E134E6.5070707@oracle.com> Message-ID: <53E32857.1050103@3kraft.com> Hi Sean, I have submitted the signed OCA yesterday. I'll let you know once it has been approved. regards, Florian On 05.08.14 21:47, Sean Mullan wrote: > On 08/04/2014 11:10 AM, Florian Bruckner (3kraft) wrote: >> Hey guys, >> >> any feedback/comments on this? > > This seems like a reasonable change to me. In order to proceed with accepting your patch, you will > first need to sign an OCA. See step 0 of http://openjdk.java.net/contribute/ > > Thanks, > Sean > From ivan.gerasimov at oracle.com Thu Aug 7 12:21:37 2014 From: ivan.gerasimov at oracle.com (Ivan Gerasimov) Date: Thu, 07 Aug 2014 16:21:37 +0400 Subject: [8u40] Request for approval: 8046343: (smartcardio) CardTerminal.connect('direct') does not work on MacOSX Message-ID: <53E36F51.8000302@oracle.com> Hello! May I ask for the approval to backport into 8u-dev repo? The fix is the same as in jdk9 modulo lambda, so I'm including the webrev here. Jdk8 webrev: http://cr.openjdk.java.net/~igerasim/8046343/2/webrev/ Bug: https://bugs.openjdk.java.net/browse/JDK-8046343 Jdk9 change: http://hg.openjdk.java.net/jdk9/dev/jdk/rev/89bed86930d8 Jdk9 review: http://mail.openjdk.java.net/pipermail/security-dev/2014-July/010779.html Sincerely yours, Ivan From fweimer at redhat.com Thu Aug 7 12:47:57 2014 From: fweimer at redhat.com (Florian Weimer) Date: Thu, 07 Aug 2014 14:47:57 +0200 Subject: [9] RFR: 8054380: X.509 cert extension SubjectAltName should allow digits as first character of dNSName In-Reply-To: <53E274D2.2050801@oracle.com> References: <53E274D2.2050801@oracle.com> Message-ID: <53E3757D.5090707@redhat.com> On 08/06/2014 08:32 PM, Jason Uh wrote: > Please review this fix, which allows the first character of a DNSName in > a SubjectAltName to be either a letter or a digit. > > http://cr.openjdk.java.net/~juh/8054380/webrev.01/ The test case should also check "123.example" and "www.123.example". > This change is to stay compliant with RFC 1123: > > RFC 1123, Section 2.1: >> One aspect of host name syntax is hereby changed: the >> restriction on the first character is relaxed to allow either a >> letter or a digit. Host software MUST support this more liberal >> syntax. > > Please note this only applies to the first character of the hostname, > not the first character of each component in the DNS Name. The RFC 1123 change applies to each label, not just to the first one. I wonder why using the HTTPS to access works with the current jdk9-dev code. The name "www.3com.com" is only present in the SAN. -- Florian Weimer / Red Hat Product Security From sean.mullan at oracle.com Thu Aug 7 13:32:31 2014 From: sean.mullan at oracle.com (Sean Mullan) Date: Thu, 07 Aug 2014 09:32:31 -0400 Subject: [9] RFR: 8054380: X.509 cert extension SubjectAltName should allow digits as first character of dNSName In-Reply-To: <53E3757D.5090707@redhat.com> References: <53E274D2.2050801@oracle.com> <53E3757D.5090707@redhat.com> Message-ID: <53E37FEF.80506@oracle.com> On 08/07/2014 08:47 AM, Florian Weimer wrote: > I wonder why using the HTTPS to access works with > the current jdk9-dev code. The name "www.3com.com" is only present in > the SAN. Is the SAN extension non-critical? If so, that could explain why. We allow X509Certificates to be created with unparseable non-critical extensions. --Sean From sean.coffey at oracle.com Thu Aug 7 14:07:12 2014 From: sean.coffey at oracle.com (=?UTF-8?B?U2XDoW4gQ29mZmV5?=) Date: Thu, 07 Aug 2014 15:07:12 +0100 Subject: [8u40] Request for approval: 8046343: (smartcardio) CardTerminal.connect('direct') does not work on MacOSX In-Reply-To: <53E36F51.8000302@oracle.com> References: <53E36F51.8000302@oracle.com> Message-ID: <53E38810.2070800@oracle.com> Ivan, No need to convert the JDK 9 patch here. Lambda in JDK 8u! I'm approving the jdk9 changeset for import into jdk8u-dev on condition that it applies cleanly. If it doesn't get a peer code review. regards, Sean. On 07/08/2014 13:21, Ivan Gerasimov wrote: > Hello! > > May I ask for the approval to backport into 8u-dev repo? > The fix is the same as in jdk9 modulo lambda, so I'm including the > webrev here. > > Jdk8 webrev: http://cr.openjdk.java.net/~igerasim/8046343/2/webrev/ > > Bug: https://bugs.openjdk.java.net/browse/JDK-8046343 > Jdk9 change: http://hg.openjdk.java.net/jdk9/dev/jdk/rev/89bed86930d8 > Jdk9 review: > http://mail.openjdk.java.net/pipermail/security-dev/2014-July/010779.html > > Sincerely yours, > Ivan From ivan.gerasimov at oracle.com Thu Aug 7 14:15:30 2014 From: ivan.gerasimov at oracle.com (Ivan Gerasimov) Date: Thu, 07 Aug 2014 18:15:30 +0400 Subject: [8u40] Request for approval: 8046343: (smartcardio) CardTerminal.connect('direct') does not work on MacOSX In-Reply-To: <53E38810.2070800@oracle.com> References: <53E36F51.8000302@oracle.com> <53E38810.2070800@oracle.com> Message-ID: <53E38A02.8060601@oracle.com> On 07.08.2014 18:07, Se?n Coffey wrote: > Ivan, > > No need to convert the JDK 9 patch here. Lambda in JDK 8u! > I'm approving the jdk9 changeset for import into jdk8u-dev on > condition that it applies cleanly. If it doesn't get a peer code review. > Thanks Se?n! Yes, it was meant to remove lambda in the backport to 7 not to 8 :-) I confirm that the patch applies cleanly. Sincerely yours, Ivan > regards, > Sean. > > On 07/08/2014 13:21, Ivan Gerasimov wrote: >> Hello! >> >> May I ask for the approval to backport into 8u-dev repo? >> The fix is the same as in jdk9 modulo lambda, so I'm including the >> webrev here. >> >> Jdk8 webrev: http://cr.openjdk.java.net/~igerasim/8046343/2/webrev/ >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8046343 >> Jdk9 change: http://hg.openjdk.java.net/jdk9/dev/jdk/rev/89bed86930d8 >> Jdk9 review: >> http://mail.openjdk.java.net/pipermail/security-dev/2014-July/010779.html >> >> Sincerely yours, >> Ivan > > > From ivan.gerasimov at oracle.com Thu Aug 7 14:54:18 2014 From: ivan.gerasimov at oracle.com (Ivan Gerasimov) Date: Thu, 07 Aug 2014 18:54:18 +0400 Subject: [7u-dev] Request for approval: 8046343: (smartcardio) CardTerminal.connect('direct') does not work on MacOSX Message-ID: <53E3931A.7030706@oracle.com> Hello! May I ask for the approval to backport into 7u-dev repo? The fix is the same as in jdk9/8u modulo lambda, so I'm including the webrev here. Jdk7 webrev: http://cr.openjdk.java.net/~igerasim/8046343/3/webrev/ Bug: https://bugs.openjdk.java.net/browse/JDK-8046343 Jdk9 change: http://hg.openjdk.java.net/jdk9/dev/jdk/rev/89bed86930d8 Jdk8 change: http://hg.openjdk.java.net/jdk8u/jdk8u-dev/jdk/rev/725736a9e6d8 Jdk9 review: http://mail.openjdk.java.net/pipermail/security-dev/2014-July/010779.html Sincerely yours, Ivan From jamil.j.nimeh at oracle.com Thu Aug 7 21:03:32 2014 From: jamil.j.nimeh at oracle.com (Jamil Nimeh) Date: Thu, 07 Aug 2014 14:03:32 -0700 Subject: RFR 8054366: Broken link in SecureRandom.html Message-ID: <53E3E9A4.1090309@oracle.com> Hello all, This is just a quick broken-link fix for SecureRandom's javadoc. http://cr.openjdk.java.net/~ascarpino/8054366/webrev.01 Thanks, --Jamil From xuelei.fan at oracle.com Thu Aug 7 22:30:36 2014 From: xuelei.fan at oracle.com (Xuelei Fan) Date: Fri, 08 Aug 2014 06:30:36 +0800 Subject: RFR 8054366: Broken link in SecureRandom.html In-Reply-To: <53E3E9A4.1090309@oracle.com> References: <53E3E9A4.1090309@oracle.com> Message-ID: <53E3FE0C.20607@oracle.com> Looks fine to me. Thanks, Xuelei On 8/8/2014 5:03 AM, Jamil Nimeh wrote: > Hello all, > > This is just a quick broken-link fix for SecureRandom's javadoc. > > http://cr.openjdk.java.net/~ascarpino/8054366/webrev.01 > > Thanks, > --Jamil From sean.mullan at oracle.com Thu Aug 7 22:59:25 2014 From: sean.mullan at oracle.com (Sean Mullan) Date: Thu, 07 Aug 2014 18:59:25 -0400 Subject: RFR 8054366: Broken link in SecureRandom.html In-Reply-To: <53E3E9A4.1090309@oracle.com> References: <53E3E9A4.1090309@oracle.com> Message-ID: <53E404CD.2080100@oracle.com> On 08/07/2014 05:03 PM, Jamil Nimeh wrote: > Hello all, > > This is just a quick broken-link fix for SecureRandom's javadoc. > > http://cr.openjdk.java.net/~ascarpino/8054366/webrev.01 The fix for the broken link looks fine. I think you should double-check with Brad as to whether changing the RFC reference is appropriate. --Sean From bradford.wetmore at oracle.com Thu Aug 7 23:25:02 2014 From: bradford.wetmore at oracle.com (Bradford Wetmore) Date: Thu, 07 Aug 2014 16:25:02 -0700 Subject: RFR 8054366: Broken link in SecureRandom.html In-Reply-To: <53E404CD.2080100@oracle.com> References: <53E3E9A4.1090309@oracle.com> <53E404CD.2080100@oracle.com> Message-ID: <53E40ACE.1060606@oracle.com> On 8/7/2014 3:59 PM, Sean Mullan wrote: > On 08/07/2014 05:03 PM, Jamil Nimeh wrote: >> Hello all, >> >> This is just a quick broken-link fix for SecureRandom's javadoc. >> >> http://cr.openjdk.java.net/~ascarpino/8054366/webrev.01 > > The fix for the broken link looks fine. I think you should double-check > with Brad as to whether changing the RFC reference is appropriate. Looking over the Appendix A (changes from 1750), I think this should be ok. These seem to be primarily additional suggestions/caveats, not requirements. Brad From fweimer at redhat.com Fri Aug 8 08:58:12 2014 From: fweimer at redhat.com (Florian Weimer) Date: Fri, 08 Aug 2014 10:58:12 +0200 Subject: RFR 8054366: Broken link in SecureRandom.html In-Reply-To: <53E3E9A4.1090309@oracle.com> References: <53E3E9A4.1090309@oracle.com> Message-ID: <53E49124.4070407@redhat.com> On 08/07/2014 11:03 PM, Jamil Nimeh wrote: > Hello all, > > This is just a quick broken-link fix for SecureRandom's javadoc. > > http://cr.openjdk.java.net/~ascarpino/8054366/webrev.01 You could link to the HTML version of the RFC instead: It's nice because it has a link to errata and updating RFCs. -- Florian Weimer / Red Hat Product Security From fweimer at redhat.com Fri Aug 8 08:59:08 2014 From: fweimer at redhat.com (Florian Weimer) Date: Fri, 08 Aug 2014 10:59:08 +0200 Subject: [9] RFR: 8054380: X.509 cert extension SubjectAltName should allow digits as first character of dNSName In-Reply-To: <53E37FEF.80506@oracle.com> References: <53E274D2.2050801@oracle.com> <53E3757D.5090707@redhat.com> <53E37FEF.80506@oracle.com> Message-ID: <53E4915C.3080208@redhat.com> On 08/07/2014 03:32 PM, Sean Mullan wrote: > On 08/07/2014 08:47 AM, Florian Weimer wrote: >> I wonder why using the HTTPS to access works with >> the current jdk9-dev code. The name "www.3com.com" is only present in >> the SAN. > > Is the SAN extension non-critical? If so, that could explain why. We > allow X509Certificates to be created with unparseable non-critical > extensions. Yes, it's marked as non-critical. But this doesn't really explain the lack of an exception because the www.3com.com dNSName is obviously used (there's no TLS handshake failure). -- Florian Weimer / Red Hat Product Security From vincent.x.ryan at oracle.com Fri Aug 8 13:51:29 2014 From: vincent.x.ryan at oracle.com (Vincent Ryan) Date: Fri, 8 Aug 2014 14:51:29 +0100 Subject: Updated review request for CR 8048362 Test doPrivileged with accomplice In-Reply-To: <53DF3226.7010601@oracle.com> References: <53DF3226.7010601@oracle.com> Message-ID: Code looks fine. I noticed a few typos: DoPrivTest.java l.26 and DoPrivAccompliceTest.java l.34-38 On 4 Aug 2014, at 08:11, raghu k.nair wrote: > Hello , > Please review the updated tests for doPrivilaged with accomplice. Updated the test to use @compile tag rather than compiling using API. > > Bug -https://bugs.openjdk.java.net/browse/JDK-8048362 > webrev - http://cr.openjdk.java.net/~rhalade/8048362/webrev.01/ > > Thanks, > Raghu > From jamil.j.nimeh at oracle.com Fri Aug 8 15:45:13 2014 From: jamil.j.nimeh at oracle.com (Jamil Nimeh) Date: Fri, 08 Aug 2014 08:45:13 -0700 Subject: RFR 8054366: Broken link in SecureRandom.html In-Reply-To: <53E49124.4070407@redhat.com> References: <53E3E9A4.1090309@oracle.com> <53E49124.4070407@redhat.com> Message-ID: <53E4F089.8070701@oracle.com> On 08/08/2014 01:58 AM, Florian Weimer wrote: > On 08/07/2014 11:03 PM, Jamil Nimeh wrote: >> Hello all, >> >> This is just a quick broken-link fix for SecureRandom's javadoc. >> >> http://cr.openjdk.java.net/~ascarpino/8054366/webrev.01 > > You could link to the HTML version of the RFC instead: > > > > It's nice because it has a link to errata and updating RFCs. Personally I prefer tools.ietf.org for the in-document linking and the other links you referenced, too. I was just trying to keep things consistent with what was already there. If there's no objections I'm happy to use the HTML version instead. --Jamil From peter.firmstone at zeus.net.au Sat Aug 9 05:56:16 2014 From: peter.firmstone at zeus.net.au (Peter Firmstone) Date: Sat, 09 Aug 2014 15:56:16 +1000 Subject: The future of Serialization Message-ID: <1407563776.1841.30.camel@Nokia-N900> I've noticed there's not much interest in improving Serialization on these lists. This makes me wonder if java Serialization has lost relevance in recent years with the rise of protocol buffers apache thrift and other means of data transfer over byte streams. The burden of implementing Serializable can significantly hamper developers efforts when refactoring, it's quite common for some projects to make no guarantee regarding Serialization compatibility between releases. Also implementation of Serializable can double project development hours, hamper future development and increase software maintenance costs. Serialization also presents opportunities for attackers and has been responsible for a number of zero day exploits. I don't know if isolates will be included with JDK 9 for Jigsaw, or whether ClassLoaders alone will provide isolation for modules. The ability to limit visibility and provide isolation of implementation classes as well as providing limits on memory and threads for isolated modules would also improve platform security. Serialization may provide a means to hot upgrade modules, but more flexible options that doesn't cause serial data lock in need to be developed. Should Serializable eventually be deprecated? Should Serialization be disabled by default? Should a new mechanism be developed? If a new mechanism is developed, what about circular object relationships? Regards, Peter. -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian.goetz at oracle.com Sat Aug 9 17:20:47 2014 From: brian.goetz at oracle.com (Brian Goetz) Date: Sat, 09 Aug 2014 13:20:47 -0400 Subject: The future of Serialization In-Reply-To: <1407563776.1841.30.camel@Nokia-N900> References: <1407563776.1841.30.camel@Nokia-N900> Message-ID: <53E6586F.7080906@oracle.com> > I've noticed there's not much interest in improving Serialization on > these lists. This makes me wonder if java Serialization has lost > relevance in recent years with the rise of protocol buffers apache > thrift and other means of data transfer over byte streams. I sense your frustration, but I think you may be reaching the wrong conclusion. The lack of response is probably not evidence that there's no interest in fixing serialization; its that fixing serialization, with all the constraints that "fix" entails, is just really really hard, and its much easier to complain about it (and even say "let's just get rid of it") than to fix it. > Should Serializable eventually be deprecated? Should Serialization be > disabled by default? Should a new mechanism be developed? If a new > mechanism is developed, what about circular object relationships? As I delved into my own explorations of serialization, I started to realize why such a horrible approach was the one that was ultimately chosen; while serialization is horrible and awful and leaky and insecure and complex and brittle, it does address problems like cyclic data structures and independent evolution of subclass and superclass better than the "clean" models. My conclusion is, at best, a new mechanism would have to live side-by-side with the old one, since it could only handle 95% of the cases. It might handle those 95% much better -- more cleanly, securely, and allowing easier schema evolution -- but the hard cases are still there. Still, reducing the use of the horrible old mechanism may still be a worthy goal, even if it can't be killed outright. From weijun.wang at oracle.com Mon Aug 11 07:35:11 2014 From: weijun.wang at oracle.com (Wang Weijun) Date: Mon, 11 Aug 2014 15:35:11 +0800 Subject: Replace concat String to append in StringBuilder parameters In-Reply-To: References: <53E7FA44.9050207@oracle.com> Message-ID: '\"' can be written as '"': com_sun.diff:209:+ sb.append(' ').append(nodeName).append("=\"").append(att.getNodeValue()).append('\"'); java_lang.diff:31:+ sb.append('\"').append(getThreadName()).append('\"') java_security.diff:78:+ .append('\"'); sun_security.diff:95:+ sb.append(principalInfo[i][0]).append(' ').append('\"').append(principalInfo[i][1]).append('\"'); sun_security.diff:108:+ .append('\"'); sun_security.diff:122:+ sb.append(X500PRINCIPAL).append(" \"").append(suffix).append('\"'); sun_security.diff:312:+ retval.append('\"').append(sbuffer.toString()).append('\"'); Still using append("."): java_security.diff:107:+ sb.append("\n").append(type).append(" Cert Path: length = ").append(getCertificates().size()).append(".\n"); java_security.diff:148:+ sb.append(" serverName: ").append(serverName).append("\n"); javax_swing.diff:79:+ sb.append(getClass().getName()).append(" ").append(Integer.toString(hashCode())); sun_security.diff:419:+ sb.append("X.509 CRL v").append(version + 1).append("\n"); I only read the security related files, but I grep for the two groups above. Also, it's better to put rb.getString(...) to one line sun_security.diff:268:+ sb.append('\n').append(tab).append(rb.getString( sun_security.diff:273:+ sb.append('\n').append(tab).append(rb.getString( And some lines are too long. Thanks Max On Aug 11, 2014, at 11:29, Ot?vio Gon?alves de Santana wrote: > Done. > > https://dl.dropboxusercontent.com/u/16109193/open_jdk/string_builder_concat_2.zip > > obs: stay the 2 chars to better performance. > > > On Sun, Aug 10, 2014 at 8:03 PM, Claes Redestad wrote: > +1 > > Some suggestions (mostly nits): > > - in places like src/share/classes/java/util/regex/Pattern.java you introducesingle-char > strings which might use a char instead: > > - result.append("|"+next); > + result.append('|').append(next); > > - in places like src/share/classes/sun/security/provider/PolicyFile.java > you end up with a sequence of String literal appends which could be merged into one: > > - sb.append(principalInfo[i][0] + " " + > - "\"" + principalInfo[i][1] + "\""); > + sb.append(principalInfo[i][0]).append(" \"") > + .append(principalInfo[i][1]).append('"'); > > - in some places like src/share/classes/java/text/ChoiceFormat.java > you end up doing append(""). I guess the empty string concatenation was used as a form > of primitive-to-string coercion and was probably always redundant already, but care needs > to be taken that doing the append directly behave as intended. > > I think it should be safe to just remove the empty string append in most cases: > > - result.append(""+choiceLimits[i]); > + result.append(choiceLimits[i]); > > Thanks! > > /Claes > > On 2014-08-10 23:33, Ot?vio Gon?alves de Santana wrote: > *Motivation:* Make another append instead of concat String inside of append > > parameter in StringBuilder class. To avoid an extra StringBuilder created > for the purpose of concatenating. So it will save memory and will faster > than concat String. > Doing a code to benchMark[1], the result is: > > Benchmark Mode Samples > Mean Mean error Units > m.StringBuilderConcatBenchMark.stringBuilder thrpt 10 > 6317444.705 108673.584 ops/s > m.StringBuilderConcatBenchMark.stringBuilderWithConcat thrpt 10 > 3354554.435 68353.924 ops/s > > The webrev of all code is: > https://dl.dropboxusercontent.com/u/16109193/open_jdk/string_builder_concat.zip > > > [1] > > @State(Scope.Thread) > @OutputTimeUnit(TimeUnit.SECONDS) > public class StringBuilderConcatBenchMark { > > > private static final String F = "!!!!"; > private static final String E = " running in Java "; > private static final String D = " in the code "; > private static final String C = " to try impact "; > private static final String B = " with some text "; > private static final String A = "Doing a test"; > > @GenerateMicroBenchmark > public void stringBuilder(BlackHole bh) { > bh.consume(createBuilder(A, B, C, D, E, F)); > } > > @GenerateMicroBenchmark > public void stringBuilderWithConcat(BlackHole bh) { > bh.consume(createBuilderWithConcat(A, B, C, D, E, F)); > } > > private StringBuilder createBuilder(String... values) { > StringBuilder text = new StringBuilder(); > text.append(values[0]).append(values[1]) > .append(values[2]).append(values[3]) > .append(values[4]).append(values[5]); > return text; > } > private StringBuilder createBuilderWithConcat(String... values) { > StringBuilder text = new StringBuilder(); > text.append(values[0] + values[1]) > .append(values[2] + values[3]) > .append(values[4]+ values[5]); > return text; > } > } > > > > > > -- > Ot?vio Gon?alves de Santana > > blog: http://otaviosantana.blogspot.com.br/ > twitter: http://twitter.com/otaviojava > site: http://about.me/otaviojava > 55 (11) 98255-3513 > From andrej.golovnin at gmail.com Mon Aug 11 09:42:41 2014 From: andrej.golovnin at gmail.com (Andrej Golovnin) Date: Mon, 11 Aug 2014 11:42:41 +0200 Subject: Replace concat String to append in StringBuilder parameters In-Reply-To: References: <53E7FA44.9050207@oracle.com> Message-ID: Hi Ot?vio, the class src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java is generated from the grammar src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj Therefore when you are going to change the Parser class, then you must change the grammar files too. In other case your changes maybe overwritten in the future, when someone decides to regenerate the Parser class. The classes src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java are generated from the templates provided by JavaCC https://java.net/projects/javacc/sources/svn/show/trunk/src/main/resources/templates?rev=689 You should consider contributing you changes to the ParseException and TokenMgrError classes to the JavaCC project as well. In the class src/share/classes/javax/management/openmbean/CompositeType.java you have added the annotation @SuppressWarnings("StringConcatenationInsideStringBufferAppend") instead of fixing the concatenation inside the append method. Why? And I would like to suggest to drop explicit usage of StringBuilder in some methods at all to improve code readability. Take look for example at the class src/share/classes/java/lang/management/MemoryUsage.java and its #toString()-method: Before your change: 239 public String toString() { 240 StringBuilder buf = new StringBuilder(); 241 buf.append("init = " + init + "(" + (init >> 10) + "K) "); 242 buf.append("used = " + used + "(" + (used >> 10) + "K) "); 243 buf.append("committed = " + committed + "(" + 244 (committed >> 10) + "K) " ); 245 buf.append("max = " + max + "(" + (max >> 10) + "K)"); 246 return buf.toString(); 247 } After your change: 239 public String toString() { 240 StringBuilder buf = new StringBuilder(); 241 buf.append("init = ").append(init).append('(').append(init >> 10).append("K) "); 242 buf.append("used = ").append(used).append('(').append(used >> 10).append("K) "); 243 buf.append("committed = ").append(committed).append('(').append(committed >> 10).append("K) "); 244 buf.append("max = ").append(max).append('(').append(max >> 10).append("K)"); 245 return buf.toString(); 246 } And if we drop explicit usage of StringBuilder and let the Java compiler do its magic, then it looks like this: 239 public String toString() { 240 return "init = " + init + "(" + (init >> 10) + "K) " 241 + "used = " + used + "(" + (used >> 10) + "K) " 242 + "committed = " + committed + "(" + (committed >> 10) + "K) " 243 + "max = " + max + "(" + (max >> 10) + "K)"; 244 } For me this code is easier to read and understand, then the code before and after your change. But this is only my opinion. Other candidates for such change may be: src/share/classes/com/sun/crypto/provider/DHParameters.java src/share/classes/com/sun/crypto/provider/DHPublicKey.java src/share/classes/com/sun/crypto/provider/GCMParameters.java src/share/classes/com/sun/crypto/provider/OAEPParameters.java src/share/classes/com/sun/crypto/provider/RC2Parameters.java src/share/classes/java/security/CodeSigner.java src/share/classes/java/security/cert/CollectionCertStoreParameters.java src/share/classes/java/security/cert/LDAPCertStoreParameters.java src/share/classes/java/security/cert/PKIXBuilderParameters.java src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java src/share/classes/java/security/cert/PolicyQualifierInfo.java src/share/classes/java/util/Scanner.java src/share/classes/java/util/regex/Matcher.java src/share/classes/javax/management/relation/RoleInfo.java src/share/classes/javax/naming/RefAddr.java src/share/classes/sun/security/pkcs/SigningCertificateInfo.java src/share/classes/sun/security/provider/certpath/CertId.java src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java src/share/classes/sun/security/x509/DistributionPointName.java src/share/classes/sun/security/x509/PolicyInformation.java src/share/classes/sun/security/x509/X509CertImpl.java In the #toString()-method of src/share/classes/javax/swing/RepaintManager.java we can avoid creation of StringBuilder if we change it from: 992 public synchronized String toString() { 993 StringBuilder sb = new StringBuilder(); 994 if(dirtyComponents != null) 995 sb.append(dirtyComponents); 996 return sb.toString(); 997 } to: 992 public synchronized String toString() { 993 return dirtyComponents != null ? dirtyComponents.toString : ""; 994 } In src/share/classes/sun/net/www/HeaderParser.java please change the line 223 to use StringBuilder instead of StringBuffer. In the class src/share/classes/sun/security/ssl/ServerNameExtension.java the #toString()-method can be changed from: 268 public String toString() { 269 StringBuilder sb = new StringBuilder(); 270 for (SNIServerName sniName : sniMap.values()) { 271 sb.append('[').append(sniName).append(']'); 272 } 273 274 return "Extension " + type + ", server_name: " + sb; 275 } to: 268 public String toString() { 269 StringBuilder sb = new StringBuilder(); 270 sb.append("Extension ").append(type).append(", server_name: "); 271 for (SNIServerName sniName : sniMap.values()) { 272 sb.append('[').append(sniName).append(']'); 273 } 274 275 return sb.toString(); 276 } to avoid creation of an additional StringBuilder-object in the line 274. Similar change can be applied to the class src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java. Best regards, Andrej Golovnin On Mon, Aug 11, 2014 at 5:29 AM, Ot?vio Gon?alves de Santana < otaviojava at java.net> wrote: > Done. > > > https://dl.dropboxusercontent.com/u/16109193/open_jdk/string_builder_concat_2.zip > > obs: stay the 2 chars to better performance. > > > On Sun, Aug 10, 2014 at 8:03 PM, Claes Redestad > > wrote: > > > +1 > > > > Some suggestions (mostly nits): > > > > - in places like src/share/classes/java/util/regex/Pattern.java you > > introducesingle-char > > strings which might use a char instead: > > > > - result.append("|"+next); > > + result.append('|').append(next); > > > > - in places like src/share/classes/sun/security/provider/PolicyFile.java > > you end up with a sequence of String literal appends which could be > > merged into one: > > > > - sb.append(principalInfo[i][0] + " " + > > - "\"" + principalInfo[i][1] + "\""); > > + sb.append(principalInfo[i][0]).append(" \"") > > + .append(principalInfo[i][1]).append('"'); > > > > - in some places like src/share/classes/java/text/ChoiceFormat.java > > you end up doing append(""). I guess the empty string concatenation was > > used as a form > > of primitive-to-string coercion and was probably always redundant > > already, but care needs > > to be taken that doing the append directly behave as intended. > > > > I think it should be safe to just remove the empty string append in > most > > cases: > > > > - result.append(""+choiceLimits[i]); > > + result.append(choiceLimits[i]); > > > > Thanks! > > > > /Claes > > > > On 2014-08-10 23:33, Ot?vio Gon?alves de Santana wrote: > > > >> *Motivation:* Make another append instead of concat String inside of > >> append > >> > >> parameter in StringBuilder class. To avoid an extra StringBuilder > created > >> for the purpose of concatenating. So it will save memory and will faster > >> than concat String. > >> Doing a code to benchMark[1], the result is: > >> > >> Benchmark Mode > Samples > >> Mean Mean error Units > >> m.StringBuilderConcatBenchMark.stringBuilder thrpt > 10 > >> 6317444.705 108673.584 ops/s > >> m.StringBuilderConcatBenchMark.stringBuilderWithConcat thrpt > 10 > >> 3354554.435 68353.924 ops/s > >> > >> The webrev of all code is: > >> https://dl.dropboxusercontent.com/u/16109193/open_jdk/ > >> string_builder_concat.zip > >> >> builder_concat.zip> > >> > >> [1] > >> > >> @State(Scope.Thread) > >> @OutputTimeUnit(TimeUnit.SECONDS) > >> public class StringBuilderConcatBenchMark { > >> > >> > >> private static final String F = "!!!!"; > >> private static final String E = " running in Java "; > >> private static final String D = " in the code "; > >> private static final String C = " to try impact "; > >> private static final String B = " with some text "; > >> private static final String A = "Doing a test"; > >> > >> @GenerateMicroBenchmark > >> public void stringBuilder(BlackHole bh) { > >> bh.consume(createBuilder(A, B, C, D, E, F)); > >> } > >> > >> @GenerateMicroBenchmark > >> public void stringBuilderWithConcat(BlackHole bh) { > >> bh.consume(createBuilderWithConcat(A, B, C, D, E, F)); > >> } > >> > >> private StringBuilder createBuilder(String... values) { > >> StringBuilder text = new StringBuilder(); > >> text.append(values[0]).append(values[1]) > >> .append(values[2]).append(values[3]) > >> .append(values[4]).append(values[5]); > >> return text; > >> } > >> private StringBuilder createBuilderWithConcat(String... values) { > >> StringBuilder text = new StringBuilder(); > >> text.append(values[0] + values[1]) > >> .append(values[2] + values[3]) > >> .append(values[4]+ values[5]); > >> return text; > >> } > >> } > >> > >> > > > > > -- > Ot?vio Gon?alves de Santana > > blog: http://otaviosantana.blogspot.com.br/ > twitter: http://twitter.com/otaviojava > site: *http://about.me/otaviojava * > 55 (11) 98255-3513 > -------------- next part -------------- An HTML attachment was scrubbed... URL: From peter.firmstone at zeus.net.au Mon Aug 11 10:12:14 2014 From: peter.firmstone at zeus.net.au (Peter Firmstone) Date: Mon, 11 Aug 2014 20:12:14 +1000 Subject: The future of Serialization In-Reply-To: <53E6586F.7080906@oracle.com> References: <1407563776.1841.30.camel@Nokia-N900> <53E6586F.7080906@oracle.com> Message-ID: <53E896FE.3030706@zeus.net.au> Brian, Thanks for picking up on my frustration ;) I have something in mind for Serializable2 to address cyclic data structures and the possibility of independant evolution of super and child classes, while retaining a relatively clean public api, with one optional private method. The methods and interfaces proposed are suitable for any alternative ObjectInput and ObjectOutput implementation. An interface exists in Apache River, it's called Startable, it has one method: public void start() throws Exception; It's called by a framework to allow an Object to start threads, publish "this" or throw an exception after construction. The intent is to allow an object to be immutable with final fields and be provided with a thread of execution after construction and before publication. Something similar can be used to wire up circular relations, let met explain: Every class that implements Serializable has one thing in common, the Serialization protocol and every Object instance of a Serializable class has an arbitrary serial form. I propose a final class representing SerialForm for an object, that cannot be extended, requires privilege to instantiate and also performs method guard security checks, for all callers with the exception of a calling class reading or writing its own serial form. SerialForm needs a parameter field key identity represented by the calling Class, the method name and the field's Class type, this key would be used for both writing and retrieving a field entry in SerialForm. SerialForm will also provide a method to advise if a field key contains a circular relation, any field entry in SerialForm that would contain a circular relation is not populated until after construction of the current object is complete. An arbitrary Serializable2 Object instance may be composed of a hierarchy of classes, each belonging to a separate ProtectionDomain. For the following interface: public interface Serializable2 { void writeObject(SerialForm serial) throws IOException; } Implementers of Serializable2 must: 1. Implement writeObject 2. Implement a constructor with the signature: (SerialForm serial). Implementors that need to check invariants, delay throwing an Exception, publish "this" or set a circular reference after construction should: 4. Implement: private void readObjectNoData() throws InvalidObjectException; Child class implementations should: 5. Call their super class writeObject method and superclass constructor, but may call any super class constructor or methods. Compatibility and Evolution: 1. Fields can be included or omitted from SerialForm, by an implementation, without breaking compatibility, provided a null reference is accepted during deserialization. 2. Child classes in a hierarchy; all Serializable2 implementing superclass constructors have the same signature; the superclass implementation can be substituted, without breaking child class deserialization (provided this is the constructor used by the child class). 3. There is no serialVersionUID. 4. Child class Serializable2 implementations can extend a superclass without a zero arg constructor that doesn't itself implement Serializable2. 5. Child classes that do not override writeObject will not be serialized, so can effectively opt out. 6. Because implementations are required to implement public methods, there is no "Magic". 7. Serializable2 shouldn't extend Serializable, allowing classes to implement both interfaces for a period of time (for that reason the signature for readObjectNoData may need to be changed for Serializable2). 8. ObjectInputStream and ObjectOutputStream can be extended to support both implementations for compatibility, however alternative stream implementations would be preferable for Serializable2 to avoid Serializable security issues. The new implementations should be possible to substitute because both types would use the same Stream Protocol, provided the classes being deserialized implement Serializable2. My reasoning for retaining readObjectNoData() and for updating field entry's in SerialForm that contain circular relations after construction, is: 1. An object reference for the object currently being deserialized can be passed to another object's constructor (via a SerialForm instance) after the current Object's constructor completes, allowing safe publication of final field freezes that occur at the end of construction. 2. When the Serialization2 Framework becomes aware of an object that contains a circular relationship while that object is in the process of being deserialized, the second object will not be instantiated until after the constructor of the first object in the relationship completes. Data read in from the stream can be stored in a SerialForm without requiring object instantation. 3. After construction completes, the object that has just been deserialized can retain a copy of its SerialForm and look up the field containing a circular relationship, the Serialization framework will update its SerialForm with the new object that holds a circular relationship, prior to calling readObjectNoData() on the first object. 4. If the developer of the implementing class is not aware of the possibility of a circular relationship, then the worst consequence is a field will be set to null during construction, "this" will not escape. 5. The second Object holding a link to an object that apears earlier in the stream, may not be aware that the object it holds a reference to also needs a reference to it. The first object will not obtain a reference to the second until both Object constructors have completed. The second object may not need to implement readObjectNoData(). 6. readObjectNoData() needs to be called on every class belonging to a single Object's inheritance hierarchy, when defined, after all constructors have completed, it should be called in the order of superclass to child class. Thoughts? Regards, Peter. On 10/08/2014 3:20 AM, Brian Goetz wrote: >> I've noticed there's not much interest in improving Serialization on >> these lists. This makes me wonder if java Serialization has lost >> relevance in recent years with the rise of protocol buffers apache >> thrift and other means of data transfer over byte streams. > > I sense your frustration, but I think you may be reaching the wrong > conclusion. The lack of response is probably not evidence that > there's no interest in fixing serialization; its that fixing > serialization, with all the constraints that "fix" entails, is just > really really hard, and its much easier to complain about it (and even > say "let's just get rid of it") than to fix it. > >> Should Serializable eventually be deprecated? Should Serialization be >> disabled by default? Should a new mechanism be developed? If a new >> mechanism is developed, what about circular object relationships? > > As I delved into my own explorations of serialization, I started to > realize why such a horrible approach was the one that was ultimately > chosen; while serialization is horrible and awful and leaky and > insecure and complex and brittle, it does address problems like cyclic > data structures and independent evolution of subclass and superclass > better than the "clean" models. > > My conclusion is, at best, a new mechanism would have to live > side-by-side with the old one, since it could only handle 95% of the > cases. It might handle those 95% much better -- more cleanly, > securely, and allowing easier schema evolution -- but the hard cases > are still there. Still, reducing the use of the horrible old > mechanism may still be a worthy goal, even if it can't be killed > outright. > From peter.firmstone at zeus.net.au Mon Aug 11 10:18:28 2014 From: peter.firmstone at zeus.net.au (Peter Firmstone) Date: Mon, 11 Aug 2014 20:18:28 +1000 Subject: The future of Serialization In-Reply-To: <53E896FE.3030706@zeus.net.au> References: <1407563776.1841.30.camel@Nokia-N900> <53E6586F.7080906@oracle.com> <53E896FE.3030706@zeus.net.au> Message-ID: <53E89874.8060902@zeus.net.au> On 11/08/2014 8:12 PM, Peter Firmstone wrote: > Brian, > > Thanks for picking up on my frustration ;) > > I have something in mind for Serializable2 to address cyclic data > structures and the possibility of independant evolution of super and > child classes, while retaining a relatively clean public api, with one > optional private method. The methods and interfaces proposed are > suitable for any alternative ObjectInput and ObjectOutput implementation. > > An interface exists in Apache River, it's called Startable, it has one > method: > > public void start() throws Exception; > > It's called by a framework to allow an Object to start threads, > publish "this" or throw an exception after construction. The intent > is to allow an object to be immutable with final fields and be > provided with a thread of execution after construction and before > publication. > > Something similar can be used to wire up circular relations, let met > explain: > > Every class that implements Serializable has one thing in common, the > Serialization protocol and every Object instance of a Serializable > class has an arbitrary serial form. > > I propose a final class representing SerialForm for an object, that > cannot be extended, requires privilege to instantiate and also > performs method guard security checks, for all callers with the > exception of a calling class reading or writing its own serial form. > SerialForm needs a parameter field key identity represented by the > calling Class, Sorry, that should read "field name", not "method name". > the method name and the field's Class type, this key would be used for > both writing and retrieving a field entry in SerialForm. SerialForm > will also provide a method to advise if a field key contains a > circular relation, any field entry in SerialForm that would contain a > circular relation is not populated until after construction of the > current object is complete. > > An arbitrary Serializable2 Object instance may be composed of a > hierarchy of classes, each belonging to a separate ProtectionDomain. > > For the following interface: > > public interface Serializable2 { > > void writeObject(SerialForm serial) throws IOException; > > } > > Implementers of Serializable2 must: > > 1. Implement writeObject > 2. Implement a constructor with the signature: (SerialForm serial). > > Implementors that need to check invariants, delay throwing an > Exception, publish "this" or set a circular reference after > construction should: > > 4. Implement: private void readObjectNoData() throws > InvalidObjectException; > > Child class implementations should: > > 5. Call their super class writeObject method and superclass > constructor, but may call any super class constructor or methods. > > Compatibility and Evolution: > > 1. Fields can be included or omitted from SerialForm, by an > implementation, without breaking compatibility, provided a null > reference is accepted during deserialization. > 2. Child classes in a hierarchy; all Serializable2 implementing > superclass constructors have the same signature; the superclass > implementation can be substituted, without breaking child class > deserialization (provided this is the constructor used by the > child class). > 3. There is no serialVersionUID. > 4. Child class Serializable2 implementations can extend a superclass > without a zero arg constructor that doesn't itself implement > Serializable2. > 5. Child classes that do not override writeObject will not be > serialized, so can effectively opt out. > 6. Because implementations are required to implement public methods, > there is no "Magic". > 7. Serializable2 shouldn't extend Serializable, allowing classes to > implement both interfaces for a period of time (for that reason > the signature for readObjectNoData may need to be changed for > Serializable2). > 8. ObjectInputStream and ObjectOutputStream can be extended to > support both implementations for compatibility, however > alternative stream implementations would be preferable for > Serializable2 to avoid Serializable security issues. The new > implementations should be possible to substitute because both > types would use the same Stream Protocol, provided the classes > being deserialized implement Serializable2. > > > My reasoning for retaining readObjectNoData() and for updating field > entry's in SerialForm that contain circular relations after > construction, is: > > 1. An object reference for the object currently being deserialized > can be passed to another object's constructor (via a SerialForm > instance) after the current Object's constructor completes, > allowing safe publication of final field freezes that occur at the > end of construction. > 2. When the Serialization2 Framework becomes aware of an object that > contains a circular relationship while that object is in the > process of being deserialized, the second object will not be > instantiated until after the constructor of the first object in > the relationship completes. Data read in from the stream can be > stored in a SerialForm without requiring object instantation. > 3. After construction completes, the object that has just been > deserialized can retain a copy of its SerialForm and look up the > field containing a circular relationship, the Serialization > framework will update its SerialForm with the new object that > holds a circular relationship, prior to calling readObjectNoData() > on the first object. > 4. If the developer of the implementing class is not aware of the > possibility of a circular relationship, then the worst consequence > is a field will be set to null during construction, "this" will > not escape. > 5. The second Object holding a link to an object that apears earlier > in the stream, may not be aware that the object it holds a > reference to also needs a reference to it. The first object will > not obtain a reference to the second until both Object > constructors have completed. The second object may not need to > implement readObjectNoData(). > 6. readObjectNoData() needs to be called on every class belonging to > a single Object's inheritance hierarchy, when defined, after all > constructors have completed, it should be called in the order of > superclass to child class. > > Thoughts? > > Regards, > > Peter. > > On 10/08/2014 3:20 AM, Brian Goetz wrote: >>> I've noticed there's not much interest in improving Serialization on >>> these lists. This makes me wonder if java Serialization has lost >>> relevance in recent years with the rise of protocol buffers apache >>> thrift and other means of data transfer over byte streams. >> >> I sense your frustration, but I think you may be reaching the wrong >> conclusion. The lack of response is probably not evidence that >> there's no interest in fixing serialization; its that fixing >> serialization, with all the constraints that "fix" entails, is just >> really really hard, and its much easier to complain about it (and >> even say "let's just get rid of it") than to fix it. >> >>> Should Serializable eventually be deprecated? Should Serialization be >>> disabled by default? Should a new mechanism be developed? If a new >>> mechanism is developed, what about circular object relationships? >> >> As I delved into my own explorations of serialization, I started to >> realize why such a horrible approach was the one that was ultimately >> chosen; while serialization is horrible and awful and leaky and >> insecure and complex and brittle, it does address problems like >> cyclic data structures and independent evolution of subclass and >> superclass better than the "clean" models. >> >> My conclusion is, at best, a new mechanism would have to live >> side-by-side with the old one, since it could only handle 95% of the >> cases. It might handle those 95% much better -- more cleanly, >> securely, and allowing easier schema evolution -- but the hard cases >> are still there. Still, reducing the use of the horrible old >> mechanism may still be a worthy goal, even if it can't be killed >> outright. >> > From Alan.Bateman at oracle.com Mon Aug 11 11:21:01 2014 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 11 Aug 2014 12:21:01 +0100 Subject: The future of Serialization In-Reply-To: <1407563776.1841.30.camel@Nokia-N900> References: <1407563776.1841.30.camel@Nokia-N900> Message-ID: <53E8A71D.70407@oracle.com> On 09/08/2014 06:56, Peter Firmstone wrote: > > I've noticed there's not much interest in improving Serialization on > these lists. This makes me wonder if java Serialization has lost > relevance in recent years with the rise of protocol buffers apache > thrift and other means of data transfer over byte streams. > Just to add to Brian's comments, I think part of it is that many people are busy with other things, preparing for JDK 9 for example. So I think there is a lot of support for investigation and proposals that would improve things, it's just that some people are too busy to respond. > > I don't know if isolates will be included with JDK 9 for Jigsaw, or > whether ClassLoaders alone will provide isolation for modules. > > The ability to limit visibility and provide isolation of > implementation classes as well as providing limits on memory and > threads for isolated modules would also improve platform security. > If by "isolates" you mean JSR 121 then I think that would be well beyond the scope, as would resource management. This isn't really the thread to discuss how module boundaries will work but just to say that class loaders and visibility can be weak when it comes to module boundaries. There are other options available, particularly when the ability to extend the access control rules are on the table. So I would suggest not making any assumptions here for now. -Alan. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrej.golovnin at gmail.com Mon Aug 11 11:55:47 2014 From: andrej.golovnin at gmail.com (Andrej Golovnin) Date: Mon, 11 Aug 2014 13:55:47 +0200 Subject: Replace concat String to append in StringBuilder parameters In-Reply-To: References: <53E7FA44.9050207@oracle.com> <476830A4-7A8E-4652-A0C7-805687155F4A@oracle.com> Message-ID: Hi Ot?vio, About the template in Parser.jjt, TokenMgrError.java, etc. I don't know how > can do that. Can anyone help me? > See attached diff for the changes in Parser.jjt and Parser.jj. For the TokenMgrError and ParserException you can just subscribe here: https://java.net/projects/javacc/lists on the dev or users mailing lists and send a message to JavaCC project. I'm sure the developers of JavaCC would help you. Best regards, Andrej Golovnin > About readable of code I just renamed this class to sb instead of buf, > strbuf, etc. Because using StringBuilder beyond be more explicit I can use > char instead of a single String. > > > https://dl.dropboxusercontent.com/u/16109193/open_jdk/string_builder_concat_3.zip > > > On Mon, Aug 11, 2014 at 7:56 AM, Pavel Rappo > wrote: > >> > In the class >> > src/share/classes/javax/management/openmbean/CompositeType.java you have >> > added the >> > annotation >> @SuppressWarnings("StringConcatenationInsideStringBufferAppend") >> > instead of fixing the concatenation inside the append method. Why? >> >> +1 Moreover, I wonder where this value comes from? I've never seen it >> before. Here are warnings that javac supports: >> >> >> all,auxiliaryclass,cast,classfile,deprecation,dep-ann,divzero,empty,fallthrough,finally,options,overloads,overrides,path,processing,rawtypes,serial,static,try,unchecked,varargs >> >> It doesn't look like one of Eclipse's warnings either. >> >> > And I would like to suggest to drop explicit usage of StringBuilder in >> some >> > methods at all to improve code readability. >> >> Agree. >> >> -Pavel >> >> > > > -- > Ot?vio Gon?alves de Santana > > blog: http://otaviosantana.blogspot.com.br/ > twitter: http://twitter.com/otaviojava > site: *http://about.me/otaviojava * > 55 (11) 98255-3513 > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- diff --git a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj @@ -420,7 +420,7 @@ t= { jjtn000.name.append(t.image); } ( "." t= - {jjtn000.name.append( "." + t.image); } + {jjtn000.name.append('.').append(t.image); } )*/*@bgen(jjtree)*/ } finally { if (jjtc000) { @@ -447,7 +447,7 @@ {jjtn000.address.append(t.image); } ( "." t= - {jjtn000.address.append( "." + t.image); } + {jjtn000.address.append('.').append(t.image); } )*/*@bgen(jjtree)*/ } finally { if (jjtc000) { @@ -501,7 +501,7 @@ {jjtn000.address.append(t.image); } ( "!" t= - {jjtn000.address.append( "." + t.image); } + {jjtn000.address.append('.).append(t.image); } )*/*@bgen(jjtree)*/ } finally { if (jjtc000) { @@ -527,7 +527,7 @@ {jjtn000.address.append(t.image); } ( "." t= - {jjtn000.address.append( "." + t.image); } + {jjtn000.address.append('.').append(t.image); } )* "/" t= /*@bgen(jjtree)*/ { jjtree.closeNodeScope(jjtn000, true); diff --git a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt @@ -213,7 +213,7 @@ t= { jjtThis.name.append(t.image); } ( "." t= - {jjtThis.name.append( "." + t.image); } + {jjtThis.name.append('.').append(t.image); } )* } @@ -228,7 +228,7 @@ {jjtThis.address.append(t.image); } ( "." t= - {jjtThis.address.append( "." + t.image); } + {jjtThis.address.append('.').append(t.image); } )* } @@ -253,7 +253,7 @@ {jjtThis.address.append(t.image); } ( "!" t= - {jjtThis.address.append( "." + t.image); } + {jjtThis.address.append('.').append(t.image); } )* } @@ -267,7 +267,7 @@ {jjtThis.address.append(t.image); } ( "." t= - {jjtThis.address.append( "." + t.image); } + {jjtThis.address.append('.').append(t.image); } )* "/" t= {jjtThis.mask = t.image; } } From andrej.golovnin at gmail.com Mon Aug 11 11:58:06 2014 From: andrej.golovnin at gmail.com (Andrej Golovnin) Date: Mon, 11 Aug 2014 13:58:06 +0200 Subject: Replace concat String to append in StringBuilder parameters In-Reply-To: References: <53E7FA44.9050207@oracle.com> <476830A4-7A8E-4652-A0C7-805687155F4A@oracle.com> Message-ID: Hi Ot?vio, please ignore the previous diff. I'm sorry, there was a small mistake. I have attached the corrected version. Best regards, Andrej Golovnin On Mon, Aug 11, 2014 at 1:55 PM, Andrej Golovnin wrote: > Hi Ot?vio, > > About the template in Parser.jjt, TokenMgrError.java, etc. I don't know >> how can do that. Can anyone help me? >> > > See attached diff for the changes in Parser.jjt and Parser.jj. For the > TokenMgrError and ParserException you can just subscribe here: > > https://java.net/projects/javacc/lists > > on the dev or users mailing lists and send a message to JavaCC project. > I'm sure the developers of JavaCC would help you. > > Best regards, > Andrej Golovnin > > > >> About readable of code I just renamed this class to sb instead of buf, >> strbuf, etc. Because using StringBuilder beyond be more explicit I can use >> char instead of a single String. >> >> >> https://dl.dropboxusercontent.com/u/16109193/open_jdk/string_builder_concat_3.zip >> >> >> On Mon, Aug 11, 2014 at 7:56 AM, Pavel Rappo >> wrote: >> >>> > In the class >>> > src/share/classes/javax/management/openmbean/CompositeType.java you >>> have >>> > added the >>> > annotation >>> @SuppressWarnings("StringConcatenationInsideStringBufferAppend") >>> > instead of fixing the concatenation inside the append method. Why? >>> >>> +1 Moreover, I wonder where this value comes from? I've never seen it >>> before. Here are warnings that javac supports: >>> >>> >>> all,auxiliaryclass,cast,classfile,deprecation,dep-ann,divzero,empty,fallthrough,finally,options,overloads,overrides,path,processing,rawtypes,serial,static,try,unchecked,varargs >>> >>> It doesn't look like one of Eclipse's warnings either. >>> >>> > And I would like to suggest to drop explicit usage of StringBuilder in >>> some >>> > methods at all to improve code readability. >>> >>> Agree. >>> >>> -Pavel >>> >>> >> >> >> -- >> Ot?vio Gon?alves de Santana >> >> blog: http://otaviosantana.blogspot.com.br/ >> twitter: http://twitter.com/otaviojava >> site: *http://about.me/otaviojava * >> 55 (11) 98255-3513 >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- diff --git a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj @@ -420,7 +420,7 @@ t= { jjtn000.name.append(t.image); } ( "." t= - {jjtn000.name.append( "." + t.image); } + {jjtn000.name.append('.').append(t.image); } )*/*@bgen(jjtree)*/ } finally { if (jjtc000) { @@ -447,7 +447,7 @@ {jjtn000.address.append(t.image); } ( "." t= - {jjtn000.address.append( "." + t.image); } + {jjtn000.address.append('.').append(t.image); } )*/*@bgen(jjtree)*/ } finally { if (jjtc000) { @@ -501,7 +501,7 @@ {jjtn000.address.append(t.image); } ( "!" t= - {jjtn000.address.append( "." + t.image); } + {jjtn000.address.append('.').append(t.image); } )*/*@bgen(jjtree)*/ } finally { if (jjtc000) { @@ -527,7 +527,7 @@ {jjtn000.address.append(t.image); } ( "." t= - {jjtn000.address.append( "." + t.image); } + {jjtn000.address.append('.').append(t.image); } )* "/" t= /*@bgen(jjtree)*/ { jjtree.closeNodeScope(jjtn000, true); diff --git a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt @@ -213,7 +213,7 @@ t= { jjtThis.name.append(t.image); } ( "." t= - {jjtThis.name.append( "." + t.image); } + {jjtThis.name.append('.').append(t.image); } )* } @@ -228,7 +228,7 @@ {jjtThis.address.append(t.image); } ( "." t= - {jjtThis.address.append( "." + t.image); } + {jjtThis.address.append('.').append(t.image); } )* } @@ -253,7 +253,7 @@ {jjtThis.address.append(t.image); } ( "!" t= - {jjtThis.address.append( "." + t.image); } + {jjtThis.address.append('.').append(t.image); } )* } @@ -267,7 +267,7 @@ {jjtThis.address.append(t.image); } ( "." t= - {jjtThis.address.append( "." + t.image); } + {jjtThis.address.append('.').append(t.image); } )* "/" t= {jjtThis.mask = t.image; } } From peter.firmstone at zeus.net.au Mon Aug 11 12:06:48 2014 From: peter.firmstone at zeus.net.au (Peter Firmstone) Date: Mon, 11 Aug 2014 22:06:48 +1000 Subject: The future of Serialization In-Reply-To: <53E8A71D.70407@oracle.com> References: <1407563776.1841.30.camel@Nokia-N900> <53E8A71D.70407@oracle.com> Message-ID: <53E8B1D8.1000200@zeus.net.au> Thanks Alan, I can relate to time poverty :) I might be assuming too much, but if there's interest in doing something with Serialization, I'd be interested in learning about plans or difficulties involved in deserialization and modules. It can be a little more difficult to find the correct ClassLoader to resolve classes during deserialization when ClassLoader relationships aren't hierarchial. Object streams can be annotated with module information to assist resolution. On the subject of isolates, I found Ribbons interesting: https://www.cs.purdue.edu/homes/peugster/Ribbons/RJ.pdf https://www.cs.purdue.edu/homes/peugster/Ribbons/ Got any links to info on extending access control rules? Regards, Peter. On 11/08/2014 9:21 PM, Alan Bateman wrote: > On 09/08/2014 06:56, Peter Firmstone wrote: >> >> I've noticed there's not much interest in improving Serialization on >> these lists. This makes me wonder if java Serialization has lost >> relevance in recent years with the rise of protocol buffers apache >> thrift and other means of data transfer over byte streams. >> > Just to add to Brian's comments, I think part of it is that many > people are busy with other things, preparing for JDK 9 for example. So > I think there is a lot of support for investigation and proposals that > would improve things, it's just that some people are too busy to respond. > > >> >> I don't know if isolates will be included with JDK 9 for Jigsaw, or >> whether ClassLoaders alone will provide isolation for modules. >> >> The ability to limit visibility and provide isolation of >> implementation classes as well as providing limits on memory and >> threads for isolated modules would also improve platform security. >> > If by "isolates" you mean JSR 121 then I think that would be well > beyond the scope, as would resource management. This isn't really the > thread to discuss how module boundaries will work but just to say that > class loaders and visibility can be weak when it comes to module > boundaries. There are other options available, particularly when the > ability to extend the access control rules are on the table. So I > would suggest not making any assumptions here for now. > > -Alan. From andrej.golovnin at gmail.com Mon Aug 11 13:12:02 2014 From: andrej.golovnin at gmail.com (Andrej Golovnin) Date: Mon, 11 Aug 2014 15:12:02 +0200 Subject: Replace concat String to append in StringBuilder parameters In-Reply-To: References: <53E7FA44.9050207@oracle.com> <476830A4-7A8E-4652-A0C7-805687155F4A@oracle.com> Message-ID: Hi, About readable of code I just renamed this class to sb instead of buf, > strbuf, etc. > I doubt that renaming variables does really improve the code readability. And you changed the indentation (take look at other classes too): 239 public String toString() { 240 StringBuilder sb = new StringBuilder(); 241 sb.append("init = ").append(init).append('(').append(init >> 10) 242 .append("K) "); 243 sb.append("used = ").append(used).append('(').append(used >> 10) 244 .append("K) "); 245 sb.append("committed = ").append(committed).append('(') 246 .append(committed >> 10).append("K) "); 247 sb.append("max = ").append(max).append('(').append(max >> 10) 248 .append("K)"); 249 return sb.toString(); 250 } Because using StringBuilder beyond be more explicit I can use char instead > of a single String. > In the most classes I mentioned in my previous mail only the #toString()-methods would be affected by the proposal. And in the most cases, maybe in all cases, the #toString()-methods in this classes exists only to provide nice output. I would not consider them performance-critical. Btw. I see here a nice opportunity to create an RFE for the Javac team. Following code: Object o1 = ...; Object o2 = ...; String s = "abc" + o1 + "c" + o2 + "\n"; should be translated to: String s = new StringBuilder().append("abc").append(o1).append('c').append(o2).append('\n').toString(); instead of: String s = new StringBuilder().append("abc").append(o1).append("c").append(o2).append("\n").toString(); Best regards, Andrej Golovnin > > > https://dl.dropboxusercontent.com/u/16109193/open_jdk/string_builder_concat_3.zip > > > On Mon, Aug 11, 2014 at 7:56 AM, Pavel Rappo > wrote: > >> > In the class >> > src/share/classes/javax/management/openmbean/CompositeType.java you have >> > added the >> > annotation >> @SuppressWarnings("StringConcatenationInsideStringBufferAppend") >> > instead of fixing the concatenation inside the append method. Why? >> >> +1 Moreover, I wonder where this value comes from? I've never seen it >> before. Here are warnings that javac supports: >> >> >> all,auxiliaryclass,cast,classfile,deprecation,dep-ann,divzero,empty,fallthrough,finally,options,overloads,overrides,path,processing,rawtypes,serial,static,try,unchecked,varargs >> >> It doesn't look like one of Eclipse's warnings either. >> >> > And I would like to suggest to drop explicit usage of StringBuilder in >> some >> > methods at all to improve code readability. >> >> Agree. >> >> -Pavel >> >> > > > -- > Ot?vio Gon?alves de Santana > > blog: http://otaviosantana.blogspot.com.br/ > twitter: http://twitter.com/otaviojava > site: *http://about.me/otaviojava * > 55 (11) 98255-3513 > -------------- next part -------------- An HTML attachment was scrubbed... URL: From weijun.wang at oracle.com Mon Aug 11 14:14:54 2014 From: weijun.wang at oracle.com (Wang Weijun) Date: Mon, 11 Aug 2014 22:14:54 +0800 Subject: RFR 8054817: File ccache only recognizes Linux and Solaris defaults Message-ID: <043B1EE1-3749-4CFB-8B95-964363B1C241@oracle.com> Please review the fix at http://cr.openjdk.java.net/~weijun/8054817/webrev.00 since we have a new getuid() now for all Unix systems. It does return -1 on Windows, but I keep the osname.startsWith("Windows") check to be exactly consistent with the current behavior. getuid() might return something not -1 one day on Windows. Thanks Max From Alan.Bateman at oracle.com Mon Aug 11 14:18:20 2014 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 11 Aug 2014 15:18:20 +0100 Subject: The future of Serialization In-Reply-To: <53E8B1D8.1000200@zeus.net.au> References: <1407563776.1841.30.camel@Nokia-N900> <53E8A71D.70407@oracle.com> <53E8B1D8.1000200@zeus.net.au> Message-ID: <53E8D0AC.3060108@oracle.com> On 11/08/2014 13:06, Peter Firmstone wrote: > Thanks Alan, I can relate to time poverty :) > > I might be assuming too much, but if there's interest in doing > something with Serialization, I'd be interested in learning about > plans or difficulties involved in deserialization and modules. It can > be a little more difficult to find the correct ClassLoader to resolve > classes during deserialization when ClassLoader relationships aren't > hierarchial. Object streams can be annotated with module information > to assist resolution. The issues around visibility when deserializing are somewhat independent of modules. The usual way to deal with such matters is to override the resolveClass method. Another long standing suggestion is for ObjectInputStream to define a new constructor that takes a class loader to avoid the stack walk to get the user-defined loader. It remains to seen but if we can avoid changing visibility then we don't change the status quo. > : > > Got any links to info on extending access control rules? Not yet, a future JSR will define the standard module system and there will be a corresponding JEP for the implementation. -Alan. From dalibor.topic at oracle.com Fri Aug 8 09:46:05 2014 From: dalibor.topic at oracle.com (dalibor topic) Date: Fri, 08 Aug 2014 11:46:05 +0200 Subject: [7u-dev] Request for approval: 8046343: (smartcardio) CardTerminal.connect('direct') does not work on MacOSX In-Reply-To: <53E3931A.7030706@oracle.com> References: <53E3931A.7030706@oracle.com> Message-ID: <53E49C5D.5070602@oracle.com> Thanks, Ivan - approved for jdk7u-dev. On 07.08.2014 16:54, Ivan Gerasimov wrote: > Hello! > > May I ask for the approval to backport into 7u-dev repo? > The fix is the same as in jdk9/8u modulo lambda, so I'm including the > webrev here. > > Jdk7 webrev: http://cr.openjdk.java.net/~igerasim/8046343/3/webrev/ > > Bug: https://bugs.openjdk.java.net/browse/JDK-8046343 > Jdk9 change: http://hg.openjdk.java.net/jdk9/dev/jdk/rev/89bed86930d8 > Jdk8 change: > http://hg.openjdk.java.net/jdk8u/jdk8u-dev/jdk/rev/725736a9e6d8 > Jdk9 review: > http://mail.openjdk.java.net/pipermail/security-dev/2014-July/010779.html > > Sincerely yours, > Ivan -- Dalibor Topic | Principal Product Manager Phone: +494089091214 | Mobile: +491737185961 ORACLE Deutschland B.V. & Co. KG | K?hneh?fe 5 | 22761 Hamburg ORACLE Deutschland B.V. & Co. KG Hauptverwaltung: Riesstr. 25, D-80992 M?nchen Registergericht: Amtsgericht M?nchen, HRA 95603 Gesch?ftsf?hrer: J?rgen Kunz Komplement?rin: ORACLE Deutschland Verwaltung B.V. Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697 Gesch?ftsf?hrer: Alexander van der Ven, Astrid Kepper, Val Maher Oracle is committed to developing practices and products that help protect the environment From otaviojava at java.net Sun Aug 10 21:33:30 2014 From: otaviojava at java.net (=?UTF-8?Q?Ot=C3=A1vio_Gon=C3=A7alves_de_Santana?=) Date: Sun, 10 Aug 2014 18:33:30 -0300 Subject: Replace concat String to append in StringBuilder parameters Message-ID: *Motivation:* Make another append instead of concat String inside of append parameter in StringBuilder class. To avoid an extra StringBuilder created for the purpose of concatenating. So it will save memory and will faster than concat String. Doing a code to benchMark[1], the result is: Benchmark Mode Samples Mean Mean error Units m.StringBuilderConcatBenchMark.stringBuilder thrpt 10 6317444.705 108673.584 ops/s m.StringBuilderConcatBenchMark.stringBuilderWithConcat thrpt 10 3354554.435 68353.924 ops/s The webrev of all code is: https://dl.dropboxusercontent.com/u/16109193/open_jdk/string_builder_concat.zip [1] @State(Scope.Thread) @OutputTimeUnit(TimeUnit.SECONDS) public class StringBuilderConcatBenchMark { private static final String F = "!!!!"; private static final String E = " running in Java "; private static final String D = " in the code "; private static final String C = " to try impact "; private static final String B = " with some text "; private static final String A = "Doing a test"; @GenerateMicroBenchmark public void stringBuilder(BlackHole bh) { bh.consume(createBuilder(A, B, C, D, E, F)); } @GenerateMicroBenchmark public void stringBuilderWithConcat(BlackHole bh) { bh.consume(createBuilderWithConcat(A, B, C, D, E, F)); } private StringBuilder createBuilder(String... values) { StringBuilder text = new StringBuilder(); text.append(values[0]).append(values[1]) .append(values[2]).append(values[3]) .append(values[4]).append(values[5]); return text; } private StringBuilder createBuilderWithConcat(String... values) { StringBuilder text = new StringBuilder(); text.append(values[0] + values[1]) .append(values[2] + values[3]) .append(values[4]+ values[5]); return text; } } -- Ot?vio Gon?alves de Santana blog: http://otaviosantana.blogspot.com.br/ twitter: http://twitter.com/otaviojava site: *http://about.me/otaviojava * 55 (11) 98255-3513 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/tools/jconsole/ThreadTab.java --- a/src/share/classes/sun/tools/jconsole/ThreadTab.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/ThreadTab.java Sun Aug 10 18:02:01 2014 -0300 @@ -368,7 +368,7 @@ sb.append(Messages.STACK_TRACE); int index = 0; for (StackTraceElement e : ti.getStackTrace()) { - sb.append(e.toString()+"\n"); + sb.append(e.toString()).append("\n"); if (monitors != null) { for (MonitorInfo mi : monitors) { if (mi.getLockedStackDepth() == index) { diff -r dde9f5cfde5f src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java --- a/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java Sun Aug 10 18:02:01 2014 -0300 @@ -79,25 +79,24 @@ String textColor = String.format("%06x", foreground.getRGB() & 0xFFFFFF); StringBuilder sb = new StringBuilder(); - sb.append(""); + sb.append("
"); for (int i = 0; i < arr.length; i++) { if (i % 2 == 0) { - sb.append(""); + sb.append(""); } else { - sb.append(""); + sb.append(""); } } if (arr.length == 0) { - sb.append(""); + sb.append(""); } sb.append("
" +
-                            (arr[i] == null ?
-                                arr[i] : htmlize(arr[i].toString())) +
-                            "
")
+                            .append(arr[i] == null ?
+                                    arr[i] : htmlize(arr[i].toString()))
+                            .append("
" +
-                            (arr[i] == null ?
-                                arr[i] : htmlize(arr[i].toString())) +
-                            "
")
+                            .append(arr[i] == null ?
+                                    arr[i] : htmlize(arr[i].toString()))
+                            .append("
"); arrayEditor.setText(sb.toString()); diff -r dde9f5cfde5f src/share/classes/sun/tools/jconsole/inspector/XTree.java --- a/src/share/classes/sun/tools/jconsole/inspector/XTree.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/inspector/XTree.java Sun Aug 10 18:02:01 2014 -0300 @@ -507,13 +507,13 @@ // key order defined by the "orderedKeyPropertyList" for (String key : orderedKeyPropertyList) { if (map.containsKey(key)) { - sb.append(key + "=" + map.get(key) + ","); + sb.append(key).append("=").append(map.get(key)).append(","); map.remove(key); } } // Add the remaining key/value pairs to the buffer for (Map.Entry entry : map.entrySet()) { - sb.append(entry.getKey() + "=" + entry.getValue() + ","); + sb.append(entry.getKey()).append("=").append(entry.getValue()).append(","); } String orderedKeyPropertyListString = sb.toString(); orderedKeyPropertyListString = orderedKeyPropertyListString.substring( @@ -622,7 +622,7 @@ // StringBuilder sb = new StringBuilder(); for (MBeanParameterInfo mbpi : mboi.getSignature()) { - sb.append(mbpi.getType() + ","); + sb.append(mbpi.getType()).append(","); } String signature = sb.toString(); if (signature.length() > 0) { diff -r dde9f5cfde5f src/share/classes/sun/tools/jps/Jps.java --- a/src/share/classes/sun/tools/jps/Jps.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jps/Jps.java Sun Aug 10 18:02:01 2014 -0300 @@ -92,28 +92,28 @@ vm = monitoredHost.getMonitoredVm(id, 0); errorString = " -- main class information unavailable"; - output.append(" " + MonitoredVmUtil.mainClass(vm, + output.append(" ").append(MonitoredVmUtil.mainClass(vm, arguments.showLongPaths())); if (arguments.showMainArgs()) { errorString = " -- main args information unavailable"; String mainArgs = MonitoredVmUtil.mainArgs(vm); if (mainArgs != null && mainArgs.length() > 0) { - output.append(" " + mainArgs); + output.append(" ").append(mainArgs); } } if (arguments.showVmArgs()) { errorString = " -- jvm args information unavailable"; String jvmArgs = MonitoredVmUtil.jvmArgs(vm); if (jvmArgs != null && jvmArgs.length() > 0) { - output.append(" " + jvmArgs); + output.append(" ").append(jvmArgs); } } if (arguments.showVmFlags()) { errorString = " -- jvm flags information unavailable"; String jvmFlags = MonitoredVmUtil.jvmFlags(vm); if (jvmFlags != null && jvmFlags.length() > 0) { - output.append(" " + jvmFlags); + output.append(" ").append(jvmFlags); } } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstat/RawOutputFormatter.java --- a/src/share/classes/sun/tools/jstat/RawOutputFormatter.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstat/RawOutputFormatter.java Sun Aug 10 18:02:01 2014 -0300 @@ -50,7 +50,7 @@ StringBuilder headerBuilder = new StringBuilder(); for (Iterator i = logged.iterator(); i.hasNext(); /* empty */ ) { Monitor m = i.next(); - headerBuilder.append(m.getName() + " "); + headerBuilder.append(m.getName()).append(" "); } header = headerBuilder.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstat/SyntaxException.java --- a/src/share/classes/sun/tools/jstat/SyntaxException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstat/SyntaxException.java Sun Aug 10 18:02:01 2014 -0300 @@ -65,7 +65,7 @@ public SyntaxException(int lineno, Set expected, Token found) { StringBuilder msg = new StringBuilder(); - msg.append("Syntax error at line " + lineno + ": Expected one of \'"); + msg.append("Syntax error at line ").append(lineno).append(": Expected one of \'"); boolean first = true; for (Iterator i = expected.iterator(); i.hasNext(); /* empty */) { @@ -74,11 +74,11 @@ msg.append(keyWord); first = false; } else { - msg.append("|" + keyWord); + msg.append("|").append(keyWord); } } - msg.append("\', Found " + found.toMessage()); + msg.append("\', Found ").append(found.toMessage()); message = msg.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstat/Token.java --- a/src/share/classes/sun/tools/jstat/Token.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstat/Token.java Sun Aug 10 18:02:01 2014 -0300 @@ -89,18 +89,18 @@ sb.append("ttype=TT_EOF"); break; case StreamTokenizer.TT_NUMBER: - sb.append("ttype=TT_NUM,").append("nval="+nval); + sb.append("ttype=TT_NUM,").append("nval=").append(nval); break; case StreamTokenizer.TT_WORD: if (sval == null) { sb.append("ttype=TT_WORD:IDENTIFIER"); } else { - sb.append("ttype=TT_WORD:").append("sval="+sval); + sb.append("ttype=TT_WORD:").append("sval=").append(sval); } break; default: if (ttype == (int)'"') { - sb.append("ttype=TT_STRING:").append("sval="+sval); + sb.append("ttype=TT_STRING:").append("sval=").append(sval); } else { sb.append("ttype=TT_CHAR:").append((char)ttype); } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstatd/RemoteHostImpl.java --- a/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java Sun Aug 10 18:02:01 2014 -0300 @@ -68,7 +68,7 @@ sb.append("local://").append(lvmid).append("@localhost"); if (mode != null) { - sb.append("?mode=" + mode); + sb.append("?mode=").append(mode); } String vmidStr = sb.toString(); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/security/acl/AclEntryImpl.java --- a/src/share/classes/sun/security/acl/AclEntryImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/acl/AclEntryImpl.java Sun Aug 10 18:02:01 2014 -0300 @@ -147,7 +147,7 @@ s.append("Group."); else s.append("User."); - s.append(user + "="); + s.append(user).append("="); Enumeration e = permissions(); while(e.hasMoreElements()) { Permission p = e.nextElement(); diff -r dde9f5cfde5f src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java --- a/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java Sun Aug 10 18:02:01 2014 -0300 @@ -640,8 +640,7 @@ for (int i = 0; i < digest.length; i++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0" + - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append("0").append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/sun/security/pkcs/SigningCertificateInfo.java --- a/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java Sun Aug 10 18:02:01 2014 -0300 @@ -158,8 +158,8 @@ } sb.append(hexDumper.encode(certHash)); if (issuer != null && serialNumber != null) { - sb.append("\n\tIssuer: " + issuer + "\n"); - sb.append("\t" + serialNumber); + sb.append("\n\tIssuer: ").append(issuer).append("\n"); + sb.append("\t").append(serialNumber); } sb.append("\n]"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/pkcs11/P11KeyStore.java --- a/src/share/classes/sun/security/pkcs11/P11KeyStore.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/pkcs11/P11KeyStore.java Sun Aug 10 18:02:01 2014 -0300 @@ -196,24 +196,24 @@ } else if (type == ATTR_CLASS_CERT) { sb.append("\ttype=[trusted cert]\n"); } - sb.append("\tlabel=[" + label + "]\n"); + sb.append("\tlabel=[").append(label).append("]\n"); if (id == null) { sb.append("\tid=[null]\n"); } else { - sb.append("\tid=" + P11KeyStore.getID(id) + "\n"); + sb.append("\tid=").append(P11KeyStore.getID(id)).append("\n"); } - sb.append("\ttrusted=[" + trusted + "]\n"); - sb.append("\tmatched=[" + matched + "]\n"); + sb.append("\ttrusted=[").append(trusted).append("]\n"); + sb.append("\tmatched=[").append(matched).append("]\n"); if (cert == null) { sb.append("\tcert=[null]\n"); } else { - sb.append("\tcert=[\tsubject: " + - cert.getSubjectX500Principal() + - "\n\t\tissuer: " + - cert.getIssuerX500Principal() + - "\n\t\tserialNum: " + - cert.getSerialNumber().toString() + - "]"); + sb.append("\tcert=[\tsubject: ") + .append(cert.getSubjectX500Principal()) + .append("\n\t\tissuer: ") + .append(cert.getIssuerX500Principal()) + .append("\n\t\tserialNum: ") + .append(cert.getSerialNumber().toString()) + .append("]"); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/PolicyFile.java --- a/src/share/classes/sun/security/provider/PolicyFile.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/PolicyFile.java Sun Aug 10 18:02:01 2014 -0300 @@ -1500,8 +1500,7 @@ if (i != 0) { sb.append(", "); } - sb.append(principalInfo[i][0] + " " + - "\"" + principalInfo[i][1] + "\""); + sb.append(principalInfo[i][0]).append(" ").append("\"").append(principalInfo[i][1]).append("\""); } if (pli.hasNext()) { sb.append(", "); @@ -1776,9 +1775,9 @@ if (principals != null && principals.length > 0) { StringBuilder palBuf = new StringBuilder("(principals "); for (int i = 0; i < principals.length; i++) { - palBuf.append(principals[i].getClass().getName() + - " \"" + principals[i].getName() + - "\""); + palBuf.append(principals[i].getClass().getName()) + .append(" \"").append(principals[i].getName()) + .append("\""); if (i < principals.length-1) palBuf.append(", "); else @@ -1884,7 +1883,7 @@ throw new Exception(form.format(source)); } - sb.append(X500PRINCIPAL + " \"" + suffix + "\""); + sb.append(X500PRINCIPAL + " \"").append(suffix).append("\""); startIndex = e+2; } else { MessageFormat form = new MessageFormat diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/CertId.java --- a/src/share/classes/sun/security/provider/certpath/CertId.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/CertId.java Sun Aug 10 18:02:01 2014 -0300 @@ -223,13 +223,13 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("CertId \n"); - sb.append("Algorithm: " + hashAlgId.toString() +"\n"); + sb.append("Algorithm: ").append(hashAlgId.toString()).append("\n"); sb.append("issuerNameHash \n"); HexDumpEncoder encoder = new HexDumpEncoder(); sb.append(encoder.encode(issuerNameHash)); sb.append("\nissuerKeyHash: \n"); sb.append(encoder.encode(issuerKeyHash)); - sb.append("\n" + certSerialNumber.toString()); + sb.append("\n").append(certSerialNumber.toString()); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/OCSPResponse.java --- a/src/share/classes/sun/security/provider/certpath/OCSPResponse.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/OCSPResponse.java Sun Aug 10 18:02:01 2014 -0300 @@ -812,14 +812,14 @@ StringBuilder sb = new StringBuilder(); sb.append("SingleResponse: \n"); sb.append(certId); - sb.append("\nCertStatus: "+ certStatus + "\n"); + sb.append("\nCertStatus: ").append(certStatus).append("\n"); if (certStatus == CertStatus.REVOKED) { - sb.append("revocationTime is " + revocationTime + "\n"); - sb.append("revocationReason is " + revocationReason + "\n"); + sb.append("revocationTime is ").append(revocationTime).append("\n"); + sb.append("revocationReason is ").append(revocationReason).append("\n"); } - sb.append("thisUpdate is " + thisUpdate + "\n"); + sb.append("thisUpdate is ").append(thisUpdate).append("\n"); if (nextUpdate != null) { - sb.append("nextUpdate is " + nextUpdate + "\n"); + sb.append("nextUpdate is ").append(nextUpdate).append("\n"); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java --- a/src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java Sun Aug 10 18:02:01 2014 -0300 @@ -124,7 +124,7 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); sb.append(super.toString()); - sb.append(" Build Forward Flag: " + String.valueOf(buildForward) + "\n"); + sb.append(" Build Forward Flag: ").append(String.valueOf(buildForward)).append("\n"); sb.append("]\n"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/HandshakeMessage.java --- a/src/share/classes/sun/security/ssl/HandshakeMessage.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/HandshakeMessage.java Sun Aug 10 18:02:01 2014 -0300 @@ -1478,7 +1478,7 @@ boolean opened = false; for (SignatureAndHashAlgorithm signAlg : algorithms) { if (opened) { - sb.append(", " + signAlg.getAlgorithmName()); + sb.append(", ").append(signAlg.getAlgorithmName()); } else { sb.append(signAlg.getAlgorithmName()); opened = true; diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/ServerNameExtension.java --- a/src/share/classes/sun/security/ssl/ServerNameExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/ServerNameExtension.java Sun Aug 10 18:02:01 2014 -0300 @@ -268,7 +268,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); for (SNIServerName sniName : sniMap.values()) { - sb.append("[" + sniName + "]"); + sb.append("[").append(sniName).append("]"); } return "Extension " + type + ", server_name: " + sb; diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java --- a/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Sun Aug 10 18:02:01 2014 -0300 @@ -122,7 +122,7 @@ boolean opened = false; for (SignatureAndHashAlgorithm signAlg : algorithms) { if (opened) { - sb.append(", " + signAlg.getAlgorithmName()); + sb.append(", ").append(signAlg.getAlgorithmName()); } else { sb.append(signAlg.getAlgorithmName()); opened = true; diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java --- a/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Sun Aug 10 18:02:01 2014 -0300 @@ -113,7 +113,7 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("Extension " + type + ", curve names: {"); + sb.append("Extension ").append(type).append(", curve names: {"); boolean first = true; for (int curveId : curveIds) { if (first) { @@ -138,7 +138,7 @@ } else if (curveId == ARBITRARY_CHAR2) { sb.append("arbitrary_explicit_char2_curves"); } else { - sb.append("unknown curve " + curveId); + sb.append("unknown curve ").append(curveId); } } sb.append("}"); diff -r dde9f5cfde5f src/share/classes/sun/security/tools/jarsigner/Main.java --- a/src/share/classes/sun/security/tools/jarsigner/Main.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/tools/jarsigner/Main.java Sun Aug 10 18:02:01 2014 -0300 @@ -676,13 +676,12 @@ ((man.getAttributes(name) != null) || (man.getAttributes("./"+name) != null) || (man.getAttributes("/"+name) != null)); - sb.append( - (isSigned ? rb.getString("s") : rb.getString("SPACE")) + - (inManifest ? rb.getString("m") : rb.getString("SPACE")) + - (inStore ? rb.getString("k") : rb.getString("SPACE")) + - (inScope ? rb.getString("i") : rb.getString("SPACE")) + - ((inStoreOrScope & NOT_ALIAS) != 0 ?"X":" ") + - rb.getString("SPACE")); + sb.append(isSigned ? rb.getString("s") : rb.getString("SPACE")) + .append(inManifest ? rb.getString("m") : rb.getString("SPACE")) + .append(inStore ? rb.getString("k") : rb.getString("SPACE")) + .append(inScope ? rb.getString("i") : rb.getString("SPACE")) + .append((inStoreOrScope & NOT_ALIAS) != 0 ? "X" : " ") + .append(rb.getString("SPACE")); sb.append("|"); } @@ -704,11 +703,11 @@ // Print no info for unsigned entries when -verbose:all, // to be consistent with old behavior. if (signatureRelated(name)) { - sb.append("\n" + tab + rb.getString( - ".Signature.related.entries.") + "\n\n"); + sb.append("\n").append(tab).append(rb.getString( + ".Signature.related.entries.")).append("\n\n"); } else { - sb.append("\n" + tab + rb.getString( - ".Unsigned.entries.") + "\n\n"); + sb.append("\n").append(tab).append(rb.getString( + ".Unsigned.entries.")).append("\n\n"); } } @@ -1605,8 +1604,8 @@ // No more warning, we alreay have hasExpiredCert or notYetValidCert } else { chainNotValidated = true; - sb.append(tab + rb.getString(".CertPath.not.validated.") + - e.getLocalizedMessage() + "]\n"); // TODO + sb.append(tab).append(rb.getString(".CertPath.not.validated.")) + .append(e.getLocalizedMessage()).append("]\n"); // TODO } } String result = sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/tools/policytool/PolicyTool.java --- a/src/share/classes/sun/security/tools/policytool/PolicyTool.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/tools/policytool/PolicyTool.java Sun Aug 10 18:02:01 2014 -0300 @@ -980,8 +980,9 @@ grantEntry.principals.listIterator(); while (list.hasNext()) { PolicyParser.PrincipalEntry pppe = list.next(); - sb.append(" Principal " + pppe.getDisplayClass() + " " + - pppe.getDisplayName(true)); + sb.append(" Principal ").append(pppe.getDisplayClass()) + .append(" ") + .append(pppe.getDisplayName(true)); if (list.hasNext()) sb.append(", "); } result = sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/AVA.java --- a/src/share/classes/sun/security/x509/AVA.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/AVA.java Sun Aug 10 18:02:01 2014 -0300 @@ -1147,7 +1147,7 @@ // Emit the string ... quote it if needed // if string is already quoted, don't re-quote if (!alreadyQuoted && quoteNeeded) { - retval.append("\"" + sbuffer.toString() + "\""); + retval.append("\"").append(sbuffer.toString()).append("\""); } else { retval.append(sbuffer.toString()); } diff -r dde9f5cfde5f src/share/classes/sun/security/x509/DistributionPoint.java --- a/src/share/classes/sun/security/x509/DistributionPoint.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/DistributionPoint.java Sun Aug 10 18:02:01 2014 -0300 @@ -381,22 +381,22 @@ public String toString() { StringBuilder sb = new StringBuilder(); if (fullName != null) { - sb.append("DistributionPoint:\n " + fullName + "\n"); + sb.append("DistributionPoint:\n ").append(fullName).append("\n"); } if (relativeName != null) { - sb.append("DistributionPoint:\n " + relativeName + "\n"); + sb.append("DistributionPoint:\n ").append(relativeName).append("\n"); } if (reasonFlags != null) { sb.append(" ReasonFlags:\n"); for (int i = 0; i < reasonFlags.length; i++) { if (reasonFlags[i]) { - sb.append(" " + reasonToString(i) + "\n"); + sb.append(" ").append(reasonToString(i)).append("\n"); } } } if (crlIssuer != null) { - sb.append(" CRLIssuer:" + crlIssuer + "\n"); + sb.append(" CRLIssuer:").append(crlIssuer).append("\n"); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/x509/DistributionPointName.java --- a/src/share/classes/sun/security/x509/DistributionPointName.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/DistributionPointName.java Sun Aug 10 18:02:01 2014 -0300 @@ -231,10 +231,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); if (fullName != null) { - sb.append("DistributionPointName:\n " + fullName + "\n"); + sb.append("DistributionPointName:\n ").append(fullName).append("\n"); } else { - sb.append("DistributionPointName:\n " + relativeName + "\n"); + sb.append("DistributionPointName:\n ").append(relativeName).append("\n"); } return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/PolicyInformation.java --- a/src/share/classes/sun/security/x509/PolicyInformation.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/PolicyInformation.java Sun Aug 10 18:02:01 2014 -0300 @@ -259,7 +259,7 @@ */ public String toString() { StringBuilder s = new StringBuilder(" [" + policyIdentifier.toString()); - s.append(policyQualifiers + " ]\n"); + s.append(policyQualifiers).append(" ]\n"); return s.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CRLEntryImpl.java --- a/src/share/classes/sun/security/x509/X509CRLEntryImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CRLEntryImpl.java Sun Aug 10 18:02:01 2014 -0300 @@ -292,17 +292,17 @@ StringBuilder sb = new StringBuilder(); sb.append(serialNumber.toString()); - sb.append(" On: " + revocationDate.toString()); + sb.append(" On: ").append(revocationDate.toString()); if (certIssuer != null) { - sb.append("\n Certificate issuer: " + certIssuer); + sb.append("\n Certificate issuer: ").append(certIssuer); } if (extensions != null) { Collection allEntryExts = extensions.getAllExtensions(); Extension[] exts = allEntryExts.toArray(new Extension[0]); - sb.append("\n CRL Entry Extensions: " + exts.length); + sb.append("\n CRL Entry Extensions: ").append(exts.length); for (int i = 0; i < exts.length; i++) { - sb.append("\n [" + (i+1) + "]: "); + sb.append("\n [").append(i + 1).append("]: "); Extension ext = exts[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -313,9 +313,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append("\n"); } } else sb.append(ext.toString()); //sub-class exists diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CRLImpl.java --- a/src/share/classes/sun/security/x509/X509CRLImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CRLImpl.java Sun Aug 10 18:02:01 2014 -0300 @@ -537,31 +537,32 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("X.509 CRL v" + (version+1) + "\n"); + sb.append("X.509 CRL v").append(version + 1).append("\n"); if (sigAlgId != null) - sb.append("Signature Algorithm: " + sigAlgId.toString() + - ", OID=" + (sigAlgId.getOID()).toString() + "\n"); + sb.append("Signature Algorithm: ").append(sigAlgId.toString()) + .append(", OID=") + .append((sigAlgId.getOID()).toString()).append("\n"); if (issuer != null) - sb.append("Issuer: " + issuer.toString() + "\n"); + sb.append("Issuer: ").append(issuer.toString()).append("\n"); if (thisUpdate != null) - sb.append("\nThis Update: " + thisUpdate.toString() + "\n"); + sb.append("\nThis Update: ").append(thisUpdate.toString()).append("\n"); if (nextUpdate != null) - sb.append("Next Update: " + nextUpdate.toString() + "\n"); + sb.append("Next Update: ").append(nextUpdate.toString()).append("\n"); if (revokedList.isEmpty()) sb.append("\nNO certificates have been revoked\n"); else { - sb.append("\nRevoked Certificates: " + revokedList.size()); + sb.append("\nRevoked Certificates: ").append(revokedList.size()); int i = 1; for (X509CRLEntry entry: revokedList) { - sb.append("\n[" + i++ + "] " + entry.toString()); + sb.append("\n[").append(i++).append("] ").append(entry.toString()); } } if (extensions != null) { Collection allExts = extensions.getAllExtensions(); Object[] objs = allExts.toArray(); - sb.append("\nCRL Extensions: " + objs.length); + sb.append("\nCRL Extensions: ").append(objs.length); for (int i = 0; i < objs.length; i++) { - sb.append("\n[" + (i+1) + "]: "); + sb.append("\n[").append(i + 1).append("]: "); Extension ext = (Extension)objs[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -572,9 +573,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append("\n"); } } else sb.append(ext.toString()); // sub-class exists @@ -585,8 +585,7 @@ } if (signature != null) { HexDumpEncoder encoder = new HexDumpEncoder(); - sb.append("\nSignature:\n" + encoder.encodeBuffer(signature) - + "\n"); + sb.append("\nSignature:\n").append(encoder.encodeBuffer(signature)).append("\n"); } else sb.append("NOT signed yet\n"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CertImpl.java --- a/src/share/classes/sun/security/x509/X509CertImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CertImpl.java Sun Aug 10 18:02:01 2014 -0300 @@ -802,11 +802,11 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); - sb.append(info.toString() + "\n"); - sb.append(" Algorithm: [" + algId.toString() + "]\n"); + sb.append(info.toString()).append("\n"); + sb.append(" Algorithm: [").append(algId.toString()).append("]\n"); HexDumpEncoder encoder = new HexDumpEncoder(); - sb.append(" Signature:\n" + encoder.encodeBuffer(signature)); + sb.append(" Signature:\n").append(encoder.encodeBuffer(signature)); sb.append("\n]"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CertInfo.java --- a/src/share/classes/sun/security/x509/X509CertInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CertInfo.java Sun Aug 10 18:02:01 2014 -0300 @@ -298,27 +298,27 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); - sb.append(" " + version.toString() + "\n"); - sb.append(" Subject: " + subject.toString() + "\n"); - sb.append(" Signature Algorithm: " + algId.toString() + "\n"); - sb.append(" Key: " + pubKey.toString() + "\n"); - sb.append(" " + interval.toString() + "\n"); - sb.append(" Issuer: " + issuer.toString() + "\n"); - sb.append(" " + serialNum.toString() + "\n"); + sb.append(" ").append(version.toString()).append("\n"); + sb.append(" Subject: ").append(subject.toString()).append("\n"); + sb.append(" Signature Algorithm: ").append(algId.toString()).append("\n"); + sb.append(" Key: ").append(pubKey.toString()).append("\n"); + sb.append(" ").append(interval.toString()).append("\n"); + sb.append(" Issuer: ").append(issuer.toString()).append("\n"); + sb.append(" ").append(serialNum.toString()).append("\n"); // optional v2, v3 extras if (issuerUniqueId != null) { - sb.append(" Issuer Id:\n" + issuerUniqueId.toString() + "\n"); + sb.append(" Issuer Id:\n").append(issuerUniqueId.toString()).append("\n"); } if (subjectUniqueId != null) { - sb.append(" Subject Id:\n" + subjectUniqueId.toString() + "\n"); + sb.append(" Subject Id:\n").append(subjectUniqueId.toString()).append("\n"); } if (extensions != null) { Collection allExts = extensions.getAllExtensions(); Extension[] exts = allExts.toArray(new Extension[0]); - sb.append("\nCertificate Extensions: " + exts.length); + sb.append("\nCertificate Extensions: ").append(exts.length); for (int i = 0; i < exts.length; i++) { - sb.append("\n[" + (i+1) + "]: "); + sb.append("\n[").append(i + 1).append("]: "); Extension ext = exts[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -329,9 +329,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append("\n"); } } else sb.append(ext.toString()); //sub-class exists @@ -341,10 +340,10 @@ } Map invalid = extensions.getUnparseableExtensions(); if (invalid.isEmpty() == false) { - sb.append("\nUnparseable certificate extensions: " + invalid.size()); + sb.append("\nUnparseable certificate extensions: ").append(invalid.size()); int i = 1; for (Extension ext : invalid.values()) { - sb.append("\n[" + (i++) + "]: "); + sb.append("\n[").append(i++).append("]: "); sb.append(ext); } } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java --- a/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Sun Aug 10 18:02:01 2014 -0300 @@ -465,10 +465,10 @@ private static void appendIfLiteralAddress(String addr, StringBuffer sb) { if (IPAddressUtil.isIPv4LiteralAddress(addr)) { - sb.append("dns://" + addr + " "); + sb.append("dns://").append(addr).append(" "); } else { if (IPAddressUtil.isIPv6LiteralAddress(addr)) { - sb.append("dns://[" + addr + "] "); + sb.append("dns://[").append(addr).append("] "); } } } diff -r dde9f5cfde5f src/share/classes/sun/net/www/HeaderParser.java --- a/src/share/classes/sun/net/www/HeaderParser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/HeaderParser.java Sun Aug 10 18:02:01 2014 -0300 @@ -221,14 +221,14 @@ public String toString () { Iterator k = keys(); StringBuffer sbuf = new StringBuffer(); - sbuf.append ("{size="+asize+" nkeys="+nkeys+" "); + sbuf.append("{size=").append(asize).append(" nkeys=").append(nkeys).append(" "); for (int i=0; k.hasNext(); i++) { String key = k.next(); String val = findValue (i); if (val != null && "".equals (val)) { val = null; } - sbuf.append (" {"+key+(val==null?"":","+val)+"}"); + sbuf.append(" {").append(key).append(val == null ? "" : "," + val).append("}"); if (k.hasNext()) { sbuf.append (","); } diff -r dde9f5cfde5f src/share/classes/sun/net/www/MimeEntry.java --- a/src/share/classes/sun/net/www/MimeEntry.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/MimeEntry.java Sun Aug 10 18:02:01 2014 -0300 @@ -288,7 +288,7 @@ int action = getAction(); if (action != MimeEntry.UNKNOWN) { - sb.append("action=" + actionKeywords[action]); + sb.append("action=").append(actionKeywords[action]); needSeparator = true; } @@ -297,7 +297,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("application=" + command); + sb.append("application=").append(command); needSeparator = true; } @@ -305,7 +305,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("icon=" + getImageFileName()); + sb.append("icon=").append(getImageFileName()); needSeparator = true; } @@ -314,7 +314,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("file_extensions=" + extensions); + sb.append("file_extensions=").append(extensions); needSeparator = true; } @@ -323,7 +323,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("description=" + description); + sb.append("description=").append(description); } return sb.toString(); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/management/Agent.java --- a/src/share/classes/sun/management/Agent.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/management/Agent.java Sun Aug 10 18:02:00 2014 -0300 @@ -502,7 +502,7 @@ } else { StringBuilder message = new StringBuilder(params[0]); for (int i = 1; i < params.length; i++) { - message.append(" " + params[i]); + message.append(" ").append(params[i]); } error(key, message.toString()); } diff -r dde9f5cfde5f src/share/classes/sun/management/MappedMXBeanType.java --- a/src/share/classes/sun/management/MappedMXBeanType.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/management/MappedMXBeanType.java Sun Aug 10 18:02:00 2014 -0300 @@ -289,7 +289,7 @@ if (et.isPrimitive()) { className = new StringBuilder(c.getName()); } else { - className.append("L" + baseElementType.getTypeName() + ";"); + className.append("L").append(baseElementType.getTypeName()).append(";"); } try { mappedTypeClass = Class.forName(className.toString()); @@ -385,7 +385,7 @@ if (elementType instanceof Class && ((Class) elementType).isPrimitive()) { className = new StringBuilder(gat.toString()); } else { - className.append("L" + baseElementType.getTypeName() + ";"); + className.append("L").append(baseElementType.getTypeName()).append(";"); } try { mappedTypeClass = Class.forName(className.toString()); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/launcher/LauncherHelper.java --- a/src/share/classes/sun/launcher/LauncherHelper.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/launcher/LauncherHelper.java Sun Aug 10 18:02:00 2014 -0300 @@ -370,8 +370,7 @@ outBuf = outBuf.append(getLocalizedMessage("java.launcher.ergo.message1", vm)); outBuf = (isServerClass) - ? outBuf.append(",\n" + - getLocalizedMessage("java.launcher.ergo.message2") + "\n\n") + ? outBuf.append(",\n").append(getLocalizedMessage("java.launcher.ergo.message2")).append("\n\n") : outBuf.append(".\n\n"); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/font/AttributeValues.java --- a/src/share/classes/sun/font/AttributeValues.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/AttributeValues.java Sun Aug 10 18:02:00 2014 -0300 @@ -542,7 +542,7 @@ } } } - b.append("[btx=" + baselineTransform + ", ctx=" + charTransform + "]"); + b.append("[btx=").append(baselineTransform).append(", ctx=").append(charTransform).append("]"); b.append('}'); return b.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/font/Decoration.java --- a/src/share/classes/sun/font/Decoration.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/Decoration.java Sun Aug 10 18:02:00 2014 -0300 @@ -431,12 +431,12 @@ StringBuilder sb = new StringBuilder(); sb.append(super.toString()); sb.append("["); - if (fgPaint != null) sb.append("fgPaint: " + fgPaint); - if (bgPaint != null) sb.append(" bgPaint: " + bgPaint); + if (fgPaint != null) sb.append("fgPaint: ").append(fgPaint); + if (bgPaint != null) sb.append(" bgPaint: ").append(bgPaint); if (swapColors) sb.append(" swapColors: true"); if (strikethrough) sb.append(" strikethrough: true"); - if (stdUnderline != null) sb.append(" stdUnderline: " + stdUnderline); - if (imUnderline != null) sb.append(" imUnderline: " + imUnderline); + if (stdUnderline != null) sb.append(" stdUnderline: ").append(stdUnderline); + if (imUnderline != null) sb.append(" imUnderline: ").append(imUnderline); sb.append("]"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/font/StandardGlyphVector.java --- a/src/share/classes/sun/font/StandardGlyphVector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/StandardGlyphVector.java Sun Aug 10 18:02:00 2014 -0300 @@ -1894,7 +1894,7 @@ } } catch(Exception e) { - buf.append(" " + e.getMessage()); + buf.append(" ").append(e.getMessage()); } buf.append("}"); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/swing/GroupLayout.java --- a/src/share/classes/javax/swing/GroupLayout.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/GroupLayout.java Sun Aug 10 18:02:00 2014 -0300 @@ -1239,15 +1239,12 @@ padding = ", userCreated=" + paddingSpring.getUserCreated() + ", matches=" + paddingSpring.getMatchDescription(); } - buffer.append(indent + spring.getClass().getName() + " " + - Integer.toHexString(spring.hashCode()) + " " + - origin + - ", size=" + spring.getSize() + - ", alignment=" + spring.getAlignment() + - " prefs=[" + spring.getMinimumSize(axis) + - " " + spring.getPreferredSize(axis) + - " " + spring.getMaximumSize(axis) + - padding + "]\n"); + buffer.append(indent).append(spring.getClass().getName()) + .append(" ").append(Integer.toHexString(spring.hashCode())).append(" ") + .append(origin).append(", size=").append(spring.getSize()).append(", alignment=") + .append(spring.getAlignment()).append(" prefs=[").append(spring.getMinimumSize(axis)).append(" ") + .append(spring.getPreferredSize(axis)).append(" ").append(spring.getMaximumSize(axis)) + .append(padding).append("]\n"); if (spring instanceof Group) { List springs = ((Group)spring).springs; indent += " "; diff -r dde9f5cfde5f src/share/classes/javax/swing/JColorChooser.java --- a/src/share/classes/javax/swing/JColorChooser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/JColorChooser.java Sun Aug 10 18:02:00 2014 -0300 @@ -545,8 +545,7 @@ protected String paramString() { StringBuilder chooserPanelsString = new StringBuilder(""); for (int i=0; i keys = keys(); while (keys.hasMoreElements()) { Object key = keys.nextElement(); - sb.append(key + "=" + get(key) + ", "); + sb.append(key).append("=").append(get(key)).append(", "); } int length = sb.length(); if (length > 1) { diff -r dde9f5cfde5f src/share/classes/javax/swing/RepaintManager.java --- a/src/share/classes/javax/swing/RepaintManager.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/RepaintManager.java Sun Aug 10 18:02:00 2014 -0300 @@ -992,7 +992,7 @@ public synchronized String toString() { StringBuilder sb = new StringBuilder(); if(dirtyComponents != null) - sb.append("" + dirtyComponents); + sb.append("").append(dirtyComponents); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/javax/swing/event/TreeModelEvent.java --- a/src/share/classes/javax/swing/event/TreeModelEvent.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/event/TreeModelEvent.java Sun Aug 10 18:02:00 2014 -0300 @@ -294,20 +294,19 @@ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append(getClass().getName() + " " + - Integer.toString(hashCode())); + sb.append(getClass().getName()).append(" ").append(Integer.toString(hashCode())); if(path != null) - sb.append(" path " + path); + sb.append(" path ").append(path); if(childIndices != null) { sb.append(" indices [ "); for(int counter = 0; counter < childIndices.length; counter++) - sb.append(Integer.toString(childIndices[counter])+ " "); + sb.append(Integer.toString(childIndices[counter])).append(" "); sb.append("]"); } if(children != null) { sb.append(" children [ "); for(int counter = 0; counter < children.length; counter++) - sb.append(children[counter] + " "); + sb.append(children[counter]).append(" "); sb.append("]"); } return sb.toString(); diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java Sun Aug 10 18:02:00 2014 -0300 @@ -1330,8 +1330,8 @@ for (Object obj : values) { String val = ((obj == null) ? "" : obj.toString()); - plainBuf.append(val + "\n"); - htmlBuf.append("
  • " + val + "\n"); + plainBuf.append(val).append("\n"); + htmlBuf.append("
  • ").append(val).append("\n"); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicListUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicListUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicListUI.java Sun Aug 10 18:02:00 2014 -0300 @@ -2948,8 +2948,8 @@ for (int i = 0; i < values.length; i++) { Object obj = values[i]; String val = ((obj == null) ? "" : obj.toString()); - plainStr.append(val + "\n"); - htmlStr.append("
  • " + val + "\n"); + plainStr.append(val).append("\n"); + htmlStr.append("
  • ").append(val).append("\n"); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicTableUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java Sun Aug 10 18:02:00 2014 -0300 @@ -2230,8 +2230,8 @@ for (int col = 0; col < cols.length; col++) { Object obj = table.getValueAt(rows[row], cols[col]); String val = ((obj == null) ? "" : obj.toString()); - plainStr.append(val + "\t"); - htmlStr.append(" " + val + "\n"); + plainStr.append(val).append("\t"); + htmlStr.append(" ").append(val).append("\n"); } // we want a newline at the end of each line and not a tab plainStr.deleteCharAt(plainStr.length() - 1).append("\n"); diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Sun Aug 10 18:02:00 2014 -0300 @@ -3618,8 +3618,8 @@ boolean leaf = model.isLeaf(node); String label = getDisplayString(path, true, leaf); - plainStr.append(label + "\n"); - htmlStr.append("
  • " + label + "\n"); + plainStr.append(label).append("\n"); + htmlStr.append("
  • ").append(label).append("\n"); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java --- a/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Sun Aug 10 18:02:00 2014 -0300 @@ -1160,13 +1160,13 @@ rows = rowMapper.getRowsForPaths(selection); else rows = null; - sb.append(getClass().getName() + " " + hashCode() + " [ "); + sb.append(getClass().getName()).append(" ").append(hashCode()).append(" [ "); for(int counter = 0; counter < selCount; counter++) { if(rows != null) - sb.append(selection[counter].toString() + "@" + - Integer.toString(rows[counter])+ " "); + sb.append(selection[counter].toString()).append("@") + .append(Integer.toString(rows[counter])).append(" "); else - sb.append(selection[counter].toString() + " "); + sb.append(selection[counter].toString()).append(" "); } sb.append("]"); return sb.toString(); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/sound/sampled/AudioFileFormat.java --- a/src/share/classes/javax/sound/sampled/AudioFileFormat.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/sound/sampled/AudioFileFormat.java Sun Aug 10 18:02:00 2014 -0300 @@ -276,19 +276,19 @@ //$$fb2002-11-01: fix for 4672864: AudioFileFormat.toString() throws unexpected NullPointerException if (type != null) { - buf.append(type.toString() + " (." + type.getExtension() + ") file"); + buf.append(type.toString()).append(" (.").append(type.getExtension()).append(") file"); } else { buf.append("unknown file format"); } if (byteLength != AudioSystem.NOT_SPECIFIED) { - buf.append(", byte length: " + byteLength); + buf.append(", byte length: ").append(byteLength); } - buf.append(", data format: " + format); + buf.append(", data format: ").append(format); if (frameLength != AudioSystem.NOT_SPECIFIED) { - buf.append(", frame length: " + frameLength); + buf.append(", frame length: ").append(frameLength); } return new String(buf); diff -r dde9f5cfde5f src/share/classes/javax/sound/sampled/DataLine.java --- a/src/share/classes/javax/sound/sampled/DataLine.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/sound/sampled/DataLine.java Sun Aug 10 18:02:00 2014 -0300 @@ -473,17 +473,17 @@ StringBuilder sb = new StringBuilder(); if ( (formats.length == 1) && (formats[0] != null) ) { - sb.append(" supporting format " + formats[0]); + sb.append(" supporting format ").append(formats[0]); } else if (getFormats().length > 1) { - sb.append(" supporting " + getFormats().length + " audio formats"); + sb.append(" supporting ").append(getFormats().length).append(" audio formats"); } if ( (minBufferSize != AudioSystem.NOT_SPECIFIED) && (maxBufferSize != AudioSystem.NOT_SPECIFIED) ) { - sb.append(", and buffers of " + minBufferSize + " to " + maxBufferSize + " bytes"); + sb.append(", and buffers of ").append(minBufferSize).append(" to ").append(maxBufferSize).append(" bytes"); } else if ( (minBufferSize != AudioSystem.NOT_SPECIFIED) && (minBufferSize > 0) ) { - sb.append(", and buffers of at least " + minBufferSize + " bytes"); + sb.append(", and buffers of at least ").append(minBufferSize).append(" bytes"); } else if (maxBufferSize != AudioSystem.NOT_SPECIFIED) { - sb.append(", and buffers of up to " + minBufferSize + " bytes"); + sb.append(", and buffers of up to ").append(minBufferSize).append(" bytes"); } return new String(super.toString() + sb); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/security/auth/kerberos/KerberosTicket.java --- a/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java Sun Aug 10 18:02:00 2014 -0300 @@ -651,8 +651,7 @@ StringBuilder caddrString = new StringBuilder(); if (clientAddresses != null) { for (int i = 0; i < clientAddresses.length; i++) { - caddrString.append("clientAddresses[" + i + "] = " + - clientAddresses[i].toString()); + caddrString.append("clientAddresses[").append(i).append("] = ").append(clientAddresses[i].toString()); } } return ("Ticket (hex) = " + "\n" + -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/naming/BinaryRefAddr.java --- a/src/share/classes/javax/naming/BinaryRefAddr.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/BinaryRefAddr.java Sun Aug 10 18:02:00 2014 -0300 @@ -169,7 +169,7 @@ str.append("AddressContents: "); for (int i = 0; i= 32) str.append(" ...\n"); diff -r dde9f5cfde5f src/share/classes/javax/naming/NameImpl.java --- a/src/share/classes/javax/naming/NameImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/NameImpl.java Sun Aug 10 18:02:00 2014 -0300 @@ -170,7 +170,7 @@ endQuote = one ? syntaxEndQuote1 : syntaxEndQuote2; i += syntaxTypevalSeparator.length(); - answer.append(syntaxTypevalSeparator+beginQuote); // add back + answer.append(syntaxTypevalSeparator).append(beginQuote); // add back // consume string until matching quote for (i += beginQuote.length(); diff -r dde9f5cfde5f src/share/classes/javax/naming/RefAddr.java --- a/src/share/classes/javax/naming/RefAddr.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/RefAddr.java Sun Aug 10 18:02:00 2014 -0300 @@ -141,7 +141,7 @@ public String toString(){ StringBuilder str = new StringBuilder("Type: " + addrType + "\n"); - str.append("Content: " + getContent() + "\n"); + str.append("Content: ").append(getContent()).append("\n"); return (str.toString()); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/crypto/CryptoPermission.java --- a/src/share/classes/javax/crypto/CryptoPermission.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/crypto/CryptoPermission.java Sun Aug 10 18:01:59 2014 -0300 @@ -370,18 +370,16 @@ */ public String toString() { StringBuilder buf = new StringBuilder(100); - buf.append("(CryptoPermission " + alg + " " + maxKeySize); + buf.append("(CryptoPermission ").append(alg).append(" ").append(maxKeySize); if (algParamSpec != null) { if (algParamSpec instanceof RC2ParameterSpec) { - buf.append(" , effective " + - ((RC2ParameterSpec)algParamSpec).getEffectiveKeyBits()); + buf.append(" , effective ").append(((RC2ParameterSpec) algParamSpec).getEffectiveKeyBits()); } else if (algParamSpec instanceof RC5ParameterSpec) { - buf.append(" , rounds " + - ((RC5ParameterSpec)algParamSpec).getRounds()); + buf.append(" , rounds ").append(((RC5ParameterSpec) algParamSpec).getRounds()); } } if (exemptionMechanism != null) { // OPTIONAL - buf.append(" " + exemptionMechanism); + buf.append(" ").append(exemptionMechanism); } buf.append(")"); return buf.toString(); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/management/MBeanPermission.java --- a/src/share/classes/javax/management/MBeanPermission.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/MBeanPermission.java Sun Aug 10 18:02:00 2014 -0300 @@ -455,7 +455,7 @@ name.append(className); if (member == null) member = "-"; - name.append("#" + member); + name.append("#").append(member); if (objectName == null) name.append("[-]"); else diff -r dde9f5cfde5f src/share/classes/javax/management/modelmbean/RequiredModelMBean.java --- a/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java Sun Aug 10 18:02:00 2014 -0300 @@ -716,13 +716,12 @@ } retStr.append("\nMBeanInfo for ModelMBean is:"); - retStr.append("\nCLASSNAME: \t"+ info.getClassName()); - retStr.append("\nDESCRIPTION: \t"+ info.getDescription()); + retStr.append("\nCLASSNAME: \t").append(info.getClassName()); + retStr.append("\nDESCRIPTION: \t").append(info.getDescription()); try { - retStr.append("\nMBEAN DESCRIPTOR: \t"+ - info.getMBeanDescriptor()); + retStr.append("\nMBEAN DESCRIPTOR: \t").append(info.getMBeanDescriptor()); } catch (Exception e) { retStr.append("\nMBEAN DESCRIPTOR: \t" + " is invalid"); } @@ -734,13 +733,12 @@ for (int i=0; i { /* Serial version */ diff -r dde9f5cfde5f src/share/classes/javax/management/relation/Role.java --- a/src/share/classes/javax/management/relation/Role.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/relation/Role.java Sun Aug 10 18:02:00 2014 -0300 @@ -227,7 +227,7 @@ */ public String toString() { StringBuilder result = new StringBuilder(); - result.append("role name: " + name + "; role value: "); + result.append("role name: ").append(name).append("; role value: "); for (Iterator objNameIter = objectNameList.iterator(); objNameIter.hasNext();) { ObjectName currObjName = objNameIter.next(); diff -r dde9f5cfde5f src/share/classes/javax/management/relation/RoleInfo.java --- a/src/share/classes/javax/management/relation/RoleInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/relation/RoleInfo.java Sun Aug 10 18:02:00 2014 -0300 @@ -456,13 +456,13 @@ */ public String toString() { StringBuilder result = new StringBuilder(); - result.append("role info name: " + name); - result.append("; isReadable: " + isReadable); - result.append("; isWritable: " + isWritable); - result.append("; description: " + description); - result.append("; minimum degree: " + minDegree); - result.append("; maximum degree: " + maxDegree); - result.append("; MBean class: " + referencedMBeanClassName); + result.append("role info name: ").append(name); + result.append("; isReadable: ").append(isReadable); + result.append("; isWritable: ").append(isWritable); + result.append("; description: ").append(description); + result.append("; minimum degree: ").append(minDegree); + result.append("; maximum degree: ").append(maxDegree); + result.append("; MBean class: ").append(referencedMBeanClassName); return result.toString(); } diff -r dde9f5cfde5f src/share/classes/javax/management/relation/RoleUnresolved.java --- a/src/share/classes/javax/management/relation/RoleUnresolved.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/relation/RoleUnresolved.java Sun Aug 10 18:02:00 2014 -0300 @@ -282,7 +282,7 @@ */ public String toString() { StringBuilder result = new StringBuilder(); - result.append("role name: " + roleName); + result.append("role name: ").append(roleName); if (roleValue != null) { result.append("; value: "); for (Iterator objNameIter = roleValue.iterator(); @@ -294,7 +294,7 @@ } } } - result.append("; problem type: " + problemType); + result.append("; problem type: ").append(problemType); return result.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/util/Scanner.java --- a/src/share/classes/java/util/Scanner.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/Scanner.java Sun Aug 10 18:01:59 2014 -0300 @@ -1304,20 +1304,20 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("java.util.Scanner"); - sb.append("[delimiters=" + delimPattern + "]"); - sb.append("[position=" + position + "]"); - sb.append("[match valid=" + matchValid + "]"); - sb.append("[need input=" + needInput + "]"); - sb.append("[source closed=" + sourceClosed + "]"); - sb.append("[skipped=" + skipped + "]"); - sb.append("[group separator=" + groupSeparator + "]"); - sb.append("[decimal separator=" + decimalSeparator + "]"); - sb.append("[positive prefix=" + positivePrefix + "]"); - sb.append("[negative prefix=" + negativePrefix + "]"); - sb.append("[positive suffix=" + positiveSuffix + "]"); - sb.append("[negative suffix=" + negativeSuffix + "]"); - sb.append("[NaN string=" + nanString + "]"); - sb.append("[infinity string=" + infinityString + "]"); + sb.append("[delimiters=").append(delimPattern).append("]"); + sb.append("[position=").append(position).append("]"); + sb.append("[match valid=").append(matchValid).append("]"); + sb.append("[need input=").append(needInput).append("]"); + sb.append("[source closed=").append(sourceClosed).append("]"); + sb.append("[skipped=").append(skipped).append("]"); + sb.append("[group separator=").append(groupSeparator).append("]"); + sb.append("[decimal separator=").append(decimalSeparator).append("]"); + sb.append("[positive prefix=").append(positivePrefix).append("]"); + sb.append("[negative prefix=").append(negativePrefix).append("]"); + sb.append("[positive suffix=").append(positiveSuffix).append("]"); + sb.append("[negative suffix=").append(negativeSuffix).append("]"); + sb.append("[NaN string=").append(nanString).append("]"); + sb.append("[infinity string=").append(infinityString).append("]"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/util/regex/Matcher.java --- a/src/share/classes/java/util/regex/Matcher.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/regex/Matcher.java Sun Aug 10 18:01:59 2014 -0300 @@ -1295,9 +1295,9 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("java.util.regex.Matcher"); - sb.append("[pattern=" + pattern()); + sb.append("[pattern=").append(pattern()); sb.append(" region="); - sb.append(regionStart() + "," + regionEnd()); + sb.append(regionStart()).append(",").append(regionEnd()); sb.append(" lastmatch="); if ((first >= 0) && (group() != null)) { sb.append(group()); diff -r dde9f5cfde5f src/share/classes/java/util/regex/Pattern.java --- a/src/share/classes/java/util/regex/Pattern.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/regex/Pattern.java Sun Aug 10 18:01:59 2014 -0300 @@ -1488,10 +1488,10 @@ for(int x=0; x0) - result.append("|"+next); + result.append("|").append(next); next = composeOneStep(next); if (next != null) - result.append("|"+produceEquivalentAlternation(next)); + result.append("|").append(produceEquivalentAlternation(next)); } return result.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/text/ChoiceFormat.java --- a/src/share/classes/java/text/ChoiceFormat.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/text/ChoiceFormat.java Sun Aug 10 18:01:59 2014 -0300 @@ -272,7 +272,7 @@ double tryLess = Math.abs(Math.IEEEremainder(less, 1.0d)); if (tryLessOrEqual < tryLess) { - result.append(""+choiceLimits[i]); + result.append("").append(choiceLimits[i]); result.append('#'); } else { if (choiceLimits[i] == Double.POSITIVE_INFINITY) { @@ -280,7 +280,7 @@ } else if (choiceLimits[i] == Double.NEGATIVE_INFINITY) { result.append("-\u221E"); } else { - result.append(""+less); + result.append("").append(less); } result.append('<'); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/security/CodeSigner.java --- a/src/share/classes/java/security/CodeSigner.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/CodeSigner.java Sun Aug 10 18:01:59 2014 -0300 @@ -156,9 +156,9 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("("); - sb.append("Signer: " + signerCertPath.getCertificates().get(0)); + sb.append("Signer: ").append(signerCertPath.getCertificates().get(0)); if (timestamp != null) { - sb.append("timestamp: " + timestamp); + sb.append("timestamp: ").append(timestamp); } sb.append(")"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/java/security/CodeSource.java --- a/src/share/classes/java/security/CodeSource.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/CodeSource.java Sun Aug 10 18:01:59 2014 -0300 @@ -468,12 +468,12 @@ if (this.certs != null && this.certs.length > 0) { for (int i = 0; i < this.certs.length; i++) { - sb.append( " " + this.certs[i]); + sb.append(" ").append(this.certs[i]); } } else if (this.signers != null && this.signers.length > 0) { for (int i = 0; i < this.signers.length; i++) { - sb.append( " " + this.signers[i]); + sb.append(" ").append(this.signers[i]); } } else { sb.append(" "); diff -r dde9f5cfde5f src/share/classes/java/security/KeyStore.java --- a/src/share/classes/java/security/KeyStore.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/KeyStore.java Sun Aug 10 18:01:59 2014 -0300 @@ -610,8 +610,7 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("Private key entry and certificate chain with " - + chain.length + " elements:\r\n"); + sb.append("Private key entry and certificate chain with ").append(chain.length).append(" elements:\r\n"); for (Certificate cert : chain) { sb.append(cert); sb.append("\r\n"); diff -r dde9f5cfde5f src/share/classes/java/security/PermissionCollection.java --- a/src/share/classes/java/security/PermissionCollection.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/PermissionCollection.java Sun Aug 10 18:01:59 2014 -0300 @@ -179,7 +179,7 @@ public String toString() { Enumeration enum_ = elements(); StringBuilder sb = new StringBuilder(); - sb.append(super.toString()+" (\n"); + sb.append(super.toString()).append(" (\n"); while (enum_.hasMoreElements()) { try { sb.append(" "); diff -r dde9f5cfde5f src/share/classes/java/security/ProtectionDomain.java --- a/src/share/classes/java/security/ProtectionDomain.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/ProtectionDomain.java Sun Aug 10 18:01:59 2014 -0300 @@ -291,9 +291,9 @@ StringBuilder palBuf = new StringBuilder("(principals "); for (int i = 0; i < principals.length; i++) { - palBuf.append(principals[i].getClass().getName() + - " \"" + principals[i].getName() + - "\""); + palBuf.append(principals[i].getClass().getName()) + .append(" \"").append(principals[i].getName()) + .append("\""); if (i < principals.length-1) palBuf.append(",\n"); else diff -r dde9f5cfde5f src/share/classes/java/security/Timestamp.java --- a/src/share/classes/java/security/Timestamp.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/Timestamp.java Sun Aug 10 18:01:59 2014 -0300 @@ -143,10 +143,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("("); - sb.append("timestamp: " + timestamp); + sb.append("timestamp: ").append(timestamp); List certs = signerCertPath.getCertificates(); if (!certs.isEmpty()) { - sb.append("TSA: " + certs.get(0)); + sb.append("TSA: ").append(certs.get(0)); } else { sb.append("TSA: "); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/CertPath.java --- a/src/share/classes/java/security/cert/CertPath.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/CertPath.java Sun Aug 10 18:01:59 2014 -0300 @@ -224,17 +224,16 @@ Iterator stringIterator = getCertificates().iterator(); - sb.append("\n" + type + " Cert Path: length = " - + getCertificates().size() + ".\n"); + sb.append("\n").append(type).append(" Cert Path: length = ").append(getCertificates().size()).append(".\n"); sb.append("[\n"); int i = 1; while (stringIterator.hasNext()) { - sb.append("==========================================" - + "===============Certificate " + i + " start.\n"); + sb.append("==========================================" + "===============Certificate ") + .append(i).append(" start.\n"); Certificate stringCert = stringIterator.next(); sb.append(stringCert.toString()); - sb.append("\n========================================" - + "=================Certificate " + i + " end.\n\n\n"); + sb.append("\n========================================" + "=================Certificate ") + .append(i).append(" end.\n\n\n"); i++; } diff -r dde9f5cfde5f src/share/classes/java/security/cert/CollectionCertStoreParameters.java --- a/src/share/classes/java/security/cert/CollectionCertStoreParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/CollectionCertStoreParameters.java Sun Aug 10 18:01:59 2014 -0300 @@ -134,7 +134,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("CollectionCertStoreParameters: [\n"); - sb.append(" collection: " + coll + "\n"); + sb.append(" collection: ").append(coll).append("\n"); sb.append("]"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/LDAPCertStoreParameters.java --- a/src/share/classes/java/security/cert/LDAPCertStoreParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/LDAPCertStoreParameters.java Sun Aug 10 18:01:59 2014 -0300 @@ -141,8 +141,8 @@ StringBuilder sb = new StringBuilder(); sb.append("LDAPCertStoreParameters: [\n"); - sb.append(" serverName: " + serverName + "\n"); - sb.append(" port: " + port + "\n"); + sb.append(" serverName: ").append(serverName).append("\n"); + sb.append(" port: ").append(port).append("\n"); sb.append("]"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXBuilderParameters.java --- a/src/share/classes/java/security/cert/PKIXBuilderParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXBuilderParameters.java Sun Aug 10 18:01:59 2014 -0300 @@ -192,7 +192,7 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); sb.append(super.toString()); - sb.append(" Maximum Path Length: " + maxPathLength + "\n"); + sb.append(" Maximum Path Length: ").append(maxPathLength).append("\n"); sb.append("]\n"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java --- a/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java Sun Aug 10 18:01:59 2014 -0300 @@ -109,10 +109,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("PKIXCertPathBuilderResult: [\n"); - sb.append(" Certification Path: " + certPath + "\n"); - sb.append(" Trust Anchor: " + getTrustAnchor().toString() + "\n"); - sb.append(" Policy Tree: " + String.valueOf(getPolicyTree()) + "\n"); - sb.append(" Subject Public Key: " + getPublicKey() + "\n"); + sb.append(" Certification Path: ").append(certPath).append("\n"); + sb.append(" Trust Anchor: ").append(getTrustAnchor().toString()).append("\n"); + sb.append(" Policy Tree: ").append(String.valueOf(getPolicyTree())).append("\n"); + sb.append(" Subject Public Key: ").append(getPublicKey()).append("\n"); sb.append("]"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java --- a/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java Sun Aug 10 18:01:59 2014 -0300 @@ -150,9 +150,9 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("PKIXCertPathValidatorResult: [\n"); - sb.append(" Trust Anchor: " + trustAnchor.toString() + "\n"); - sb.append(" Policy Tree: " + String.valueOf(policyTree) + "\n"); - sb.append(" Subject Public Key: " + subjectPublicKey + "\n"); + sb.append(" Trust Anchor: ").append(trustAnchor.toString()).append("\n"); + sb.append(" Policy Tree: ").append(String.valueOf(policyTree)).append("\n"); + sb.append(" Subject Public Key: ").append(subjectPublicKey).append("\n"); sb.append("]"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXParameters.java --- a/src/share/classes/java/security/cert/PKIXParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXParameters.java Sun Aug 10 18:01:59 2014 -0300 @@ -698,8 +698,7 @@ /* start with trusted anchor info */ if (unmodTrustAnchors != null) { - sb.append(" Trust Anchors: " + unmodTrustAnchors.toString() - + "\n"); + sb.append(" Trust Anchors: ").append(unmodTrustAnchors.toString()).append("\n"); } /* now, append initial state information */ @@ -707,29 +706,27 @@ if (unmodInitialPolicies.isEmpty()) { sb.append(" Initial Policy OIDs: any\n"); } else { - sb.append(" Initial Policy OIDs: [" - + unmodInitialPolicies.toString() + "]\n"); + sb.append(" Initial Policy OIDs: [").append(unmodInitialPolicies.toString()).append("]\n"); } } /* now, append constraints on all certificates in the path */ - sb.append(" Validity Date: " + String.valueOf(date) + "\n"); - sb.append(" Signature Provider: " + String.valueOf(sigProvider) + "\n"); - sb.append(" Default Revocation Enabled: " + revocationEnabled + "\n"); - sb.append(" Explicit Policy Required: " + explicitPolicyRequired + "\n"); - sb.append(" Policy Mapping Inhibited: " + policyMappingInhibited + "\n"); - sb.append(" Any Policy Inhibited: " + anyPolicyInhibited + "\n"); - sb.append(" Policy Qualifiers Rejected: " + policyQualifiersRejected + "\n"); + sb.append(" Validity Date: ").append(String.valueOf(date)).append("\n"); + sb.append(" Signature Provider: ").append(String.valueOf(sigProvider)).append("\n"); + sb.append(" Default Revocation Enabled: ").append(revocationEnabled).append("\n"); + sb.append(" Explicit Policy Required: ").append(explicitPolicyRequired).append("\n"); + sb.append(" Policy Mapping Inhibited: ").append(policyMappingInhibited).append("\n"); + sb.append(" Any Policy Inhibited: ").append(anyPolicyInhibited).append("\n"); + sb.append(" Policy Qualifiers Rejected: ").append(policyQualifiersRejected).append("\n"); /* now, append target cert requirements */ - sb.append(" Target Cert Constraints: " + String.valueOf(certSelector) + "\n"); + sb.append(" Target Cert Constraints: ").append(String.valueOf(certSelector)).append("\n"); /* finally, append miscellaneous parameters */ if (certPathCheckers != null) - sb.append(" Certification Path Checkers: [" - + certPathCheckers.toString() + "]\n"); + sb.append(" Certification Path Checkers: [").append(certPathCheckers.toString()).append("]\n"); if (certStores != null) - sb.append(" CertStores: [" + certStores.toString() + "]\n"); + sb.append(" CertStores: [").append(certStores.toString()).append("]\n"); sb.append("]"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PolicyQualifierInfo.java --- a/src/share/classes/java/security/cert/PolicyQualifierInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PolicyQualifierInfo.java Sun Aug 10 18:01:59 2014 -0300 @@ -163,9 +163,8 @@ HexDumpEncoder enc = new HexDumpEncoder(); StringBuilder sb = new StringBuilder(); sb.append("PolicyQualifierInfo: [\n"); - sb.append(" qualifierID: " + mId + "\n"); - sb.append(" qualifier: " + - (mData == null ? "null" : enc.encodeBuffer(mData)) + "\n"); + sb.append(" qualifierID: ").append(mId).append("\n"); + sb.append(" qualifier: ").append(mData == null ? "null" : enc.encodeBuffer(mData)).append("\n"); sb.append("]"); pqiString = sb.toString(); return pqiString; diff -r dde9f5cfde5f src/share/classes/java/security/cert/TrustAnchor.java --- a/src/share/classes/java/security/cert/TrustAnchor.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/TrustAnchor.java Sun Aug 10 18:01:59 2014 -0300 @@ -320,14 +320,13 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); if (pubKey != null) { - sb.append(" Trusted CA Public Key: " + pubKey.toString() + "\n"); - sb.append(" Trusted CA Issuer Name: " - + String.valueOf(caName) + "\n"); + sb.append(" Trusted CA Public Key: ").append(pubKey.toString()).append("\n"); + sb.append(" Trusted CA Issuer Name: ").append(String.valueOf(caName)).append("\n"); } else { - sb.append(" Trusted CA cert: " + trustedCert.toString() + "\n"); + sb.append(" Trusted CA cert: ").append(trustedCert.toString()).append("\n"); } if (nc != null) - sb.append(" Name Constraints: " + nc.toString() + "\n"); + sb.append(" Name Constraints: ").append(nc.toString()).append("\n"); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/X509CRLSelector.java --- a/src/share/classes/java/security/cert/X509CRLSelector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/X509CRLSelector.java Sun Aug 10 18:01:59 2014 -0300 @@ -572,16 +572,16 @@ sb.append(" IssuerNames:\n"); Iterator i = issuerNames.iterator(); while (i.hasNext()) - sb.append(" " + i.next() + "\n"); + sb.append(" ").append(i.next()).append("\n"); } if (minCRL != null) - sb.append(" minCRLNumber: " + minCRL + "\n"); + sb.append(" minCRLNumber: ").append(minCRL).append("\n"); if (maxCRL != null) - sb.append(" maxCRLNumber: " + maxCRL + "\n"); + sb.append(" maxCRLNumber: ").append(maxCRL).append("\n"); if (dateAndTime != null) - sb.append(" dateAndTime: " + dateAndTime + "\n"); + sb.append(" dateAndTime: ").append(dateAndTime).append("\n"); if (certChecking != null) - sb.append(" Certificate being checked: " + certChecking + "\n"); + sb.append(" Certificate being checked: ").append(certChecking).append("\n"); sb.append("]"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/X509CertSelector.java --- a/src/share/classes/java/security/cert/X509CertSelector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/X509CertSelector.java Sun Aug 10 18:01:59 2014 -0300 @@ -1814,69 +1814,62 @@ StringBuilder sb = new StringBuilder(); sb.append("X509CertSelector: [\n"); if (x509Cert != null) { - sb.append(" Certificate: " + x509Cert.toString() + "\n"); + sb.append(" Certificate: ").append(x509Cert.toString()).append("\n"); } if (serialNumber != null) { - sb.append(" Serial Number: " + serialNumber.toString() + "\n"); + sb.append(" Serial Number: ").append(serialNumber.toString()).append("\n"); } if (issuer != null) { - sb.append(" Issuer: " + getIssuerAsString() + "\n"); + sb.append(" Issuer: ").append(getIssuerAsString()).append("\n"); } if (subject != null) { - sb.append(" Subject: " + getSubjectAsString() + "\n"); + sb.append(" Subject: ").append(getSubjectAsString()).append("\n"); } - sb.append(" matchAllSubjectAltNames flag: " - + String.valueOf(matchAllSubjectAltNames) + "\n"); + sb.append(" matchAllSubjectAltNames flag: ") + .append(String.valueOf(matchAllSubjectAltNames)) + .append("\n"); if (subjectAlternativeNames != null) { sb.append(" SubjectAlternativeNames:\n"); Iterator> i = subjectAlternativeNames.iterator(); while (i.hasNext()) { List list = i.next(); - sb.append(" type " + list.get(0) + - ", name " + list.get(1) + "\n"); + sb.append(" type ").append(list.get(0)).append(", name ").append(list.get(1)).append("\n"); } } if (subjectKeyID != null) { HexDumpEncoder enc = new HexDumpEncoder(); - sb.append(" Subject Key Identifier: " + - enc.encodeBuffer(subjectKeyID) + "\n"); + sb.append(" Subject Key Identifier: ").append(enc.encodeBuffer(subjectKeyID)).append("\n"); } if (authorityKeyID != null) { HexDumpEncoder enc = new HexDumpEncoder(); - sb.append(" Authority Key Identifier: " + - enc.encodeBuffer(authorityKeyID) + "\n"); + sb.append(" Authority Key Identifier: ").append(enc.encodeBuffer(authorityKeyID)).append("\n"); } if (certificateValid != null) { - sb.append(" Certificate Valid: " + - certificateValid.toString() + "\n"); + sb.append(" Certificate Valid: ").append(certificateValid.toString()).append("\n"); } if (privateKeyValid != null) { - sb.append(" Private Key Valid: " + - privateKeyValid.toString() + "\n"); + sb.append(" Private Key Valid: ").append(privateKeyValid.toString()).append("\n"); } if (subjectPublicKeyAlgID != null) { - sb.append(" Subject Public Key AlgID: " + - subjectPublicKeyAlgID.toString() + "\n"); + sb.append(" Subject Public Key AlgID: ").append(subjectPublicKeyAlgID.toString()).append("\n"); } if (subjectPublicKey != null) { - sb.append(" Subject Public Key: " + - subjectPublicKey.toString() + "\n"); + sb.append(" Subject Public Key: ").append(subjectPublicKey.toString()).append("\n"); } if (keyUsage != null) { - sb.append(" Key Usage: " + keyUsageToString(keyUsage) + "\n"); + sb.append(" Key Usage: ").append(keyUsageToString(keyUsage)).append("\n"); } if (keyPurposeSet != null) { - sb.append(" Extended Key Usage: " + - keyPurposeSet.toString() + "\n"); + sb.append(" Extended Key Usage: ").append(keyPurposeSet.toString()).append("\n"); } if (policy != null) { - sb.append(" Policy: " + policy.toString() + "\n"); + sb.append(" Policy: ").append(policy.toString()).append("\n"); } if (pathToGeneralNames != null) { sb.append(" Path to names:\n"); Iterator i = pathToGeneralNames.iterator(); while (i.hasNext()) { - sb.append(" " + i.next() + "\n"); + sb.append(" ").append(i.next()).append("\n"); } } sb.append("]"); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/rmi/dgc/VMID.java --- a/src/share/classes/java/rmi/dgc/VMID.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/rmi/dgc/VMID.java Sun Aug 10 18:01:59 2014 -0300 @@ -124,8 +124,7 @@ if (addr != null) for (int i = 0; i < addr.length; ++ i) { int x = addr[i] & 0xFF; - sb.append((x < 0x10 ? "0" : "") + - Integer.toString(x, 16)); + sb.append(x < 0x10 ? "0" : "").append(Integer.toString(x, 16)); } sb.append(':'); sb.append(uid.toString()); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/lang/management/MemoryUsage.java --- a/src/share/classes/java/lang/management/MemoryUsage.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/lang/management/MemoryUsage.java Sun Aug 10 18:01:59 2014 -0300 @@ -238,11 +238,10 @@ */ public String toString() { StringBuilder buf = new StringBuilder(); - buf.append("init = " + init + "(" + (init >> 10) + "K) "); - buf.append("used = " + used + "(" + (used >> 10) + "K) "); - buf.append("committed = " + committed + "(" + - (committed >> 10) + "K) " ); - buf.append("max = " + max + "(" + (max >> 10) + "K)"); + buf.append("init = ").append(init).append("(").append(init >> 10).append("K) "); + buf.append("used = ").append(used).append("(").append(used >> 10).append("K) "); + buf.append("committed = ").append(committed).append("(").append(committed >> 10).append("K) "); + buf.append("max = ").append(max).append("(").append(max >> 10).append("K)"); return buf.toString(); } diff -r dde9f5cfde5f src/share/classes/java/lang/management/ThreadInfo.java --- a/src/share/classes/java/lang/management/ThreadInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/lang/management/ThreadInfo.java Sun Aug 10 18:01:59 2014 -0300 @@ -583,11 +583,11 @@ " Id=" + getThreadId() + " " + getThreadState()); if (getLockName() != null) { - sb.append(" on " + getLockName()); + sb.append(" on ").append(getLockName()); } if (getLockOwnerName() != null) { - sb.append(" owned by \"" + getLockOwnerName() + - "\" Id=" + getLockOwnerId()); + sb.append(" owned by \"").append(getLockOwnerName()) + .append("\" Id=").append(getLockOwnerId()); } if (isSuspended()) { sb.append(" (suspended)"); @@ -599,21 +599,21 @@ int i = 0; for (; i < stackTrace.length && i < MAX_FRAMES; i++) { StackTraceElement ste = stackTrace[i]; - sb.append("\tat " + ste.toString()); + sb.append("\tat ").append(ste.toString()); sb.append('\n'); if (i == 0 && getLockInfo() != null) { Thread.State ts = getThreadState(); switch (ts) { case BLOCKED: - sb.append("\t- blocked on " + getLockInfo()); + sb.append("\t- blocked on ").append(getLockInfo()); sb.append('\n'); break; case WAITING: - sb.append("\t- waiting on " + getLockInfo()); + sb.append("\t- waiting on ").append(getLockInfo()); sb.append('\n'); break; case TIMED_WAITING: - sb.append("\t- waiting on " + getLockInfo()); + sb.append("\t- waiting on ").append(getLockInfo()); sb.append('\n'); break; default: @@ -622,7 +622,7 @@ for (MonitorInfo mi : lockedMonitors) { if (mi.getLockedStackDepth() == i) { - sb.append("\t- locked " + mi); + sb.append("\t- locked ").append(mi); sb.append('\n'); } } @@ -634,10 +634,10 @@ LockInfo[] locks = getLockedSynchronizers(); if (locks.length > 0) { - sb.append("\n\tNumber of locked synchronizers = " + locks.length); + sb.append("\n\tNumber of locked synchronizers = ").append(locks.length); sb.append('\n'); for (LockInfo li : locks) { - sb.append("\t- " + li); + sb.append("\t- ").append(li); sb.append('\n'); } } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/DHParameters.java --- a/src/share/classes/com/sun/crypto/provider/DHParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/DHParameters.java Sun Aug 10 18:01:59 2014 -0300 @@ -138,7 +138,7 @@ + LINE_SEP + "g:" + LINE_SEP + Debug.toHexString(this.g)); if (this.l != 0) - sb.append(LINE_SEP + "l:" + LINE_SEP + " " + this.l); + sb.append(LINE_SEP).append("l:").append(LINE_SEP).append(" ").append(this.l); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/DHPublicKey.java --- a/src/share/classes/com/sun/crypto/provider/DHPublicKey.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/DHPublicKey.java Sun Aug 10 18:01:59 2014 -0300 @@ -269,7 +269,7 @@ + LINE_SEP + "g:" + LINE_SEP + Debug.toHexString(this.g)); if (this.l != 0) - sb.append(LINE_SEP + "l:" + LINE_SEP + " " + this.l); + sb.append(LINE_SEP).append("l:").append(LINE_SEP).append(" ").append(this.l); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/GCMParameters.java --- a/src/share/classes/com/sun/crypto/provider/GCMParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/GCMParameters.java Sun Aug 10 18:01:59 2014 -0300 @@ -140,7 +140,7 @@ = new StringBuilder(LINE_SEP + " iv:" + LINE_SEP + "[" + encoder.encodeBuffer(iv) + "]"); - sb.append(LINE_SEP + "tLen(bits):" + LINE_SEP + tLen*8 + LINE_SEP); + sb.append(LINE_SEP).append("tLen(bits):").append(LINE_SEP).append(tLen * 8).append(LINE_SEP); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/OAEPParameters.java --- a/src/share/classes/com/sun/crypto/provider/OAEPParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/OAEPParameters.java Sun Aug 10 18:01:59 2014 -0300 @@ -239,10 +239,9 @@ protected String engineToString() { StringBuilder sb = new StringBuilder(); - sb.append("MD: " + mdName + "\n"); - sb.append("MGF: MGF1" + mgfSpec.getDigestAlgorithm() + "\n"); - sb.append("PSource: PSpecified " + - (p.length==0? "":Debug.toHexString(new BigInteger(p))) + "\n"); + sb.append("MD: ").append(mdName).append("\n"); + sb.append("MGF: MGF1").append(mgfSpec.getDigestAlgorithm()).append("\n"); + sb.append("PSource: PSpecified ").append(p.length == 0 ? "" : Debug.toHexString(new BigInteger(p))).append("\n"); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/RC2Parameters.java --- a/src/share/classes/com/sun/crypto/provider/RC2Parameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/RC2Parameters.java Sun Aug 10 18:01:59 2014 -0300 @@ -221,8 +221,9 @@ + encoder.encodeBuffer(iv) + "]"); if (version != 0) { - sb.append(LINE_SEP + "version:" + LINE_SEP - + version + LINE_SEP); + sb.append(LINE_SEP).append("version:") + .append(LINE_SEP).append(version) + .append(LINE_SEP); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java Sun Aug 10 18:01:59 2014 -0300 @@ -65,7 +65,7 @@ "extractSubNet", "BINARY ARRAY :"); StringBuilder sb = new StringBuilder(); for(int i =0; i < addrLength; i++) { - sb.append((b[i] & 0xFF) + ":"); + sb.append(b[i] & 0xFF).append(":"); } SNMP_LOGGER.logp(Level.FINEST, NetMaskImpl.class.getName(), "extractSubNet", sb.toString()); diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java Sun Aug 10 18:01:59 2014 -0300 @@ -204,7 +204,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java Sun Aug 10 18:01:59 2014 -0300 @@ -379,7 +379,7 @@ } jj_consume_token(DOT); t = jj_consume_token(IDENTIFIER); - jjtn000.name.append( "." + t.image); + jjtn000.name.append(".").append(t.image); } } finally { if (jjtc000) { @@ -408,7 +408,7 @@ } jj_consume_token(DOT); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append(".").append(t.image); } } finally { if (jjtc000) { @@ -454,7 +454,7 @@ } jj_consume_token(MARK); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append(".").append(t.image); } } finally { if (jjtc000) { @@ -483,7 +483,7 @@ } jj_consume_token(DOT); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append(".").append(t.image); } jj_consume_token(MASK); t = jj_consume_token(INTEGER_LITERAL); diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java Sun Aug 10 18:01:59 2014 -0300 @@ -99,7 +99,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java --- a/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java Sun Aug 10 18:01:59 2014 -0300 @@ -479,10 +479,10 @@ */ public String printMessage() { StringBuilder sb = new StringBuilder(); - sb.append("msgId : " + msgId + "\n"); - sb.append("msgMaxSize : " + msgMaxSize + "\n"); - sb.append("msgFlags : " + msgFlags + "\n"); - sb.append("msgSecurityModel : " + msgSecurityModel + "\n"); + sb.append("msgId : ").append(msgId).append("\n"); + sb.append("msgMaxSize : ").append(msgMaxSize).append("\n"); + sb.append("msgFlags : ").append(msgFlags).append("\n"); + sb.append("msgSecurityModel : ").append(msgSecurityModel).append("\n"); if (contextEngineId == null) { sb.append("contextEngineId : null"); diff -r dde9f5cfde5f src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java --- a/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java Sun Aug 10 18:01:59 2014 -0300 @@ -256,7 +256,7 @@ private static String stringifyComponent(NameComponent comp) { StringBuilder one = new StringBuilder(escape(comp.id)); if (comp.kind != null && !comp.kind.equals("")) { - one.append(kindSeparator + escape(comp.kind)); + one.append(kindSeparator).append(escape(comp.kind)); } if (one.length() == 0) { return ""+kindSeparator; // if neither id nor kind specified diff -r dde9f5cfde5f src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java --- a/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Sun Aug 10 18:01:59 2014 -0300 @@ -90,7 +90,7 @@ if (selected == -1) { StringBuilder allChoices = new StringBuilder(); for (int j = 0; j < choices.length; j++) { - allChoices.append(choices[j] + ","); + allChoices.append(choices[j]).append(","); } throw new IOException("Cannot match " + "'java.naming.security.sasl.realm' property value, '" + diff -r dde9f5cfde5f src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java --- a/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java Sun Aug 10 18:01:59 2014 -0300 @@ -167,9 +167,9 @@ for (int i = 0; i < allchannelnames.length; i++) { if ((channelmask & m) != 0L) { if (i < channelnames.length) { - sb.append(channelnames[i] + " "); + sb.append(channelnames[i]).append(" "); } else { - sb.append(allchannelnames[i] + " "); + sb.append(allchannelnames[i]).append(" "); } } m *= 2L; diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java Sun Aug 10 18:01:59 2014 -0300 @@ -235,14 +235,14 @@ String nodeName = att.getNodeName(); if ((nodeName.equals("xmlns") || nodeName.startsWith("xmlns:")) && !storedNamespaces.containsKey(att.getNodeName())) { - sb.append(" " + nodeName + "=\"" + att.getNodeValue() + "\""); + sb.append(" ").append(nodeName).append("=\"").append(att.getNodeValue()).append("\""); storedNamespaces.put(nodeName, att.getNodeValue()); } } } wk = wk.getParentNode(); } - sb.append(">" + source + ""); + sb.append(">").append(source).append(""); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java Sun Aug 10 18:01:59 2014 -0300 @@ -85,7 +85,7 @@ if (prefix.equals("xmlns")) { sb.append("#default "); } else { - sb.append(prefix + " "); + sb.append(prefix).append(" "); } } diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java Sun Aug 10 18:01:59 2014 -0300 @@ -88,7 +88,7 @@ l += countQuotes(DN, j, k); if ((k > 0) && (DN.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(parseRDN(DN.substring(i, k).trim(), toXml) + ","); + sb.append(parseRDN(DN.substring(i, k).trim(), toXml)).append(","); i = k + 1; l = 0; @@ -121,7 +121,7 @@ l += countQuotes(str, j, k); if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(parseATAV(trim(str.substring(i, k)), toXml) + "+"); + sb.append(parseATAV(trim(str.substring(i, k)), toXml)).append("+"); i = k + 1; l = 0; @@ -369,7 +369,7 @@ int k; for (int j = 0; (k = string.indexOf("\\20", j)) >= 0; j = k + 3) { - sb.append(trim(string.substring(i, k)) + "\\ "); + sb.append(trim(string.substring(i, k))).append("\\ "); i = k + 3; } @@ -418,7 +418,7 @@ l += countQuotes(str, j, k); if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(trim(str.substring(i, k)) + replace); + sb.append(trim(str.substring(i, k))).append(replace); i = k + 1; l = 0; diff -r dde9f5cfde5f src/share/classes/com/sun/security/sasl/CramMD5Base.java --- a/src/share/classes/com/sun/security/sasl/CramMD5Base.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/CramMD5Base.java Sun Aug 10 18:01:59 2014 -0300 @@ -196,8 +196,7 @@ for (i = 0; i < digest.length; i++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0" + - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append("0").append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java --- a/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Sun Aug 10 18:01:59 2014 -0300 @@ -391,8 +391,7 @@ for (int i = 0; i < digest.length; i ++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0"+ - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append("0").append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/expr/ParseException.java --- a/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java Sun Aug 10 18:01:59 2014 -0300 @@ -198,7 +198,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java --- a/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Sun Aug 10 18:01:59 2014 -0300 @@ -107,7 +107,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java --- a/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java Sun Aug 10 18:01:59 2014 -0300 @@ -338,10 +338,10 @@ if (classpath.isEmpty()) { String envcp = System.getProperty("env.class.path"); if ((envcp != null) && (envcp.length() > 0)) { - munged.append(" -classpath " + envcp); + munged.append(" -classpath ").append(envcp); } } else { - munged.append(" -classpath " + classpath.asString()); + munged.append(" -classpath ").append(classpath.asString()); } return munged.toString(); } else { diff -r dde9f5cfde5f src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java --- a/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java Sun Aug 10 18:01:59 2014 -0300 @@ -386,37 +386,37 @@ } case 'B': { int val = 0xFF & byteAt(i, value); - result.append("0x" + Integer.toString(val, 16)); + result.append("0x").append(Integer.toString(val, 16)); i++; break; } case 'S': { short val = shortAt(i, value); i += 2; - result.append("" + val); + result.append("").append(val); break; } case 'I': { int val = intAt(i, value); i += 4; - result.append("" + val); + result.append("").append(val); break; } case 'J': { // long long val = longAt(i, value); - result.append("" + val); + result.append("").append(val); i += 8; break; } case 'F': { float val = floatAt(i, value); - result.append("" + val); + result.append("").append(val); i += 4; break; } case 'D': { // double double val = doubleAt(i, value); - result.append("" + val); + result.append("").append(val); i += 8; break; } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/hat/internal/util/Misc.java --- a/src/share/classes/com/sun/tools/hat/internal/util/Misc.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/hat/internal/util/Misc.java Sun Aug 10 18:01:59 2014 -0300 @@ -97,11 +97,11 @@ } else if (ch == '&') { sb.append("&"); } else if (ch < ' ') { - sb.append("&#" + Integer.toString(ch) + ";"); + sb.append("&#").append(Integer.toString(ch)).append(";"); } else { int c = (ch & 0xFFFF); if (c > 127) { - sb.append("&#" + Integer.toString(c) + ";"); + sb.append("&#").append(Integer.toString(c)).append(";"); } else { sb.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java --- a/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Sun Aug 10 18:01:59 2014 -0300 @@ -881,12 +881,12 @@ } else if (tag == JDWP.TypeTag.ARRAY) { sb.append("ArrayType"); } else { - sb.append("UNKNOWN TAG: " + tag); + sb.append("UNKNOWN TAG: ").append(tag); } if (signature != null) { - sb.append(", signature='" + signature + "'"); + sb.append(", signature='").append(signature).append("'"); } - sb.append(", id=" + id); + sb.append(", id=").append(id); vm.printTrace(sb.toString()); } if (id == 0) { From claes.redestad at oracle.com Sun Aug 10 23:03:32 2014 From: claes.redestad at oracle.com (Claes Redestad) Date: Mon, 11 Aug 2014 01:03:32 +0200 Subject: Replace concat String to append in StringBuilder parameters In-Reply-To: References: Message-ID: <53E7FA44.9050207@oracle.com> +1 Some suggestions (mostly nits): - in places like src/share/classes/java/util/regex/Pattern.java you introducesingle-char strings which might use a char instead: - result.append("|"+next); + result.append('|').append(next); - in places like src/share/classes/sun/security/provider/PolicyFile.java you end up with a sequence of String literal appends which could be merged into one: - sb.append(principalInfo[i][0] + " " + - "\"" + principalInfo[i][1] + "\""); + sb.append(principalInfo[i][0]).append(" \"") + .append(principalInfo[i][1]).append('"'); - in some places like src/share/classes/java/text/ChoiceFormat.java you end up doing append(""). I guess the empty string concatenation was used as a form of primitive-to-string coercion and was probably always redundant already, but care needs to be taken that doing the append directly behave as intended. I think it should be safe to just remove the empty string append in most cases: - result.append(""+choiceLimits[i]); + result.append(choiceLimits[i]); Thanks! /Claes On 2014-08-10 23:33, Ot?vio Gon?alves de Santana wrote: > *Motivation:* Make another append instead of concat String inside of append > parameter in StringBuilder class. To avoid an extra StringBuilder created > for the purpose of concatenating. So it will save memory and will faster > than concat String. > Doing a code to benchMark[1], the result is: > > Benchmark Mode Samples > Mean Mean error Units > m.StringBuilderConcatBenchMark.stringBuilder thrpt 10 > 6317444.705 108673.584 ops/s > m.StringBuilderConcatBenchMark.stringBuilderWithConcat thrpt 10 > 3354554.435 68353.924 ops/s > > The webrev of all code is: > https://dl.dropboxusercontent.com/u/16109193/open_jdk/string_builder_concat.zip > > > [1] > > @State(Scope.Thread) > @OutputTimeUnit(TimeUnit.SECONDS) > public class StringBuilderConcatBenchMark { > > > private static final String F = "!!!!"; > private static final String E = " running in Java "; > private static final String D = " in the code "; > private static final String C = " to try impact "; > private static final String B = " with some text "; > private static final String A = "Doing a test"; > > @GenerateMicroBenchmark > public void stringBuilder(BlackHole bh) { > bh.consume(createBuilder(A, B, C, D, E, F)); > } > > @GenerateMicroBenchmark > public void stringBuilderWithConcat(BlackHole bh) { > bh.consume(createBuilderWithConcat(A, B, C, D, E, F)); > } > > private StringBuilder createBuilder(String... values) { > StringBuilder text = new StringBuilder(); > text.append(values[0]).append(values[1]) > .append(values[2]).append(values[3]) > .append(values[4]).append(values[5]); > return text; > } > private StringBuilder createBuilderWithConcat(String... values) { > StringBuilder text = new StringBuilder(); > text.append(values[0] + values[1]) > .append(values[2] + values[3]) > .append(values[4]+ values[5]); > return text; > } > } > From otaviojava at java.net Mon Aug 11 03:29:39 2014 From: otaviojava at java.net (=?UTF-8?Q?Ot=C3=A1vio_Gon=C3=A7alves_de_Santana?=) Date: Mon, 11 Aug 2014 00:29:39 -0300 Subject: Replace concat String to append in StringBuilder parameters In-Reply-To: <53E7FA44.9050207@oracle.com> References: <53E7FA44.9050207@oracle.com> Message-ID: Done. https://dl.dropboxusercontent.com/u/16109193/open_jdk/string_builder_concat_2.zip obs: stay the 2 chars to better performance. On Sun, Aug 10, 2014 at 8:03 PM, Claes Redestad wrote: > +1 > > Some suggestions (mostly nits): > > - in places like src/share/classes/java/util/regex/Pattern.java you > introducesingle-char > strings which might use a char instead: > > - result.append("|"+next); > + result.append('|').append(next); > > - in places like src/share/classes/sun/security/provider/PolicyFile.java > you end up with a sequence of String literal appends which could be > merged into one: > > - sb.append(principalInfo[i][0] + " " + > - "\"" + principalInfo[i][1] + "\""); > + sb.append(principalInfo[i][0]).append(" \"") > + .append(principalInfo[i][1]).append('"'); > > - in some places like src/share/classes/java/text/ChoiceFormat.java > you end up doing append(""). I guess the empty string concatenation was > used as a form > of primitive-to-string coercion and was probably always redundant > already, but care needs > to be taken that doing the append directly behave as intended. > > I think it should be safe to just remove the empty string append in most > cases: > > - result.append(""+choiceLimits[i]); > + result.append(choiceLimits[i]); > > Thanks! > > /Claes > > On 2014-08-10 23:33, Ot?vio Gon?alves de Santana wrote: > >> *Motivation:* Make another append instead of concat String inside of >> append >> >> parameter in StringBuilder class. To avoid an extra StringBuilder created >> for the purpose of concatenating. So it will save memory and will faster >> than concat String. >> Doing a code to benchMark[1], the result is: >> >> Benchmark Mode Samples >> Mean Mean error Units >> m.StringBuilderConcatBenchMark.stringBuilder thrpt 10 >> 6317444.705 108673.584 ops/s >> m.StringBuilderConcatBenchMark.stringBuilderWithConcat thrpt 10 >> 3354554.435 68353.924 ops/s >> >> The webrev of all code is: >> https://dl.dropboxusercontent.com/u/16109193/open_jdk/ >> string_builder_concat.zip >> > builder_concat.zip> >> >> [1] >> >> @State(Scope.Thread) >> @OutputTimeUnit(TimeUnit.SECONDS) >> public class StringBuilderConcatBenchMark { >> >> >> private static final String F = "!!!!"; >> private static final String E = " running in Java "; >> private static final String D = " in the code "; >> private static final String C = " to try impact "; >> private static final String B = " with some text "; >> private static final String A = "Doing a test"; >> >> @GenerateMicroBenchmark >> public void stringBuilder(BlackHole bh) { >> bh.consume(createBuilder(A, B, C, D, E, F)); >> } >> >> @GenerateMicroBenchmark >> public void stringBuilderWithConcat(BlackHole bh) { >> bh.consume(createBuilderWithConcat(A, B, C, D, E, F)); >> } >> >> private StringBuilder createBuilder(String... values) { >> StringBuilder text = new StringBuilder(); >> text.append(values[0]).append(values[1]) >> .append(values[2]).append(values[3]) >> .append(values[4]).append(values[5]); >> return text; >> } >> private StringBuilder createBuilderWithConcat(String... values) { >> StringBuilder text = new StringBuilder(); >> text.append(values[0] + values[1]) >> .append(values[2] + values[3]) >> .append(values[4]+ values[5]); >> return text; >> } >> } >> >> > -- Ot?vio Gon?alves de Santana blog: http://otaviosantana.blogspot.com.br/ twitter: http://twitter.com/otaviojava site: *http://about.me/otaviojava * 55 (11) 98255-3513 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/tools/jconsole/ThreadTab.java --- a/src/share/classes/sun/tools/jconsole/ThreadTab.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/ThreadTab.java Sun Aug 10 22:07:00 2014 -0300 @@ -368,7 +368,7 @@ sb.append(Messages.STACK_TRACE); int index = 0; for (StackTraceElement e : ti.getStackTrace()) { - sb.append(e.toString()+"\n"); + sb.append(e.toString()).append('\n'); if (monitors != null) { for (MonitorInfo mi : monitors) { if (mi.getLockedStackDepth() == index) { diff -r dde9f5cfde5f src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java --- a/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java Sun Aug 10 22:07:00 2014 -0300 @@ -79,25 +79,24 @@ String textColor = String.format("%06x", foreground.getRGB() & 0xFFFFFF); StringBuilder sb = new StringBuilder(); - sb.append(""); + sb.append("
    "); for (int i = 0; i < arr.length; i++) { if (i % 2 == 0) { - sb.append(""); + sb.append(""); } else { - sb.append(""); + sb.append(""); } } if (arr.length == 0) { - sb.append(""); + sb.append(""); } sb.append("
    " +
    -                            (arr[i] == null ?
    -                                arr[i] : htmlize(arr[i].toString())) +
    -                            "
    ")
    +                            .append(arr[i] == null ?
    +                                    arr[i] : htmlize(arr[i].toString()))
    +                            .append("
    " +
    -                            (arr[i] == null ?
    -                                arr[i] : htmlize(arr[i].toString())) +
    -                            "
    ")
    +                            .append(arr[i] == null ?
    +                                    arr[i] : htmlize(arr[i].toString()))
    +                            .append("
    "); arrayEditor.setText(sb.toString()); diff -r dde9f5cfde5f src/share/classes/sun/tools/jconsole/inspector/XTree.java --- a/src/share/classes/sun/tools/jconsole/inspector/XTree.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/inspector/XTree.java Sun Aug 10 22:07:00 2014 -0300 @@ -507,13 +507,13 @@ // key order defined by the "orderedKeyPropertyList" for (String key : orderedKeyPropertyList) { if (map.containsKey(key)) { - sb.append(key + "=" + map.get(key) + ","); + sb.append(key).append('=').append(map.get(key)).append(','); map.remove(key); } } // Add the remaining key/value pairs to the buffer for (Map.Entry entry : map.entrySet()) { - sb.append(entry.getKey() + "=" + entry.getValue() + ","); + sb.append(entry.getKey()).append('=').append(entry.getValue()).append(','); } String orderedKeyPropertyListString = sb.toString(); orderedKeyPropertyListString = orderedKeyPropertyListString.substring( @@ -622,7 +622,7 @@ // StringBuilder sb = new StringBuilder(); for (MBeanParameterInfo mbpi : mboi.getSignature()) { - sb.append(mbpi.getType() + ","); + sb.append(mbpi.getType()).append(','); } String signature = sb.toString(); if (signature.length() > 0) { diff -r dde9f5cfde5f src/share/classes/sun/tools/jps/Jps.java --- a/src/share/classes/sun/tools/jps/Jps.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jps/Jps.java Sun Aug 10 22:07:00 2014 -0300 @@ -92,28 +92,28 @@ vm = monitoredHost.getMonitoredVm(id, 0); errorString = " -- main class information unavailable"; - output.append(" " + MonitoredVmUtil.mainClass(vm, + output.append(' ').append(MonitoredVmUtil.mainClass(vm, arguments.showLongPaths())); if (arguments.showMainArgs()) { errorString = " -- main args information unavailable"; String mainArgs = MonitoredVmUtil.mainArgs(vm); if (mainArgs != null && mainArgs.length() > 0) { - output.append(" " + mainArgs); + output.append(' ').append(mainArgs); } } if (arguments.showVmArgs()) { errorString = " -- jvm args information unavailable"; String jvmArgs = MonitoredVmUtil.jvmArgs(vm); if (jvmArgs != null && jvmArgs.length() > 0) { - output.append(" " + jvmArgs); + output.append(' ').append(jvmArgs); } } if (arguments.showVmFlags()) { errorString = " -- jvm flags information unavailable"; String jvmFlags = MonitoredVmUtil.jvmFlags(vm); if (jvmFlags != null && jvmFlags.length() > 0) { - output.append(" " + jvmFlags); + output.append(' ').append(jvmFlags); } } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstat/RawOutputFormatter.java --- a/src/share/classes/sun/tools/jstat/RawOutputFormatter.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstat/RawOutputFormatter.java Sun Aug 10 22:07:00 2014 -0300 @@ -50,7 +50,7 @@ StringBuilder headerBuilder = new StringBuilder(); for (Iterator i = logged.iterator(); i.hasNext(); /* empty */ ) { Monitor m = i.next(); - headerBuilder.append(m.getName() + " "); + headerBuilder.append(m.getName()).append(' '); } header = headerBuilder.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstat/SyntaxException.java --- a/src/share/classes/sun/tools/jstat/SyntaxException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstat/SyntaxException.java Sun Aug 10 22:07:00 2014 -0300 @@ -65,7 +65,7 @@ public SyntaxException(int lineno, Set expected, Token found) { StringBuilder msg = new StringBuilder(); - msg.append("Syntax error at line " + lineno + ": Expected one of \'"); + msg.append("Syntax error at line ").append(lineno).append(": Expected one of \'"); boolean first = true; for (Iterator i = expected.iterator(); i.hasNext(); /* empty */) { @@ -74,11 +74,11 @@ msg.append(keyWord); first = false; } else { - msg.append("|" + keyWord); + msg.append('|').append(keyWord); } } - msg.append("\', Found " + found.toMessage()); + msg.append("\', Found ").append(found.toMessage()); message = msg.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstat/Token.java --- a/src/share/classes/sun/tools/jstat/Token.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstat/Token.java Sun Aug 10 22:07:00 2014 -0300 @@ -89,18 +89,18 @@ sb.append("ttype=TT_EOF"); break; case StreamTokenizer.TT_NUMBER: - sb.append("ttype=TT_NUM,").append("nval="+nval); + sb.append("ttype=TT_NUM,").append("nval=").append(nval); break; case StreamTokenizer.TT_WORD: if (sval == null) { sb.append("ttype=TT_WORD:IDENTIFIER"); } else { - sb.append("ttype=TT_WORD:").append("sval="+sval); + sb.append("ttype=TT_WORD:").append("sval=").append(sval); } break; default: if (ttype == (int)'"') { - sb.append("ttype=TT_STRING:").append("sval="+sval); + sb.append("ttype=TT_STRING:").append("sval=").append(sval); } else { sb.append("ttype=TT_CHAR:").append((char)ttype); } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstatd/RemoteHostImpl.java --- a/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java Sun Aug 10 22:07:00 2014 -0300 @@ -68,7 +68,7 @@ sb.append("local://").append(lvmid).append("@localhost"); if (mode != null) { - sb.append("?mode=" + mode); + sb.append("?mode=").append(mode); } String vmidStr = sb.toString(); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/security/acl/AclEntryImpl.java --- a/src/share/classes/sun/security/acl/AclEntryImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/acl/AclEntryImpl.java Sun Aug 10 22:07:00 2014 -0300 @@ -147,13 +147,13 @@ s.append("Group."); else s.append("User."); - s.append(user + "="); + s.append(user).append('='); Enumeration e = permissions(); while(e.hasMoreElements()) { Permission p = e.nextElement(); s.append(p); if (e.hasMoreElements()) - s.append(","); + s.append(','); } return new String(s); } diff -r dde9f5cfde5f src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java --- a/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java Sun Aug 10 22:07:00 2014 -0300 @@ -640,8 +640,7 @@ for (int i = 0; i < digest.length; i++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0" + - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/sun/security/pkcs/SigningCertificateInfo.java --- a/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java Sun Aug 10 22:07:00 2014 -0300 @@ -158,8 +158,8 @@ } sb.append(hexDumper.encode(certHash)); if (issuer != null && serialNumber != null) { - sb.append("\n\tIssuer: " + issuer + "\n"); - sb.append("\t" + serialNumber); + sb.append("\n\tIssuer: ").append(issuer).append('\n'); + sb.append('\t').append(serialNumber); } sb.append("\n]"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/pkcs11/P11KeyStore.java --- a/src/share/classes/sun/security/pkcs11/P11KeyStore.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/pkcs11/P11KeyStore.java Sun Aug 10 22:07:00 2014 -0300 @@ -196,24 +196,24 @@ } else if (type == ATTR_CLASS_CERT) { sb.append("\ttype=[trusted cert]\n"); } - sb.append("\tlabel=[" + label + "]\n"); + sb.append("\tlabel=[").append(label).append("]\n"); if (id == null) { sb.append("\tid=[null]\n"); } else { - sb.append("\tid=" + P11KeyStore.getID(id) + "\n"); + sb.append("\tid=").append(P11KeyStore.getID(id)).append('\n'); } - sb.append("\ttrusted=[" + trusted + "]\n"); - sb.append("\tmatched=[" + matched + "]\n"); + sb.append("\ttrusted=[").append(trusted).append("]\n"); + sb.append("\tmatched=[").append(matched).append("]\n"); if (cert == null) { sb.append("\tcert=[null]\n"); } else { - sb.append("\tcert=[\tsubject: " + - cert.getSubjectX500Principal() + - "\n\t\tissuer: " + - cert.getIssuerX500Principal() + - "\n\t\tserialNum: " + - cert.getSerialNumber().toString() + - "]"); + sb.append("\tcert=[\tsubject: ") + .append(cert.getSubjectX500Principal()) + .append("\n\t\tissuer: ") + .append(cert.getIssuerX500Principal()) + .append("\n\t\tserialNum: ") + .append(cert.getSerialNumber().toString()) + .append(']'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/PolicyFile.java --- a/src/share/classes/sun/security/provider/PolicyFile.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/PolicyFile.java Sun Aug 10 22:07:00 2014 -0300 @@ -1500,8 +1500,7 @@ if (i != 0) { sb.append(", "); } - sb.append(principalInfo[i][0] + " " + - "\"" + principalInfo[i][1] + "\""); + sb.append(principalInfo[i][0]).append(' ').append('\"').append(principalInfo[i][1]).append('\"'); } if (pli.hasNext()) { sb.append(", "); @@ -1776,13 +1775,13 @@ if (principals != null && principals.length > 0) { StringBuilder palBuf = new StringBuilder("(principals "); for (int i = 0; i < principals.length; i++) { - palBuf.append(principals[i].getClass().getName() + - " \"" + principals[i].getName() + - "\""); + palBuf.append(principals[i].getClass().getName()) + .append(" \"").append(principals[i].getName()) + .append('\"'); if (i < principals.length-1) palBuf.append(", "); else - palBuf.append(")"); + palBuf.append(')'); } pals = palBuf.toString(); } @@ -1884,7 +1883,7 @@ throw new Exception(form.format(source)); } - sb.append(X500PRINCIPAL + " \"" + suffix + "\""); + sb.append(X500PRINCIPAL).append(" \"").append(suffix).append('\"'); startIndex = e+2; } else { MessageFormat form = new MessageFormat diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/CertId.java --- a/src/share/classes/sun/security/provider/certpath/CertId.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/CertId.java Sun Aug 10 22:07:00 2014 -0300 @@ -223,13 +223,13 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("CertId \n"); - sb.append("Algorithm: " + hashAlgId.toString() +"\n"); + sb.append("Algorithm: ").append(hashAlgId.toString()).append('\n'); sb.append("issuerNameHash \n"); HexDumpEncoder encoder = new HexDumpEncoder(); sb.append(encoder.encode(issuerNameHash)); sb.append("\nissuerKeyHash: \n"); sb.append(encoder.encode(issuerKeyHash)); - sb.append("\n" + certSerialNumber.toString()); + sb.append('\n').append(certSerialNumber.toString()); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/OCSPResponse.java --- a/src/share/classes/sun/security/provider/certpath/OCSPResponse.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/OCSPResponse.java Sun Aug 10 22:07:00 2014 -0300 @@ -812,14 +812,14 @@ StringBuilder sb = new StringBuilder(); sb.append("SingleResponse: \n"); sb.append(certId); - sb.append("\nCertStatus: "+ certStatus + "\n"); + sb.append("\nCertStatus: ").append(certStatus).append('\n'); if (certStatus == CertStatus.REVOKED) { - sb.append("revocationTime is " + revocationTime + "\n"); - sb.append("revocationReason is " + revocationReason + "\n"); + sb.append("revocationTime is ").append(revocationTime).append('\n'); + sb.append("revocationReason is ").append(revocationReason).append('\n'); } - sb.append("thisUpdate is " + thisUpdate + "\n"); + sb.append("thisUpdate is ").append(thisUpdate).append('\n'); if (nextUpdate != null) { - sb.append("nextUpdate is " + nextUpdate + "\n"); + sb.append("nextUpdate is ").append(nextUpdate).append('\n'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java --- a/src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java Sun Aug 10 22:07:00 2014 -0300 @@ -124,7 +124,7 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); sb.append(super.toString()); - sb.append(" Build Forward Flag: " + String.valueOf(buildForward) + "\n"); + sb.append(" Build Forward Flag: ").append(String.valueOf(buildForward)).append('\n'); sb.append("]\n"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/HandshakeMessage.java --- a/src/share/classes/sun/security/ssl/HandshakeMessage.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/HandshakeMessage.java Sun Aug 10 22:07:00 2014 -0300 @@ -1478,7 +1478,7 @@ boolean opened = false; for (SignatureAndHashAlgorithm signAlg : algorithms) { if (opened) { - sb.append(", " + signAlg.getAlgorithmName()); + sb.append(", ").append(signAlg.getAlgorithmName()); } else { sb.append(signAlg.getAlgorithmName()); opened = true; diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/ServerNameExtension.java --- a/src/share/classes/sun/security/ssl/ServerNameExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/ServerNameExtension.java Sun Aug 10 22:07:00 2014 -0300 @@ -268,7 +268,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); for (SNIServerName sniName : sniMap.values()) { - sb.append("[" + sniName + "]"); + sb.append('[').append(sniName).append(']'); } return "Extension " + type + ", server_name: " + sb; diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java --- a/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Sun Aug 10 22:07:00 2014 -0300 @@ -122,7 +122,7 @@ boolean opened = false; for (SignatureAndHashAlgorithm signAlg : algorithms) { if (opened) { - sb.append(", " + signAlg.getAlgorithmName()); + sb.append(", ").append(signAlg.getAlgorithmName()); } else { sb.append(signAlg.getAlgorithmName()); opened = true; diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java --- a/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Sun Aug 10 22:07:00 2014 -0300 @@ -113,7 +113,7 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("Extension " + type + ", curve names: {"); + sb.append("Extension ").append(type).append(", curve names: {"); boolean first = true; for (int curveId : curveIds) { if (first) { @@ -138,7 +138,7 @@ } else if (curveId == ARBITRARY_CHAR2) { sb.append("arbitrary_explicit_char2_curves"); } else { - sb.append("unknown curve " + curveId); + sb.append("unknown curve ").append(curveId); } } sb.append("}"); diff -r dde9f5cfde5f src/share/classes/sun/security/tools/jarsigner/Main.java --- a/src/share/classes/sun/security/tools/jarsigner/Main.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/tools/jarsigner/Main.java Sun Aug 10 22:07:00 2014 -0300 @@ -676,14 +676,13 @@ ((man.getAttributes(name) != null) || (man.getAttributes("./"+name) != null) || (man.getAttributes("/"+name) != null)); - sb.append( - (isSigned ? rb.getString("s") : rb.getString("SPACE")) + - (inManifest ? rb.getString("m") : rb.getString("SPACE")) + - (inStore ? rb.getString("k") : rb.getString("SPACE")) + - (inScope ? rb.getString("i") : rb.getString("SPACE")) + - ((inStoreOrScope & NOT_ALIAS) != 0 ?"X":" ") + - rb.getString("SPACE")); - sb.append("|"); + sb.append(isSigned ? rb.getString("s") : rb.getString("SPACE")) + .append(inManifest ? rb.getString("m") : rb.getString("SPACE")) + .append(inStore ? rb.getString("k") : rb.getString("SPACE")) + .append(inScope ? rb.getString("i") : rb.getString("SPACE")) + .append((inStoreOrScope & NOT_ALIAS) != 0 ? 'X' : ' ') + .append(rb.getString("SPACE")); + sb.append('|'); } // When -certs provided, display info has extra empty @@ -704,11 +703,11 @@ // Print no info for unsigned entries when -verbose:all, // to be consistent with old behavior. if (signatureRelated(name)) { - sb.append("\n" + tab + rb.getString( - ".Signature.related.entries.") + "\n\n"); + sb.append('\n').append(tab).append(rb.getString( + ".Signature.related.entries.")).append("\n\n"); } else { - sb.append("\n" + tab + rb.getString( - ".Unsigned.entries.") + "\n\n"); + sb.append('\n').append(tab).append(rb.getString( + ".Unsigned.entries.")).append("\n\n"); } } @@ -1605,8 +1604,8 @@ // No more warning, we alreay have hasExpiredCert or notYetValidCert } else { chainNotValidated = true; - sb.append(tab + rb.getString(".CertPath.not.validated.") + - e.getLocalizedMessage() + "]\n"); // TODO + sb.append(tab).append(rb.getString(".CertPath.not.validated.")) + .append(e.getLocalizedMessage()).append("]\n"); // TODO } } String result = sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/tools/policytool/PolicyTool.java --- a/src/share/classes/sun/security/tools/policytool/PolicyTool.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/tools/policytool/PolicyTool.java Sun Aug 10 22:07:00 2014 -0300 @@ -980,8 +980,9 @@ grantEntry.principals.listIterator(); while (list.hasNext()) { PolicyParser.PrincipalEntry pppe = list.next(); - sb.append(" Principal " + pppe.getDisplayClass() + " " + - pppe.getDisplayName(true)); + sb.append(" Principal ").append(pppe.getDisplayClass()) + .append(' ') + .append(pppe.getDisplayName(true)); if (list.hasNext()) sb.append(", "); } result = sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/AVA.java --- a/src/share/classes/sun/security/x509/AVA.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/AVA.java Sun Aug 10 22:07:00 2014 -0300 @@ -1147,7 +1147,7 @@ // Emit the string ... quote it if needed // if string is already quoted, don't re-quote if (!alreadyQuoted && quoteNeeded) { - retval.append("\"" + sbuffer.toString() + "\""); + retval.append('\"').append(sbuffer.toString()).append('\"'); } else { retval.append(sbuffer.toString()); } diff -r dde9f5cfde5f src/share/classes/sun/security/x509/DistributionPoint.java --- a/src/share/classes/sun/security/x509/DistributionPoint.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/DistributionPoint.java Sun Aug 10 22:07:00 2014 -0300 @@ -381,22 +381,22 @@ public String toString() { StringBuilder sb = new StringBuilder(); if (fullName != null) { - sb.append("DistributionPoint:\n " + fullName + "\n"); + sb.append("DistributionPoint:\n ").append(fullName).append('\n'); } if (relativeName != null) { - sb.append("DistributionPoint:\n " + relativeName + "\n"); + sb.append("DistributionPoint:\n ").append(relativeName).append('\n'); } if (reasonFlags != null) { sb.append(" ReasonFlags:\n"); for (int i = 0; i < reasonFlags.length; i++) { if (reasonFlags[i]) { - sb.append(" " + reasonToString(i) + "\n"); + sb.append(" ").append(reasonToString(i)).append('\n'); } } } if (crlIssuer != null) { - sb.append(" CRLIssuer:" + crlIssuer + "\n"); + sb.append(" CRLIssuer:").append(crlIssuer).append('\n'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/x509/DistributionPointName.java --- a/src/share/classes/sun/security/x509/DistributionPointName.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/DistributionPointName.java Sun Aug 10 22:07:00 2014 -0300 @@ -231,10 +231,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); if (fullName != null) { - sb.append("DistributionPointName:\n " + fullName + "\n"); + sb.append("DistributionPointName:\n ").append(fullName).append('\n'); } else { - sb.append("DistributionPointName:\n " + relativeName + "\n"); + sb.append("DistributionPointName:\n ").append(relativeName).append('\n'); } return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/PolicyInformation.java --- a/src/share/classes/sun/security/x509/PolicyInformation.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/PolicyInformation.java Sun Aug 10 22:07:00 2014 -0300 @@ -259,7 +259,7 @@ */ public String toString() { StringBuilder s = new StringBuilder(" [" + policyIdentifier.toString()); - s.append(policyQualifiers + " ]\n"); + s.append(policyQualifiers).append(" ]\n"); return s.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CRLEntryImpl.java --- a/src/share/classes/sun/security/x509/X509CRLEntryImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CRLEntryImpl.java Sun Aug 10 22:07:00 2014 -0300 @@ -292,17 +292,17 @@ StringBuilder sb = new StringBuilder(); sb.append(serialNumber.toString()); - sb.append(" On: " + revocationDate.toString()); + sb.append(" On: ").append(revocationDate.toString()); if (certIssuer != null) { - sb.append("\n Certificate issuer: " + certIssuer); + sb.append("\n Certificate issuer: ").append(certIssuer); } if (extensions != null) { Collection allEntryExts = extensions.getAllExtensions(); Extension[] exts = allEntryExts.toArray(new Extension[0]); - sb.append("\n CRL Entry Extensions: " + exts.length); + sb.append("\n CRL Entry Extensions: ").append(exts.length); for (int i = 0; i < exts.length; i++) { - sb.append("\n [" + (i+1) + "]: "); + sb.append("\n [").append(i + 1).append("]: "); Extension ext = exts[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -313,9 +313,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append('\n'); } } else sb.append(ext.toString()); //sub-class exists diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CRLImpl.java --- a/src/share/classes/sun/security/x509/X509CRLImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CRLImpl.java Sun Aug 10 22:07:00 2014 -0300 @@ -537,31 +537,32 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("X.509 CRL v" + (version+1) + "\n"); + sb.append("X.509 CRL v").append(version + 1).append("\n"); if (sigAlgId != null) - sb.append("Signature Algorithm: " + sigAlgId.toString() + - ", OID=" + (sigAlgId.getOID()).toString() + "\n"); + sb.append("Signature Algorithm: ").append(sigAlgId.toString()) + .append(", OID=") + .append((sigAlgId.getOID()).toString()).append('\n'); if (issuer != null) - sb.append("Issuer: " + issuer.toString() + "\n"); + sb.append("Issuer: ").append(issuer.toString()).append('\n'); if (thisUpdate != null) - sb.append("\nThis Update: " + thisUpdate.toString() + "\n"); + sb.append("\nThis Update: ").append(thisUpdate.toString()).append('\n'); if (nextUpdate != null) - sb.append("Next Update: " + nextUpdate.toString() + "\n"); + sb.append("Next Update: ").append(nextUpdate.toString()).append('\n'); if (revokedList.isEmpty()) sb.append("\nNO certificates have been revoked\n"); else { - sb.append("\nRevoked Certificates: " + revokedList.size()); + sb.append("\nRevoked Certificates: ").append(revokedList.size()); int i = 1; for (X509CRLEntry entry: revokedList) { - sb.append("\n[" + i++ + "] " + entry.toString()); + sb.append("\n[").append(i++).append("] ").append(entry.toString()); } } if (extensions != null) { Collection allExts = extensions.getAllExtensions(); Object[] objs = allExts.toArray(); - sb.append("\nCRL Extensions: " + objs.length); + sb.append("\nCRL Extensions: ").append(objs.length); for (int i = 0; i < objs.length; i++) { - sb.append("\n[" + (i+1) + "]: "); + sb.append("\n[").append(i + 1).append("]: "); Extension ext = (Extension)objs[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -572,9 +573,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append('\n'); } } else sb.append(ext.toString()); // sub-class exists @@ -585,8 +585,7 @@ } if (signature != null) { HexDumpEncoder encoder = new HexDumpEncoder(); - sb.append("\nSignature:\n" + encoder.encodeBuffer(signature) - + "\n"); + sb.append("\nSignature:\n").append(encoder.encodeBuffer(signature)).append('\n'); } else sb.append("NOT signed yet\n"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CertImpl.java --- a/src/share/classes/sun/security/x509/X509CertImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CertImpl.java Sun Aug 10 22:07:00 2014 -0300 @@ -802,11 +802,11 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); - sb.append(info.toString() + "\n"); - sb.append(" Algorithm: [" + algId.toString() + "]\n"); + sb.append(info.toString()).append('\n'); + sb.append(" Algorithm: [").append(algId.toString()).append("]\n"); HexDumpEncoder encoder = new HexDumpEncoder(); - sb.append(" Signature:\n" + encoder.encodeBuffer(signature)); + sb.append(" Signature:\n").append(encoder.encodeBuffer(signature)); sb.append("\n]"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CertInfo.java --- a/src/share/classes/sun/security/x509/X509CertInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CertInfo.java Sun Aug 10 22:07:00 2014 -0300 @@ -298,27 +298,27 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); - sb.append(" " + version.toString() + "\n"); - sb.append(" Subject: " + subject.toString() + "\n"); - sb.append(" Signature Algorithm: " + algId.toString() + "\n"); - sb.append(" Key: " + pubKey.toString() + "\n"); - sb.append(" " + interval.toString() + "\n"); - sb.append(" Issuer: " + issuer.toString() + "\n"); - sb.append(" " + serialNum.toString() + "\n"); + sb.append(" ").append(version.toString()).append('\n'); + sb.append(" Subject: ").append(subject.toString()).append('\n'); + sb.append(" Signature Algorithm: ").append(algId.toString()).append('\n'); + sb.append(" Key: ").append(pubKey.toString()).append('\n'); + sb.append(" ").append(interval.toString()).append('\n'); + sb.append(" Issuer: ").append(issuer.toString()).append('\n'); + sb.append(" ").append(serialNum.toString()).append('\n'); // optional v2, v3 extras if (issuerUniqueId != null) { - sb.append(" Issuer Id:\n" + issuerUniqueId.toString() + "\n"); + sb.append(" Issuer Id:\n").append(issuerUniqueId.toString()).append('\n'); } if (subjectUniqueId != null) { - sb.append(" Subject Id:\n" + subjectUniqueId.toString() + "\n"); + sb.append(" Subject Id:\n").append(subjectUniqueId.toString()).append('\n'); } if (extensions != null) { Collection allExts = extensions.getAllExtensions(); Extension[] exts = allExts.toArray(new Extension[0]); - sb.append("\nCertificate Extensions: " + exts.length); + sb.append("\nCertificate Extensions: ").append(exts.length); for (int i = 0; i < exts.length; i++) { - sb.append("\n[" + (i+1) + "]: "); + sb.append("\n[").append(i + 1).append("]: "); Extension ext = exts[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -329,9 +329,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append('\n'); } } else sb.append(ext.toString()); //sub-class exists @@ -341,10 +340,10 @@ } Map invalid = extensions.getUnparseableExtensions(); if (invalid.isEmpty() == false) { - sb.append("\nUnparseable certificate extensions: " + invalid.size()); + sb.append("\nUnparseable certificate extensions: ").append(invalid.size()); int i = 1; for (Extension ext : invalid.values()) { - sb.append("\n[" + (i++) + "]: "); + sb.append("\n[").append(i++).append("]: "); sb.append(ext); } } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java --- a/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Sun Aug 10 22:07:00 2014 -0300 @@ -465,10 +465,10 @@ private static void appendIfLiteralAddress(String addr, StringBuffer sb) { if (IPAddressUtil.isIPv4LiteralAddress(addr)) { - sb.append("dns://" + addr + " "); + sb.append("dns://").append(addr).append(' '); } else { if (IPAddressUtil.isIPv6LiteralAddress(addr)) { - sb.append("dns://[" + addr + "] "); + sb.append("dns://[").append(addr).append("] "); } } } diff -r dde9f5cfde5f src/share/classes/sun/net/www/HeaderParser.java --- a/src/share/classes/sun/net/www/HeaderParser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/HeaderParser.java Sun Aug 10 22:07:00 2014 -0300 @@ -221,16 +221,16 @@ public String toString () { Iterator k = keys(); StringBuffer sbuf = new StringBuffer(); - sbuf.append ("{size="+asize+" nkeys="+nkeys+" "); + sbuf.append("{size=").append(asize).append(" nkeys=").append(nkeys).append(' '); for (int i=0; k.hasNext(); i++) { String key = k.next(); String val = findValue (i); if (val != null && "".equals (val)) { val = null; } - sbuf.append (" {"+key+(val==null?"":","+val)+"}"); + sbuf.append(" {").append(key).append(val == null ? "" : "," + val).append('}'); if (k.hasNext()) { - sbuf.append (","); + sbuf.append (','); } } sbuf.append (" }"); diff -r dde9f5cfde5f src/share/classes/sun/net/www/MimeEntry.java --- a/src/share/classes/sun/net/www/MimeEntry.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/MimeEntry.java Sun Aug 10 22:07:00 2014 -0300 @@ -288,7 +288,7 @@ int action = getAction(); if (action != MimeEntry.UNKNOWN) { - sb.append("action=" + actionKeywords[action]); + sb.append("action=").append(actionKeywords[action]); needSeparator = true; } @@ -297,7 +297,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("application=" + command); + sb.append("application=").append(command); needSeparator = true; } @@ -305,7 +305,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("icon=" + getImageFileName()); + sb.append("icon=").append(getImageFileName()); needSeparator = true; } @@ -314,7 +314,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("file_extensions=" + extensions); + sb.append("file_extensions=").append(extensions); needSeparator = true; } @@ -323,7 +323,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("description=" + description); + sb.append("description=").append(description); } return sb.toString(); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/management/Agent.java --- a/src/share/classes/sun/management/Agent.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/management/Agent.java Sun Aug 10 22:07:00 2014 -0300 @@ -502,7 +502,7 @@ } else { StringBuilder message = new StringBuilder(params[0]); for (int i = 1; i < params.length; i++) { - message.append(" " + params[i]); + message.append(' ').append(params[i]); } error(key, message.toString()); } diff -r dde9f5cfde5f src/share/classes/sun/management/MappedMXBeanType.java --- a/src/share/classes/sun/management/MappedMXBeanType.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/management/MappedMXBeanType.java Sun Aug 10 22:07:00 2014 -0300 @@ -289,7 +289,7 @@ if (et.isPrimitive()) { className = new StringBuilder(c.getName()); } else { - className.append("L" + baseElementType.getTypeName() + ";"); + className.append('L').append(baseElementType.getTypeName()).append(';'); } try { mappedTypeClass = Class.forName(className.toString()); @@ -385,7 +385,7 @@ if (elementType instanceof Class && ((Class) elementType).isPrimitive()) { className = new StringBuilder(gat.toString()); } else { - className.append("L" + baseElementType.getTypeName() + ";"); + className.append('L').append(baseElementType.getTypeName()).append(';'); } try { mappedTypeClass = Class.forName(className.toString()); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/launcher/LauncherHelper.java --- a/src/share/classes/sun/launcher/LauncherHelper.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/launcher/LauncherHelper.java Sun Aug 10 22:07:00 2014 -0300 @@ -370,8 +370,7 @@ outBuf = outBuf.append(getLocalizedMessage("java.launcher.ergo.message1", vm)); outBuf = (isServerClass) - ? outBuf.append(",\n" + - getLocalizedMessage("java.launcher.ergo.message2") + "\n\n") + ? outBuf.append(",\n").append(getLocalizedMessage("java.launcher.ergo.message2")).append("\n\n") : outBuf.append(".\n\n"); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/font/AttributeValues.java --- a/src/share/classes/sun/font/AttributeValues.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/AttributeValues.java Sun Aug 10 22:06:59 2014 -0300 @@ -542,7 +542,7 @@ } } } - b.append("[btx=" + baselineTransform + ", ctx=" + charTransform + "]"); + b.append("[btx=").append(baselineTransform).append(", ctx=").append(charTransform).append(']'); b.append('}'); return b.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/font/Decoration.java --- a/src/share/classes/sun/font/Decoration.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/Decoration.java Sun Aug 10 22:06:59 2014 -0300 @@ -431,12 +431,12 @@ StringBuilder sb = new StringBuilder(); sb.append(super.toString()); sb.append("["); - if (fgPaint != null) sb.append("fgPaint: " + fgPaint); - if (bgPaint != null) sb.append(" bgPaint: " + bgPaint); + if (fgPaint != null) sb.append("fgPaint: ").append(fgPaint); + if (bgPaint != null) sb.append(" bgPaint: ").append(bgPaint); if (swapColors) sb.append(" swapColors: true"); if (strikethrough) sb.append(" strikethrough: true"); - if (stdUnderline != null) sb.append(" stdUnderline: " + stdUnderline); - if (imUnderline != null) sb.append(" imUnderline: " + imUnderline); + if (stdUnderline != null) sb.append(" stdUnderline: ").append(stdUnderline); + if (imUnderline != null) sb.append(" imUnderline: ").append(imUnderline); sb.append("]"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/font/StandardGlyphVector.java --- a/src/share/classes/sun/font/StandardGlyphVector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/StandardGlyphVector.java Sun Aug 10 22:06:59 2014 -0300 @@ -1894,9 +1894,9 @@ } } catch(Exception e) { - buf.append(" " + e.getMessage()); + buf.append(' ').append(e.getMessage()); } - buf.append("}"); + buf.append('}'); return buf; } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/swing/GroupLayout.java --- a/src/share/classes/javax/swing/GroupLayout.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/GroupLayout.java Sun Aug 10 22:06:59 2014 -0300 @@ -1239,15 +1239,12 @@ padding = ", userCreated=" + paddingSpring.getUserCreated() + ", matches=" + paddingSpring.getMatchDescription(); } - buffer.append(indent + spring.getClass().getName() + " " + - Integer.toHexString(spring.hashCode()) + " " + - origin + - ", size=" + spring.getSize() + - ", alignment=" + spring.getAlignment() + - " prefs=[" + spring.getMinimumSize(axis) + - " " + spring.getPreferredSize(axis) + - " " + spring.getMaximumSize(axis) + - padding + "]\n"); + buffer.append(indent).append(spring.getClass().getName()) + .append(' ').append(Integer.toHexString(spring.hashCode())).append(' ') + .append(origin).append(", size=").append(spring.getSize()).append(", alignment=") + .append(spring.getAlignment()).append(" prefs=[").append(spring.getMinimumSize(axis)).append(' ') + .append(spring.getPreferredSize(axis)).append(' ').append(spring.getMaximumSize(axis)) + .append(padding).append("]\n"); if (spring instanceof Group) { List springs = ((Group)spring).springs; indent += " "; diff -r dde9f5cfde5f src/share/classes/javax/swing/JColorChooser.java --- a/src/share/classes/javax/swing/JColorChooser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/JColorChooser.java Sun Aug 10 22:06:59 2014 -0300 @@ -545,8 +545,7 @@ protected String paramString() { StringBuilder chooserPanelsString = new StringBuilder(""); for (int i=0; i keys = keys(); while (keys.hasMoreElements()) { Object key = keys.nextElement(); - sb.append(key + "=" + get(key) + ", "); + sb.append(key).append('=').append(get(key)).append(", "); } int length = sb.length(); if (length > 1) { sb.delete(length-2, length); } - sb.append("}"); + sb.append('}'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/javax/swing/RepaintManager.java --- a/src/share/classes/javax/swing/RepaintManager.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/RepaintManager.java Sun Aug 10 22:06:59 2014 -0300 @@ -992,7 +992,7 @@ public synchronized String toString() { StringBuilder sb = new StringBuilder(); if(dirtyComponents != null) - sb.append("" + dirtyComponents); + sb.append(dirtyComponents); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/javax/swing/event/TreeModelEvent.java --- a/src/share/classes/javax/swing/event/TreeModelEvent.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/event/TreeModelEvent.java Sun Aug 10 22:06:59 2014 -0300 @@ -294,21 +294,20 @@ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append(getClass().getName() + " " + - Integer.toString(hashCode())); + sb.append(getClass().getName()).append(" ").append(Integer.toString(hashCode())); if(path != null) - sb.append(" path " + path); + sb.append(" path ").append(path); if(childIndices != null) { sb.append(" indices [ "); for(int counter = 0; counter < childIndices.length; counter++) - sb.append(Integer.toString(childIndices[counter])+ " "); - sb.append("]"); + sb.append(Integer.toString(childIndices[counter])).append(' '); + sb.append(']'); } if(children != null) { sb.append(" children [ "); for(int counter = 0; counter < children.length; counter++) - sb.append(children[counter] + " "); - sb.append("]"); + sb.append(children[counter]).append(' '); + sb.append(']'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java Sun Aug 10 22:06:59 2014 -0300 @@ -1330,8 +1330,8 @@ for (Object obj : values) { String val = ((obj == null) ? "" : obj.toString()); - plainBuf.append(val + "\n"); - htmlBuf.append("
  • " + val + "\n"); + plainBuf.append(val).append('\n'); + htmlBuf.append("
  • ").append(val).append('\n'); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicListUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicListUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicListUI.java Sun Aug 10 22:06:59 2014 -0300 @@ -2948,8 +2948,8 @@ for (int i = 0; i < values.length; i++) { Object obj = values[i]; String val = ((obj == null) ? "" : obj.toString()); - plainStr.append(val + "\n"); - htmlStr.append("
  • " + val + "\n"); + plainStr.append(val).append('\n'); + htmlStr.append("
  • ").append(val).append('\n'); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicTableUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java Sun Aug 10 22:06:59 2014 -0300 @@ -2230,11 +2230,11 @@ for (int col = 0; col < cols.length; col++) { Object obj = table.getValueAt(rows[row], cols[col]); String val = ((obj == null) ? "" : obj.toString()); - plainStr.append(val + "\t"); - htmlStr.append(" " + val + "\n"); + plainStr.append(val).append('\t'); + htmlStr.append(" ").append(val).append("\n"); } // we want a newline at the end of each line and not a tab - plainStr.deleteCharAt(plainStr.length() - 1).append("\n"); + plainStr.deleteCharAt(plainStr.length() - 1).append('\t'); htmlStr.append("\n"); } diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Sun Aug 10 22:06:59 2014 -0300 @@ -3618,8 +3618,8 @@ boolean leaf = model.isLeaf(node); String label = getDisplayString(path, true, leaf); - plainStr.append(label + "\n"); - htmlStr.append("
  • " + label + "\n"); + plainStr.append(label).append('\n'); + htmlStr.append("
  • ").append(label).append('\n'); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java --- a/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Sun Aug 10 22:06:59 2014 -0300 @@ -1160,15 +1160,15 @@ rows = rowMapper.getRowsForPaths(selection); else rows = null; - sb.append(getClass().getName() + " " + hashCode() + " [ "); + sb.append(getClass().getName()).append(' ').append(hashCode()).append(" [ "); for(int counter = 0; counter < selCount; counter++) { if(rows != null) - sb.append(selection[counter].toString() + "@" + - Integer.toString(rows[counter])+ " "); + sb.append(selection[counter].toString()).append('@') + .append(Integer.toString(rows[counter])).append(' '); else - sb.append(selection[counter].toString() + " "); + sb.append(selection[counter].toString()).append(' '); } - sb.append("]"); + sb.append(']'); return sb.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/sound/sampled/AudioFileFormat.java --- a/src/share/classes/javax/sound/sampled/AudioFileFormat.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/sound/sampled/AudioFileFormat.java Sun Aug 10 22:06:59 2014 -0300 @@ -276,19 +276,19 @@ //$$fb2002-11-01: fix for 4672864: AudioFileFormat.toString() throws unexpected NullPointerException if (type != null) { - buf.append(type.toString() + " (." + type.getExtension() + ") file"); + buf.append(type.toString()).append(" (.").append(type.getExtension()).append(") file"); } else { buf.append("unknown file format"); } if (byteLength != AudioSystem.NOT_SPECIFIED) { - buf.append(", byte length: " + byteLength); + buf.append(", byte length: ").append(byteLength); } - buf.append(", data format: " + format); + buf.append(", data format: ").append(format); if (frameLength != AudioSystem.NOT_SPECIFIED) { - buf.append(", frame length: " + frameLength); + buf.append(", frame length: ").append(frameLength); } return new String(buf); diff -r dde9f5cfde5f src/share/classes/javax/sound/sampled/DataLine.java --- a/src/share/classes/javax/sound/sampled/DataLine.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/sound/sampled/DataLine.java Sun Aug 10 22:06:59 2014 -0300 @@ -473,17 +473,17 @@ StringBuilder sb = new StringBuilder(); if ( (formats.length == 1) && (formats[0] != null) ) { - sb.append(" supporting format " + formats[0]); + sb.append(" supporting format ").append(formats[0]); } else if (getFormats().length > 1) { - sb.append(" supporting " + getFormats().length + " audio formats"); + sb.append(" supporting ").append(getFormats().length).append(" audio formats"); } if ( (minBufferSize != AudioSystem.NOT_SPECIFIED) && (maxBufferSize != AudioSystem.NOT_SPECIFIED) ) { - sb.append(", and buffers of " + minBufferSize + " to " + maxBufferSize + " bytes"); + sb.append(", and buffers of ").append(minBufferSize).append(" to ").append(maxBufferSize).append(" bytes"); } else if ( (minBufferSize != AudioSystem.NOT_SPECIFIED) && (minBufferSize > 0) ) { - sb.append(", and buffers of at least " + minBufferSize + " bytes"); + sb.append(", and buffers of at least ").append(minBufferSize).append(" bytes"); } else if (maxBufferSize != AudioSystem.NOT_SPECIFIED) { - sb.append(", and buffers of up to " + minBufferSize + " bytes"); + sb.append(", and buffers of up to ").append(minBufferSize).append(" bytes"); } return new String(super.toString() + sb); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/security/auth/kerberos/KerberosTicket.java --- a/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java Sun Aug 10 22:06:59 2014 -0300 @@ -651,8 +651,7 @@ StringBuilder caddrString = new StringBuilder(); if (clientAddresses != null) { for (int i = 0; i < clientAddresses.length; i++) { - caddrString.append("clientAddresses[" + i + "] = " + - clientAddresses[i].toString()); + caddrString.append("clientAddresses[").append(i).append("] = ").append(clientAddresses[i].toString()); } } return ("Ticket (hex) = " + "\n" + -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/naming/BinaryRefAddr.java --- a/src/share/classes/javax/naming/BinaryRefAddr.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/BinaryRefAddr.java Sun Aug 10 22:06:59 2014 -0300 @@ -165,11 +165,11 @@ * @return The non-null string representation of this address. */ public String toString(){ - StringBuilder str = new StringBuilder("Address Type: " + addrType + "\n"); - + StringBuilder str = new StringBuilder(); + str.append("Address Type: ").append(addrType).append('\n'); str.append("AddressContents: "); for (int i = 0; i= 32) str.append(" ...\n"); diff -r dde9f5cfde5f src/share/classes/javax/naming/NameImpl.java --- a/src/share/classes/javax/naming/NameImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/NameImpl.java Sun Aug 10 22:06:59 2014 -0300 @@ -170,7 +170,7 @@ endQuote = one ? syntaxEndQuote1 : syntaxEndQuote2; i += syntaxTypevalSeparator.length(); - answer.append(syntaxTypevalSeparator+beginQuote); // add back + answer.append(syntaxTypevalSeparator).append(beginQuote); // add back // consume string until matching quote for (i += beginQuote.length(); diff -r dde9f5cfde5f src/share/classes/javax/naming/RefAddr.java --- a/src/share/classes/javax/naming/RefAddr.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/RefAddr.java Sun Aug 10 22:06:59 2014 -0300 @@ -139,9 +139,9 @@ * @return The non-null string representation of this address. */ public String toString(){ - StringBuilder str = new StringBuilder("Type: " + addrType + "\n"); - - str.append("Content: " + getContent() + "\n"); + StringBuilder str = new StringBuilder(); + str.append("Type: ").append(addrType).append('\n'); + str.append("Content: ").append(getContent()).append('\n'); return (str.toString()); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/crypto/CryptoPermission.java --- a/src/share/classes/javax/crypto/CryptoPermission.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/crypto/CryptoPermission.java Sun Aug 10 22:06:59 2014 -0300 @@ -370,20 +370,18 @@ */ public String toString() { StringBuilder buf = new StringBuilder(100); - buf.append("(CryptoPermission " + alg + " " + maxKeySize); + buf.append("(CryptoPermission ").append(alg).append(' ').append(maxKeySize); if (algParamSpec != null) { if (algParamSpec instanceof RC2ParameterSpec) { - buf.append(" , effective " + - ((RC2ParameterSpec)algParamSpec).getEffectiveKeyBits()); + buf.append(" , effective ").append(((RC2ParameterSpec) algParamSpec).getEffectiveKeyBits()); } else if (algParamSpec instanceof RC5ParameterSpec) { - buf.append(" , rounds " + - ((RC5ParameterSpec)algParamSpec).getRounds()); + buf.append(" , rounds ").append(((RC5ParameterSpec) algParamSpec).getRounds()); } } if (exemptionMechanism != null) { // OPTIONAL - buf.append(" " + exemptionMechanism); + buf.append(' ').append(exemptionMechanism); } - buf.append(")"); + buf.append(')'); return buf.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/management/MBeanPermission.java --- a/src/share/classes/javax/management/MBeanPermission.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/MBeanPermission.java Sun Aug 10 22:06:59 2014 -0300 @@ -455,11 +455,11 @@ name.append(className); if (member == null) member = "-"; - name.append("#" + member); + name.append('#').append(member); if (objectName == null) name.append("[-]"); else - name.append("[").append(objectName.getCanonicalName()).append("]"); + name.append('[').append(objectName.getCanonicalName()).append(']'); /* In the interests of legibility for Permission.toString(), we transform the empty string into "*". */ diff -r dde9f5cfde5f src/share/classes/javax/management/modelmbean/RequiredModelMBean.java --- a/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java Sun Aug 10 22:06:59 2014 -0300 @@ -716,15 +716,14 @@ } retStr.append("\nMBeanInfo for ModelMBean is:"); - retStr.append("\nCLASSNAME: \t"+ info.getClassName()); - retStr.append("\nDESCRIPTION: \t"+ info.getDescription()); + retStr.append("\nCLASSNAME: \t").append(info.getClassName()); + retStr.append("\nDESCRIPTION: \t").append(info.getDescription()); try { - retStr.append("\nMBEAN DESCRIPTOR: \t"+ - info.getMBeanDescriptor()); + retStr.append("\nMBEAN DESCRIPTOR: \t").append(info.getMBeanDescriptor()); } catch (Exception e) { - retStr.append("\nMBEAN DESCRIPTOR: \t" + " is invalid"); + retStr.append("\nMBEAN DESCRIPTOR: \t is invalid"); } retStr.append("\nATTRIBUTES"); @@ -734,13 +733,12 @@ for (int i=0; i { /* Serial version */ diff -r dde9f5cfde5f src/share/classes/javax/management/relation/Role.java --- a/src/share/classes/javax/management/relation/Role.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/relation/Role.java Sun Aug 10 22:06:59 2014 -0300 @@ -227,7 +227,7 @@ */ public String toString() { StringBuilder result = new StringBuilder(); - result.append("role name: " + name + "; role value: "); + result.append("role name: ").append(name).append("; role value: "); for (Iterator objNameIter = objectNameList.iterator(); objNameIter.hasNext();) { ObjectName currObjName = objNameIter.next(); diff -r dde9f5cfde5f src/share/classes/javax/management/relation/RoleInfo.java --- a/src/share/classes/javax/management/relation/RoleInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/relation/RoleInfo.java Sun Aug 10 22:06:59 2014 -0300 @@ -456,13 +456,13 @@ */ public String toString() { StringBuilder result = new StringBuilder(); - result.append("role info name: " + name); - result.append("; isReadable: " + isReadable); - result.append("; isWritable: " + isWritable); - result.append("; description: " + description); - result.append("; minimum degree: " + minDegree); - result.append("; maximum degree: " + maxDegree); - result.append("; MBean class: " + referencedMBeanClassName); + result.append("role info name: ").append(name); + result.append("; isReadable: ").append(isReadable); + result.append("; isWritable: ").append(isWritable); + result.append("; description: ").append(description); + result.append("; minimum degree: ").append(minDegree); + result.append("; maximum degree: ").append(maxDegree); + result.append("; MBean class: ").append(referencedMBeanClassName); return result.toString(); } diff -r dde9f5cfde5f src/share/classes/javax/management/relation/RoleUnresolved.java --- a/src/share/classes/javax/management/relation/RoleUnresolved.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/relation/RoleUnresolved.java Sun Aug 10 22:06:59 2014 -0300 @@ -282,7 +282,7 @@ */ public String toString() { StringBuilder result = new StringBuilder(); - result.append("role name: " + roleName); + result.append("role name: ").append(roleName); if (roleValue != null) { result.append("; value: "); for (Iterator objNameIter = roleValue.iterator(); @@ -294,7 +294,7 @@ } } } - result.append("; problem type: " + problemType); + result.append("; problem type: ").append(problemType); return result.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/util/Scanner.java --- a/src/share/classes/java/util/Scanner.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/Scanner.java Sun Aug 10 22:06:59 2014 -0300 @@ -1304,20 +1304,20 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("java.util.Scanner"); - sb.append("[delimiters=" + delimPattern + "]"); - sb.append("[position=" + position + "]"); - sb.append("[match valid=" + matchValid + "]"); - sb.append("[need input=" + needInput + "]"); - sb.append("[source closed=" + sourceClosed + "]"); - sb.append("[skipped=" + skipped + "]"); - sb.append("[group separator=" + groupSeparator + "]"); - sb.append("[decimal separator=" + decimalSeparator + "]"); - sb.append("[positive prefix=" + positivePrefix + "]"); - sb.append("[negative prefix=" + negativePrefix + "]"); - sb.append("[positive suffix=" + positiveSuffix + "]"); - sb.append("[negative suffix=" + negativeSuffix + "]"); - sb.append("[NaN string=" + nanString + "]"); - sb.append("[infinity string=" + infinityString + "]"); + sb.append("[delimiters=").append(delimPattern).append(']'); + sb.append("[position=").append(position).append(']'); + sb.append("[match valid=").append(matchValid).append(']'); + sb.append("[need input=").append(needInput).append(']'); + sb.append("[source closed=").append(sourceClosed).append(']'); + sb.append("[skipped=").append(skipped).append(']'); + sb.append("[group separator=").append(groupSeparator).append(']'); + sb.append("[decimal separator=").append(decimalSeparator).append(']'); + sb.append("[positive prefix=").append(positivePrefix).append(']'); + sb.append("[negative prefix=").append(negativePrefix).append(']'); + sb.append("[positive suffix=").append(positiveSuffix).append(']'); + sb.append("[negative suffix=").append(negativeSuffix).append(']'); + sb.append("[NaN string=").append(nanString).append(']'); + sb.append("[infinity string=").append(infinityString).append(']'); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/util/regex/Matcher.java --- a/src/share/classes/java/util/regex/Matcher.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/regex/Matcher.java Sun Aug 10 22:06:59 2014 -0300 @@ -1295,14 +1295,14 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("java.util.regex.Matcher"); - sb.append("[pattern=" + pattern()); + sb.append("[pattern=").append(pattern()); sb.append(" region="); - sb.append(regionStart() + "," + regionEnd()); + sb.append(regionStart()).append(',').append(regionEnd()); sb.append(" lastmatch="); if ((first >= 0) && (group() != null)) { sb.append(group()); } - sb.append("]"); + sb.append(']'); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/util/regex/Pattern.java --- a/src/share/classes/java/util/regex/Pattern.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/regex/Pattern.java Sun Aug 10 22:06:59 2014 -0300 @@ -1488,10 +1488,10 @@ for(int x=0; x0) - result.append("|"+next); + result.append('|').append(next); next = composeOneStep(next); if (next != null) - result.append("|"+produceEquivalentAlternation(next)); + result.append('|').append(produceEquivalentAlternation(next)); } return result.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/text/ChoiceFormat.java --- a/src/share/classes/java/text/ChoiceFormat.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/text/ChoiceFormat.java Sun Aug 10 22:06:58 2014 -0300 @@ -272,7 +272,7 @@ double tryLess = Math.abs(Math.IEEEremainder(less, 1.0d)); if (tryLessOrEqual < tryLess) { - result.append(""+choiceLimits[i]); + result.append(choiceLimits[i]); result.append('#'); } else { if (choiceLimits[i] == Double.POSITIVE_INFINITY) { @@ -280,7 +280,7 @@ } else if (choiceLimits[i] == Double.NEGATIVE_INFINITY) { result.append("-\u221E"); } else { - result.append(""+less); + result.append(less); } result.append('<'); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/security/CodeSigner.java --- a/src/share/classes/java/security/CodeSigner.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/CodeSigner.java Sun Aug 10 22:06:58 2014 -0300 @@ -156,9 +156,9 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("("); - sb.append("Signer: " + signerCertPath.getCertificates().get(0)); + sb.append("Signer: ").append(signerCertPath.getCertificates().get(0)); if (timestamp != null) { - sb.append("timestamp: " + timestamp); + sb.append("timestamp: ").append(timestamp); } sb.append(")"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/java/security/CodeSource.java --- a/src/share/classes/java/security/CodeSource.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/CodeSource.java Sun Aug 10 22:06:58 2014 -0300 @@ -468,12 +468,12 @@ if (this.certs != null && this.certs.length > 0) { for (int i = 0; i < this.certs.length; i++) { - sb.append( " " + this.certs[i]); + sb.append(' ').append(this.certs[i]); } } else if (this.signers != null && this.signers.length > 0) { for (int i = 0; i < this.signers.length; i++) { - sb.append( " " + this.signers[i]); + sb.append(' ').append(this.signers[i]); } } else { sb.append(" "); diff -r dde9f5cfde5f src/share/classes/java/security/KeyStore.java --- a/src/share/classes/java/security/KeyStore.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/KeyStore.java Sun Aug 10 22:06:58 2014 -0300 @@ -610,8 +610,7 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("Private key entry and certificate chain with " - + chain.length + " elements:\r\n"); + sb.append("Private key entry and certificate chain with ").append(chain.length).append(" elements:\r\n"); for (Certificate cert : chain) { sb.append(cert); sb.append("\r\n"); diff -r dde9f5cfde5f src/share/classes/java/security/PermissionCollection.java --- a/src/share/classes/java/security/PermissionCollection.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/PermissionCollection.java Sun Aug 10 22:06:58 2014 -0300 @@ -179,12 +179,12 @@ public String toString() { Enumeration enum_ = elements(); StringBuilder sb = new StringBuilder(); - sb.append(super.toString()+" (\n"); + sb.append(super.toString()).append(" (\n"); while (enum_.hasMoreElements()) { try { - sb.append(" "); + sb.append(' '); sb.append(enum_.nextElement().toString()); - sb.append("\n"); + sb.append('\n'); } catch (NoSuchElementException e){ // ignore } diff -r dde9f5cfde5f src/share/classes/java/security/ProtectionDomain.java --- a/src/share/classes/java/security/ProtectionDomain.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/ProtectionDomain.java Sun Aug 10 22:06:58 2014 -0300 @@ -291,9 +291,9 @@ StringBuilder palBuf = new StringBuilder("(principals "); for (int i = 0; i < principals.length; i++) { - palBuf.append(principals[i].getClass().getName() + - " \"" + principals[i].getName() + - "\""); + palBuf.append(principals[i].getClass().getName()) + .append(" \"").append(principals[i].getName()) + .append('\"'); if (i < principals.length-1) palBuf.append(",\n"); else diff -r dde9f5cfde5f src/share/classes/java/security/Timestamp.java --- a/src/share/classes/java/security/Timestamp.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/Timestamp.java Sun Aug 10 22:06:58 2014 -0300 @@ -143,10 +143,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("("); - sb.append("timestamp: " + timestamp); + sb.append("timestamp: ").append(timestamp); List certs = signerCertPath.getCertificates(); if (!certs.isEmpty()) { - sb.append("TSA: " + certs.get(0)); + sb.append("TSA: ").append(certs.get(0)); } else { sb.append("TSA: "); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/CertPath.java --- a/src/share/classes/java/security/cert/CertPath.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/CertPath.java Sun Aug 10 22:06:58 2014 -0300 @@ -224,17 +224,16 @@ Iterator stringIterator = getCertificates().iterator(); - sb.append("\n" + type + " Cert Path: length = " - + getCertificates().size() + ".\n"); + sb.append("\n").append(type).append(" Cert Path: length = ").append(getCertificates().size()).append(".\n"); sb.append("[\n"); int i = 1; while (stringIterator.hasNext()) { - sb.append("==========================================" - + "===============Certificate " + i + " start.\n"); + sb.append("==========================================" + "===============Certificate ") + .append(i).append(" start.\n"); Certificate stringCert = stringIterator.next(); sb.append(stringCert.toString()); - sb.append("\n========================================" - + "=================Certificate " + i + " end.\n\n\n"); + sb.append("\n========================================" + "=================Certificate ") + .append(i).append(" end.\n\n\n"); i++; } diff -r dde9f5cfde5f src/share/classes/java/security/cert/CollectionCertStoreParameters.java --- a/src/share/classes/java/security/cert/CollectionCertStoreParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/CollectionCertStoreParameters.java Sun Aug 10 22:06:58 2014 -0300 @@ -134,8 +134,8 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("CollectionCertStoreParameters: [\n"); - sb.append(" collection: " + coll + "\n"); - sb.append("]"); + sb.append(" collection: ").append(coll).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/LDAPCertStoreParameters.java --- a/src/share/classes/java/security/cert/LDAPCertStoreParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/LDAPCertStoreParameters.java Sun Aug 10 22:06:58 2014 -0300 @@ -141,9 +141,9 @@ StringBuilder sb = new StringBuilder(); sb.append("LDAPCertStoreParameters: [\n"); - sb.append(" serverName: " + serverName + "\n"); - sb.append(" port: " + port + "\n"); - sb.append("]"); + sb.append(" serverName: ").append(serverName).append("\n"); + sb.append(" port: ").append(port).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXBuilderParameters.java --- a/src/share/classes/java/security/cert/PKIXBuilderParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXBuilderParameters.java Sun Aug 10 22:06:58 2014 -0300 @@ -192,7 +192,7 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); sb.append(super.toString()); - sb.append(" Maximum Path Length: " + maxPathLength + "\n"); + sb.append(" Maximum Path Length: ").append(maxPathLength).append('\n'); sb.append("]\n"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java --- a/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java Sun Aug 10 22:06:58 2014 -0300 @@ -109,11 +109,11 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("PKIXCertPathBuilderResult: [\n"); - sb.append(" Certification Path: " + certPath + "\n"); - sb.append(" Trust Anchor: " + getTrustAnchor().toString() + "\n"); - sb.append(" Policy Tree: " + String.valueOf(getPolicyTree()) + "\n"); - sb.append(" Subject Public Key: " + getPublicKey() + "\n"); - sb.append("]"); + sb.append(" Certification Path: ").append(certPath).append('\n'); + sb.append(" Trust Anchor: ").append(getTrustAnchor().toString()).append('\n'); + sb.append(" Policy Tree: ").append(String.valueOf(getPolicyTree())).append('\n'); + sb.append(" Subject Public Key: ").append(getPublicKey()).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java --- a/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java Sun Aug 10 22:06:58 2014 -0300 @@ -150,10 +150,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("PKIXCertPathValidatorResult: [\n"); - sb.append(" Trust Anchor: " + trustAnchor.toString() + "\n"); - sb.append(" Policy Tree: " + String.valueOf(policyTree) + "\n"); - sb.append(" Subject Public Key: " + subjectPublicKey + "\n"); - sb.append("]"); + sb.append(" Trust Anchor: ").append(trustAnchor.toString()).append('\n'); + sb.append(" Policy Tree: ").append(String.valueOf(policyTree)).append('\n'); + sb.append(" Subject Public Key: ").append(subjectPublicKey).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXParameters.java --- a/src/share/classes/java/security/cert/PKIXParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXParameters.java Sun Aug 10 22:06:58 2014 -0300 @@ -698,8 +698,7 @@ /* start with trusted anchor info */ if (unmodTrustAnchors != null) { - sb.append(" Trust Anchors: " + unmodTrustAnchors.toString() - + "\n"); + sb.append(" Trust Anchors: ").append(unmodTrustAnchors.toString()).append('\n'); } /* now, append initial state information */ @@ -707,30 +706,28 @@ if (unmodInitialPolicies.isEmpty()) { sb.append(" Initial Policy OIDs: any\n"); } else { - sb.append(" Initial Policy OIDs: [" - + unmodInitialPolicies.toString() + "]\n"); + sb.append(" Initial Policy OIDs: [").append(unmodInitialPolicies.toString()).append("]\n"); } } /* now, append constraints on all certificates in the path */ - sb.append(" Validity Date: " + String.valueOf(date) + "\n"); - sb.append(" Signature Provider: " + String.valueOf(sigProvider) + "\n"); - sb.append(" Default Revocation Enabled: " + revocationEnabled + "\n"); - sb.append(" Explicit Policy Required: " + explicitPolicyRequired + "\n"); - sb.append(" Policy Mapping Inhibited: " + policyMappingInhibited + "\n"); - sb.append(" Any Policy Inhibited: " + anyPolicyInhibited + "\n"); - sb.append(" Policy Qualifiers Rejected: " + policyQualifiersRejected + "\n"); + sb.append(" Validity Date: ").append(String.valueOf(date)).append('\n'); + sb.append(" Signature Provider: ").append(String.valueOf(sigProvider)).append('\n'); + sb.append(" Default Revocation Enabled: ").append(revocationEnabled).append('\n'); + sb.append(" Explicit Policy Required: ").append(explicitPolicyRequired).append('\n'); + sb.append(" Policy Mapping Inhibited: ").append(policyMappingInhibited).append('\n'); + sb.append(" Any Policy Inhibited: ").append(anyPolicyInhibited).append('\n'); + sb.append(" Policy Qualifiers Rejected: ").append(policyQualifiersRejected).append('\n'); /* now, append target cert requirements */ - sb.append(" Target Cert Constraints: " + String.valueOf(certSelector) + "\n"); + sb.append(" Target Cert Constraints: ").append(String.valueOf(certSelector)).append('\n'); /* finally, append miscellaneous parameters */ if (certPathCheckers != null) - sb.append(" Certification Path Checkers: [" - + certPathCheckers.toString() + "]\n"); + sb.append(" Certification Path Checkers: [").append(certPathCheckers.toString()).append("]\n"); if (certStores != null) - sb.append(" CertStores: [" + certStores.toString() + "]\n"); - sb.append("]"); + sb.append(" CertStores: [").append(certStores.toString()).append("]\n"); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PolicyQualifierInfo.java --- a/src/share/classes/java/security/cert/PolicyQualifierInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PolicyQualifierInfo.java Sun Aug 10 22:06:58 2014 -0300 @@ -163,10 +163,9 @@ HexDumpEncoder enc = new HexDumpEncoder(); StringBuilder sb = new StringBuilder(); sb.append("PolicyQualifierInfo: [\n"); - sb.append(" qualifierID: " + mId + "\n"); - sb.append(" qualifier: " + - (mData == null ? "null" : enc.encodeBuffer(mData)) + "\n"); - sb.append("]"); + sb.append(" qualifierID: ").append(mId).append('\n'); + sb.append(" qualifier: ").append(mData == null ? "null" : enc.encodeBuffer(mData)).append('\n'); + sb.append(']'); pqiString = sb.toString(); return pqiString; } diff -r dde9f5cfde5f src/share/classes/java/security/cert/TrustAnchor.java --- a/src/share/classes/java/security/cert/TrustAnchor.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/TrustAnchor.java Sun Aug 10 22:06:58 2014 -0300 @@ -320,14 +320,13 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); if (pubKey != null) { - sb.append(" Trusted CA Public Key: " + pubKey.toString() + "\n"); - sb.append(" Trusted CA Issuer Name: " - + String.valueOf(caName) + "\n"); + sb.append(" Trusted CA Public Key: ").append(pubKey.toString()).append('\n'); + sb.append(" Trusted CA Issuer Name: ").append(String.valueOf(caName)).append('\n'); } else { - sb.append(" Trusted CA cert: " + trustedCert.toString() + "\n"); + sb.append(" Trusted CA cert: ").append(trustedCert.toString()).append('\n'); } if (nc != null) - sb.append(" Name Constraints: " + nc.toString() + "\n"); + sb.append(" Name Constraints: ").append(nc.toString()).append('\n'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/X509CRLSelector.java --- a/src/share/classes/java/security/cert/X509CRLSelector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/X509CRLSelector.java Sun Aug 10 22:06:58 2014 -0300 @@ -572,17 +572,17 @@ sb.append(" IssuerNames:\n"); Iterator i = issuerNames.iterator(); while (i.hasNext()) - sb.append(" " + i.next() + "\n"); + sb.append(" ").append(i.next()).append('\n'); } if (minCRL != null) - sb.append(" minCRLNumber: " + minCRL + "\n"); + sb.append(" minCRLNumber: ").append(minCRL).append('\n'); if (maxCRL != null) - sb.append(" maxCRLNumber: " + maxCRL + "\n"); + sb.append(" maxCRLNumber: ").append(maxCRL).append('\n'); if (dateAndTime != null) - sb.append(" dateAndTime: " + dateAndTime + "\n"); + sb.append(" dateAndTime: ").append(dateAndTime).append('\n'); if (certChecking != null) - sb.append(" Certificate being checked: " + certChecking + "\n"); - sb.append("]"); + sb.append(" Certificate being checked: ").append(certChecking).append('\n'); + sb.append(']'); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/X509CertSelector.java --- a/src/share/classes/java/security/cert/X509CertSelector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/X509CertSelector.java Sun Aug 10 22:06:58 2014 -0300 @@ -1814,72 +1814,65 @@ StringBuilder sb = new StringBuilder(); sb.append("X509CertSelector: [\n"); if (x509Cert != null) { - sb.append(" Certificate: " + x509Cert.toString() + "\n"); + sb.append(" Certificate: ").append(x509Cert.toString()).append('\n'); } if (serialNumber != null) { - sb.append(" Serial Number: " + serialNumber.toString() + "\n"); + sb.append(" Serial Number: ").append(serialNumber.toString()).append('\n'); } if (issuer != null) { - sb.append(" Issuer: " + getIssuerAsString() + "\n"); + sb.append(" Issuer: ").append(getIssuerAsString()).append('\n'); } if (subject != null) { - sb.append(" Subject: " + getSubjectAsString() + "\n"); + sb.append(" Subject: ").append(getSubjectAsString()).append('\n'); } - sb.append(" matchAllSubjectAltNames flag: " - + String.valueOf(matchAllSubjectAltNames) + "\n"); + sb.append(" matchAllSubjectAltNames flag: ") + .append(String.valueOf(matchAllSubjectAltNames)) + .append('\n'); if (subjectAlternativeNames != null) { sb.append(" SubjectAlternativeNames:\n"); Iterator> i = subjectAlternativeNames.iterator(); while (i.hasNext()) { List list = i.next(); - sb.append(" type " + list.get(0) + - ", name " + list.get(1) + "\n"); + sb.append(" type ").append(list.get(0)).append(", name ").append(list.get(1)).append('\n'); } } if (subjectKeyID != null) { HexDumpEncoder enc = new HexDumpEncoder(); - sb.append(" Subject Key Identifier: " + - enc.encodeBuffer(subjectKeyID) + "\n"); + sb.append(" Subject Key Identifier: ").append(enc.encodeBuffer(subjectKeyID)).append('\n'); } if (authorityKeyID != null) { HexDumpEncoder enc = new HexDumpEncoder(); - sb.append(" Authority Key Identifier: " + - enc.encodeBuffer(authorityKeyID) + "\n"); + sb.append(" Authority Key Identifier: ").append(enc.encodeBuffer(authorityKeyID)).append('\n'); } if (certificateValid != null) { - sb.append(" Certificate Valid: " + - certificateValid.toString() + "\n"); + sb.append(" Certificate Valid: ").append(certificateValid.toString()).append('\n'); } if (privateKeyValid != null) { - sb.append(" Private Key Valid: " + - privateKeyValid.toString() + "\n"); + sb.append(" Private Key Valid: ").append(privateKeyValid.toString()).append('\n'); } if (subjectPublicKeyAlgID != null) { - sb.append(" Subject Public Key AlgID: " + - subjectPublicKeyAlgID.toString() + "\n"); + sb.append(" Subject Public Key AlgID: ").append(subjectPublicKeyAlgID.toString()).append('\n'); } if (subjectPublicKey != null) { - sb.append(" Subject Public Key: " + - subjectPublicKey.toString() + "\n"); + sb.append(" Subject Public Key: ").append(subjectPublicKey.toString()).append('\n'); } if (keyUsage != null) { - sb.append(" Key Usage: " + keyUsageToString(keyUsage) + "\n"); + sb.append(" Key Usage: ").append(keyUsageToString(keyUsage)).append('\n'); } if (keyPurposeSet != null) { - sb.append(" Extended Key Usage: " + - keyPurposeSet.toString() + "\n"); + sb.append(" Extended Key Usage: ").append(keyPurposeSet.toString()).append('\n'); } if (policy != null) { - sb.append(" Policy: " + policy.toString() + "\n"); + sb.append(" Policy: ").append(policy.toString()).append('\n'); } if (pathToGeneralNames != null) { sb.append(" Path to names:\n"); Iterator i = pathToGeneralNames.iterator(); while (i.hasNext()) { - sb.append(" " + i.next() + "\n"); + sb.append(" ").append(i.next()).append('\n'); } } - sb.append("]"); + sb.append(']'); return sb.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/rmi/dgc/VMID.java --- a/src/share/classes/java/rmi/dgc/VMID.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/rmi/dgc/VMID.java Sun Aug 10 22:06:58 2014 -0300 @@ -124,8 +124,7 @@ if (addr != null) for (int i = 0; i < addr.length; ++ i) { int x = addr[i] & 0xFF; - sb.append((x < 0x10 ? "0" : "") + - Integer.toString(x, 16)); + sb.append(x < 0x10 ? "0" : "").append(Integer.toString(x, 16)); } sb.append(':'); sb.append(uid.toString()); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/lang/management/MemoryUsage.java --- a/src/share/classes/java/lang/management/MemoryUsage.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/lang/management/MemoryUsage.java Sun Aug 10 22:06:58 2014 -0300 @@ -238,11 +238,10 @@ */ public String toString() { StringBuilder buf = new StringBuilder(); - buf.append("init = " + init + "(" + (init >> 10) + "K) "); - buf.append("used = " + used + "(" + (used >> 10) + "K) "); - buf.append("committed = " + committed + "(" + - (committed >> 10) + "K) " ); - buf.append("max = " + max + "(" + (max >> 10) + "K)"); + buf.append("init = ").append(init).append('(').append(init >> 10).append("K) "); + buf.append("used = ").append(used).append('(').append(used >> 10).append("K) "); + buf.append("committed = ").append(committed).append('(').append(committed >> 10).append("K) "); + buf.append("max = ").append(max).append('(').append(max >> 10).append("K)"); return buf.toString(); } diff -r dde9f5cfde5f src/share/classes/java/lang/management/ThreadInfo.java --- a/src/share/classes/java/lang/management/ThreadInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/lang/management/ThreadInfo.java Sun Aug 10 22:06:58 2014 -0300 @@ -579,15 +579,17 @@ * @return a string representation of this thread info. */ public String toString() { - StringBuilder sb = new StringBuilder("\"" + getThreadName() + "\"" + - " Id=" + getThreadId() + " " + - getThreadState()); + StringBuilder sb = new StringBuilder(); + sb.append('\"').append(getThreadName()).append('\"') + .append(" Id=").append(getThreadId()).append(' ') + .append(getThreadState()); + if (getLockName() != null) { - sb.append(" on " + getLockName()); + sb.append(" on ").append(getLockName()); } if (getLockOwnerName() != null) { - sb.append(" owned by \"" + getLockOwnerName() + - "\" Id=" + getLockOwnerId()); + sb.append(" owned by \"").append(getLockOwnerName()) + .append("\" Id=").append(getLockOwnerId()); } if (isSuspended()) { sb.append(" (suspended)"); @@ -599,21 +601,21 @@ int i = 0; for (; i < stackTrace.length && i < MAX_FRAMES; i++) { StackTraceElement ste = stackTrace[i]; - sb.append("\tat " + ste.toString()); + sb.append("\tat ").append(ste.toString()); sb.append('\n'); if (i == 0 && getLockInfo() != null) { Thread.State ts = getThreadState(); switch (ts) { case BLOCKED: - sb.append("\t- blocked on " + getLockInfo()); + sb.append("\t- blocked on ").append(getLockInfo()); sb.append('\n'); break; case WAITING: - sb.append("\t- waiting on " + getLockInfo()); + sb.append("\t- waiting on ").append(getLockInfo()); sb.append('\n'); break; case TIMED_WAITING: - sb.append("\t- waiting on " + getLockInfo()); + sb.append("\t- waiting on ").append(getLockInfo()); sb.append('\n'); break; default: @@ -622,7 +624,7 @@ for (MonitorInfo mi : lockedMonitors) { if (mi.getLockedStackDepth() == i) { - sb.append("\t- locked " + mi); + sb.append("\t- locked ").append(mi); sb.append('\n'); } } @@ -634,10 +636,10 @@ LockInfo[] locks = getLockedSynchronizers(); if (locks.length > 0) { - sb.append("\n\tNumber of locked synchronizers = " + locks.length); + sb.append("\n\tNumber of locked synchronizers = ").append(locks.length); sb.append('\n'); for (LockInfo li : locks) { - sb.append("\t- " + li); + sb.append("\t- ").append(li); sb.append('\n'); } } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/DHParameters.java --- a/src/share/classes/com/sun/crypto/provider/DHParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/DHParameters.java Sun Aug 10 22:06:58 2014 -0300 @@ -138,7 +138,7 @@ + LINE_SEP + "g:" + LINE_SEP + Debug.toHexString(this.g)); if (this.l != 0) - sb.append(LINE_SEP + "l:" + LINE_SEP + " " + this.l); + sb.append(LINE_SEP).append("l:").append(LINE_SEP).append(" ").append(this.l); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/DHPublicKey.java --- a/src/share/classes/com/sun/crypto/provider/DHPublicKey.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/DHPublicKey.java Sun Aug 10 22:06:58 2014 -0300 @@ -269,7 +269,7 @@ + LINE_SEP + "g:" + LINE_SEP + Debug.toHexString(this.g)); if (this.l != 0) - sb.append(LINE_SEP + "l:" + LINE_SEP + " " + this.l); + sb.append(LINE_SEP).append("l:").append(LINE_SEP).append(" ").append(this.l); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/GCMParameters.java --- a/src/share/classes/com/sun/crypto/provider/GCMParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/GCMParameters.java Sun Aug 10 22:06:58 2014 -0300 @@ -140,7 +140,7 @@ = new StringBuilder(LINE_SEP + " iv:" + LINE_SEP + "[" + encoder.encodeBuffer(iv) + "]"); - sb.append(LINE_SEP + "tLen(bits):" + LINE_SEP + tLen*8 + LINE_SEP); + sb.append(LINE_SEP).append("tLen(bits):").append(LINE_SEP).append(tLen * 8).append(LINE_SEP); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/OAEPParameters.java --- a/src/share/classes/com/sun/crypto/provider/OAEPParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/OAEPParameters.java Sun Aug 10 22:06:58 2014 -0300 @@ -239,10 +239,9 @@ protected String engineToString() { StringBuilder sb = new StringBuilder(); - sb.append("MD: " + mdName + "\n"); - sb.append("MGF: MGF1" + mgfSpec.getDigestAlgorithm() + "\n"); - sb.append("PSource: PSpecified " + - (p.length==0? "":Debug.toHexString(new BigInteger(p))) + "\n"); + sb.append("MD: ").append(mdName).append('\n'); + sb.append("MGF: MGF1").append(mgfSpec.getDigestAlgorithm()).append('\n'); + sb.append("PSource: PSpecified ").append(p.length == 0 ? "" : Debug.toHexString(new BigInteger(p))).append('\n'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/RC2Parameters.java --- a/src/share/classes/com/sun/crypto/provider/RC2Parameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/RC2Parameters.java Sun Aug 10 22:06:58 2014 -0300 @@ -221,8 +221,9 @@ + encoder.encodeBuffer(iv) + "]"); if (version != 0) { - sb.append(LINE_SEP + "version:" + LINE_SEP - + version + LINE_SEP); + sb.append(LINE_SEP).append("version:") + .append(LINE_SEP).append(version) + .append(LINE_SEP); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java Sun Aug 10 22:06:58 2014 -0300 @@ -65,7 +65,7 @@ "extractSubNet", "BINARY ARRAY :"); StringBuilder sb = new StringBuilder(); for(int i =0; i < addrLength; i++) { - sb.append((b[i] & 0xFF) + ":"); + sb.append(b[i] & 0xFF).append(':'); } SNMP_LOGGER.logp(Level.FINEST, NetMaskImpl.class.getName(), "extractSubNet", sb.toString()); diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java Sun Aug 10 22:06:58 2014 -0300 @@ -204,7 +204,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java Sun Aug 10 22:06:58 2014 -0300 @@ -379,7 +379,7 @@ } jj_consume_token(DOT); t = jj_consume_token(IDENTIFIER); - jjtn000.name.append( "." + t.image); + jjtn000.name.append('.').append(t.image); } } finally { if (jjtc000) { @@ -408,7 +408,7 @@ } jj_consume_token(DOT); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append('.').append(t.image); } } finally { if (jjtc000) { @@ -454,7 +454,7 @@ } jj_consume_token(MARK); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append('.').append(t.image); } } finally { if (jjtc000) { @@ -483,7 +483,7 @@ } jj_consume_token(DOT); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append('.').append(t.image); } jj_consume_token(MASK); t = jj_consume_token(INTEGER_LITERAL); diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java Sun Aug 10 22:06:58 2014 -0300 @@ -99,7 +99,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java --- a/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java Sun Aug 10 22:06:58 2014 -0300 @@ -479,10 +479,10 @@ */ public String printMessage() { StringBuilder sb = new StringBuilder(); - sb.append("msgId : " + msgId + "\n"); - sb.append("msgMaxSize : " + msgMaxSize + "\n"); - sb.append("msgFlags : " + msgFlags + "\n"); - sb.append("msgSecurityModel : " + msgSecurityModel + "\n"); + sb.append("msgId : ").append(msgId).append('\n'); + sb.append("msgMaxSize : ").append(msgMaxSize).append('\n'); + sb.append("msgFlags : ").append(msgFlags).append('\n'); + sb.append("msgSecurityModel : ").append(msgSecurityModel).append('\n'); if (contextEngineId == null) { sb.append("contextEngineId : null"); diff -r dde9f5cfde5f src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java --- a/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java Sun Aug 10 22:06:58 2014 -0300 @@ -256,7 +256,7 @@ private static String stringifyComponent(NameComponent comp) { StringBuilder one = new StringBuilder(escape(comp.id)); if (comp.kind != null && !comp.kind.equals("")) { - one.append(kindSeparator + escape(comp.kind)); + one.append(kindSeparator).append(escape(comp.kind)); } if (one.length() == 0) { return ""+kindSeparator; // if neither id nor kind specified diff -r dde9f5cfde5f src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java --- a/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Sun Aug 10 22:06:58 2014 -0300 @@ -90,7 +90,7 @@ if (selected == -1) { StringBuilder allChoices = new StringBuilder(); for (int j = 0; j < choices.length; j++) { - allChoices.append(choices[j] + ","); + allChoices.append(choices[j]).append(','); } throw new IOException("Cannot match " + "'java.naming.security.sasl.realm' property value, '" + diff -r dde9f5cfde5f src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java --- a/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java Sun Aug 10 22:06:58 2014 -0300 @@ -167,9 +167,9 @@ for (int i = 0; i < allchannelnames.length; i++) { if ((channelmask & m) != 0L) { if (i < channelnames.length) { - sb.append(channelnames[i] + " "); + sb.append(channelnames[i]).append(' '); } else { - sb.append(allchannelnames[i] + " "); + sb.append(allchannelnames[i]).append(' '); } } m *= 2L; diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java Sun Aug 10 22:06:58 2014 -0300 @@ -235,14 +235,14 @@ String nodeName = att.getNodeName(); if ((nodeName.equals("xmlns") || nodeName.startsWith("xmlns:")) && !storedNamespaces.containsKey(att.getNodeName())) { - sb.append(" " + nodeName + "=\"" + att.getNodeValue() + "\""); + sb.append(' ').append(nodeName).append("=\"").append(att.getNodeValue()).append('\"'); storedNamespaces.put(nodeName, att.getNodeValue()); } } } wk = wk.getParentNode(); } - sb.append(">" + source + ""); + sb.append('>').append(source).append(""); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java Sun Aug 10 22:06:58 2014 -0300 @@ -85,7 +85,7 @@ if (prefix.equals("xmlns")) { sb.append("#default "); } else { - sb.append(prefix + " "); + sb.append(prefix).append(' '); } } diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java Sun Aug 10 22:06:58 2014 -0300 @@ -88,7 +88,7 @@ l += countQuotes(DN, j, k); if ((k > 0) && (DN.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(parseRDN(DN.substring(i, k).trim(), toXml) + ","); + sb.append(parseRDN(DN.substring(i, k).trim(), toXml)).append(','); i = k + 1; l = 0; @@ -121,7 +121,7 @@ l += countQuotes(str, j, k); if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(parseATAV(trim(str.substring(i, k)), toXml) + "+"); + sb.append(parseATAV(trim(str.substring(i, k)), toXml)).append('+'); i = k + 1; l = 0; @@ -369,7 +369,7 @@ int k; for (int j = 0; (k = string.indexOf("\\20", j)) >= 0; j = k + 3) { - sb.append(trim(string.substring(i, k)) + "\\ "); + sb.append(trim(string.substring(i, k))).append("\\ "); i = k + 3; } @@ -418,7 +418,7 @@ l += countQuotes(str, j, k); if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(trim(str.substring(i, k)) + replace); + sb.append(trim(str.substring(i, k))).append(replace); i = k + 1; l = 0; diff -r dde9f5cfde5f src/share/classes/com/sun/security/sasl/CramMD5Base.java --- a/src/share/classes/com/sun/security/sasl/CramMD5Base.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/CramMD5Base.java Sun Aug 10 22:06:58 2014 -0300 @@ -196,8 +196,7 @@ for (i = 0; i < digest.length; i++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0" + - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java --- a/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Sun Aug 10 22:06:58 2014 -0300 @@ -391,8 +391,7 @@ for (int i = 0; i < digest.length; i ++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0"+ - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/expr/ParseException.java --- a/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java Sun Aug 10 22:06:58 2014 -0300 @@ -198,7 +198,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java --- a/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Sun Aug 10 22:06:58 2014 -0300 @@ -107,7 +107,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java --- a/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java Sun Aug 10 22:06:58 2014 -0300 @@ -338,10 +338,10 @@ if (classpath.isEmpty()) { String envcp = System.getProperty("env.class.path"); if ((envcp != null) && (envcp.length() > 0)) { - munged.append(" -classpath " + envcp); + munged.append(" -classpath ").append(envcp); } } else { - munged.append(" -classpath " + classpath.asString()); + munged.append(" -classpath ").append(classpath.asString()); } return munged.toString(); } else { diff -r dde9f5cfde5f src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java --- a/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java Sun Aug 10 22:06:58 2014 -0300 @@ -386,37 +386,37 @@ } case 'B': { int val = 0xFF & byteAt(i, value); - result.append("0x" + Integer.toString(val, 16)); + result.append("0x").append(Integer.toString(val, 16)); i++; break; } case 'S': { short val = shortAt(i, value); i += 2; - result.append("" + val); + result.append(val); break; } case 'I': { int val = intAt(i, value); i += 4; - result.append("" + val); + result.append(val); break; } case 'J': { // long long val = longAt(i, value); - result.append("" + val); + result.append(val); i += 8; break; } case 'F': { float val = floatAt(i, value); - result.append("" + val); + result.append(val); i += 4; break; } case 'D': { // double double val = doubleAt(i, value); - result.append("" + val); + result.append(val); i += 8; break; } @@ -425,7 +425,7 @@ } } } - result.append("}"); + result.append('}'); } return result.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/hat/internal/util/Misc.java --- a/src/share/classes/com/sun/tools/hat/internal/util/Misc.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/hat/internal/util/Misc.java Sun Aug 10 22:06:58 2014 -0300 @@ -97,11 +97,11 @@ } else if (ch == '&') { sb.append("&"); } else if (ch < ' ') { - sb.append("&#" + Integer.toString(ch) + ";"); + sb.append("&#").append(Integer.toString(ch)).append(';'); } else { int c = (ch & 0xFFFF); if (c > 127) { - sb.append("&#" + Integer.toString(c) + ";"); + sb.append("&#").append(Integer.toString(c)).append(';'); } else { sb.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java --- a/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Sun Aug 10 22:06:58 2014 -0300 @@ -881,12 +881,12 @@ } else if (tag == JDWP.TypeTag.ARRAY) { sb.append("ArrayType"); } else { - sb.append("UNKNOWN TAG: " + tag); + sb.append("UNKNOWN TAG: ").append(tag); } if (signature != null) { - sb.append(", signature='" + signature + "'"); + sb.append(", signature='").append(signature).append('\''); } - sb.append(", id=" + id); + sb.append(", id=").append(id); vm.printTrace(sb.toString()); } if (id == 0) { From pavel.rappo at oracle.com Mon Aug 11 10:56:05 2014 From: pavel.rappo at oracle.com (Pavel Rappo) Date: Mon, 11 Aug 2014 11:56:05 +0100 Subject: Replace concat String to append in StringBuilder parameters In-Reply-To: References: <53E7FA44.9050207@oracle.com> Message-ID: <476830A4-7A8E-4652-A0C7-805687155F4A@oracle.com> > In the class > src/share/classes/javax/management/openmbean/CompositeType.java you have > added the > annotation @SuppressWarnings("StringConcatenationInsideStringBufferAppend") > instead of fixing the concatenation inside the append method. Why? +1 Moreover, I wonder where this value comes from? I've never seen it before. Here are warnings that javac supports: all,auxiliaryclass,cast,classfile,deprecation,dep-ann,divzero,empty,fallthrough,finally,options,overloads,overrides,path,processing,rawtypes,serial,static,try,unchecked,varargs It doesn't look like one of Eclipse's warnings either. > And I would like to suggest to drop explicit usage of StringBuilder in some > methods at all to improve code readability. Agree. -Pavel From otaviojava at java.net Mon Aug 11 11:25:41 2014 From: otaviojava at java.net (=?UTF-8?Q?Ot=C3=A1vio_Gon=C3=A7alves_de_Santana?=) Date: Mon, 11 Aug 2014 08:25:41 -0300 Subject: Replace concat String to append in StringBuilder parameters In-Reply-To: <476830A4-7A8E-4652-A0C7-805687155F4A@oracle.com> References: <53E7FA44.9050207@oracle.com> <476830A4-7A8E-4652-A0C7-805687155F4A@oracle.com> Message-ID: Really thank you everyone. About Warning, sorry my mistake, this warning is from IntelliJ. Removed long lines, replace StringBuffer to StringBuilder and I did the optimizations. About the template in Parser.jjt, TokenMgrError.java, etc. I don't know how can do that. Can anyone help me? About readable of code I just renamed this class to sb instead of buf, strbuf, etc. Because using StringBuilder beyond be more explicit I can use char instead of a single String. https://dl.dropboxusercontent.com/u/16109193/open_jdk/string_builder_concat_3.zip On Mon, Aug 11, 2014 at 7:56 AM, Pavel Rappo wrote: > > In the class > > src/share/classes/javax/management/openmbean/CompositeType.java you have > > added the > > annotation > @SuppressWarnings("StringConcatenationInsideStringBufferAppend") > > instead of fixing the concatenation inside the append method. Why? > > +1 Moreover, I wonder where this value comes from? I've never seen it > before. Here are warnings that javac supports: > > > all,auxiliaryclass,cast,classfile,deprecation,dep-ann,divzero,empty,fallthrough,finally,options,overloads,overrides,path,processing,rawtypes,serial,static,try,unchecked,varargs > > It doesn't look like one of Eclipse's warnings either. > > > And I would like to suggest to drop explicit usage of StringBuilder in > some > > methods at all to improve code readability. > > Agree. > > -Pavel > > -- Ot?vio Gon?alves de Santana blog: http://otaviosantana.blogspot.com.br/ twitter: http://twitter.com/otaviojava site: *http://about.me/otaviojava * 55 (11) 98255-3513 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/tools/jconsole/ThreadTab.java --- a/src/share/classes/sun/tools/jconsole/ThreadTab.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/ThreadTab.java Mon Aug 11 08:18:34 2014 -0300 @@ -368,7 +368,7 @@ sb.append(Messages.STACK_TRACE); int index = 0; for (StackTraceElement e : ti.getStackTrace()) { - sb.append(e.toString()+"\n"); + sb.append(e.toString()).append('\n'); if (monitors != null) { for (MonitorInfo mi : monitors) { if (mi.getLockedStackDepth() == index) { diff -r dde9f5cfde5f src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java --- a/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java Mon Aug 11 08:18:34 2014 -0300 @@ -79,25 +79,25 @@ String textColor = String.format("%06x", foreground.getRGB() & 0xFFFFFF); StringBuilder sb = new StringBuilder(); - sb.append(""); + sb.append("
    "); for (int i = 0; i < arr.length; i++) { if (i % 2 == 0) { - sb.append(""); + sb.append(""); } else { - sb.append(""); + sb.append(""); } } if (arr.length == 0) { - sb.append(""); + sb.append(""); } sb.append("
    " +
    -                            (arr[i] == null ?
    -                                arr[i] : htmlize(arr[i].toString())) +
    -                            "
    ")
    +                            .append(arr[i] == null ?
    +                                    arr[i] : htmlize(arr[i].toString()))
    +                            .append("
    " +
    -                            (arr[i] == null ?
    -                                arr[i] : htmlize(arr[i].toString())) +
    -                            "
    ")
    +                            .append(arr[i] == null ?
    +                                    arr[i] : htmlize(arr[i].toString()))
    +                            .append("
    "); arrayEditor.setText(sb.toString()); diff -r dde9f5cfde5f src/share/classes/sun/tools/jconsole/inspector/XTree.java --- a/src/share/classes/sun/tools/jconsole/inspector/XTree.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/inspector/XTree.java Mon Aug 11 08:18:34 2014 -0300 @@ -507,13 +507,13 @@ // key order defined by the "orderedKeyPropertyList" for (String key : orderedKeyPropertyList) { if (map.containsKey(key)) { - sb.append(key + "=" + map.get(key) + ","); + sb.append(key).append('=').append(map.get(key)).append(','); map.remove(key); } } // Add the remaining key/value pairs to the buffer for (Map.Entry entry : map.entrySet()) { - sb.append(entry.getKey() + "=" + entry.getValue() + ","); + sb.append(entry.getKey()).append('=').append(entry.getValue()).append(','); } String orderedKeyPropertyListString = sb.toString(); orderedKeyPropertyListString = orderedKeyPropertyListString.substring( @@ -622,7 +622,7 @@ // StringBuilder sb = new StringBuilder(); for (MBeanParameterInfo mbpi : mboi.getSignature()) { - sb.append(mbpi.getType() + ","); + sb.append(mbpi.getType()).append(','); } String signature = sb.toString(); if (signature.length() > 0) { diff -r dde9f5cfde5f src/share/classes/sun/tools/jps/Jps.java --- a/src/share/classes/sun/tools/jps/Jps.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jps/Jps.java Mon Aug 11 08:18:34 2014 -0300 @@ -92,28 +92,28 @@ vm = monitoredHost.getMonitoredVm(id, 0); errorString = " -- main class information unavailable"; - output.append(" " + MonitoredVmUtil.mainClass(vm, + output.append(' ').append(MonitoredVmUtil.mainClass(vm, arguments.showLongPaths())); if (arguments.showMainArgs()) { errorString = " -- main args information unavailable"; String mainArgs = MonitoredVmUtil.mainArgs(vm); if (mainArgs != null && mainArgs.length() > 0) { - output.append(" " + mainArgs); + output.append(' ').append(mainArgs); } } if (arguments.showVmArgs()) { errorString = " -- jvm args information unavailable"; String jvmArgs = MonitoredVmUtil.jvmArgs(vm); if (jvmArgs != null && jvmArgs.length() > 0) { - output.append(" " + jvmArgs); + output.append(' ').append(jvmArgs); } } if (arguments.showVmFlags()) { errorString = " -- jvm flags information unavailable"; String jvmFlags = MonitoredVmUtil.jvmFlags(vm); if (jvmFlags != null && jvmFlags.length() > 0) { - output.append(" " + jvmFlags); + output.append(' ').append(jvmFlags); } } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstat/RawOutputFormatter.java --- a/src/share/classes/sun/tools/jstat/RawOutputFormatter.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstat/RawOutputFormatter.java Mon Aug 11 08:18:34 2014 -0300 @@ -50,7 +50,7 @@ StringBuilder headerBuilder = new StringBuilder(); for (Iterator i = logged.iterator(); i.hasNext(); /* empty */ ) { Monitor m = i.next(); - headerBuilder.append(m.getName() + " "); + headerBuilder.append(m.getName()).append(' '); } header = headerBuilder.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstat/SyntaxException.java --- a/src/share/classes/sun/tools/jstat/SyntaxException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstat/SyntaxException.java Mon Aug 11 08:18:34 2014 -0300 @@ -65,7 +65,7 @@ public SyntaxException(int lineno, Set expected, Token found) { StringBuilder msg = new StringBuilder(); - msg.append("Syntax error at line " + lineno + ": Expected one of \'"); + msg.append("Syntax error at line ").append(lineno).append(": Expected one of \'"); boolean first = true; for (Iterator i = expected.iterator(); i.hasNext(); /* empty */) { @@ -74,11 +74,11 @@ msg.append(keyWord); first = false; } else { - msg.append("|" + keyWord); + msg.append('|').append(keyWord); } } - msg.append("\', Found " + found.toMessage()); + msg.append("\', Found ").append(found.toMessage()); message = msg.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstat/Token.java --- a/src/share/classes/sun/tools/jstat/Token.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstat/Token.java Mon Aug 11 08:18:34 2014 -0300 @@ -89,18 +89,18 @@ sb.append("ttype=TT_EOF"); break; case StreamTokenizer.TT_NUMBER: - sb.append("ttype=TT_NUM,").append("nval="+nval); + sb.append("ttype=TT_NUM,").append("nval=").append(nval); break; case StreamTokenizer.TT_WORD: if (sval == null) { sb.append("ttype=TT_WORD:IDENTIFIER"); } else { - sb.append("ttype=TT_WORD:").append("sval="+sval); + sb.append("ttype=TT_WORD:").append("sval=").append(sval); } break; default: if (ttype == (int)'"') { - sb.append("ttype=TT_STRING:").append("sval="+sval); + sb.append("ttype=TT_STRING:").append("sval=").append(sval); } else { sb.append("ttype=TT_CHAR:").append((char)ttype); } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstatd/RemoteHostImpl.java --- a/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java Mon Aug 11 08:18:34 2014 -0300 @@ -68,7 +68,7 @@ sb.append("local://").append(lvmid).append("@localhost"); if (mode != null) { - sb.append("?mode=" + mode); + sb.append("?mode=").append(mode); } String vmidStr = sb.toString(); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/security/acl/AclEntryImpl.java --- a/src/share/classes/sun/security/acl/AclEntryImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/acl/AclEntryImpl.java Mon Aug 11 08:18:34 2014 -0300 @@ -147,13 +147,13 @@ s.append("Group."); else s.append("User."); - s.append(user + "="); + s.append(user).append('='); Enumeration e = permissions(); while(e.hasMoreElements()) { Permission p = e.nextElement(); s.append(p); if (e.hasMoreElements()) - s.append(","); + s.append(','); } return new String(s); } diff -r dde9f5cfde5f src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java --- a/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java Mon Aug 11 08:18:34 2014 -0300 @@ -640,8 +640,7 @@ for (int i = 0; i < digest.length; i++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0" + - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/sun/security/pkcs/SigningCertificateInfo.java --- a/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java Mon Aug 11 08:18:34 2014 -0300 @@ -158,8 +158,8 @@ } sb.append(hexDumper.encode(certHash)); if (issuer != null && serialNumber != null) { - sb.append("\n\tIssuer: " + issuer + "\n"); - sb.append("\t" + serialNumber); + sb.append("\n\tIssuer: ").append(issuer).append('\n'); + sb.append('\t').append(serialNumber); } sb.append("\n]"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/pkcs11/P11KeyStore.java --- a/src/share/classes/sun/security/pkcs11/P11KeyStore.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/pkcs11/P11KeyStore.java Mon Aug 11 08:18:34 2014 -0300 @@ -196,24 +196,24 @@ } else if (type == ATTR_CLASS_CERT) { sb.append("\ttype=[trusted cert]\n"); } - sb.append("\tlabel=[" + label + "]\n"); + sb.append("\tlabel=[").append(label).append("]\n"); if (id == null) { sb.append("\tid=[null]\n"); } else { - sb.append("\tid=" + P11KeyStore.getID(id) + "\n"); + sb.append("\tid=").append(P11KeyStore.getID(id)).append('\n'); } - sb.append("\ttrusted=[" + trusted + "]\n"); - sb.append("\tmatched=[" + matched + "]\n"); + sb.append("\ttrusted=[").append(trusted).append("]\n"); + sb.append("\tmatched=[").append(matched).append("]\n"); if (cert == null) { sb.append("\tcert=[null]\n"); } else { - sb.append("\tcert=[\tsubject: " + - cert.getSubjectX500Principal() + - "\n\t\tissuer: " + - cert.getIssuerX500Principal() + - "\n\t\tserialNum: " + - cert.getSerialNumber().toString() + - "]"); + sb.append("\tcert=[\tsubject: ") + .append(cert.getSubjectX500Principal()) + .append("\n\t\tissuer: ") + .append(cert.getIssuerX500Principal()) + .append("\n\t\tserialNum: ") + .append(cert.getSerialNumber().toString()) + .append(']'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/PolicyFile.java --- a/src/share/classes/sun/security/provider/PolicyFile.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/PolicyFile.java Mon Aug 11 08:18:34 2014 -0300 @@ -1500,8 +1500,8 @@ if (i != 0) { sb.append(", "); } - sb.append(principalInfo[i][0] + " " + - "\"" + principalInfo[i][1] + "\""); + sb.append(principalInfo[i][0]).append(' ').append('"') + .append(principalInfo[i][1]).append('"'); } if (pli.hasNext()) { sb.append(", "); @@ -1774,17 +1774,17 @@ Principal[] principals = pd.getPrincipals(); String pals = ""; if (principals != null && principals.length > 0) { - StringBuilder palBuf = new StringBuilder("(principals "); + StringBuilder palSB = new StringBuilder("(principals "); for (int i = 0; i < principals.length; i++) { - palBuf.append(principals[i].getClass().getName() + - " \"" + principals[i].getName() + - "\""); + palSB.append(principals[i].getClass().getName()) + .append(" \"").append(principals[i].getName()) + .append('"'); if (i < principals.length-1) - palBuf.append(", "); + palSB.append(", "); else - palBuf.append(")"); + palSB.append(')'); } - pals = palBuf.toString(); + pals = palSB.toString(); } return "PD CodeSource: " + pd.getCodeSource() @@ -1884,7 +1884,7 @@ throw new Exception(form.format(source)); } - sb.append(X500PRINCIPAL + " \"" + suffix + "\""); + sb.append(X500PRINCIPAL).append(" \"").append(suffix).append('"'); startIndex = e+2; } else { MessageFormat form = new MessageFormat diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/CertId.java --- a/src/share/classes/sun/security/provider/certpath/CertId.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/CertId.java Mon Aug 11 08:18:34 2014 -0300 @@ -223,13 +223,13 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("CertId \n"); - sb.append("Algorithm: " + hashAlgId.toString() +"\n"); + sb.append("Algorithm: ").append(hashAlgId.toString()).append('\n'); sb.append("issuerNameHash \n"); HexDumpEncoder encoder = new HexDumpEncoder(); sb.append(encoder.encode(issuerNameHash)); sb.append("\nissuerKeyHash: \n"); sb.append(encoder.encode(issuerKeyHash)); - sb.append("\n" + certSerialNumber.toString()); + sb.append('\n').append(certSerialNumber.toString()); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/OCSPResponse.java --- a/src/share/classes/sun/security/provider/certpath/OCSPResponse.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/OCSPResponse.java Mon Aug 11 08:18:34 2014 -0300 @@ -812,14 +812,14 @@ StringBuilder sb = new StringBuilder(); sb.append("SingleResponse: \n"); sb.append(certId); - sb.append("\nCertStatus: "+ certStatus + "\n"); + sb.append("\nCertStatus: ").append(certStatus).append('\n'); if (certStatus == CertStatus.REVOKED) { - sb.append("revocationTime is " + revocationTime + "\n"); - sb.append("revocationReason is " + revocationReason + "\n"); + sb.append("revocationTime is ").append(revocationTime).append('\n'); + sb.append("revocationReason is ").append(revocationReason).append('\n'); } - sb.append("thisUpdate is " + thisUpdate + "\n"); + sb.append("thisUpdate is ").append(thisUpdate).append('\n'); if (nextUpdate != null) { - sb.append("nextUpdate is " + nextUpdate + "\n"); + sb.append("nextUpdate is ").append(nextUpdate).append('\n'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java --- a/src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java Mon Aug 11 08:18:34 2014 -0300 @@ -124,7 +124,7 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); sb.append(super.toString()); - sb.append(" Build Forward Flag: " + String.valueOf(buildForward) + "\n"); + sb.append(" Build Forward Flag: ").append(String.valueOf(buildForward)).append('\n'); sb.append("]\n"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/HandshakeMessage.java --- a/src/share/classes/sun/security/ssl/HandshakeMessage.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/HandshakeMessage.java Mon Aug 11 08:18:34 2014 -0300 @@ -1478,7 +1478,7 @@ boolean opened = false; for (SignatureAndHashAlgorithm signAlg : algorithms) { if (opened) { - sb.append(", " + signAlg.getAlgorithmName()); + sb.append(", ").append(signAlg.getAlgorithmName()); } else { sb.append(signAlg.getAlgorithmName()); opened = true; diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/ServerNameExtension.java --- a/src/share/classes/sun/security/ssl/ServerNameExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/ServerNameExtension.java Mon Aug 11 08:18:34 2014 -0300 @@ -267,11 +267,11 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); + sb.append("Extension ").append(type).append(", server_name: "); for (SNIServerName sniName : sniMap.values()) { - sb.append("[" + sniName + "]"); + sb.append('[').append(sniName).append(']'); } - - return "Extension " + type + ", server_name: " + sb; + return sb.toString(); } private static class UnknownServerName extends SNIServerName { diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java --- a/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Mon Aug 11 08:18:34 2014 -0300 @@ -119,17 +119,17 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); + sb.append("Extension ").append(type).append(", signature_algorithms: "); boolean opened = false; for (SignatureAndHashAlgorithm signAlg : algorithms) { if (opened) { - sb.append(", " + signAlg.getAlgorithmName()); + sb.append(", ").append(signAlg.getAlgorithmName()); } else { sb.append(signAlg.getAlgorithmName()); opened = true; } } - - return "Extension " + type + ", signature_algorithms: " + sb; + return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java --- a/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Mon Aug 11 08:18:34 2014 -0300 @@ -113,7 +113,7 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("Extension " + type + ", curve names: {"); + sb.append("Extension ").append(type).append(", curve names: {"); boolean first = true; for (int curveId : curveIds) { if (first) { @@ -138,7 +138,7 @@ } else if (curveId == ARBITRARY_CHAR2) { sb.append("arbitrary_explicit_char2_curves"); } else { - sb.append("unknown curve " + curveId); + sb.append("unknown curve ").append(curveId); } } sb.append("}"); diff -r dde9f5cfde5f src/share/classes/sun/security/tools/jarsigner/Main.java --- a/src/share/classes/sun/security/tools/jarsigner/Main.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/tools/jarsigner/Main.java Mon Aug 11 08:18:34 2014 -0300 @@ -676,14 +676,13 @@ ((man.getAttributes(name) != null) || (man.getAttributes("./"+name) != null) || (man.getAttributes("/"+name) != null)); - sb.append( - (isSigned ? rb.getString("s") : rb.getString("SPACE")) + - (inManifest ? rb.getString("m") : rb.getString("SPACE")) + - (inStore ? rb.getString("k") : rb.getString("SPACE")) + - (inScope ? rb.getString("i") : rb.getString("SPACE")) + - ((inStoreOrScope & NOT_ALIAS) != 0 ?"X":" ") + - rb.getString("SPACE")); - sb.append("|"); + sb.append(isSigned ? rb.getString("s") : rb.getString("SPACE")) + .append(inManifest ? rb.getString("m") : rb.getString("SPACE")) + .append(inStore ? rb.getString("k") : rb.getString("SPACE")) + .append(inScope ? rb.getString("i") : rb.getString("SPACE")) + .append((inStoreOrScope & NOT_ALIAS) != 0 ? 'X' : ' ') + .append(rb.getString("SPACE")); + sb.append('|'); } // When -certs provided, display info has extra empty @@ -704,11 +703,13 @@ // Print no info for unsigned entries when -verbose:all, // to be consistent with old behavior. if (signatureRelated(name)) { - sb.append("\n" + tab + rb.getString( - ".Signature.related.entries.") + "\n\n"); + sb.append('\n').append(tab).append( + rb.getString(".Signature.related.entries.")) + .append("\n\n"); } else { - sb.append("\n" + tab + rb.getString( - ".Unsigned.entries.") + "\n\n"); + sb.append('\n').append(tab).append( + rb.getString(".Unsigned.entries.")) + .append("\n\n"); } } @@ -1605,8 +1606,8 @@ // No more warning, we alreay have hasExpiredCert or notYetValidCert } else { chainNotValidated = true; - sb.append(tab + rb.getString(".CertPath.not.validated.") + - e.getLocalizedMessage() + "]\n"); // TODO + sb.append(tab).append(rb.getString(".CertPath.not.validated.")) + .append(e.getLocalizedMessage()).append("]\n"); // TODO } } String result = sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/tools/policytool/PolicyTool.java --- a/src/share/classes/sun/security/tools/policytool/PolicyTool.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/tools/policytool/PolicyTool.java Mon Aug 11 08:18:34 2014 -0300 @@ -980,8 +980,9 @@ grantEntry.principals.listIterator(); while (list.hasNext()) { PolicyParser.PrincipalEntry pppe = list.next(); - sb.append(" Principal " + pppe.getDisplayClass() + " " + - pppe.getDisplayName(true)); + sb.append(" Principal ").append(pppe.getDisplayClass()) + .append(' ') + .append(pppe.getDisplayName(true)); if (list.hasNext()) sb.append(", "); } result = sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/AVA.java --- a/src/share/classes/sun/security/x509/AVA.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/AVA.java Mon Aug 11 08:18:34 2014 -0300 @@ -1062,7 +1062,7 @@ } else { boolean quoteNeeded = false; - StringBuilder sbuffer = new StringBuilder(); + StringBuilder sb = new StringBuilder(); boolean previousWhite = false; final String escapees = ",+=\n<>#;\\\""; @@ -1079,7 +1079,7 @@ for (int i = 0; i < length; i++) { char c = valStr.charAt(i); if (alreadyQuoted && (i == 0 || i == length - 1)) { - sbuffer.append(c); + sb.append(c); continue; } if (DerValue.isPrintableStringChar(c) || @@ -1096,7 +1096,7 @@ if (!(c == ' ' || c == '\n')) { // escape '"' and '\' if (c == '"' || c == '\\') { - sbuffer.append('\\'); + sb.append('\\'); } previousWhite = false; } else { @@ -1106,7 +1106,7 @@ previousWhite = true; } - sbuffer.append(c); + sb.append(c); } else if (debug != null && Debug.isOn("ava")) { @@ -1119,26 +1119,26 @@ byte[] valueBytes = Character.toString(c).getBytes("UTF8"); for (int j = 0; j < valueBytes.length; j++) { - sbuffer.append('\\'); + sb.append('\\'); char hexChar = Character.forDigit (0xF & (valueBytes[j] >>> 4), 16); - sbuffer.append(Character.toUpperCase(hexChar)); + sb.append(Character.toUpperCase(hexChar)); hexChar = Character.forDigit (0xF & (valueBytes[j]), 16); - sbuffer.append(Character.toUpperCase(hexChar)); + sb.append(Character.toUpperCase(hexChar)); } } else { // append non-printable/non-escaped char previousWhite = false; - sbuffer.append(c); + sb.append(c); } } // quote if trailing whitespace - if (sbuffer.length() > 0) { - char trailChar = sbuffer.charAt(sbuffer.length() - 1); + if (sb.length() > 0) { + char trailChar = sb.charAt(sb.length() - 1); if (trailChar == ' ' || trailChar == '\n') { quoteNeeded = true; } @@ -1147,9 +1147,9 @@ // Emit the string ... quote it if needed // if string is already quoted, don't re-quote if (!alreadyQuoted && quoteNeeded) { - retval.append("\"" + sbuffer.toString() + "\""); + retval.append('"').append(sb.toString()).append('"'); } else { - retval.append(sbuffer.toString()); + retval.append(sb.toString()); } } } catch (IOException e) { diff -r dde9f5cfde5f src/share/classes/sun/security/x509/DistributionPoint.java --- a/src/share/classes/sun/security/x509/DistributionPoint.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/DistributionPoint.java Mon Aug 11 08:18:34 2014 -0300 @@ -381,22 +381,22 @@ public String toString() { StringBuilder sb = new StringBuilder(); if (fullName != null) { - sb.append("DistributionPoint:\n " + fullName + "\n"); + sb.append("DistributionPoint:\n ").append(fullName).append('\n'); } if (relativeName != null) { - sb.append("DistributionPoint:\n " + relativeName + "\n"); + sb.append("DistributionPoint:\n ").append(relativeName).append('\n'); } if (reasonFlags != null) { sb.append(" ReasonFlags:\n"); for (int i = 0; i < reasonFlags.length; i++) { if (reasonFlags[i]) { - sb.append(" " + reasonToString(i) + "\n"); + sb.append(" ").append(reasonToString(i)).append('\n'); } } } if (crlIssuer != null) { - sb.append(" CRLIssuer:" + crlIssuer + "\n"); + sb.append(" CRLIssuer:").append(crlIssuer).append('\n'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/x509/DistributionPointName.java --- a/src/share/classes/sun/security/x509/DistributionPointName.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/DistributionPointName.java Mon Aug 11 08:18:34 2014 -0300 @@ -231,10 +231,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); if (fullName != null) { - sb.append("DistributionPointName:\n " + fullName + "\n"); + sb.append("DistributionPointName:\n ").append(fullName).append('\n'); } else { - sb.append("DistributionPointName:\n " + relativeName + "\n"); + sb.append("DistributionPointName:\n ").append(relativeName).append('\n'); } return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/PolicyInformation.java --- a/src/share/classes/sun/security/x509/PolicyInformation.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/PolicyInformation.java Mon Aug 11 08:18:34 2014 -0300 @@ -258,9 +258,9 @@ * Return a printable representation of the PolicyInformation. */ public String toString() { - StringBuilder s = new StringBuilder(" [" + policyIdentifier.toString()); - s.append(policyQualifiers + " ]\n"); - return s.toString(); + StringBuilder sb = new StringBuilder(" [" + policyIdentifier.toString()); + sb.append(policyQualifiers).append(" ]\n"); + return sb.toString(); } /** diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CRLEntryImpl.java --- a/src/share/classes/sun/security/x509/X509CRLEntryImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CRLEntryImpl.java Mon Aug 11 08:18:34 2014 -0300 @@ -292,17 +292,17 @@ StringBuilder sb = new StringBuilder(); sb.append(serialNumber.toString()); - sb.append(" On: " + revocationDate.toString()); + sb.append(" On: ").append(revocationDate.toString()); if (certIssuer != null) { - sb.append("\n Certificate issuer: " + certIssuer); + sb.append("\n Certificate issuer: ").append(certIssuer); } if (extensions != null) { Collection allEntryExts = extensions.getAllExtensions(); Extension[] exts = allEntryExts.toArray(new Extension[0]); - sb.append("\n CRL Entry Extensions: " + exts.length); + sb.append("\n CRL Entry Extensions: ").append(exts.length); for (int i = 0; i < exts.length; i++) { - sb.append("\n [" + (i+1) + "]: "); + sb.append("\n [").append(i + 1).append("]: "); Extension ext = exts[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -313,9 +313,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append('\n'); } } else sb.append(ext.toString()); //sub-class exists diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CRLImpl.java --- a/src/share/classes/sun/security/x509/X509CRLImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CRLImpl.java Mon Aug 11 08:18:34 2014 -0300 @@ -537,31 +537,32 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("X.509 CRL v" + (version+1) + "\n"); + sb.append("X.509 CRL v").append(version + 1).append('\n'); if (sigAlgId != null) - sb.append("Signature Algorithm: " + sigAlgId.toString() + - ", OID=" + (sigAlgId.getOID()).toString() + "\n"); + sb.append("Signature Algorithm: ").append(sigAlgId.toString()) + .append(", OID=") + .append((sigAlgId.getOID()).toString()).append('\n'); if (issuer != null) - sb.append("Issuer: " + issuer.toString() + "\n"); + sb.append("Issuer: ").append(issuer.toString()).append('\n'); if (thisUpdate != null) - sb.append("\nThis Update: " + thisUpdate.toString() + "\n"); + sb.append("\nThis Update: ").append(thisUpdate.toString()).append('\n'); if (nextUpdate != null) - sb.append("Next Update: " + nextUpdate.toString() + "\n"); + sb.append("Next Update: ").append(nextUpdate.toString()).append('\n'); if (revokedList.isEmpty()) sb.append("\nNO certificates have been revoked\n"); else { - sb.append("\nRevoked Certificates: " + revokedList.size()); + sb.append("\nRevoked Certificates: ").append(revokedList.size()); int i = 1; for (X509CRLEntry entry: revokedList) { - sb.append("\n[" + i++ + "] " + entry.toString()); + sb.append("\n[").append(i++).append("] ").append(entry.toString()); } } if (extensions != null) { Collection allExts = extensions.getAllExtensions(); Object[] objs = allExts.toArray(); - sb.append("\nCRL Extensions: " + objs.length); + sb.append("\nCRL Extensions: ").append(objs.length); for (int i = 0; i < objs.length; i++) { - sb.append("\n[" + (i+1) + "]: "); + sb.append("\n[").append(i + 1).append("]: "); Extension ext = (Extension)objs[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -572,9 +573,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append('\n'); } } else sb.append(ext.toString()); // sub-class exists @@ -585,8 +585,7 @@ } if (signature != null) { HexDumpEncoder encoder = new HexDumpEncoder(); - sb.append("\nSignature:\n" + encoder.encodeBuffer(signature) - + "\n"); + sb.append("\nSignature:\n").append(encoder.encodeBuffer(signature)).append('\n'); } else sb.append("NOT signed yet\n"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CertImpl.java --- a/src/share/classes/sun/security/x509/X509CertImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CertImpl.java Mon Aug 11 08:18:34 2014 -0300 @@ -802,11 +802,11 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); - sb.append(info.toString() + "\n"); - sb.append(" Algorithm: [" + algId.toString() + "]\n"); + sb.append(info.toString()).append('\n'); + sb.append(" Algorithm: [").append(algId.toString()).append("]\n"); HexDumpEncoder encoder = new HexDumpEncoder(); - sb.append(" Signature:\n" + encoder.encodeBuffer(signature)); + sb.append(" Signature:\n").append(encoder.encodeBuffer(signature)); sb.append("\n]"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CertInfo.java --- a/src/share/classes/sun/security/x509/X509CertInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CertInfo.java Mon Aug 11 08:18:34 2014 -0300 @@ -298,27 +298,27 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); - sb.append(" " + version.toString() + "\n"); - sb.append(" Subject: " + subject.toString() + "\n"); - sb.append(" Signature Algorithm: " + algId.toString() + "\n"); - sb.append(" Key: " + pubKey.toString() + "\n"); - sb.append(" " + interval.toString() + "\n"); - sb.append(" Issuer: " + issuer.toString() + "\n"); - sb.append(" " + serialNum.toString() + "\n"); + sb.append(" ").append(version.toString()).append('\n'); + sb.append(" Subject: ").append(subject.toString()).append('\n'); + sb.append(" Signature Algorithm: ").append(algId.toString()).append('\n'); + sb.append(" Key: ").append(pubKey.toString()).append('\n'); + sb.append(" ").append(interval.toString()).append('\n'); + sb.append(" Issuer: ").append(issuer.toString()).append('\n'); + sb.append(" ").append(serialNum.toString()).append('\n'); // optional v2, v3 extras if (issuerUniqueId != null) { - sb.append(" Issuer Id:\n" + issuerUniqueId.toString() + "\n"); + sb.append(" Issuer Id:\n").append(issuerUniqueId.toString()).append('\n'); } if (subjectUniqueId != null) { - sb.append(" Subject Id:\n" + subjectUniqueId.toString() + "\n"); + sb.append(" Subject Id:\n").append(subjectUniqueId.toString()).append('\n'); } if (extensions != null) { Collection allExts = extensions.getAllExtensions(); Extension[] exts = allExts.toArray(new Extension[0]); - sb.append("\nCertificate Extensions: " + exts.length); + sb.append("\nCertificate Extensions: ").append(exts.length); for (int i = 0; i < exts.length; i++) { - sb.append("\n[" + (i+1) + "]: "); + sb.append("\n[").append(i + 1).append("]: "); Extension ext = exts[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -329,9 +329,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append('\n'); } } else sb.append(ext.toString()); //sub-class exists @@ -341,10 +340,10 @@ } Map invalid = extensions.getUnparseableExtensions(); if (invalid.isEmpty() == false) { - sb.append("\nUnparseable certificate extensions: " + invalid.size()); + sb.append("\nUnparseable certificate extensions: ").append(invalid.size()); int i = 1; for (Extension ext : invalid.values()) { - sb.append("\n[" + (i++) + "]: "); + sb.append("\n[").append(i++).append("]: "); sb.append(ext); } } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java --- a/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Mon Aug 11 08:18:33 2014 -0300 @@ -465,10 +465,10 @@ private static void appendIfLiteralAddress(String addr, StringBuffer sb) { if (IPAddressUtil.isIPv4LiteralAddress(addr)) { - sb.append("dns://" + addr + " "); + sb.append("dns://").append(addr).append(' '); } else { if (IPAddressUtil.isIPv6LiteralAddress(addr)) { - sb.append("dns://[" + addr + "] "); + sb.append("dns://[").append(addr).append("] "); } } } diff -r dde9f5cfde5f src/share/classes/sun/net/www/HeaderParser.java --- a/src/share/classes/sun/net/www/HeaderParser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/HeaderParser.java Mon Aug 11 08:18:33 2014 -0300 @@ -220,21 +220,23 @@ public String toString () { Iterator k = keys(); - StringBuffer sbuf = new StringBuffer(); - sbuf.append ("{size="+asize+" nkeys="+nkeys+" "); + StringBuilder sb = new StringBuilder(); + sb.append("{size=").append(asize).append(" nkeys=").append(nkeys) + .append(' '); for (int i=0; k.hasNext(); i++) { String key = k.next(); String val = findValue (i); if (val != null && "".equals (val)) { val = null; } - sbuf.append (" {"+key+(val==null?"":","+val)+"}"); + sb.append(" {").append(key).append(val == null ? "" : "," + val) + .append('}'); if (k.hasNext()) { - sbuf.append (","); + sb.append (','); } } - sbuf.append (" }"); - return new String (sbuf); + sb.append (" }"); + return new String (sb); } public int findInt(String k, int Default) { diff -r dde9f5cfde5f src/share/classes/sun/net/www/MimeEntry.java --- a/src/share/classes/sun/net/www/MimeEntry.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/MimeEntry.java Mon Aug 11 08:18:33 2014 -0300 @@ -288,7 +288,7 @@ int action = getAction(); if (action != MimeEntry.UNKNOWN) { - sb.append("action=" + actionKeywords[action]); + sb.append("action=").append(actionKeywords[action]); needSeparator = true; } @@ -297,7 +297,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("application=" + command); + sb.append("application=").append(command); needSeparator = true; } @@ -305,7 +305,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("icon=" + getImageFileName()); + sb.append("icon=").append(getImageFileName()); needSeparator = true; } @@ -314,7 +314,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("file_extensions=" + extensions); + sb.append("file_extensions=").append(extensions); needSeparator = true; } @@ -323,7 +323,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("description=" + description); + sb.append("description=").append(description); } return sb.toString(); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/management/Agent.java --- a/src/share/classes/sun/management/Agent.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/management/Agent.java Mon Aug 11 08:18:33 2014 -0300 @@ -502,7 +502,7 @@ } else { StringBuilder message = new StringBuilder(params[0]); for (int i = 1; i < params.length; i++) { - message.append(" " + params[i]); + message.append(' ').append(params[i]); } error(key, message.toString()); } diff -r dde9f5cfde5f src/share/classes/sun/management/MappedMXBeanType.java --- a/src/share/classes/sun/management/MappedMXBeanType.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/management/MappedMXBeanType.java Mon Aug 11 08:18:33 2014 -0300 @@ -289,7 +289,7 @@ if (et.isPrimitive()) { className = new StringBuilder(c.getName()); } else { - className.append("L" + baseElementType.getTypeName() + ";"); + className.append('L').append(baseElementType.getTypeName()).append(';'); } try { mappedTypeClass = Class.forName(className.toString()); @@ -385,7 +385,7 @@ if (elementType instanceof Class && ((Class) elementType).isPrimitive()) { className = new StringBuilder(gat.toString()); } else { - className.append("L" + baseElementType.getTypeName() + ";"); + className.append('L').append(baseElementType.getTypeName()).append(';'); } try { mappedTypeClass = Class.forName(className.toString()); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/launcher/LauncherHelper.java --- a/src/share/classes/sun/launcher/LauncherHelper.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/launcher/LauncherHelper.java Mon Aug 11 08:18:33 2014 -0300 @@ -369,10 +369,9 @@ static void appendVmErgoMessage(boolean isServerClass, String vm) { outBuf = outBuf.append(getLocalizedMessage("java.launcher.ergo.message1", vm)); - outBuf = (isServerClass) - ? outBuf.append(",\n" + - getLocalizedMessage("java.launcher.ergo.message2") + "\n\n") - : outBuf.append(".\n\n"); + outBuf = (isServerClass) ? outBuf.append(",\n") + .append(getLocalizedMessage("java.launcher.ergo.message2")) + .append("\n\n") : outBuf.append(".\n\n"); } /** -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/font/AttributeValues.java --- a/src/share/classes/sun/font/AttributeValues.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/AttributeValues.java Mon Aug 11 08:18:33 2014 -0300 @@ -542,7 +542,7 @@ } } } - b.append("[btx=" + baselineTransform + ", ctx=" + charTransform + "]"); + b.append("[btx=").append(baselineTransform).append(", ctx=").append(charTransform).append(']'); b.append('}'); return b.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/font/Decoration.java --- a/src/share/classes/sun/font/Decoration.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/Decoration.java Mon Aug 11 08:18:33 2014 -0300 @@ -431,12 +431,12 @@ StringBuilder sb = new StringBuilder(); sb.append(super.toString()); sb.append("["); - if (fgPaint != null) sb.append("fgPaint: " + fgPaint); - if (bgPaint != null) sb.append(" bgPaint: " + bgPaint); + if (fgPaint != null) sb.append("fgPaint: ").append(fgPaint); + if (bgPaint != null) sb.append(" bgPaint: ").append(bgPaint); if (swapColors) sb.append(" swapColors: true"); if (strikethrough) sb.append(" strikethrough: true"); - if (stdUnderline != null) sb.append(" stdUnderline: " + stdUnderline); - if (imUnderline != null) sb.append(" imUnderline: " + imUnderline); + if (stdUnderline != null) sb.append(" stdUnderline: ").append(stdUnderline); + if (imUnderline != null) sb.append(" imUnderline: ").append(imUnderline); sb.append("]"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/font/StandardGlyphVector.java --- a/src/share/classes/sun/font/StandardGlyphVector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/StandardGlyphVector.java Mon Aug 11 08:18:33 2014 -0300 @@ -1894,9 +1894,9 @@ } } catch(Exception e) { - buf.append(" " + e.getMessage()); + buf.append(' ').append(e.getMessage()); } - buf.append("}"); + buf.append('}'); return buf; } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/swing/GroupLayout.java --- a/src/share/classes/javax/swing/GroupLayout.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/GroupLayout.java Mon Aug 11 08:18:33 2014 -0300 @@ -1239,15 +1239,14 @@ padding = ", userCreated=" + paddingSpring.getUserCreated() + ", matches=" + paddingSpring.getMatchDescription(); } - buffer.append(indent + spring.getClass().getName() + " " + - Integer.toHexString(spring.hashCode()) + " " + - origin + - ", size=" + spring.getSize() + - ", alignment=" + spring.getAlignment() + - " prefs=[" + spring.getMinimumSize(axis) + - " " + spring.getPreferredSize(axis) + - " " + spring.getMaximumSize(axis) + - padding + "]\n"); + buffer.append(indent).append(spring.getClass().getName()).append(' ') + .append(Integer.toHexString(spring.hashCode())).append(' ') + .append(origin).append(", size=").append(spring.getSize()) + .append(", alignment=").append(spring.getAlignment()) + .append(" prefs=[").append(spring.getMinimumSize(axis)) + .append(' ').append(spring.getPreferredSize(axis)).append(' ') + .append(spring.getMaximumSize(axis)).append(padding) + .append("]\n"); if (spring instanceof Group) { List springs = ((Group)spring).springs; indent += " "; diff -r dde9f5cfde5f src/share/classes/javax/swing/JColorChooser.java --- a/src/share/classes/javax/swing/JColorChooser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/JColorChooser.java Mon Aug 11 08:18:33 2014 -0300 @@ -545,8 +545,7 @@ protected String paramString() { StringBuilder chooserPanelsString = new StringBuilder(""); for (int i=0; i keys = keys(); while (keys.hasMoreElements()) { Object key = keys.nextElement(); - sb.append(key + "=" + get(key) + ", "); + sb.append(key).append('=').append(get(key)).append(", "); } int length = sb.length(); if (length > 1) { sb.delete(length-2, length); } - sb.append("}"); + sb.append('}'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/javax/swing/RepaintManager.java --- a/src/share/classes/javax/swing/RepaintManager.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/RepaintManager.java Mon Aug 11 08:18:33 2014 -0300 @@ -990,10 +990,7 @@ * @return a String representation of this object */ public synchronized String toString() { - StringBuilder sb = new StringBuilder(); - if(dirtyComponents != null) - sb.append("" + dirtyComponents); - return sb.toString(); + return dirtyComponents != null ? dirtyComponents.toString() : ""; } diff -r dde9f5cfde5f src/share/classes/javax/swing/event/TreeModelEvent.java --- a/src/share/classes/javax/swing/event/TreeModelEvent.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/event/TreeModelEvent.java Mon Aug 11 08:18:33 2014 -0300 @@ -294,21 +294,20 @@ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append(getClass().getName() + " " + - Integer.toString(hashCode())); + sb.append(getClass().getName()).append(' ').append(Integer.toString(hashCode())); if(path != null) - sb.append(" path " + path); + sb.append(" path ").append(path); if(childIndices != null) { sb.append(" indices [ "); for(int counter = 0; counter < childIndices.length; counter++) - sb.append(Integer.toString(childIndices[counter])+ " "); - sb.append("]"); + sb.append(Integer.toString(childIndices[counter])).append(' '); + sb.append(']'); } if(children != null) { sb.append(" children [ "); for(int counter = 0; counter < children.length; counter++) - sb.append(children[counter] + " "); - sb.append("]"); + sb.append(children[counter]).append(' '); + sb.append(']'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java Mon Aug 11 08:18:33 2014 -0300 @@ -1330,8 +1330,8 @@ for (Object obj : values) { String val = ((obj == null) ? "" : obj.toString()); - plainBuf.append(val + "\n"); - htmlBuf.append("
  • " + val + "\n"); + plainBuf.append(val).append('\n'); + htmlBuf.append("
  • ").append(val).append('\n'); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicListUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicListUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicListUI.java Mon Aug 11 08:18:33 2014 -0300 @@ -2948,8 +2948,8 @@ for (int i = 0; i < values.length; i++) { Object obj = values[i]; String val = ((obj == null) ? "" : obj.toString()); - plainStr.append(val + "\n"); - htmlStr.append("
  • " + val + "\n"); + plainStr.append(val).append('\n'); + htmlStr.append("
  • ").append(val).append('\n'); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicTableUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java Mon Aug 11 08:18:33 2014 -0300 @@ -2230,11 +2230,11 @@ for (int col = 0; col < cols.length; col++) { Object obj = table.getValueAt(rows[row], cols[col]); String val = ((obj == null) ? "" : obj.toString()); - plainStr.append(val + "\t"); - htmlStr.append(" " + val + "\n"); + plainStr.append(val).append('\t'); + htmlStr.append(" ").append(val).append("\n"); } // we want a newline at the end of each line and not a tab - plainStr.deleteCharAt(plainStr.length() - 1).append("\n"); + plainStr.deleteCharAt(plainStr.length() - 1).append('\t'); htmlStr.append("\n"); } diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Mon Aug 11 08:18:33 2014 -0300 @@ -3618,8 +3618,8 @@ boolean leaf = model.isLeaf(node); String label = getDisplayString(path, true, leaf); - plainStr.append(label + "\n"); - htmlStr.append("
  • " + label + "\n"); + plainStr.append(label).append('\n'); + htmlStr.append("
  • ").append(label).append('\n'); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java --- a/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Mon Aug 11 08:18:33 2014 -0300 @@ -1160,15 +1160,15 @@ rows = rowMapper.getRowsForPaths(selection); else rows = null; - sb.append(getClass().getName() + " " + hashCode() + " [ "); + sb.append(getClass().getName()).append(' ').append(hashCode()).append(" [ "); for(int counter = 0; counter < selCount; counter++) { if(rows != null) - sb.append(selection[counter].toString() + "@" + - Integer.toString(rows[counter])+ " "); + sb.append(selection[counter].toString()).append('@') + .append(Integer.toString(rows[counter])).append(' '); else - sb.append(selection[counter].toString() + " "); + sb.append(selection[counter].toString()).append(' '); } - sb.append("]"); + sb.append(']'); return sb.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/sound/sampled/AudioFileFormat.java --- a/src/share/classes/javax/sound/sampled/AudioFileFormat.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/sound/sampled/AudioFileFormat.java Mon Aug 11 08:18:33 2014 -0300 @@ -272,26 +272,25 @@ @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuffer sb = new StringBuffer(); //$$fb2002-11-01: fix for 4672864: AudioFileFormat.toString() throws unexpected NullPointerException if (type != null) { - buf.append(type.toString() + " (." + type.getExtension() + ") file"); + sb.append(type.toString()).append(" (.").append(type.getExtension()).append(") file"); } else { - buf.append("unknown file format"); + sb.append("unknown file format"); } if (byteLength != AudioSystem.NOT_SPECIFIED) { - buf.append(", byte length: " + byteLength); + sb.append(", byte length: ").append(byteLength); } - buf.append(", data format: " + format); + sb.append(", data format: ").append(format); if (frameLength != AudioSystem.NOT_SPECIFIED) { - buf.append(", frame length: " + frameLength); + sb.append(", frame length: ").append(frameLength); } - - return new String(buf); + return sb.toString(); } /** diff -r dde9f5cfde5f src/share/classes/javax/sound/sampled/DataLine.java --- a/src/share/classes/javax/sound/sampled/DataLine.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/sound/sampled/DataLine.java Mon Aug 11 08:18:33 2014 -0300 @@ -473,17 +473,21 @@ StringBuilder sb = new StringBuilder(); if ( (formats.length == 1) && (formats[0] != null) ) { - sb.append(" supporting format " + formats[0]); + sb.append(" supporting format ").append(formats[0]); } else if (getFormats().length > 1) { - sb.append(" supporting " + getFormats().length + " audio formats"); + sb.append(" supporting ").append(getFormats().length) + .append(" audio formats"); } if ( (minBufferSize != AudioSystem.NOT_SPECIFIED) && (maxBufferSize != AudioSystem.NOT_SPECIFIED) ) { - sb.append(", and buffers of " + minBufferSize + " to " + maxBufferSize + " bytes"); + sb.append(", and buffers of ").append(minBufferSize) + .append(" to ").append(maxBufferSize).append(" bytes"); } else if ( (minBufferSize != AudioSystem.NOT_SPECIFIED) && (minBufferSize > 0) ) { - sb.append(", and buffers of at least " + minBufferSize + " bytes"); + sb.append(", and buffers of at least ").append(minBufferSize) + .append(" bytes"); } else if (maxBufferSize != AudioSystem.NOT_SPECIFIED) { - sb.append(", and buffers of up to " + minBufferSize + " bytes"); + sb.append(", and buffers of up to ").append(minBufferSize) + .append(" bytes"); } return new String(super.toString() + sb); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/security/auth/kerberos/KerberosTicket.java --- a/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java Mon Aug 11 08:18:33 2014 -0300 @@ -651,8 +651,7 @@ StringBuilder caddrString = new StringBuilder(); if (clientAddresses != null) { for (int i = 0; i < clientAddresses.length; i++) { - caddrString.append("clientAddresses[" + i + "] = " + - clientAddresses[i].toString()); + caddrString.append("clientAddresses[").append(i).append("] = ").append(clientAddresses[i].toString()); } } return ("Ticket (hex) = " + "\n" + -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/naming/BinaryRefAddr.java --- a/src/share/classes/javax/naming/BinaryRefAddr.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/BinaryRefAddr.java Mon Aug 11 08:18:33 2014 -0300 @@ -165,11 +165,11 @@ * @return The non-null string representation of this address. */ public String toString(){ - StringBuilder str = new StringBuilder("Address Type: " + addrType + "\n"); - + StringBuilder str = new StringBuilder(); + str.append("Address Type: ").append(addrType).append('\n'); str.append("AddressContents: "); for (int i = 0; i= 32) str.append(" ...\n"); diff -r dde9f5cfde5f src/share/classes/javax/naming/NameImpl.java --- a/src/share/classes/javax/naming/NameImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/NameImpl.java Mon Aug 11 08:18:33 2014 -0300 @@ -170,7 +170,7 @@ endQuote = one ? syntaxEndQuote1 : syntaxEndQuote2; i += syntaxTypevalSeparator.length(); - answer.append(syntaxTypevalSeparator+beginQuote); // add back + answer.append(syntaxTypevalSeparator).append(beginQuote); // add back // consume string until matching quote for (i += beginQuote.length(); diff -r dde9f5cfde5f src/share/classes/javax/naming/RefAddr.java --- a/src/share/classes/javax/naming/RefAddr.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/RefAddr.java Mon Aug 11 08:18:33 2014 -0300 @@ -139,9 +139,9 @@ * @return The non-null string representation of this address. */ public String toString(){ - StringBuilder str = new StringBuilder("Type: " + addrType + "\n"); - - str.append("Content: " + getContent() + "\n"); + StringBuilder str = new StringBuilder(); + str.append("Type: ").append(addrType).append('\n'); + str.append("Content: ").append(getContent()).append('\n'); return (str.toString()); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/crypto/CryptoPermission.java --- a/src/share/classes/javax/crypto/CryptoPermission.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/crypto/CryptoPermission.java Mon Aug 11 08:18:32 2014 -0300 @@ -369,22 +369,24 @@ * @return information about this CryptoPermission. */ public String toString() { - StringBuilder buf = new StringBuilder(100); - buf.append("(CryptoPermission " + alg + " " + maxKeySize); + StringBuilder sb = new StringBuilder(100); + sb.append("(CryptoPermission ").append(alg).append(' ') + .append(maxKeySize); if (algParamSpec != null) { if (algParamSpec instanceof RC2ParameterSpec) { - buf.append(" , effective " + - ((RC2ParameterSpec)algParamSpec).getEffectiveKeyBits()); + sb.append(" , effective ") + .append(((RC2ParameterSpec) algParamSpec) + .getEffectiveKeyBits()); } else if (algParamSpec instanceof RC5ParameterSpec) { - buf.append(" , rounds " + - ((RC5ParameterSpec)algParamSpec).getRounds()); + sb.append(" , rounds ").append( + ((RC5ParameterSpec) algParamSpec).getRounds()); } } if (exemptionMechanism != null) { // OPTIONAL - buf.append(" " + exemptionMechanism); + sb.append(' ').append(exemptionMechanism); } - buf.append(")"); - return buf.toString(); + sb.append(')'); + return sb.toString(); } private boolean impliesExemptionMechanism(String exemptionMechanism) { -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/management/MBeanPermission.java --- a/src/share/classes/javax/management/MBeanPermission.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/MBeanPermission.java Mon Aug 11 08:18:32 2014 -0300 @@ -455,11 +455,11 @@ name.append(className); if (member == null) member = "-"; - name.append("#" + member); + name.append('#').append(member); if (objectName == null) name.append("[-]"); else - name.append("[").append(objectName.getCanonicalName()).append("]"); + name.append('[').append(objectName.getCanonicalName()).append(']'); /* In the interests of legibility for Permission.toString(), we transform the empty string into "*". */ diff -r dde9f5cfde5f src/share/classes/javax/management/modelmbean/RequiredModelMBean.java --- a/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java Mon Aug 11 08:18:32 2014 -0300 @@ -716,15 +716,14 @@ } retStr.append("\nMBeanInfo for ModelMBean is:"); - retStr.append("\nCLASSNAME: \t"+ info.getClassName()); - retStr.append("\nDESCRIPTION: \t"+ info.getDescription()); + retStr.append("\nCLASSNAME: \t").append(info.getClassName()); + retStr.append("\nDESCRIPTION: \t").append(info.getDescription()); try { - retStr.append("\nMBEAN DESCRIPTOR: \t"+ - info.getMBeanDescriptor()); + retStr.append("\nMBEAN DESCRIPTOR: \t").append(info.getMBeanDescriptor()); } catch (Exception e) { - retStr.append("\nMBEAN DESCRIPTOR: \t" + " is invalid"); + retStr.append("\nMBEAN DESCRIPTOR: \t is invalid"); } retStr.append("\nATTRIBUTES"); @@ -734,13 +733,12 @@ for (int i=0; i objNameIter = objectNameList.iterator(); objNameIter.hasNext();) { ObjectName currObjName = objNameIter.next(); diff -r dde9f5cfde5f src/share/classes/javax/management/relation/RoleInfo.java --- a/src/share/classes/javax/management/relation/RoleInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/relation/RoleInfo.java Mon Aug 11 08:18:32 2014 -0300 @@ -456,13 +456,13 @@ */ public String toString() { StringBuilder result = new StringBuilder(); - result.append("role info name: " + name); - result.append("; isReadable: " + isReadable); - result.append("; isWritable: " + isWritable); - result.append("; description: " + description); - result.append("; minimum degree: " + minDegree); - result.append("; maximum degree: " + maxDegree); - result.append("; MBean class: " + referencedMBeanClassName); + result.append("role info name: ").append(name); + result.append("; isReadable: ").append(isReadable); + result.append("; isWritable: ").append(isWritable); + result.append("; description: ").append(description); + result.append("; minimum degree: ").append(minDegree); + result.append("; maximum degree: ").append(maxDegree); + result.append("; MBean class: ").append(referencedMBeanClassName); return result.toString(); } diff -r dde9f5cfde5f src/share/classes/javax/management/relation/RoleUnresolved.java --- a/src/share/classes/javax/management/relation/RoleUnresolved.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/relation/RoleUnresolved.java Mon Aug 11 08:18:32 2014 -0300 @@ -282,7 +282,7 @@ */ public String toString() { StringBuilder result = new StringBuilder(); - result.append("role name: " + roleName); + result.append("role name: ").append(roleName); if (roleValue != null) { result.append("; value: "); for (Iterator objNameIter = roleValue.iterator(); @@ -294,7 +294,7 @@ } } } - result.append("; problem type: " + problemType); + result.append("; problem type: ").append(problemType); return result.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/util/Scanner.java --- a/src/share/classes/java/util/Scanner.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/Scanner.java Mon Aug 11 08:18:32 2014 -0300 @@ -1304,20 +1304,20 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("java.util.Scanner"); - sb.append("[delimiters=" + delimPattern + "]"); - sb.append("[position=" + position + "]"); - sb.append("[match valid=" + matchValid + "]"); - sb.append("[need input=" + needInput + "]"); - sb.append("[source closed=" + sourceClosed + "]"); - sb.append("[skipped=" + skipped + "]"); - sb.append("[group separator=" + groupSeparator + "]"); - sb.append("[decimal separator=" + decimalSeparator + "]"); - sb.append("[positive prefix=" + positivePrefix + "]"); - sb.append("[negative prefix=" + negativePrefix + "]"); - sb.append("[positive suffix=" + positiveSuffix + "]"); - sb.append("[negative suffix=" + negativeSuffix + "]"); - sb.append("[NaN string=" + nanString + "]"); - sb.append("[infinity string=" + infinityString + "]"); + sb.append("[delimiters=").append(delimPattern).append(']'); + sb.append("[position=").append(position).append(']'); + sb.append("[match valid=").append(matchValid).append(']'); + sb.append("[need input=").append(needInput).append(']'); + sb.append("[source closed=").append(sourceClosed).append(']'); + sb.append("[skipped=").append(skipped).append(']'); + sb.append("[group separator=").append(groupSeparator).append(']'); + sb.append("[decimal separator=").append(decimalSeparator).append(']'); + sb.append("[positive prefix=").append(positivePrefix).append(']'); + sb.append("[negative prefix=").append(negativePrefix).append(']'); + sb.append("[positive suffix=").append(positiveSuffix).append(']'); + sb.append("[negative suffix=").append(negativeSuffix).append(']'); + sb.append("[NaN string=").append(nanString).append(']'); + sb.append("[infinity string=").append(infinityString).append(']'); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/util/regex/Matcher.java --- a/src/share/classes/java/util/regex/Matcher.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/regex/Matcher.java Mon Aug 11 08:18:32 2014 -0300 @@ -1295,14 +1295,14 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("java.util.regex.Matcher"); - sb.append("[pattern=" + pattern()); + sb.append("[pattern=").append(pattern()); sb.append(" region="); - sb.append(regionStart() + "," + regionEnd()); + sb.append(regionStart()).append(',').append(regionEnd()); sb.append(" lastmatch="); if ((first >= 0) && (group() != null)) { sb.append(group()); } - sb.append("]"); + sb.append(']'); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/util/regex/Pattern.java --- a/src/share/classes/java/util/regex/Pattern.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/regex/Pattern.java Mon Aug 11 08:18:32 2014 -0300 @@ -1488,10 +1488,10 @@ for(int x=0; x0) - result.append("|"+next); + result.append('|').append(next); next = composeOneStep(next); if (next != null) - result.append("|"+produceEquivalentAlternation(next)); + result.append('|').append(produceEquivalentAlternation(next)); } return result.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/text/ChoiceFormat.java --- a/src/share/classes/java/text/ChoiceFormat.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/text/ChoiceFormat.java Mon Aug 11 08:18:32 2014 -0300 @@ -272,7 +272,7 @@ double tryLess = Math.abs(Math.IEEEremainder(less, 1.0d)); if (tryLessOrEqual < tryLess) { - result.append(""+choiceLimits[i]); + result.append(choiceLimits[i]); result.append('#'); } else { if (choiceLimits[i] == Double.POSITIVE_INFINITY) { @@ -280,7 +280,7 @@ } else if (choiceLimits[i] == Double.NEGATIVE_INFINITY) { result.append("-\u221E"); } else { - result.append(""+less); + result.append(less); } result.append('<'); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/security/CodeSigner.java --- a/src/share/classes/java/security/CodeSigner.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/CodeSigner.java Mon Aug 11 08:18:32 2014 -0300 @@ -156,9 +156,9 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("("); - sb.append("Signer: " + signerCertPath.getCertificates().get(0)); + sb.append("Signer: ").append(signerCertPath.getCertificates().get(0)); if (timestamp != null) { - sb.append("timestamp: " + timestamp); + sb.append("timestamp: ").append(timestamp); } sb.append(")"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/java/security/CodeSource.java --- a/src/share/classes/java/security/CodeSource.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/CodeSource.java Mon Aug 11 08:18:32 2014 -0300 @@ -468,12 +468,12 @@ if (this.certs != null && this.certs.length > 0) { for (int i = 0; i < this.certs.length; i++) { - sb.append( " " + this.certs[i]); + sb.append(' ').append(this.certs[i]); } } else if (this.signers != null && this.signers.length > 0) { for (int i = 0; i < this.signers.length; i++) { - sb.append( " " + this.signers[i]); + sb.append(' ').append(this.signers[i]); } } else { sb.append(" "); diff -r dde9f5cfde5f src/share/classes/java/security/KeyStore.java --- a/src/share/classes/java/security/KeyStore.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/KeyStore.java Mon Aug 11 08:18:32 2014 -0300 @@ -610,8 +610,8 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("Private key entry and certificate chain with " - + chain.length + " elements:\r\n"); + sb.append("Private key entry and certificate chain with ") + .append(chain.length).append(" elements:\r\n"); for (Certificate cert : chain) { sb.append(cert); sb.append("\r\n"); diff -r dde9f5cfde5f src/share/classes/java/security/PermissionCollection.java --- a/src/share/classes/java/security/PermissionCollection.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/PermissionCollection.java Mon Aug 11 08:18:32 2014 -0300 @@ -179,12 +179,12 @@ public String toString() { Enumeration enum_ = elements(); StringBuilder sb = new StringBuilder(); - sb.append(super.toString()+" (\n"); + sb.append(super.toString()).append(" (\n"); while (enum_.hasMoreElements()) { try { - sb.append(" "); + sb.append(' '); sb.append(enum_.nextElement().toString()); - sb.append("\n"); + sb.append('\n'); } catch (NoSuchElementException e){ // ignore } diff -r dde9f5cfde5f src/share/classes/java/security/ProtectionDomain.java --- a/src/share/classes/java/security/ProtectionDomain.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/ProtectionDomain.java Mon Aug 11 08:18:32 2014 -0300 @@ -291,9 +291,9 @@ StringBuilder palBuf = new StringBuilder("(principals "); for (int i = 0; i < principals.length; i++) { - palBuf.append(principals[i].getClass().getName() + - " \"" + principals[i].getName() + - "\""); + palBuf.append(principals[i].getClass().getName()) + .append(" \"").append(principals[i].getName()) + .append('"'); if (i < principals.length-1) palBuf.append(",\n"); else diff -r dde9f5cfde5f src/share/classes/java/security/Timestamp.java --- a/src/share/classes/java/security/Timestamp.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/Timestamp.java Mon Aug 11 08:18:32 2014 -0300 @@ -143,10 +143,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("("); - sb.append("timestamp: " + timestamp); + sb.append("timestamp: ").append(timestamp); List certs = signerCertPath.getCertificates(); if (!certs.isEmpty()) { - sb.append("TSA: " + certs.get(0)); + sb.append("TSA: ").append(certs.get(0)); } else { sb.append("TSA: "); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/CertPath.java --- a/src/share/classes/java/security/cert/CertPath.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/CertPath.java Mon Aug 11 08:18:32 2014 -0300 @@ -224,17 +224,16 @@ Iterator stringIterator = getCertificates().iterator(); - sb.append("\n" + type + " Cert Path: length = " - + getCertificates().size() + ".\n"); + sb.append('\n').append(type).append(" Cert Path: length = ").append(getCertificates().size()).append(".\n"); sb.append("[\n"); int i = 1; while (stringIterator.hasNext()) { - sb.append("==========================================" - + "===============Certificate " + i + " start.\n"); + sb.append("==========================================" + "===============Certificate ") + .append(i).append(" start.\n"); Certificate stringCert = stringIterator.next(); sb.append(stringCert.toString()); - sb.append("\n========================================" - + "=================Certificate " + i + " end.\n\n\n"); + sb.append("\n========================================" + "=================Certificate ") + .append(i).append(" end.\n\n\n"); i++; } diff -r dde9f5cfde5f src/share/classes/java/security/cert/CollectionCertStoreParameters.java --- a/src/share/classes/java/security/cert/CollectionCertStoreParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/CollectionCertStoreParameters.java Mon Aug 11 08:18:32 2014 -0300 @@ -134,8 +134,8 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("CollectionCertStoreParameters: [\n"); - sb.append(" collection: " + coll + "\n"); - sb.append("]"); + sb.append(" collection: ").append(coll).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/LDAPCertStoreParameters.java --- a/src/share/classes/java/security/cert/LDAPCertStoreParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/LDAPCertStoreParameters.java Mon Aug 11 08:18:32 2014 -0300 @@ -141,9 +141,9 @@ StringBuilder sb = new StringBuilder(); sb.append("LDAPCertStoreParameters: [\n"); - sb.append(" serverName: " + serverName + "\n"); - sb.append(" port: " + port + "\n"); - sb.append("]"); + sb.append(" serverName: ").append(serverName).append('\n'); + sb.append(" port: ").append(port).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXBuilderParameters.java --- a/src/share/classes/java/security/cert/PKIXBuilderParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXBuilderParameters.java Mon Aug 11 08:18:32 2014 -0300 @@ -192,7 +192,7 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); sb.append(super.toString()); - sb.append(" Maximum Path Length: " + maxPathLength + "\n"); + sb.append(" Maximum Path Length: ").append(maxPathLength).append('\n'); sb.append("]\n"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java --- a/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java Mon Aug 11 08:18:32 2014 -0300 @@ -108,12 +108,14 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("PKIXCertPathBuilderResult: [\n"); - sb.append(" Certification Path: " + certPath + "\n"); - sb.append(" Trust Anchor: " + getTrustAnchor().toString() + "\n"); - sb.append(" Policy Tree: " + String.valueOf(getPolicyTree()) + "\n"); - sb.append(" Subject Public Key: " + getPublicKey() + "\n"); - sb.append("]"); + sb.append("PKIXCertPathBuilderResult: [\n"); + sb.append(" Certification Path: ").append(certPath).append('\n'); + sb.append(" Trust Anchor: ").append(getTrustAnchor().toString()) + .append('\n'); + sb.append(" Policy Tree: ").append(String.valueOf(getPolicyTree())) + .append('\n'); + sb.append(" Subject Public Key: ").append(getPublicKey()).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java --- a/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java Mon Aug 11 08:18:32 2014 -0300 @@ -150,10 +150,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("PKIXCertPathValidatorResult: [\n"); - sb.append(" Trust Anchor: " + trustAnchor.toString() + "\n"); - sb.append(" Policy Tree: " + String.valueOf(policyTree) + "\n"); - sb.append(" Subject Public Key: " + subjectPublicKey + "\n"); - sb.append("]"); + sb.append(" Trust Anchor: ").append(trustAnchor.toString()).append('\n'); + sb.append(" Policy Tree: ").append(String.valueOf(policyTree)).append('\n'); + sb.append(" Subject Public Key: ").append(subjectPublicKey).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXParameters.java --- a/src/share/classes/java/security/cert/PKIXParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXParameters.java Mon Aug 11 08:18:32 2014 -0300 @@ -698,8 +698,7 @@ /* start with trusted anchor info */ if (unmodTrustAnchors != null) { - sb.append(" Trust Anchors: " + unmodTrustAnchors.toString() - + "\n"); + sb.append(" Trust Anchors: ").append(unmodTrustAnchors.toString()).append('\n'); } /* now, append initial state information */ @@ -707,30 +706,37 @@ if (unmodInitialPolicies.isEmpty()) { sb.append(" Initial Policy OIDs: any\n"); } else { - sb.append(" Initial Policy OIDs: [" - + unmodInitialPolicies.toString() + "]\n"); + sb.append(" Initial Policy OIDs: [") + .append(unmodInitialPolicies.toString()).append("]\n"); } } /* now, append constraints on all certificates in the path */ - sb.append(" Validity Date: " + String.valueOf(date) + "\n"); - sb.append(" Signature Provider: " + String.valueOf(sigProvider) + "\n"); - sb.append(" Default Revocation Enabled: " + revocationEnabled + "\n"); - sb.append(" Explicit Policy Required: " + explicitPolicyRequired + "\n"); - sb.append(" Policy Mapping Inhibited: " + policyMappingInhibited + "\n"); - sb.append(" Any Policy Inhibited: " + anyPolicyInhibited + "\n"); - sb.append(" Policy Qualifiers Rejected: " + policyQualifiersRejected + "\n"); + sb.append(" Validity Date: ").append(String.valueOf(date)) + .append('\n'); + sb.append(" Signature Provider: ").append(String.valueOf(sigProvider)) + .append('\n'); + sb.append(" Default Revocation Enabled: ").append(revocationEnabled) + .append('\n'); + sb.append(" Explicit Policy Required: ") + .append(explicitPolicyRequired).append('\n'); + sb.append(" Policy Mapping Inhibited: ") + .append(policyMappingInhibited).append('\n'); + sb.append(" Any Policy Inhibited: ").append(anyPolicyInhibited) + .append('\n'); + sb.append(" Policy Qualifiers Rejected: ") + .append(policyQualifiersRejected).append('\n'); /* now, append target cert requirements */ - sb.append(" Target Cert Constraints: " + String.valueOf(certSelector) + "\n"); + sb.append(" Target Cert Constraints: ") + .append(String.valueOf(certSelector)).append('\n'); /* finally, append miscellaneous parameters */ if (certPathCheckers != null) - sb.append(" Certification Path Checkers: [" - + certPathCheckers.toString() + "]\n"); + sb.append(" Certification Path Checkers: [").append(certPathCheckers.toString()).append("]\n"); if (certStores != null) - sb.append(" CertStores: [" + certStores.toString() + "]\n"); - sb.append("]"); + sb.append(" CertStores: [").append(certStores.toString()).append("]\n"); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PolicyQualifierInfo.java --- a/src/share/classes/java/security/cert/PolicyQualifierInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PolicyQualifierInfo.java Mon Aug 11 08:18:32 2014 -0300 @@ -163,10 +163,11 @@ HexDumpEncoder enc = new HexDumpEncoder(); StringBuilder sb = new StringBuilder(); sb.append("PolicyQualifierInfo: [\n"); - sb.append(" qualifierID: " + mId + "\n"); - sb.append(" qualifier: " + - (mData == null ? "null" : enc.encodeBuffer(mData)) + "\n"); - sb.append("]"); + sb.append(" qualifierID: ").append(mId).append('\n'); + sb.append(" qualifier: ") + .append(mData == null ? "null" : enc.encodeBuffer(mData)) + .append('\n'); + sb.append(']'); pqiString = sb.toString(); return pqiString; } diff -r dde9f5cfde5f src/share/classes/java/security/cert/TrustAnchor.java --- a/src/share/classes/java/security/cert/TrustAnchor.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/TrustAnchor.java Mon Aug 11 08:18:32 2014 -0300 @@ -320,14 +320,18 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); if (pubKey != null) { - sb.append(" Trusted CA Public Key: " + pubKey.toString() + "\n"); - sb.append(" Trusted CA Issuer Name: " - + String.valueOf(caName) + "\n"); + sb.append(" Trusted CA Public Key: ").append(pubKey.toString()) + .append('\n'); + sb.append(" Trusted CA Issuer Name: ") + .append(String.valueOf(caName)).append('\n'); } else { - sb.append(" Trusted CA cert: " + trustedCert.toString() + "\n"); + sb.append(" Trusted CA cert: ").append(trustedCert.toString()) + .append('\n'); } - if (nc != null) - sb.append(" Name Constraints: " + nc.toString() + "\n"); + if (nc != null) { + sb.append(" Name Constraints: ").append(nc.toString()) + .append('\n'); + } return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/X509CRLSelector.java --- a/src/share/classes/java/security/cert/X509CRLSelector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/X509CRLSelector.java Mon Aug 11 08:18:32 2014 -0300 @@ -572,17 +572,17 @@ sb.append(" IssuerNames:\n"); Iterator i = issuerNames.iterator(); while (i.hasNext()) - sb.append(" " + i.next() + "\n"); + sb.append(" ").append(i.next()).append('\n'); } if (minCRL != null) - sb.append(" minCRLNumber: " + minCRL + "\n"); + sb.append(" minCRLNumber: ").append(minCRL).append('\n'); if (maxCRL != null) - sb.append(" maxCRLNumber: " + maxCRL + "\n"); + sb.append(" maxCRLNumber: ").append(maxCRL).append('\n'); if (dateAndTime != null) - sb.append(" dateAndTime: " + dateAndTime + "\n"); + sb.append(" dateAndTime: ").append(dateAndTime).append('\n'); if (certChecking != null) - sb.append(" Certificate being checked: " + certChecking + "\n"); - sb.append("]"); + sb.append(" Certificate being checked: ").append(certChecking).append('\n'); + sb.append(']'); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/X509CertSelector.java --- a/src/share/classes/java/security/cert/X509CertSelector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/X509CertSelector.java Mon Aug 11 08:18:32 2014 -0300 @@ -1814,72 +1814,67 @@ StringBuilder sb = new StringBuilder(); sb.append("X509CertSelector: [\n"); if (x509Cert != null) { - sb.append(" Certificate: " + x509Cert.toString() + "\n"); + sb.append(" Certificate: ").append(x509Cert.toString()).append('\n'); } if (serialNumber != null) { - sb.append(" Serial Number: " + serialNumber.toString() + "\n"); + sb.append(" Serial Number: ").append(serialNumber.toString()) + .append('\n'); } if (issuer != null) { - sb.append(" Issuer: " + getIssuerAsString() + "\n"); + sb.append(" Issuer: ").append(getIssuerAsString()).append('\n'); } if (subject != null) { - sb.append(" Subject: " + getSubjectAsString() + "\n"); + sb.append(" Subject: ").append(getSubjectAsString()).append('\n'); } - sb.append(" matchAllSubjectAltNames flag: " - + String.valueOf(matchAllSubjectAltNames) + "\n"); + sb.append(" matchAllSubjectAltNames flag: ") + .append(String.valueOf(matchAllSubjectAltNames)) + .append('\n'); if (subjectAlternativeNames != null) { sb.append(" SubjectAlternativeNames:\n"); Iterator> i = subjectAlternativeNames.iterator(); while (i.hasNext()) { List list = i.next(); - sb.append(" type " + list.get(0) + - ", name " + list.get(1) + "\n"); + sb.append(" type ").append(list.get(0)).append(", name ") + .append(list.get(1)).append('\n'); } } if (subjectKeyID != null) { HexDumpEncoder enc = new HexDumpEncoder(); - sb.append(" Subject Key Identifier: " + - enc.encodeBuffer(subjectKeyID) + "\n"); + sb.append(" Subject Key Identifier: ").append(enc.encodeBuffer(subjectKeyID)).append('\n'); } if (authorityKeyID != null) { HexDumpEncoder enc = new HexDumpEncoder(); - sb.append(" Authority Key Identifier: " + - enc.encodeBuffer(authorityKeyID) + "\n"); + sb.append(" Authority Key Identifier: ").append(enc.encodeBuffer(authorityKeyID)).append('\n'); } if (certificateValid != null) { - sb.append(" Certificate Valid: " + - certificateValid.toString() + "\n"); + sb.append(" Certificate Valid: ").append(certificateValid.toString()).append('\n'); } if (privateKeyValid != null) { - sb.append(" Private Key Valid: " + - privateKeyValid.toString() + "\n"); + sb.append(" Private Key Valid: ").append(privateKeyValid.toString()).append('\n'); } if (subjectPublicKeyAlgID != null) { - sb.append(" Subject Public Key AlgID: " + - subjectPublicKeyAlgID.toString() + "\n"); + sb.append(" Subject Public Key AlgID: ").append(subjectPublicKeyAlgID.toString()).append('\n'); } if (subjectPublicKey != null) { - sb.append(" Subject Public Key: " + - subjectPublicKey.toString() + "\n"); + sb.append(" Subject Public Key: ").append(subjectPublicKey.toString()).append('\n'); } if (keyUsage != null) { - sb.append(" Key Usage: " + keyUsageToString(keyUsage) + "\n"); + sb.append(" Key Usage: ").append(keyUsageToString(keyUsage)).append('\n'); } if (keyPurposeSet != null) { - sb.append(" Extended Key Usage: " + - keyPurposeSet.toString() + "\n"); + sb.append(" Extended Key Usage: ").append(keyPurposeSet.toString()).append('\n'); } if (policy != null) { - sb.append(" Policy: " + policy.toString() + "\n"); + sb.append(" Policy: ").append(policy.toString()).append('\n'); } if (pathToGeneralNames != null) { sb.append(" Path to names:\n"); Iterator i = pathToGeneralNames.iterator(); while (i.hasNext()) { - sb.append(" " + i.next() + "\n"); + sb.append(" ").append(i.next()).append('\n'); } } - sb.append("]"); + sb.append(']'); return sb.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/rmi/dgc/VMID.java --- a/src/share/classes/java/rmi/dgc/VMID.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/rmi/dgc/VMID.java Mon Aug 11 08:18:32 2014 -0300 @@ -124,8 +124,7 @@ if (addr != null) for (int i = 0; i < addr.length; ++ i) { int x = addr[i] & 0xFF; - sb.append((x < 0x10 ? "0" : "") + - Integer.toString(x, 16)); + sb.append(x < 0x10 ? "0" : "").append(Integer.toString(x, 16)); } sb.append(':'); sb.append(uid.toString()); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/lang/management/MemoryUsage.java --- a/src/share/classes/java/lang/management/MemoryUsage.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/lang/management/MemoryUsage.java Mon Aug 11 08:18:32 2014 -0300 @@ -237,13 +237,16 @@ * Returns a descriptive representation of this memory usage. */ public String toString() { - StringBuilder buf = new StringBuilder(); - buf.append("init = " + init + "(" + (init >> 10) + "K) "); - buf.append("used = " + used + "(" + (used >> 10) + "K) "); - buf.append("committed = " + committed + "(" + - (committed >> 10) + "K) " ); - buf.append("max = " + max + "(" + (max >> 10) + "K)"); - return buf.toString(); + StringBuilder sb = new StringBuilder(); + sb.append("init = ").append(init).append('(').append(init >> 10) + .append("K) "); + sb.append("used = ").append(used).append('(').append(used >> 10) + .append("K) "); + sb.append("committed = ").append(committed).append('(') + .append(committed >> 10).append("K) "); + sb.append("max = ").append(max).append('(').append(max >> 10) + .append("K)"); + return sb.toString(); } /** diff -r dde9f5cfde5f src/share/classes/java/lang/management/ThreadInfo.java --- a/src/share/classes/java/lang/management/ThreadInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/lang/management/ThreadInfo.java Mon Aug 11 08:18:32 2014 -0300 @@ -579,15 +579,17 @@ * @return a string representation of this thread info. */ public String toString() { - StringBuilder sb = new StringBuilder("\"" + getThreadName() + "\"" + - " Id=" + getThreadId() + " " + - getThreadState()); + StringBuilder sb = new StringBuilder(); + sb.append('"').append(getThreadName()).append('"') + .append(" Id=").append(getThreadId()).append(' ') + .append(getThreadState()); + if (getLockName() != null) { - sb.append(" on " + getLockName()); + sb.append(" on ").append(getLockName()); } if (getLockOwnerName() != null) { - sb.append(" owned by \"" + getLockOwnerName() + - "\" Id=" + getLockOwnerId()); + sb.append(" owned by \"").append(getLockOwnerName()) + .append("\" Id=").append(getLockOwnerId()); } if (isSuspended()) { sb.append(" (suspended)"); @@ -599,21 +601,21 @@ int i = 0; for (; i < stackTrace.length && i < MAX_FRAMES; i++) { StackTraceElement ste = stackTrace[i]; - sb.append("\tat " + ste.toString()); + sb.append("\tat ").append(ste.toString()); sb.append('\n'); if (i == 0 && getLockInfo() != null) { Thread.State ts = getThreadState(); switch (ts) { case BLOCKED: - sb.append("\t- blocked on " + getLockInfo()); + sb.append("\t- blocked on ").append(getLockInfo()); sb.append('\n'); break; case WAITING: - sb.append("\t- waiting on " + getLockInfo()); + sb.append("\t- waiting on ").append(getLockInfo()); sb.append('\n'); break; case TIMED_WAITING: - sb.append("\t- waiting on " + getLockInfo()); + sb.append("\t- waiting on ").append(getLockInfo()); sb.append('\n'); break; default: @@ -622,7 +624,7 @@ for (MonitorInfo mi : lockedMonitors) { if (mi.getLockedStackDepth() == i) { - sb.append("\t- locked " + mi); + sb.append("\t- locked ").append(mi); sb.append('\n'); } } @@ -634,10 +636,10 @@ LockInfo[] locks = getLockedSynchronizers(); if (locks.length > 0) { - sb.append("\n\tNumber of locked synchronizers = " + locks.length); + sb.append("\n\tNumber of locked synchronizers = ").append(locks.length); sb.append('\n'); for (LockInfo li : locks) { - sb.append("\t- " + li); + sb.append("\t- ").append(li); sb.append('\n'); } } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/DHParameters.java --- a/src/share/classes/com/sun/crypto/provider/DHParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/DHParameters.java Mon Aug 11 08:18:31 2014 -0300 @@ -137,8 +137,11 @@ + Debug.toHexString(this.p) + LINE_SEP + "g:" + LINE_SEP + Debug.toHexString(this.g)); - if (this.l != 0) - sb.append(LINE_SEP + "l:" + LINE_SEP + " " + this.l); + if (this.l != 0) { + sb.append(LINE_SEP).append("l:") + .append(LINE_SEP).append(" ") + .append(this.l); + } return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/DHPublicKey.java --- a/src/share/classes/com/sun/crypto/provider/DHPublicKey.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/DHPublicKey.java Mon Aug 11 08:18:31 2014 -0300 @@ -268,8 +268,10 @@ + Debug.toHexString(this.p) + LINE_SEP + "g:" + LINE_SEP + Debug.toHexString(this.g)); - if (this.l != 0) - sb.append(LINE_SEP + "l:" + LINE_SEP + " " + this.l); + if (this.l != 0) { + sb.append(LINE_SEP).append("l:").append(LINE_SEP) + .append(" ").append(this.l); + } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/GCMParameters.java --- a/src/share/classes/com/sun/crypto/provider/GCMParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/GCMParameters.java Mon Aug 11 08:18:31 2014 -0300 @@ -140,7 +140,8 @@ = new StringBuilder(LINE_SEP + " iv:" + LINE_SEP + "[" + encoder.encodeBuffer(iv) + "]"); - sb.append(LINE_SEP + "tLen(bits):" + LINE_SEP + tLen*8 + LINE_SEP); + sb.append(LINE_SEP).append("tLen(bits):").append(LINE_SEP) + .append(tLen * 8).append(LINE_SEP); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/OAEPParameters.java --- a/src/share/classes/com/sun/crypto/provider/OAEPParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/OAEPParameters.java Mon Aug 11 08:18:31 2014 -0300 @@ -238,11 +238,12 @@ } protected String engineToString() { - StringBuilder sb = new StringBuilder(); - sb.append("MD: " + mdName + "\n"); - sb.append("MGF: MGF1" + mgfSpec.getDigestAlgorithm() + "\n"); - sb.append("PSource: PSpecified " + - (p.length==0? "":Debug.toHexString(new BigInteger(p))) + "\n"); - return sb.toString(); + StringBuilder sb = new StringBuilder(); + sb.append("MD: ").append(mdName).append('\n'); + sb.append("MGF: MGF1").append(mgfSpec.getDigestAlgorithm()) + .append('\n'); + sb.append("PSource: PSpecified ").append(p.length == 0 ? "" : + Debug.toHexString(new BigInteger(p))).append('\n'); + return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/RC2Parameters.java --- a/src/share/classes/com/sun/crypto/provider/RC2Parameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/RC2Parameters.java Mon Aug 11 08:18:31 2014 -0300 @@ -221,8 +221,9 @@ + encoder.encodeBuffer(iv) + "]"); if (version != 0) { - sb.append(LINE_SEP + "version:" + LINE_SEP - + version + LINE_SEP); + sb.append(LINE_SEP).append("version:") + .append(LINE_SEP).append(version) + .append(LINE_SEP); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java Mon Aug 11 08:18:31 2014 -0300 @@ -65,7 +65,7 @@ "extractSubNet", "BINARY ARRAY :"); StringBuilder sb = new StringBuilder(); for(int i =0; i < addrLength; i++) { - sb.append((b[i] & 0xFF) + ":"); + sb.append(b[i] & 0xFF).append(':'); } SNMP_LOGGER.logp(Level.FINEST, NetMaskImpl.class.getName(), "extractSubNet", sb.toString()); diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java Mon Aug 11 08:18:31 2014 -0300 @@ -204,7 +204,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java Mon Aug 11 08:18:31 2014 -0300 @@ -379,7 +379,7 @@ } jj_consume_token(DOT); t = jj_consume_token(IDENTIFIER); - jjtn000.name.append( "." + t.image); + jjtn000.name.append('.').append(t.image); } } finally { if (jjtc000) { @@ -408,7 +408,7 @@ } jj_consume_token(DOT); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append('.').append(t.image); } } finally { if (jjtc000) { @@ -454,7 +454,7 @@ } jj_consume_token(MARK); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append('.').append(t.image); } } finally { if (jjtc000) { @@ -483,7 +483,7 @@ } jj_consume_token(DOT); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append('.').append(t.image); } jj_consume_token(MASK); t = jj_consume_token(INTEGER_LITERAL); diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java Mon Aug 11 08:18:31 2014 -0300 @@ -99,7 +99,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java --- a/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java Mon Aug 11 08:18:31 2014 -0300 @@ -479,10 +479,10 @@ */ public String printMessage() { StringBuilder sb = new StringBuilder(); - sb.append("msgId : " + msgId + "\n"); - sb.append("msgMaxSize : " + msgMaxSize + "\n"); - sb.append("msgFlags : " + msgFlags + "\n"); - sb.append("msgSecurityModel : " + msgSecurityModel + "\n"); + sb.append("msgId : ").append(msgId).append('\n'); + sb.append("msgMaxSize : ").append(msgMaxSize).append('\n'); + sb.append("msgFlags : ").append(msgFlags).append('\n'); + sb.append("msgSecurityModel : ").append(msgSecurityModel).append('\n'); if (contextEngineId == null) { sb.append("contextEngineId : null"); diff -r dde9f5cfde5f src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java --- a/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java Mon Aug 11 08:18:31 2014 -0300 @@ -256,7 +256,7 @@ private static String stringifyComponent(NameComponent comp) { StringBuilder one = new StringBuilder(escape(comp.id)); if (comp.kind != null && !comp.kind.equals("")) { - one.append(kindSeparator + escape(comp.kind)); + one.append(kindSeparator).append(escape(comp.kind)); } if (one.length() == 0) { return ""+kindSeparator; // if neither id nor kind specified diff -r dde9f5cfde5f src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java --- a/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Mon Aug 11 08:18:31 2014 -0300 @@ -90,7 +90,7 @@ if (selected == -1) { StringBuilder allChoices = new StringBuilder(); for (int j = 0; j < choices.length; j++) { - allChoices.append(choices[j] + ","); + allChoices.append(choices[j]).append(','); } throw new IOException("Cannot match " + "'java.naming.security.sasl.realm' property value, '" + diff -r dde9f5cfde5f src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java --- a/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java Mon Aug 11 08:18:31 2014 -0300 @@ -167,9 +167,9 @@ for (int i = 0; i < allchannelnames.length; i++) { if ((channelmask & m) != 0L) { if (i < channelnames.length) { - sb.append(channelnames[i] + " "); + sb.append(channelnames[i]).append(' '); } else { - sb.append(allchannelnames[i] + " "); + sb.append(allchannelnames[i]).append(' '); } } m *= 2L; diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java Mon Aug 11 08:18:31 2014 -0300 @@ -235,14 +235,15 @@ String nodeName = att.getNodeName(); if ((nodeName.equals("xmlns") || nodeName.startsWith("xmlns:")) && !storedNamespaces.containsKey(att.getNodeName())) { - sb.append(" " + nodeName + "=\"" + att.getNodeValue() + "\""); + sb.append(' ').append(nodeName).append("=\"") + .append(att.getNodeValue()).append('"'); storedNamespaces.put(nodeName, att.getNodeValue()); } } } wk = wk.getParentNode(); } - sb.append(">" + source + ""); + sb.append('>').append(source).append(""); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java Mon Aug 11 08:18:31 2014 -0300 @@ -85,7 +85,7 @@ if (prefix.equals("xmlns")) { sb.append("#default "); } else { - sb.append(prefix + " "); + sb.append(prefix).append(' '); } } diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java Mon Aug 11 08:18:31 2014 -0300 @@ -88,7 +88,7 @@ l += countQuotes(DN, j, k); if ((k > 0) && (DN.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(parseRDN(DN.substring(i, k).trim(), toXml) + ","); + sb.append(parseRDN(DN.substring(i, k).trim(), toXml)).append(','); i = k + 1; l = 0; @@ -121,7 +121,7 @@ l += countQuotes(str, j, k); if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(parseATAV(trim(str.substring(i, k)), toXml) + "+"); + sb.append(parseATAV(trim(str.substring(i, k)), toXml)).append('+'); i = k + 1; l = 0; @@ -369,7 +369,7 @@ int k; for (int j = 0; (k = string.indexOf("\\20", j)) >= 0; j = k + 3) { - sb.append(trim(string.substring(i, k)) + "\\ "); + sb.append(trim(string.substring(i, k))).append("\\ "); i = k + 3; } @@ -418,7 +418,7 @@ l += countQuotes(str, j, k); if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(trim(str.substring(i, k)) + replace); + sb.append(trim(str.substring(i, k))).append(replace); i = k + 1; l = 0; diff -r dde9f5cfde5f src/share/classes/com/sun/security/sasl/CramMD5Base.java --- a/src/share/classes/com/sun/security/sasl/CramMD5Base.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/CramMD5Base.java Mon Aug 11 08:18:31 2014 -0300 @@ -196,8 +196,7 @@ for (i = 0; i < digest.length; i++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0" + - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java --- a/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Mon Aug 11 08:18:31 2014 -0300 @@ -391,8 +391,7 @@ for (int i = 0; i < digest.length; i ++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0"+ - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/expr/ParseException.java --- a/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java Mon Aug 11 08:18:31 2014 -0300 @@ -198,7 +198,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java --- a/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Mon Aug 11 08:18:31 2014 -0300 @@ -107,7 +107,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java --- a/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java Mon Aug 11 08:18:31 2014 -0300 @@ -338,10 +338,10 @@ if (classpath.isEmpty()) { String envcp = System.getProperty("env.class.path"); if ((envcp != null) && (envcp.length() > 0)) { - munged.append(" -classpath " + envcp); + munged.append(" -classpath ").append(envcp); } } else { - munged.append(" -classpath " + classpath.asString()); + munged.append(" -classpath ").append(classpath.asString()); } return munged.toString(); } else { diff -r dde9f5cfde5f src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java --- a/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java Mon Aug 11 08:18:31 2014 -0300 @@ -386,37 +386,37 @@ } case 'B': { int val = 0xFF & byteAt(i, value); - result.append("0x" + Integer.toString(val, 16)); + result.append("0x").append(Integer.toString(val, 16)); i++; break; } case 'S': { short val = shortAt(i, value); i += 2; - result.append("" + val); + result.append(val); break; } case 'I': { int val = intAt(i, value); i += 4; - result.append("" + val); + result.append(val); break; } case 'J': { // long long val = longAt(i, value); - result.append("" + val); + result.append(val); i += 8; break; } case 'F': { float val = floatAt(i, value); - result.append("" + val); + result.append(val); i += 4; break; } case 'D': { // double double val = doubleAt(i, value); - result.append("" + val); + result.append(val); i += 8; break; } @@ -425,7 +425,7 @@ } } } - result.append("}"); + result.append('}'); } return result.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/hat/internal/util/Misc.java --- a/src/share/classes/com/sun/tools/hat/internal/util/Misc.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/hat/internal/util/Misc.java Mon Aug 11 08:18:31 2014 -0300 @@ -97,11 +97,11 @@ } else if (ch == '&') { sb.append("&"); } else if (ch < ' ') { - sb.append("&#" + Integer.toString(ch) + ";"); + sb.append("&#").append(Integer.toString(ch)).append(';'); } else { int c = (ch & 0xFFFF); if (c > 127) { - sb.append("&#" + Integer.toString(c) + ";"); + sb.append("&#").append(Integer.toString(c)).append(';'); } else { sb.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java --- a/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Mon Aug 11 08:18:31 2014 -0300 @@ -881,12 +881,12 @@ } else if (tag == JDWP.TypeTag.ARRAY) { sb.append("ArrayType"); } else { - sb.append("UNKNOWN TAG: " + tag); + sb.append("UNKNOWN TAG: ").append(tag); } if (signature != null) { - sb.append(", signature='" + signature + "'"); + sb.append(", signature='").append(signature).append('\''); } - sb.append(", id=" + id); + sb.append(", id=").append(id); vm.printTrace(sb.toString()); } if (id == 0) { From pavel.rappo at oracle.com Mon Aug 11 14:33:14 2014 From: pavel.rappo at oracle.com (Pavel Rappo) Date: Mon, 11 Aug 2014 15:33:14 +0100 Subject: Replace concat String to append in StringBuilder parameters In-Reply-To: References: <53E7FA44.9050207@oracle.com> <476830A4-7A8E-4652-A0C7-805687155F4A@oracle.com> Message-ID: <141CEE3F-4343-4767-A43C-5E7CF1A9F7A7@oracle.com> Otavio, Just skimmed through your changes. It looks good. But there are some things we can make a little bit better though. IMO, it's not always a performance that matters (looking around to see if Alexey Shipilev is somewhere near) but readability. It's good to estimate performance requirements of a code before making a decision of whether to sacrifice readability for performance or not. I noticed there are some methods that are screaming for readability improvements. Namely, different versions of joining strings through a separator. You can find them in following methods in your changeset: sun.security.acl.AclEntryImpl::toString sun.security.ssl.HandshakeMessage.CertificateRequest::print javax.swing.MultiUIDefaults::toString (one of the most bizarre one) sun.security.provider.PolicyFile::expandSelf java.security.ProtectionDomain::toString javax.management.relation.Role::toString sun.security.ssl.SupportedEllipticCurvesExtension::toString sun.tools.jstat.SyntaxException::SyntaxException Unfortunately, neither java.util.StringJoiner nor String.join have perfect (but who has?) APIs. So it's up to us to figure out the best way of joining elements. So when the power of those guys is not enough, we can go this way (or maybe some else): Iterable elements = ... StringJoiner j = new StringJoiner(", "); elements.forEach(e -> j.add(e.toString())); or Collection elements = ... String i = elements.stream() .map(Object::toString) .collect(Collectors.joining(", ")); Other than that: 1. It looks like some StringBuffers are still lurking out there. We should change them to StringBuilders, *only if* we can prove they are not exposed to more than one thread: --- dev/jdk/src/share/classes/javax/sound/sampled/AudioFileFormat.java (revision 10452:8e501e6bbf1fda1bf9b19bc00fff02074162946f) +++ dev/jdk/src/share/classes/javax/sound/sampled/AudioFileFormat.java (revision 10452+:8e501e6bbf1f+) @@ -272,7 +272,7 @@ @Override public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); //$$fb2002-11-01: fix for 4672864: AudioFileFormat.toString() throws unexpected NullPointerException if (type != null) { --- dev/jdk/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java (revision 10452:8e501e6bbf1fda1bf9b19bc00fff02074162946f) +++ dev/jdk/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java (revision 10452+:8e501e6bbf1f+) @@ -346,12 +346,12 @@ public String valueString(boolean bigLimit) { // Char arrays deserve special treatment - StringBuffer result; + StringBuilder result; byte[] value = getValue(); int max = value.length; byte elementSignature = getElementType(); if (elementSignature == 'C') { - result = new StringBuffer(); + result = new StringBuilder(); for (int i = 0; i < value.length; ) { char val = charAt(i, value); result.append(val); @@ -362,7 +362,7 @@ if (bigLimit) { limit = 1000; } - result = new StringBuffer("{"); + result = new StringBuilder("{"); int num = 0; for (int i = 0; i < value.length; ) { if (num > 0) { --- dev/jdk/src/share/classes/javax/swing/GroupLayout.java (revision 10452:8e501e6bbf1fda1bf9b19bc00fff02074162946f) +++ dev/jdk/src/share/classes/javax/swing/GroupLayout.java (revision 10452+:8e501e6bbf1f+) @@ -1213,7 +1213,7 @@ registerComponents(horizontalGroup, HORIZONTAL); registerComponents(verticalGroup, VERTICAL); } - StringBuffer buffer = new StringBuffer(); + StringBuilder buffer = new StringBuilder(); buffer.append("HORIZONTAL\n"); createSpringDescription(buffer, horizontalGroup, " ", HORIZONTAL); buffer.append("\nVERTICAL\n"); @@ -1221,7 +1221,7 @@ return buffer.toString(); } - private void createSpringDescription(StringBuffer buffer, Spring spring, + private void createSpringDescription(StringBuilder buffer, Spring spring, String indent, int axis) { String origin = ""; String padding = ""; --- dev/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java (revision 10452:8e501e6bbf1fda1bf9b19bc00fff02074162946f) +++ dev/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java (revision 10452+:8e501e6bbf1f+) @@ -463,7 +463,7 @@ // --------- - private static void appendIfLiteralAddress(String addr, StringBuffer sb) { + private static void appendIfLiteralAddress(String addr, StringBuilder sb) { if (IPAddressUtil.isIPv4LiteralAddress(addr)) { sb.append("dns://").append(addr).append(' '); } else { @@ -478,10 +478,8 @@ * corresponding to the supplied List of nameservers. */ private static String createProviderURL(List nsList) { - StringBuffer sb = new StringBuffer(); - for (String s: nsList) { - appendIfLiteralAddress(s, sb); - } + StringBuilder sb = new StringBuilder(); + nsList.forEach(s -> appendIfLiteralAddress(s, sb)); return sb.toString(); } @@ -491,7 +489,7 @@ * contained in the provided str. */ private static String createProviderURL(String str) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); StringTokenizer st = new StringTokenizer(str, ","); while (st.hasMoreTokens()) { appendIfLiteralAddress(st.nextToken(), sb); 2. Also there are some minor issues with line width and readability: --- dev/jdk/src/share/classes/java/security/cert/CertPath.java (revision 10452:8e501e6bbf1fda1bf9b19bc00fff02074162946f) +++ dev/jdk/src/share/classes/java/security/cert/CertPath.java (revision 10452+:8e501e6bbf1f+) @@ -224,16 +224,16 @@ Iterator stringIterator = getCertificates().iterator(); - sb.append('\n').append(type).append(" Cert Path: length = ").append(getCertificates().size()).append(".\n"); - sb.append("[\n"); + sb.append('\n').append(type).append(" Cert Path: length = ") + .append(getCertificates().size()).append(".\n").append("[\n"); int i = 1; while (stringIterator.hasNext()) { - sb.append("==========================================" + "===============Certificate ") - .append(i).append(" start.\n"); + sb.append("==========================================") + .append("===============Certificate ").append(i).append(" start.\n"); Certificate stringCert = stringIterator.next(); - sb.append(stringCert.toString()); - sb.append("\n========================================" + "=================Certificate ") - .append(i).append(" end.\n\n\n"); + sb.append(stringCert.toString()).append('\n'); + sb.append("========================================") + .append("=================Certificate ").append(i).append(" end.\n\n\n"); i++; } --- dev/jdk/src/share/classes/javax/swing/JColorChooser.java (revision 10452:8e501e6bbf1fda1bf9b19bc00fff02074162946f) +++ dev/jdk/src/share/classes/javax/swing/JColorChooser.java (revision 10452+:8e501e6bbf1f+) @@ -543,7 +543,7 @@ * @return a string representation of this JColorChooser */ protected String paramString() { - StringBuilder chooserPanelsString = new StringBuilder(""); + StringBuilder chooserPanelsString = new StringBuilder(); for (int i=0; i Requesting approval for the backport of JDK-8035974. The change was pushed to jdk 9 in May and it is applied cleanly to jdk8u sources: Main RFE: https://bugs.openjdk.java.net/browse/JDK-8035974 Changeset: http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/dabb44358772 Review: http://mail.openjdk.java.net/pipermail/core-libs-dev/2014-May/026945.html Corresponding Hotspot changes (8035968+8035974) will be pushed through jdk8u/hs-dev as usual. Thanks, Vladimir From jamil.j.nimeh at oracle.com Mon Aug 11 21:56:28 2014 From: jamil.j.nimeh at oracle.com (Jamil Nimeh) Date: Mon, 11 Aug 2014 14:56:28 -0700 Subject: RFR 6562449: LoginContext does not all allow overloading of login method in LoginModule Message-ID: <53E93C0C.1050105@oracle.com> Hello all, This webrev covers a fix to LoginContext so it no longer selects the wrong method when a LoginModule method (login, logout, commit, etc.) has been overloaded. Bug: https://bugs.openjdk.java.net/browse/JDK-6562449 Webrev: http://cr.openjdk.java.net/~ascarpino/6562449/webrev.01 Thank you, --Jamil From otaviojava at java.net Tue Aug 12 00:14:44 2014 From: otaviojava at java.net (=?UTF-8?Q?Ot=C3=A1vio_Gon=C3=A7alves_de_Santana?=) Date: Mon, 11 Aug 2014 21:14:44 -0300 Subject: Replace concat String to append in StringBuilder parameters In-Reply-To: <141CEE3F-4343-4767-A43C-5E7CF1A9F7A7@oracle.com> References: <53E7FA44.9050207@oracle.com> <476830A4-7A8E-4652-A0C7-805687155F4A@oracle.com> <141CEE3F-4343-4767-A43C-5E7CF1A9F7A7@oracle.com> Message-ID: Done. I understand about StringJoiner, but no one is applicable. Also believe that there are many ways to get the code more readable, but I believe the best strategy is doing it in baby steps. https://dl.dropboxusercontent.com/u/16109193/open_jdk/string_builder_concat_4.zip On Mon, Aug 11, 2014 at 11:33 AM, Pavel Rappo wrote: > Otavio, > > Just skimmed through your changes. It looks good. But there are some > things we can make a little bit better though. IMO, it's not always a > performance that matters (looking around to see if Alexey Shipilev is > somewhere near) but readability. It's good to estimate performance > requirements of a code before making a decision of whether to sacrifice > readability for performance or not. I noticed there are some methods that > are screaming for readability improvements. Namely, different versions of > joining strings through a separator. You can find them in following methods > in your changeset: > > sun.security.acl.AclEntryImpl::toString > sun.security.ssl.HandshakeMessage.CertificateRequest::print > javax.swing.MultiUIDefaults::toString (one of the most bizarre one) > sun.security.provider.PolicyFile::expandSelf > java.security.ProtectionDomain::toString > javax.management.relation.Role::toString > sun.security.ssl.SupportedEllipticCurvesExtension::toString > sun.tools.jstat.SyntaxException::SyntaxException > > Unfortunately, neither java.util.StringJoiner nor String.join have perfect > (but who has?) APIs. So it's up to us to figure out the best way of joining > elements. So when the power of those guys is not enough, we can go this way > (or maybe some else): > > Iterable elements = ... > StringJoiner j = new StringJoiner(", "); > elements.forEach(e -> j.add(e.toString())); > > or > > Collection elements = ... > String i = elements.stream() > .map(Object::toString) > .collect(Collectors.joining(", ")); > > Other than that: > > 1. It looks like some StringBuffers are still lurking out there. We should > change them to StringBuilders, *only if* we can prove they are not exposed > to more than one thread: > > --- dev/jdk/src/share/classes/javax/sound/sampled/AudioFileFormat.java > (revision 10452:8e501e6bbf1fda1bf9b19bc00fff02074162946f) > +++ dev/jdk/src/share/classes/javax/sound/sampled/AudioFileFormat.java > (revision 10452+:8e501e6bbf1f+) > @@ -272,7 +272,7 @@ > @Override > public String toString() { > > - StringBuffer sb = new StringBuffer(); > + StringBuilder sb = new StringBuilder(); > > //$$fb2002-11-01: fix for 4672864: AudioFileFormat.toString() > throws unexpected NullPointerException > if (type != null) { > > --- > dev/jdk/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java > (revision 10452:8e501e6bbf1fda1bf9b19bc00fff02074162946f) > +++ > dev/jdk/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java > (revision 10452+:8e501e6bbf1f+) > @@ -346,12 +346,12 @@ > > public String valueString(boolean bigLimit) { > // Char arrays deserve special treatment > - StringBuffer result; > + StringBuilder result; > byte[] value = getValue(); > int max = value.length; > byte elementSignature = getElementType(); > if (elementSignature == 'C') { > - result = new StringBuffer(); > + result = new StringBuilder(); > for (int i = 0; i < value.length; ) { > char val = charAt(i, value); > result.append(val); > @@ -362,7 +362,7 @@ > if (bigLimit) { > limit = 1000; > } > - result = new StringBuffer("{"); > + result = new StringBuilder("{"); > int num = 0; > for (int i = 0; i < value.length; ) { > if (num > 0) { > > --- dev/jdk/src/share/classes/javax/swing/GroupLayout.java (revision > 10452:8e501e6bbf1fda1bf9b19bc00fff02074162946f) > +++ dev/jdk/src/share/classes/javax/swing/GroupLayout.java (revision > 10452+:8e501e6bbf1f+) > @@ -1213,7 +1213,7 @@ > registerComponents(horizontalGroup, HORIZONTAL); > registerComponents(verticalGroup, VERTICAL); > } > - StringBuffer buffer = new StringBuffer(); > + StringBuilder buffer = new StringBuilder(); > buffer.append("HORIZONTAL\n"); > createSpringDescription(buffer, horizontalGroup, " ", > HORIZONTAL); > buffer.append("\nVERTICAL\n"); > @@ -1221,7 +1221,7 @@ > return buffer.toString(); > } > > - private void createSpringDescription(StringBuffer buffer, Spring > spring, > + private void createSpringDescription(StringBuilder buffer, Spring > spring, > String indent, int axis) { > String origin = ""; > String padding = ""; > > --- > dev/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java > (revision 10452:8e501e6bbf1fda1bf9b19bc00fff02074162946f) > +++ > dev/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java > (revision 10452+:8e501e6bbf1f+) > @@ -463,7 +463,7 @@ > > // --------- > > - private static void appendIfLiteralAddress(String addr, StringBuffer > sb) { > + private static void appendIfLiteralAddress(String addr, StringBuilder > sb) { > if (IPAddressUtil.isIPv4LiteralAddress(addr)) { > sb.append("dns://").append(addr).append(' '); > } else { > @@ -478,10 +478,8 @@ > * corresponding to the supplied List of nameservers. > */ > private static String createProviderURL(List nsList) { > - StringBuffer sb = new StringBuffer(); > - for (String s: nsList) { > - appendIfLiteralAddress(s, sb); > - } > + StringBuilder sb = new StringBuilder(); > + nsList.forEach(s -> appendIfLiteralAddress(s, sb)); > return sb.toString(); > } > > @@ -491,7 +489,7 @@ > * contained in the provided str. > */ > private static String createProviderURL(String str) { > - StringBuffer sb = new StringBuffer(); > + StringBuilder sb = new StringBuilder(); > StringTokenizer st = new StringTokenizer(str, ","); > while (st.hasMoreTokens()) { > appendIfLiteralAddress(st.nextToken(), sb); > > > 2. Also there are some minor issues with line width and readability: > > --- dev/jdk/src/share/classes/java/security/cert/CertPath.java (revision > 10452:8e501e6bbf1fda1bf9b19bc00fff02074162946f) > +++ dev/jdk/src/share/classes/java/security/cert/CertPath.java (revision > 10452+:8e501e6bbf1f+) > @@ -224,16 +224,16 @@ > Iterator stringIterator = > getCertificates().iterator(); > > - sb.append('\n').append(type).append(" Cert Path: length = > ").append(getCertificates().size()).append(".\n"); > - sb.append("[\n"); > + sb.append('\n').append(type).append(" Cert Path: length = ") > + .append(getCertificates().size()).append(".\n").append("[\n"); > int i = 1; > while (stringIterator.hasNext()) { > - sb.append("==========================================" + > "===============Certificate ") > - .append(i).append(" start.\n"); > + sb.append("==========================================") > + .append("===============Certificate ").append(i).append(" > start.\n"); > Certificate stringCert = stringIterator.next(); > - sb.append(stringCert.toString()); > - sb.append("\n========================================" + > "=================Certificate ") > - .append(i).append(" end.\n\n\n"); > + sb.append(stringCert.toString()).append('\n'); > + sb.append("========================================") > + .append("=================Certificate ").append(i).append(" > end.\n\n\n"); > i++; > } > > --- dev/jdk/src/share/classes/javax/swing/JColorChooser.java (revision > 10452:8e501e6bbf1fda1bf9b19bc00fff02074162946f) > +++ dev/jdk/src/share/classes/javax/swing/JColorChooser.java (revision > 10452+:8e501e6bbf1f+) > @@ -543,7 +543,7 @@ > * @return a string representation of this JColorChooser > */ > protected String paramString() { > - StringBuilder chooserPanelsString = new StringBuilder(""); > + StringBuilder chooserPanelsString = new StringBuilder(); > for (int i=0; i > chooserPanelsString.append('[').append(chooserPanels[i].toString()).append(']'); > } > > 3. Btw, I wonder what "try ... catch" is doing here. Haven't we checked > enum_.hasMoreElements() is true? (I guess it's a question to the security > team). > > --- dev/jdk/src/share/classes/java/security/PermissionCollection.java > (revision 10452:8e501e6bbf1fda1bf9b19bc00fff02074162946f) > +++ dev/jdk/src/share/classes/java/security/PermissionCollection.java > (revision 10452+:8e501e6bbf1f+) > @@ -181,13 +181,9 @@ > StringBuilder sb = new StringBuilder(); > sb.append(super.toString()).append(" (\n"); > while (enum_.hasMoreElements()) { > - try { > - sb.append(' '); > - sb.append(enum_.nextElement().toString()); > - sb.append('\n'); > + sb.append(' '); > + sb.append(enum_.nextElement().toString()); > + sb.append('\n'); > - } catch (NoSuchElementException e){ > - // ignore > - } > } > sb.append(")\n"); > return sb.toString(); > > 4. This method looks dead (not used): > > --- > dev/jdk/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java > (revision 10452:8e501e6bbf1fda1bf9b19bc00fff02074162946f) > +++ > dev/jdk/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java > (revision 10452+:8e501e6bbf1f+) > @@ -348,15 +348,4 @@ > return javaArgs; > } > } > - > - private String appendPath(String path1, String path2) { > - if (path1 == null || path1.length() == 0) { > - return path2 == null ? "." : path2; > - } else if (path2 == null || path2.length() == 0) { > - return path1; > - } else { > - return path1 + File.pathSeparator + path2; > - } > - } > - > } > > -Pavel -- Ot?vio Gon?alves de Santana blog: http://otaviosantana.blogspot.com.br/ twitter: http://twitter.com/otaviojava site: *http://about.me/otaviojava * 55 (11) 98255-3513 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/tools/jconsole/ThreadTab.java --- a/src/share/classes/sun/tools/jconsole/ThreadTab.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/ThreadTab.java Mon Aug 11 21:07:58 2014 -0300 @@ -368,7 +368,7 @@ sb.append(Messages.STACK_TRACE); int index = 0; for (StackTraceElement e : ti.getStackTrace()) { - sb.append(e.toString()+"\n"); + sb.append(e.toString()).append('\n'); if (monitors != null) { for (MonitorInfo mi : monitors) { if (mi.getLockedStackDepth() == index) { diff -r dde9f5cfde5f src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java --- a/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java Mon Aug 11 21:07:58 2014 -0300 @@ -79,25 +79,25 @@ String textColor = String.format("%06x", foreground.getRGB() & 0xFFFFFF); StringBuilder sb = new StringBuilder(); - sb.append(""); + sb.append("
    "); for (int i = 0; i < arr.length; i++) { if (i % 2 == 0) { - sb.append(""); + sb.append(""); } else { - sb.append(""); + sb.append(""); } } if (arr.length == 0) { - sb.append(""); + sb.append(""); } sb.append("
    " +
    -                            (arr[i] == null ?
    -                                arr[i] : htmlize(arr[i].toString())) +
    -                            "
    ")
    +                            .append(arr[i] == null ?
    +                                    arr[i] : htmlize(arr[i].toString()))
    +                            .append("
    " +
    -                            (arr[i] == null ?
    -                                arr[i] : htmlize(arr[i].toString())) +
    -                            "
    ")
    +                            .append(arr[i] == null ?
    +                                    arr[i] : htmlize(arr[i].toString()))
    +                            .append("
    "); arrayEditor.setText(sb.toString()); diff -r dde9f5cfde5f src/share/classes/sun/tools/jconsole/inspector/XTree.java --- a/src/share/classes/sun/tools/jconsole/inspector/XTree.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/inspector/XTree.java Mon Aug 11 21:07:58 2014 -0300 @@ -507,13 +507,13 @@ // key order defined by the "orderedKeyPropertyList" for (String key : orderedKeyPropertyList) { if (map.containsKey(key)) { - sb.append(key + "=" + map.get(key) + ","); + sb.append(key).append('=').append(map.get(key)).append(','); map.remove(key); } } // Add the remaining key/value pairs to the buffer for (Map.Entry entry : map.entrySet()) { - sb.append(entry.getKey() + "=" + entry.getValue() + ","); + sb.append(entry.getKey()).append('=').append(entry.getValue()).append(','); } String orderedKeyPropertyListString = sb.toString(); orderedKeyPropertyListString = orderedKeyPropertyListString.substring( @@ -622,7 +622,7 @@ // StringBuilder sb = new StringBuilder(); for (MBeanParameterInfo mbpi : mboi.getSignature()) { - sb.append(mbpi.getType() + ","); + sb.append(mbpi.getType()).append(','); } String signature = sb.toString(); if (signature.length() > 0) { diff -r dde9f5cfde5f src/share/classes/sun/tools/jps/Jps.java --- a/src/share/classes/sun/tools/jps/Jps.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jps/Jps.java Mon Aug 11 21:07:58 2014 -0300 @@ -92,28 +92,28 @@ vm = monitoredHost.getMonitoredVm(id, 0); errorString = " -- main class information unavailable"; - output.append(" " + MonitoredVmUtil.mainClass(vm, + output.append(' ').append(MonitoredVmUtil.mainClass(vm, arguments.showLongPaths())); if (arguments.showMainArgs()) { errorString = " -- main args information unavailable"; String mainArgs = MonitoredVmUtil.mainArgs(vm); if (mainArgs != null && mainArgs.length() > 0) { - output.append(" " + mainArgs); + output.append(' ').append(mainArgs); } } if (arguments.showVmArgs()) { errorString = " -- jvm args information unavailable"; String jvmArgs = MonitoredVmUtil.jvmArgs(vm); if (jvmArgs != null && jvmArgs.length() > 0) { - output.append(" " + jvmArgs); + output.append(' ').append(jvmArgs); } } if (arguments.showVmFlags()) { errorString = " -- jvm flags information unavailable"; String jvmFlags = MonitoredVmUtil.jvmFlags(vm); if (jvmFlags != null && jvmFlags.length() > 0) { - output.append(" " + jvmFlags); + output.append(' ').append(jvmFlags); } } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstat/RawOutputFormatter.java --- a/src/share/classes/sun/tools/jstat/RawOutputFormatter.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstat/RawOutputFormatter.java Mon Aug 11 21:07:58 2014 -0300 @@ -50,7 +50,7 @@ StringBuilder headerBuilder = new StringBuilder(); for (Iterator i = logged.iterator(); i.hasNext(); /* empty */ ) { Monitor m = i.next(); - headerBuilder.append(m.getName() + " "); + headerBuilder.append(m.getName()).append(' '); } header = headerBuilder.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstat/SyntaxException.java --- a/src/share/classes/sun/tools/jstat/SyntaxException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstat/SyntaxException.java Mon Aug 11 21:07:58 2014 -0300 @@ -65,7 +65,7 @@ public SyntaxException(int lineno, Set expected, Token found) { StringBuilder msg = new StringBuilder(); - msg.append("Syntax error at line " + lineno + ": Expected one of \'"); + msg.append("Syntax error at line ").append(lineno).append(": Expected one of \'"); boolean first = true; for (Iterator i = expected.iterator(); i.hasNext(); /* empty */) { @@ -74,11 +74,11 @@ msg.append(keyWord); first = false; } else { - msg.append("|" + keyWord); + msg.append('|').append(keyWord); } } - msg.append("\', Found " + found.toMessage()); + msg.append("\', Found ").append(found.toMessage()); message = msg.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstat/Token.java --- a/src/share/classes/sun/tools/jstat/Token.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstat/Token.java Mon Aug 11 21:07:58 2014 -0300 @@ -89,18 +89,18 @@ sb.append("ttype=TT_EOF"); break; case StreamTokenizer.TT_NUMBER: - sb.append("ttype=TT_NUM,").append("nval="+nval); + sb.append("ttype=TT_NUM,").append("nval=").append(nval); break; case StreamTokenizer.TT_WORD: if (sval == null) { sb.append("ttype=TT_WORD:IDENTIFIER"); } else { - sb.append("ttype=TT_WORD:").append("sval="+sval); + sb.append("ttype=TT_WORD:").append("sval=").append(sval); } break; default: if (ttype == (int)'"') { - sb.append("ttype=TT_STRING:").append("sval="+sval); + sb.append("ttype=TT_STRING:").append("sval=").append(sval); } else { sb.append("ttype=TT_CHAR:").append((char)ttype); } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstatd/RemoteHostImpl.java --- a/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java Mon Aug 11 21:07:58 2014 -0300 @@ -68,7 +68,7 @@ sb.append("local://").append(lvmid).append("@localhost"); if (mode != null) { - sb.append("?mode=" + mode); + sb.append("?mode=").append(mode); } String vmidStr = sb.toString(); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/security/acl/AclEntryImpl.java --- a/src/share/classes/sun/security/acl/AclEntryImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/acl/AclEntryImpl.java Mon Aug 11 21:07:58 2014 -0300 @@ -137,26 +137,30 @@ /** * Return a string representation of the contents of the ACL entry. */ - public String toString() { - StringBuffer s = new StringBuffer(); - if (negative) - s.append("-"); - else - s.append("+"); - if (user instanceof Group) - s.append("Group."); - else - s.append("User."); - s.append(user + "="); - Enumeration e = permissions(); - while(e.hasMoreElements()) { - Permission p = e.nextElement(); - s.append(p); - if (e.hasMoreElements()) - s.append(","); - } - return new String(s); - } + public String toString() { + StringBuffer sb = new StringBuffer(); + if (negative) { + sb.append('-'); + } else { + sb.append('+'); + } + if (user instanceof Group) { + sb.append("Group."); + } else { + sb.append("User."); + } + sb.append(user).append('='); + + Enumeration e = permissions(); + while (e.hasMoreElements()) { + Permission p = e.nextElement(); + sb.append(p); + if (e.hasMoreElements()) { + sb.append(','); + } + } + return sb.toString(); + } /** * Clones an AclEntry. diff -r dde9f5cfde5f src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java --- a/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java Mon Aug 11 21:07:58 2014 -0300 @@ -640,8 +640,7 @@ for (int i = 0; i < digest.length; i++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0" + - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/sun/security/pkcs/SigningCertificateInfo.java --- a/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java Mon Aug 11 21:07:58 2014 -0300 @@ -158,8 +158,8 @@ } sb.append(hexDumper.encode(certHash)); if (issuer != null && serialNumber != null) { - sb.append("\n\tIssuer: " + issuer + "\n"); - sb.append("\t" + serialNumber); + sb.append("\n\tIssuer: ").append(issuer).append('\n'); + sb.append('\t').append(serialNumber); } sb.append("\n]"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/pkcs11/P11KeyStore.java --- a/src/share/classes/sun/security/pkcs11/P11KeyStore.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/pkcs11/P11KeyStore.java Mon Aug 11 21:07:58 2014 -0300 @@ -196,24 +196,24 @@ } else if (type == ATTR_CLASS_CERT) { sb.append("\ttype=[trusted cert]\n"); } - sb.append("\tlabel=[" + label + "]\n"); + sb.append("\tlabel=[").append(label).append("]\n"); if (id == null) { sb.append("\tid=[null]\n"); } else { - sb.append("\tid=" + P11KeyStore.getID(id) + "\n"); + sb.append("\tid=").append(P11KeyStore.getID(id)).append('\n'); } - sb.append("\ttrusted=[" + trusted + "]\n"); - sb.append("\tmatched=[" + matched + "]\n"); + sb.append("\ttrusted=[").append(trusted).append("]\n"); + sb.append("\tmatched=[").append(matched).append("]\n"); if (cert == null) { sb.append("\tcert=[null]\n"); } else { - sb.append("\tcert=[\tsubject: " + - cert.getSubjectX500Principal() + - "\n\t\tissuer: " + - cert.getIssuerX500Principal() + - "\n\t\tserialNum: " + - cert.getSerialNumber().toString() + - "]"); + sb.append("\tcert=[\tsubject: ") + .append(cert.getSubjectX500Principal()) + .append("\n\t\tissuer: ") + .append(cert.getIssuerX500Principal()) + .append("\n\t\tserialNum: ") + .append(cert.getSerialNumber().toString()) + .append(']'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/PolicyFile.java --- a/src/share/classes/sun/security/provider/PolicyFile.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/PolicyFile.java Mon Aug 11 21:07:58 2014 -0300 @@ -1485,30 +1485,30 @@ } int startIndex = 0; int v; - StringBuilder sb = new StringBuilder(); - while ((v = sp.getSelfName().indexOf(SELF, startIndex)) != -1) { + StringBuilder sb = new StringBuilder(); + while ((v = sp.getSelfName().indexOf(SELF, startIndex)) != -1) { - // add non-SELF string - sb.append(sp.getSelfName().substring(startIndex, v)); + // add non-SELF string + sb.append(sp.getSelfName().substring(startIndex, v)); - // expand SELF - Iterator pli = entryPs.iterator(); - while (pli.hasNext()) { - PolicyParser.PrincipalEntry pppe = pli.next(); - String[][] principalInfo = getPrincipalInfo(pppe,pdp); - for (int i = 0; i < principalInfo.length; i++) { - if (i != 0) { - sb.append(", "); - } - sb.append(principalInfo[i][0] + " " + - "\"" + principalInfo[i][1] + "\""); - } - if (pli.hasNext()) { - sb.append(", "); - } - } - startIndex = v + SELF.length(); - } + // expand SELF + Iterator pli = entryPs.iterator(); + while (pli.hasNext()) { + PolicyParser.PrincipalEntry pppe = pli.next(); + String[][] principalInfo = getPrincipalInfo(pppe, pdp); + for (int i = 0; i < principalInfo.length; i++) { + if (i != 0) { + sb.append(", "); + } + sb.append(principalInfo[i][0]).append(' ').append('"') + .append(principalInfo[i][1]).append('"'); + } + if (pli.hasNext()) { + sb.append(", "); + } + } + startIndex = v + SELF.length(); + } // add remaining string (might be the entire string) sb.append(sp.getSelfName().substring(startIndex)); @@ -1774,17 +1774,17 @@ Principal[] principals = pd.getPrincipals(); String pals = ""; if (principals != null && principals.length > 0) { - StringBuilder palBuf = new StringBuilder("(principals "); + StringBuilder palSB = new StringBuilder("(principals "); for (int i = 0; i < principals.length; i++) { - palBuf.append(principals[i].getClass().getName() + - " \"" + principals[i].getName() + - "\""); + palSB.append(principals[i].getClass().getName()) + .append(" \"").append(principals[i].getName()) + .append('"'); if (i < principals.length-1) - palBuf.append(", "); + palSB.append(", "); else - palBuf.append(")"); + palSB.append(')'); } - pals = palBuf.toString(); + pals = palSB.toString(); } return "PD CodeSource: " + pd.getCodeSource() @@ -1884,7 +1884,7 @@ throw new Exception(form.format(source)); } - sb.append(X500PRINCIPAL + " \"" + suffix + "\""); + sb.append(X500PRINCIPAL).append(" \"").append(suffix).append('"'); startIndex = e+2; } else { MessageFormat form = new MessageFormat diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/CertId.java --- a/src/share/classes/sun/security/provider/certpath/CertId.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/CertId.java Mon Aug 11 21:07:58 2014 -0300 @@ -223,13 +223,13 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("CertId \n"); - sb.append("Algorithm: " + hashAlgId.toString() +"\n"); + sb.append("Algorithm: ").append(hashAlgId.toString()).append('\n'); sb.append("issuerNameHash \n"); HexDumpEncoder encoder = new HexDumpEncoder(); sb.append(encoder.encode(issuerNameHash)); sb.append("\nissuerKeyHash: \n"); sb.append(encoder.encode(issuerKeyHash)); - sb.append("\n" + certSerialNumber.toString()); + sb.append('\n').append(certSerialNumber.toString()); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/OCSPResponse.java --- a/src/share/classes/sun/security/provider/certpath/OCSPResponse.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/OCSPResponse.java Mon Aug 11 21:07:58 2014 -0300 @@ -812,14 +812,14 @@ StringBuilder sb = new StringBuilder(); sb.append("SingleResponse: \n"); sb.append(certId); - sb.append("\nCertStatus: "+ certStatus + "\n"); + sb.append("\nCertStatus: ").append(certStatus).append('\n'); if (certStatus == CertStatus.REVOKED) { - sb.append("revocationTime is " + revocationTime + "\n"); - sb.append("revocationReason is " + revocationReason + "\n"); + sb.append("revocationTime is ").append(revocationTime).append('\n'); + sb.append("revocationReason is ").append(revocationReason).append('\n'); } - sb.append("thisUpdate is " + thisUpdate + "\n"); + sb.append("thisUpdate is ").append(thisUpdate).append('\n'); if (nextUpdate != null) { - sb.append("nextUpdate is " + nextUpdate + "\n"); + sb.append("nextUpdate is ").append(nextUpdate).append('\n'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java --- a/src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java Mon Aug 11 21:07:58 2014 -0300 @@ -124,7 +124,7 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); sb.append(super.toString()); - sb.append(" Build Forward Flag: " + String.valueOf(buildForward) + "\n"); + sb.append(" Build Forward Flag: ").append(String.valueOf(buildForward)).append('\n'); sb.append("]\n"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/HandshakeMessage.java --- a/src/share/classes/sun/security/ssl/HandshakeMessage.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/HandshakeMessage.java Mon Aug 11 21:07:58 2014 -0300 @@ -1478,7 +1478,7 @@ boolean opened = false; for (SignatureAndHashAlgorithm signAlg : algorithms) { if (opened) { - sb.append(", " + signAlg.getAlgorithmName()); + sb.append(", ").append(signAlg.getAlgorithmName()); } else { sb.append(signAlg.getAlgorithmName()); opened = true; diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/ServerNameExtension.java --- a/src/share/classes/sun/security/ssl/ServerNameExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/ServerNameExtension.java Mon Aug 11 21:07:58 2014 -0300 @@ -267,11 +267,11 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); + sb.append("Extension ").append(type).append(", server_name: "); for (SNIServerName sniName : sniMap.values()) { - sb.append("[" + sniName + "]"); + sb.append('[').append(sniName).append(']'); } - - return "Extension " + type + ", server_name: " + sb; + return sb.toString(); } private static class UnknownServerName extends SNIServerName { diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java --- a/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Mon Aug 11 21:07:58 2014 -0300 @@ -119,17 +119,17 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); + sb.append("Extension ").append(type).append(", signature_algorithms: "); boolean opened = false; for (SignatureAndHashAlgorithm signAlg : algorithms) { if (opened) { - sb.append(", " + signAlg.getAlgorithmName()); + sb.append(", ").append(signAlg.getAlgorithmName()); } else { sb.append(signAlg.getAlgorithmName()); opened = true; } } - - return "Extension " + type + ", signature_algorithms: " + sb; + return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java --- a/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Mon Aug 11 21:07:58 2014 -0300 @@ -112,37 +112,37 @@ @Override public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("Extension " + type + ", curve names: {"); - boolean first = true; - for (int curveId : curveIds) { - if (first) { - first = false; - } else { - sb.append(", "); - } - // first check if it is a known named curve, then try other cases. - String oid = getCurveOid(curveId); - if (oid != null) { - ECParameterSpec spec = JsseJce.getECParameterSpec(oid); - // this toString() output will look nice for the current - // implementation of the ECParameterSpec class in the Sun - // provider, but may not look good for other implementations. - if (spec != null) { - sb.append(spec.toString().split(" ")[0]); - } else { - sb.append(oid); - } - } else if (curveId == ARBITRARY_PRIME) { - sb.append("arbitrary_explicit_prime_curves"); - } else if (curveId == ARBITRARY_CHAR2) { - sb.append("arbitrary_explicit_char2_curves"); - } else { - sb.append("unknown curve " + curveId); - } - } - sb.append("}"); - return sb.toString(); + StringBuilder sb = new StringBuilder(); + sb.append("Extension ").append(type).append(", curve names: {"); + boolean first = true; + for (int curveId : curveIds) { + if (first) { + first = false; + } else { + sb.append(", "); + } + // first check if it is a known named curve, then try other cases. + String oid = getCurveOid(curveId); + if (oid != null) { + ECParameterSpec spec = JsseJce.getECParameterSpec(oid); + // this toString() output will look nice for the current + // implementation of the ECParameterSpec class in the Sun + // provider, but may not look good for other implementations. + if (spec != null) { + sb.append(spec.toString().split(" ")[0]); + } else { + sb.append(oid); + } + } else if (curveId == ARBITRARY_PRIME) { + sb.append("arbitrary_explicit_prime_curves"); + } else if (curveId == ARBITRARY_CHAR2) { + sb.append("arbitrary_explicit_char2_curves"); + } else { + sb.append("unknown curve ").append(curveId); + } + } + sb.append("}"); + return sb.toString(); } // Test whether we support the curve with the given index. diff -r dde9f5cfde5f src/share/classes/sun/security/tools/jarsigner/Main.java --- a/src/share/classes/sun/security/tools/jarsigner/Main.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/tools/jarsigner/Main.java Mon Aug 11 21:07:58 2014 -0300 @@ -676,14 +676,13 @@ ((man.getAttributes(name) != null) || (man.getAttributes("./"+name) != null) || (man.getAttributes("/"+name) != null)); - sb.append( - (isSigned ? rb.getString("s") : rb.getString("SPACE")) + - (inManifest ? rb.getString("m") : rb.getString("SPACE")) + - (inStore ? rb.getString("k") : rb.getString("SPACE")) + - (inScope ? rb.getString("i") : rb.getString("SPACE")) + - ((inStoreOrScope & NOT_ALIAS) != 0 ?"X":" ") + - rb.getString("SPACE")); - sb.append("|"); + sb.append(isSigned ? rb.getString("s") : rb.getString("SPACE")) + .append(inManifest ? rb.getString("m") : rb.getString("SPACE")) + .append(inStore ? rb.getString("k") : rb.getString("SPACE")) + .append(inScope ? rb.getString("i") : rb.getString("SPACE")) + .append((inStoreOrScope & NOT_ALIAS) != 0 ? 'X' : ' ') + .append(rb.getString("SPACE")); + sb.append('|'); } // When -certs provided, display info has extra empty @@ -704,11 +703,13 @@ // Print no info for unsigned entries when -verbose:all, // to be consistent with old behavior. if (signatureRelated(name)) { - sb.append("\n" + tab + rb.getString( - ".Signature.related.entries.") + "\n\n"); + sb.append('\n').append(tab).append( + rb.getString(".Signature.related.entries.")) + .append("\n\n"); } else { - sb.append("\n" + tab + rb.getString( - ".Unsigned.entries.") + "\n\n"); + sb.append('\n').append(tab).append( + rb.getString(".Unsigned.entries.")) + .append("\n\n"); } } @@ -1605,8 +1606,8 @@ // No more warning, we alreay have hasExpiredCert or notYetValidCert } else { chainNotValidated = true; - sb.append(tab + rb.getString(".CertPath.not.validated.") + - e.getLocalizedMessage() + "]\n"); // TODO + sb.append(tab).append(rb.getString(".CertPath.not.validated.")) + .append(e.getLocalizedMessage()).append("]\n"); // TODO } } String result = sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/tools/policytool/PolicyTool.java --- a/src/share/classes/sun/security/tools/policytool/PolicyTool.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/tools/policytool/PolicyTool.java Mon Aug 11 21:07:58 2014 -0300 @@ -980,8 +980,9 @@ grantEntry.principals.listIterator(); while (list.hasNext()) { PolicyParser.PrincipalEntry pppe = list.next(); - sb.append(" Principal " + pppe.getDisplayClass() + " " + - pppe.getDisplayName(true)); + sb.append(" Principal ").append(pppe.getDisplayClass()) + .append(' ') + .append(pppe.getDisplayName(true)); if (list.hasNext()) sb.append(", "); } result = sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/AVA.java --- a/src/share/classes/sun/security/x509/AVA.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/AVA.java Mon Aug 11 21:07:58 2014 -0300 @@ -1062,7 +1062,7 @@ } else { boolean quoteNeeded = false; - StringBuilder sbuffer = new StringBuilder(); + StringBuilder sb = new StringBuilder(); boolean previousWhite = false; final String escapees = ",+=\n<>#;\\\""; @@ -1079,7 +1079,7 @@ for (int i = 0; i < length; i++) { char c = valStr.charAt(i); if (alreadyQuoted && (i == 0 || i == length - 1)) { - sbuffer.append(c); + sb.append(c); continue; } if (DerValue.isPrintableStringChar(c) || @@ -1096,7 +1096,7 @@ if (!(c == ' ' || c == '\n')) { // escape '"' and '\' if (c == '"' || c == '\\') { - sbuffer.append('\\'); + sb.append('\\'); } previousWhite = false; } else { @@ -1106,7 +1106,7 @@ previousWhite = true; } - sbuffer.append(c); + sb.append(c); } else if (debug != null && Debug.isOn("ava")) { @@ -1119,26 +1119,26 @@ byte[] valueBytes = Character.toString(c).getBytes("UTF8"); for (int j = 0; j < valueBytes.length; j++) { - sbuffer.append('\\'); + sb.append('\\'); char hexChar = Character.forDigit (0xF & (valueBytes[j] >>> 4), 16); - sbuffer.append(Character.toUpperCase(hexChar)); + sb.append(Character.toUpperCase(hexChar)); hexChar = Character.forDigit (0xF & (valueBytes[j]), 16); - sbuffer.append(Character.toUpperCase(hexChar)); + sb.append(Character.toUpperCase(hexChar)); } } else { // append non-printable/non-escaped char previousWhite = false; - sbuffer.append(c); + sb.append(c); } } // quote if trailing whitespace - if (sbuffer.length() > 0) { - char trailChar = sbuffer.charAt(sbuffer.length() - 1); + if (sb.length() > 0) { + char trailChar = sb.charAt(sb.length() - 1); if (trailChar == ' ' || trailChar == '\n') { quoteNeeded = true; } @@ -1147,9 +1147,9 @@ // Emit the string ... quote it if needed // if string is already quoted, don't re-quote if (!alreadyQuoted && quoteNeeded) { - retval.append("\"" + sbuffer.toString() + "\""); + retval.append('"').append(sb.toString()).append('"'); } else { - retval.append(sbuffer.toString()); + retval.append(sb.toString()); } } } catch (IOException e) { diff -r dde9f5cfde5f src/share/classes/sun/security/x509/DistributionPoint.java --- a/src/share/classes/sun/security/x509/DistributionPoint.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/DistributionPoint.java Mon Aug 11 21:07:58 2014 -0300 @@ -381,22 +381,22 @@ public String toString() { StringBuilder sb = new StringBuilder(); if (fullName != null) { - sb.append("DistributionPoint:\n " + fullName + "\n"); + sb.append("DistributionPoint:\n ").append(fullName).append('\n'); } if (relativeName != null) { - sb.append("DistributionPoint:\n " + relativeName + "\n"); + sb.append("DistributionPoint:\n ").append(relativeName).append('\n'); } if (reasonFlags != null) { sb.append(" ReasonFlags:\n"); for (int i = 0; i < reasonFlags.length; i++) { if (reasonFlags[i]) { - sb.append(" " + reasonToString(i) + "\n"); + sb.append(" ").append(reasonToString(i)).append('\n'); } } } if (crlIssuer != null) { - sb.append(" CRLIssuer:" + crlIssuer + "\n"); + sb.append(" CRLIssuer:").append(crlIssuer).append('\n'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/x509/DistributionPointName.java --- a/src/share/classes/sun/security/x509/DistributionPointName.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/DistributionPointName.java Mon Aug 11 21:07:58 2014 -0300 @@ -231,10 +231,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); if (fullName != null) { - sb.append("DistributionPointName:\n " + fullName + "\n"); + sb.append("DistributionPointName:\n ").append(fullName).append('\n'); } else { - sb.append("DistributionPointName:\n " + relativeName + "\n"); + sb.append("DistributionPointName:\n ").append(relativeName).append('\n'); } return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/PolicyInformation.java --- a/src/share/classes/sun/security/x509/PolicyInformation.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/PolicyInformation.java Mon Aug 11 21:07:58 2014 -0300 @@ -258,9 +258,9 @@ * Return a printable representation of the PolicyInformation. */ public String toString() { - StringBuilder s = new StringBuilder(" [" + policyIdentifier.toString()); - s.append(policyQualifiers + " ]\n"); - return s.toString(); + StringBuilder sb = new StringBuilder(" [" + policyIdentifier.toString()); + sb.append(policyQualifiers).append(" ]\n"); + return sb.toString(); } /** diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CRLEntryImpl.java --- a/src/share/classes/sun/security/x509/X509CRLEntryImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CRLEntryImpl.java Mon Aug 11 21:07:58 2014 -0300 @@ -292,17 +292,17 @@ StringBuilder sb = new StringBuilder(); sb.append(serialNumber.toString()); - sb.append(" On: " + revocationDate.toString()); + sb.append(" On: ").append(revocationDate.toString()); if (certIssuer != null) { - sb.append("\n Certificate issuer: " + certIssuer); + sb.append("\n Certificate issuer: ").append(certIssuer); } if (extensions != null) { Collection allEntryExts = extensions.getAllExtensions(); Extension[] exts = allEntryExts.toArray(new Extension[0]); - sb.append("\n CRL Entry Extensions: " + exts.length); + sb.append("\n CRL Entry Extensions: ").append(exts.length); for (int i = 0; i < exts.length; i++) { - sb.append("\n [" + (i+1) + "]: "); + sb.append("\n [").append(i + 1).append("]: "); Extension ext = exts[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -313,9 +313,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append('\n'); } } else sb.append(ext.toString()); //sub-class exists diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CRLImpl.java --- a/src/share/classes/sun/security/x509/X509CRLImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CRLImpl.java Mon Aug 11 21:07:58 2014 -0300 @@ -537,31 +537,32 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("X.509 CRL v" + (version+1) + "\n"); + sb.append("X.509 CRL v").append(version + 1).append('\n'); if (sigAlgId != null) - sb.append("Signature Algorithm: " + sigAlgId.toString() + - ", OID=" + (sigAlgId.getOID()).toString() + "\n"); + sb.append("Signature Algorithm: ").append(sigAlgId.toString()) + .append(", OID=") + .append((sigAlgId.getOID()).toString()).append('\n'); if (issuer != null) - sb.append("Issuer: " + issuer.toString() + "\n"); + sb.append("Issuer: ").append(issuer.toString()).append('\n'); if (thisUpdate != null) - sb.append("\nThis Update: " + thisUpdate.toString() + "\n"); + sb.append("\nThis Update: ").append(thisUpdate.toString()).append('\n'); if (nextUpdate != null) - sb.append("Next Update: " + nextUpdate.toString() + "\n"); + sb.append("Next Update: ").append(nextUpdate.toString()).append('\n'); if (revokedList.isEmpty()) sb.append("\nNO certificates have been revoked\n"); else { - sb.append("\nRevoked Certificates: " + revokedList.size()); + sb.append("\nRevoked Certificates: ").append(revokedList.size()); int i = 1; for (X509CRLEntry entry: revokedList) { - sb.append("\n[" + i++ + "] " + entry.toString()); + sb.append("\n[").append(i++).append("] ").append(entry.toString()); } } if (extensions != null) { Collection allExts = extensions.getAllExtensions(); Object[] objs = allExts.toArray(); - sb.append("\nCRL Extensions: " + objs.length); + sb.append("\nCRL Extensions: ").append(objs.length); for (int i = 0; i < objs.length; i++) { - sb.append("\n[" + (i+1) + "]: "); + sb.append("\n[").append(i + 1).append("]: "); Extension ext = (Extension)objs[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -572,9 +573,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append('\n'); } } else sb.append(ext.toString()); // sub-class exists @@ -585,8 +585,7 @@ } if (signature != null) { HexDumpEncoder encoder = new HexDumpEncoder(); - sb.append("\nSignature:\n" + encoder.encodeBuffer(signature) - + "\n"); + sb.append("\nSignature:\n").append(encoder.encodeBuffer(signature)).append('\n'); } else sb.append("NOT signed yet\n"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CertImpl.java --- a/src/share/classes/sun/security/x509/X509CertImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CertImpl.java Mon Aug 11 21:07:58 2014 -0300 @@ -802,11 +802,11 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); - sb.append(info.toString() + "\n"); - sb.append(" Algorithm: [" + algId.toString() + "]\n"); + sb.append(info.toString()).append('\n'); + sb.append(" Algorithm: [").append(algId.toString()).append("]\n"); HexDumpEncoder encoder = new HexDumpEncoder(); - sb.append(" Signature:\n" + encoder.encodeBuffer(signature)); + sb.append(" Signature:\n").append(encoder.encodeBuffer(signature)); sb.append("\n]"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CertInfo.java --- a/src/share/classes/sun/security/x509/X509CertInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CertInfo.java Mon Aug 11 21:07:58 2014 -0300 @@ -298,27 +298,27 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); - sb.append(" " + version.toString() + "\n"); - sb.append(" Subject: " + subject.toString() + "\n"); - sb.append(" Signature Algorithm: " + algId.toString() + "\n"); - sb.append(" Key: " + pubKey.toString() + "\n"); - sb.append(" " + interval.toString() + "\n"); - sb.append(" Issuer: " + issuer.toString() + "\n"); - sb.append(" " + serialNum.toString() + "\n"); + sb.append(" ").append(version.toString()).append('\n'); + sb.append(" Subject: ").append(subject.toString()).append('\n'); + sb.append(" Signature Algorithm: ").append(algId.toString()).append('\n'); + sb.append(" Key: ").append(pubKey.toString()).append('\n'); + sb.append(" ").append(interval.toString()).append('\n'); + sb.append(" Issuer: ").append(issuer.toString()).append('\n'); + sb.append(" ").append(serialNum.toString()).append('\n'); // optional v2, v3 extras if (issuerUniqueId != null) { - sb.append(" Issuer Id:\n" + issuerUniqueId.toString() + "\n"); + sb.append(" Issuer Id:\n").append(issuerUniqueId.toString()).append('\n'); } if (subjectUniqueId != null) { - sb.append(" Subject Id:\n" + subjectUniqueId.toString() + "\n"); + sb.append(" Subject Id:\n").append(subjectUniqueId.toString()).append('\n'); } if (extensions != null) { Collection allExts = extensions.getAllExtensions(); Extension[] exts = allExts.toArray(new Extension[0]); - sb.append("\nCertificate Extensions: " + exts.length); + sb.append("\nCertificate Extensions: ").append(exts.length); for (int i = 0; i < exts.length; i++) { - sb.append("\n[" + (i+1) + "]: "); + sb.append("\n[").append(i + 1).append("]: "); Extension ext = exts[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -329,9 +329,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append('\n'); } } else sb.append(ext.toString()); //sub-class exists @@ -341,10 +340,10 @@ } Map invalid = extensions.getUnparseableExtensions(); if (invalid.isEmpty() == false) { - sb.append("\nUnparseable certificate extensions: " + invalid.size()); + sb.append("\nUnparseable certificate extensions: ").append(invalid.size()); int i = 1; for (Extension ext : invalid.values()) { - sb.append("\n[" + (i++) + "]: "); + sb.append("\n[").append(i++).append("]: "); sb.append(ext); } } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java --- a/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Mon Aug 11 21:07:58 2014 -0300 @@ -463,12 +463,12 @@ // --------- - private static void appendIfLiteralAddress(String addr, StringBuffer sb) { + private static void appendIfLiteralAddress(String addr, StringBuilder sb) { if (IPAddressUtil.isIPv4LiteralAddress(addr)) { - sb.append("dns://" + addr + " "); + sb.append("dns://").append(addr).append(' '); } else { if (IPAddressUtil.isIPv6LiteralAddress(addr)) { - sb.append("dns://[" + addr + "] "); + sb.append("dns://[").append(addr).append("] "); } } } @@ -478,7 +478,7 @@ * corresponding to the supplied List of nameservers. */ private static String createProviderURL(List nsList) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (String s: nsList) { appendIfLiteralAddress(s, sb); } @@ -491,7 +491,7 @@ * contained in the provided str. */ private static String createProviderURL(String str) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); StringTokenizer st = new StringTokenizer(str, ","); while (st.hasMoreTokens()) { appendIfLiteralAddress(st.nextToken(), sb); diff -r dde9f5cfde5f src/share/classes/sun/net/www/HeaderParser.java --- a/src/share/classes/sun/net/www/HeaderParser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/HeaderParser.java Mon Aug 11 21:07:58 2014 -0300 @@ -220,21 +220,23 @@ public String toString () { Iterator k = keys(); - StringBuffer sbuf = new StringBuffer(); - sbuf.append ("{size="+asize+" nkeys="+nkeys+" "); + StringBuilder sb = new StringBuilder(); + sb.append("{size=").append(asize).append(" nkeys=").append(nkeys) + .append(' '); for (int i=0; k.hasNext(); i++) { String key = k.next(); String val = findValue (i); if (val != null && "".equals (val)) { val = null; } - sbuf.append (" {"+key+(val==null?"":","+val)+"}"); + sb.append(" {").append(key).append(val == null ? "" : "," + val) + .append('}'); if (k.hasNext()) { - sbuf.append (","); + sb.append (','); } } - sbuf.append (" }"); - return new String (sbuf); + sb.append (" }"); + return new String (sb); } public int findInt(String k, int Default) { diff -r dde9f5cfde5f src/share/classes/sun/net/www/MimeEntry.java --- a/src/share/classes/sun/net/www/MimeEntry.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/MimeEntry.java Mon Aug 11 21:07:58 2014 -0300 @@ -288,7 +288,7 @@ int action = getAction(); if (action != MimeEntry.UNKNOWN) { - sb.append("action=" + actionKeywords[action]); + sb.append("action=").append(actionKeywords[action]); needSeparator = true; } @@ -297,7 +297,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("application=" + command); + sb.append("application=").append(command); needSeparator = true; } @@ -305,7 +305,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("icon=" + getImageFileName()); + sb.append("icon=").append(getImageFileName()); needSeparator = true; } @@ -314,7 +314,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("file_extensions=" + extensions); + sb.append("file_extensions=").append(extensions); needSeparator = true; } @@ -323,7 +323,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("description=" + description); + sb.append("description=").append(description); } return sb.toString(); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/management/Agent.java --- a/src/share/classes/sun/management/Agent.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/management/Agent.java Mon Aug 11 21:07:58 2014 -0300 @@ -502,7 +502,7 @@ } else { StringBuilder message = new StringBuilder(params[0]); for (int i = 1; i < params.length; i++) { - message.append(" " + params[i]); + message.append(' ').append(params[i]); } error(key, message.toString()); } diff -r dde9f5cfde5f src/share/classes/sun/management/MappedMXBeanType.java --- a/src/share/classes/sun/management/MappedMXBeanType.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/management/MappedMXBeanType.java Mon Aug 11 21:07:58 2014 -0300 @@ -289,7 +289,7 @@ if (et.isPrimitive()) { className = new StringBuilder(c.getName()); } else { - className.append("L" + baseElementType.getTypeName() + ";"); + className.append('L').append(baseElementType.getTypeName()).append(';'); } try { mappedTypeClass = Class.forName(className.toString()); @@ -385,7 +385,7 @@ if (elementType instanceof Class && ((Class) elementType).isPrimitive()) { className = new StringBuilder(gat.toString()); } else { - className.append("L" + baseElementType.getTypeName() + ";"); + className.append('L').append(baseElementType.getTypeName()).append(';'); } try { mappedTypeClass = Class.forName(className.toString()); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/launcher/LauncherHelper.java --- a/src/share/classes/sun/launcher/LauncherHelper.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/launcher/LauncherHelper.java Mon Aug 11 21:07:58 2014 -0300 @@ -369,10 +369,9 @@ static void appendVmErgoMessage(boolean isServerClass, String vm) { outBuf = outBuf.append(getLocalizedMessage("java.launcher.ergo.message1", vm)); - outBuf = (isServerClass) - ? outBuf.append(",\n" + - getLocalizedMessage("java.launcher.ergo.message2") + "\n\n") - : outBuf.append(".\n\n"); + outBuf = (isServerClass) ? outBuf.append(",\n") + .append(getLocalizedMessage("java.launcher.ergo.message2")) + .append("\n\n") : outBuf.append(".\n\n"); } /** -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/font/AttributeValues.java --- a/src/share/classes/sun/font/AttributeValues.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/AttributeValues.java Mon Aug 11 21:07:57 2014 -0300 @@ -542,7 +542,7 @@ } } } - b.append("[btx=" + baselineTransform + ", ctx=" + charTransform + "]"); + b.append("[btx=").append(baselineTransform).append(", ctx=").append(charTransform).append(']'); b.append('}'); return b.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/font/Decoration.java --- a/src/share/classes/sun/font/Decoration.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/Decoration.java Mon Aug 11 21:07:57 2014 -0300 @@ -431,12 +431,12 @@ StringBuilder sb = new StringBuilder(); sb.append(super.toString()); sb.append("["); - if (fgPaint != null) sb.append("fgPaint: " + fgPaint); - if (bgPaint != null) sb.append(" bgPaint: " + bgPaint); + if (fgPaint != null) sb.append("fgPaint: ").append(fgPaint); + if (bgPaint != null) sb.append(" bgPaint: ").append(bgPaint); if (swapColors) sb.append(" swapColors: true"); if (strikethrough) sb.append(" strikethrough: true"); - if (stdUnderline != null) sb.append(" stdUnderline: " + stdUnderline); - if (imUnderline != null) sb.append(" imUnderline: " + imUnderline); + if (stdUnderline != null) sb.append(" stdUnderline: ").append(stdUnderline); + if (imUnderline != null) sb.append(" imUnderline: ").append(imUnderline); sb.append("]"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/font/StandardGlyphVector.java --- a/src/share/classes/sun/font/StandardGlyphVector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/StandardGlyphVector.java Mon Aug 11 21:07:57 2014 -0300 @@ -1894,9 +1894,9 @@ } } catch(Exception e) { - buf.append(" " + e.getMessage()); + buf.append(' ').append(e.getMessage()); } - buf.append("}"); + buf.append('}'); return buf; } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/swing/GroupLayout.java --- a/src/share/classes/javax/swing/GroupLayout.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/GroupLayout.java Mon Aug 11 21:07:57 2014 -0300 @@ -1213,15 +1213,15 @@ registerComponents(horizontalGroup, HORIZONTAL); registerComponents(verticalGroup, VERTICAL); } - StringBuffer buffer = new StringBuffer(); - buffer.append("HORIZONTAL\n"); - createSpringDescription(buffer, horizontalGroup, " ", HORIZONTAL); - buffer.append("\nVERTICAL\n"); - createSpringDescription(buffer, verticalGroup, " ", VERTICAL); - return buffer.toString(); + StringBuilder sb = new StringBuilder(); + sb.append("HORIZONTAL\n"); + createSpringDescription(sb, horizontalGroup, " ", HORIZONTAL); + sb.append("\nVERTICAL\n"); + createSpringDescription(sb, verticalGroup, " ", VERTICAL); + return sb.toString(); } - private void createSpringDescription(StringBuffer buffer, Spring spring, + private void createSpringDescription(StringBuilder sb, Spring spring, String indent, int axis) { String origin = ""; String padding = ""; @@ -1239,20 +1239,19 @@ padding = ", userCreated=" + paddingSpring.getUserCreated() + ", matches=" + paddingSpring.getMatchDescription(); } - buffer.append(indent + spring.getClass().getName() + " " + - Integer.toHexString(spring.hashCode()) + " " + - origin + - ", size=" + spring.getSize() + - ", alignment=" + spring.getAlignment() + - " prefs=[" + spring.getMinimumSize(axis) + - " " + spring.getPreferredSize(axis) + - " " + spring.getMaximumSize(axis) + - padding + "]\n"); + sb.append(indent).append(spring.getClass().getName()).append(' ') + .append(Integer.toHexString(spring.hashCode())).append(' ') + .append(origin).append(", size=").append(spring.getSize()) + .append(", alignment=").append(spring.getAlignment()) + .append(" prefs=[").append(spring.getMinimumSize(axis)) + .append(' ').append(spring.getPreferredSize(axis)).append(' ') + .append(spring.getMaximumSize(axis)).append(padding) + .append("]\n"); if (spring instanceof Group) { List springs = ((Group)spring).springs; indent += " "; for (int counter = 0; counter < springs.size(); counter++) { - createSpringDescription(buffer, springs.get(counter), indent, + createSpringDescription(sb, springs.get(counter), indent, axis); } } diff -r dde9f5cfde5f src/share/classes/javax/swing/JColorChooser.java --- a/src/share/classes/javax/swing/JColorChooser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/JColorChooser.java Mon Aug 11 21:07:57 2014 -0300 @@ -542,19 +542,19 @@ * * @return a string representation of this JColorChooser */ - protected String paramString() { - StringBuilder chooserPanelsString = new StringBuilder(""); - for (int i=0; i keys = keys(); - while (keys.hasMoreElements()) { - Object key = keys.nextElement(); - sb.append(key + "=" + get(key) + ", "); - } - int length = sb.length(); - if (length > 1) { - sb.delete(length-2, length); - } - sb.append("}"); - return sb.toString(); + StringBuilder sb = new StringBuilder(); + sb.append("{"); + Enumeration keys = keys(); + while (keys.hasMoreElements()) { + Object key = keys.nextElement(); + sb.append(key).append('=').append(get(key)).append(", "); + } + int length = sb.length(); + if (length > 1) { + sb.delete(length - 2, length); + } + sb.append('}'); + return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/javax/swing/RepaintManager.java --- a/src/share/classes/javax/swing/RepaintManager.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/RepaintManager.java Mon Aug 11 21:07:57 2014 -0300 @@ -990,10 +990,7 @@ * @return a String representation of this object */ public synchronized String toString() { - StringBuilder sb = new StringBuilder(); - if(dirtyComponents != null) - sb.append("" + dirtyComponents); - return sb.toString(); + return dirtyComponents != null ? dirtyComponents.toString() : ""; } diff -r dde9f5cfde5f src/share/classes/javax/swing/event/TreeModelEvent.java --- a/src/share/classes/javax/swing/event/TreeModelEvent.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/event/TreeModelEvent.java Mon Aug 11 21:07:57 2014 -0300 @@ -294,21 +294,20 @@ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append(getClass().getName() + " " + - Integer.toString(hashCode())); + sb.append(getClass().getName()).append(' ').append(Integer.toString(hashCode())); if(path != null) - sb.append(" path " + path); + sb.append(" path ").append(path); if(childIndices != null) { sb.append(" indices [ "); for(int counter = 0; counter < childIndices.length; counter++) - sb.append(Integer.toString(childIndices[counter])+ " "); - sb.append("]"); + sb.append(Integer.toString(childIndices[counter])).append(' '); + sb.append(']'); } if(children != null) { sb.append(" children [ "); for(int counter = 0; counter < children.length; counter++) - sb.append(children[counter] + " "); - sb.append("]"); + sb.append(children[counter]).append(' '); + sb.append(']'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java Mon Aug 11 21:07:57 2014 -0300 @@ -1330,8 +1330,8 @@ for (Object obj : values) { String val = ((obj == null) ? "" : obj.toString()); - plainBuf.append(val + "\n"); - htmlBuf.append("
  • " + val + "\n"); + plainBuf.append(val).append('\n'); + htmlBuf.append("
  • ").append(val).append('\n'); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicListUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicListUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicListUI.java Mon Aug 11 21:07:57 2014 -0300 @@ -2948,8 +2948,8 @@ for (int i = 0; i < values.length; i++) { Object obj = values[i]; String val = ((obj == null) ? "" : obj.toString()); - plainStr.append(val + "\n"); - htmlStr.append("
  • " + val + "\n"); + plainStr.append(val).append('\n'); + htmlStr.append("
  • ").append(val).append('\n'); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicTableUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java Mon Aug 11 21:07:57 2014 -0300 @@ -2230,11 +2230,11 @@ for (int col = 0; col < cols.length; col++) { Object obj = table.getValueAt(rows[row], cols[col]); String val = ((obj == null) ? "" : obj.toString()); - plainStr.append(val + "\t"); - htmlStr.append(" " + val + "\n"); + plainStr.append(val).append('\t'); + htmlStr.append(" ").append(val).append("\n"); } // we want a newline at the end of each line and not a tab - plainStr.deleteCharAt(plainStr.length() - 1).append("\n"); + plainStr.deleteCharAt(plainStr.length() - 1).append('\t'); htmlStr.append("\n"); } diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Mon Aug 11 21:07:57 2014 -0300 @@ -3618,8 +3618,8 @@ boolean leaf = model.isLeaf(node); String label = getDisplayString(path, true, leaf); - plainStr.append(label + "\n"); - htmlStr.append("
  • " + label + "\n"); + plainStr.append(label).append('\n'); + htmlStr.append("
  • ").append(label).append('\n'); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java --- a/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Mon Aug 11 21:07:57 2014 -0300 @@ -1160,15 +1160,15 @@ rows = rowMapper.getRowsForPaths(selection); else rows = null; - sb.append(getClass().getName() + " " + hashCode() + " [ "); + sb.append(getClass().getName()).append(' ').append(hashCode()).append(" [ "); for(int counter = 0; counter < selCount; counter++) { if(rows != null) - sb.append(selection[counter].toString() + "@" + - Integer.toString(rows[counter])+ " "); + sb.append(selection[counter].toString()).append('@') + .append(Integer.toString(rows[counter])).append(' '); else - sb.append(selection[counter].toString() + " "); + sb.append(selection[counter].toString()).append(' '); } - sb.append("]"); + sb.append(']'); return sb.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/sound/sampled/AudioFileFormat.java --- a/src/share/classes/javax/sound/sampled/AudioFileFormat.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/sound/sampled/AudioFileFormat.java Mon Aug 11 21:07:57 2014 -0300 @@ -272,26 +272,25 @@ @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); //$$fb2002-11-01: fix for 4672864: AudioFileFormat.toString() throws unexpected NullPointerException if (type != null) { - buf.append(type.toString() + " (." + type.getExtension() + ") file"); + sb.append(type.toString()).append(" (.").append(type.getExtension()).append(") file"); } else { - buf.append("unknown file format"); + sb.append("unknown file format"); } if (byteLength != AudioSystem.NOT_SPECIFIED) { - buf.append(", byte length: " + byteLength); + sb.append(", byte length: ").append(byteLength); } - buf.append(", data format: " + format); + sb.append(", data format: ").append(format); if (frameLength != AudioSystem.NOT_SPECIFIED) { - buf.append(", frame length: " + frameLength); + sb.append(", frame length: ").append(frameLength); } - - return new String(buf); + return sb.toString(); } /** diff -r dde9f5cfde5f src/share/classes/javax/sound/sampled/DataLine.java --- a/src/share/classes/javax/sound/sampled/DataLine.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/sound/sampled/DataLine.java Mon Aug 11 21:07:57 2014 -0300 @@ -473,17 +473,21 @@ StringBuilder sb = new StringBuilder(); if ( (formats.length == 1) && (formats[0] != null) ) { - sb.append(" supporting format " + formats[0]); + sb.append(" supporting format ").append(formats[0]); } else if (getFormats().length > 1) { - sb.append(" supporting " + getFormats().length + " audio formats"); + sb.append(" supporting ").append(getFormats().length) + .append(" audio formats"); } if ( (minBufferSize != AudioSystem.NOT_SPECIFIED) && (maxBufferSize != AudioSystem.NOT_SPECIFIED) ) { - sb.append(", and buffers of " + minBufferSize + " to " + maxBufferSize + " bytes"); + sb.append(", and buffers of ").append(minBufferSize) + .append(" to ").append(maxBufferSize).append(" bytes"); } else if ( (minBufferSize != AudioSystem.NOT_SPECIFIED) && (minBufferSize > 0) ) { - sb.append(", and buffers of at least " + minBufferSize + " bytes"); + sb.append(", and buffers of at least ").append(minBufferSize) + .append(" bytes"); } else if (maxBufferSize != AudioSystem.NOT_SPECIFIED) { - sb.append(", and buffers of up to " + minBufferSize + " bytes"); + sb.append(", and buffers of up to ").append(minBufferSize) + .append(" bytes"); } return new String(super.toString() + sb); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/security/auth/kerberos/KerberosTicket.java --- a/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java Mon Aug 11 21:07:57 2014 -0300 @@ -651,8 +651,7 @@ StringBuilder caddrString = new StringBuilder(); if (clientAddresses != null) { for (int i = 0; i < clientAddresses.length; i++) { - caddrString.append("clientAddresses[" + i + "] = " + - clientAddresses[i].toString()); + caddrString.append("clientAddresses[").append(i).append("] = ").append(clientAddresses[i].toString()); } } return ("Ticket (hex) = " + "\n" + -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/naming/BinaryRefAddr.java --- a/src/share/classes/javax/naming/BinaryRefAddr.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/BinaryRefAddr.java Mon Aug 11 21:07:57 2014 -0300 @@ -165,11 +165,11 @@ * @return The non-null string representation of this address. */ public String toString(){ - StringBuilder str = new StringBuilder("Address Type: " + addrType + "\n"); - + StringBuilder str = new StringBuilder(); + str.append("Address Type: ").append(addrType).append('\n'); str.append("AddressContents: "); for (int i = 0; i= 32) str.append(" ...\n"); diff -r dde9f5cfde5f src/share/classes/javax/naming/NameImpl.java --- a/src/share/classes/javax/naming/NameImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/NameImpl.java Mon Aug 11 21:07:57 2014 -0300 @@ -170,7 +170,7 @@ endQuote = one ? syntaxEndQuote1 : syntaxEndQuote2; i += syntaxTypevalSeparator.length(); - answer.append(syntaxTypevalSeparator+beginQuote); // add back + answer.append(syntaxTypevalSeparator).append(beginQuote); // add back // consume string until matching quote for (i += beginQuote.length(); diff -r dde9f5cfde5f src/share/classes/javax/naming/RefAddr.java --- a/src/share/classes/javax/naming/RefAddr.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/RefAddr.java Mon Aug 11 21:07:57 2014 -0300 @@ -139,9 +139,9 @@ * @return The non-null string representation of this address. */ public String toString(){ - StringBuilder str = new StringBuilder("Type: " + addrType + "\n"); - - str.append("Content: " + getContent() + "\n"); + StringBuilder str = new StringBuilder(); + str.append("Type: ").append(addrType).append('\n'); + str.append("Content: ").append(getContent()).append('\n'); return (str.toString()); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/crypto/CryptoPermission.java --- a/src/share/classes/javax/crypto/CryptoPermission.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/crypto/CryptoPermission.java Mon Aug 11 21:07:56 2014 -0300 @@ -369,22 +369,24 @@ * @return information about this CryptoPermission. */ public String toString() { - StringBuilder buf = new StringBuilder(100); - buf.append("(CryptoPermission " + alg + " " + maxKeySize); + StringBuilder sb = new StringBuilder(100); + sb.append("(CryptoPermission ").append(alg).append(' ') + .append(maxKeySize); if (algParamSpec != null) { if (algParamSpec instanceof RC2ParameterSpec) { - buf.append(" , effective " + - ((RC2ParameterSpec)algParamSpec).getEffectiveKeyBits()); + sb.append(" , effective ") + .append(((RC2ParameterSpec) algParamSpec) + .getEffectiveKeyBits()); } else if (algParamSpec instanceof RC5ParameterSpec) { - buf.append(" , rounds " + - ((RC5ParameterSpec)algParamSpec).getRounds()); + sb.append(" , rounds ").append( + ((RC5ParameterSpec) algParamSpec).getRounds()); } } if (exemptionMechanism != null) { // OPTIONAL - buf.append(" " + exemptionMechanism); + sb.append(' ').append(exemptionMechanism); } - buf.append(")"); - return buf.toString(); + sb.append(')'); + return sb.toString(); } private boolean impliesExemptionMechanism(String exemptionMechanism) { -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/management/MBeanPermission.java --- a/src/share/classes/javax/management/MBeanPermission.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/MBeanPermission.java Mon Aug 11 21:07:57 2014 -0300 @@ -455,11 +455,11 @@ name.append(className); if (member == null) member = "-"; - name.append("#" + member); + name.append('#').append(member); if (objectName == null) name.append("[-]"); else - name.append("[").append(objectName.getCanonicalName()).append("]"); + name.append('[').append(objectName.getCanonicalName()).append(']'); /* In the interests of legibility for Permission.toString(), we transform the empty string into "*". */ diff -r dde9f5cfde5f src/share/classes/javax/management/modelmbean/RequiredModelMBean.java --- a/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java Mon Aug 11 21:07:57 2014 -0300 @@ -716,15 +716,14 @@ } retStr.append("\nMBeanInfo for ModelMBean is:"); - retStr.append("\nCLASSNAME: \t"+ info.getClassName()); - retStr.append("\nDESCRIPTION: \t"+ info.getDescription()); + retStr.append("\nCLASSNAME: \t").append(info.getClassName()); + retStr.append("\nDESCRIPTION: \t").append(info.getDescription()); try { - retStr.append("\nMBEAN DESCRIPTOR: \t"+ - info.getMBeanDescriptor()); + retStr.append("\nMBEAN DESCRIPTOR: \t").append(info.getMBeanDescriptor()); } catch (Exception e) { - retStr.append("\nMBEAN DESCRIPTOR: \t" + " is invalid"); + retStr.append("\nMBEAN DESCRIPTOR: \t is invalid"); } retStr.append("\nATTRIBUTES"); @@ -734,13 +733,12 @@ for (int i=0; i objNameIter = objectNameList.iterator(); - objNameIter.hasNext();) { - ObjectName currObjName = objNameIter.next(); - result.append(currObjName.toString()); - if (objNameIter.hasNext()) { - result.append(", "); - } - } - return result.toString(); - } + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("role name: ").append(name).append("; role value: "); + for (Iterator objNameIter = objectNameList.iterator(); objNameIter + .hasNext();) { + ObjectName currObjName = objNameIter.next(); + sb.append(currObjName.toString()); + if (objNameIter.hasNext()) { + sb.append(", "); + } + } + return sb.toString(); + } // // Misc diff -r dde9f5cfde5f src/share/classes/javax/management/relation/RoleInfo.java --- a/src/share/classes/javax/management/relation/RoleInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/relation/RoleInfo.java Mon Aug 11 21:07:57 2014 -0300 @@ -456,13 +456,13 @@ */ public String toString() { StringBuilder result = new StringBuilder(); - result.append("role info name: " + name); - result.append("; isReadable: " + isReadable); - result.append("; isWritable: " + isWritable); - result.append("; description: " + description); - result.append("; minimum degree: " + minDegree); - result.append("; maximum degree: " + maxDegree); - result.append("; MBean class: " + referencedMBeanClassName); + result.append("role info name: ").append(name); + result.append("; isReadable: ").append(isReadable); + result.append("; isWritable: ").append(isWritable); + result.append("; description: ").append(description); + result.append("; minimum degree: ").append(minDegree); + result.append("; maximum degree: ").append(maxDegree); + result.append("; MBean class: ").append(referencedMBeanClassName); return result.toString(); } diff -r dde9f5cfde5f src/share/classes/javax/management/relation/RoleUnresolved.java --- a/src/share/classes/javax/management/relation/RoleUnresolved.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/relation/RoleUnresolved.java Mon Aug 11 21:07:57 2014 -0300 @@ -282,7 +282,7 @@ */ public String toString() { StringBuilder result = new StringBuilder(); - result.append("role name: " + roleName); + result.append("role name: ").append(roleName); if (roleValue != null) { result.append("; value: "); for (Iterator objNameIter = roleValue.iterator(); @@ -294,7 +294,7 @@ } } } - result.append("; problem type: " + problemType); + result.append("; problem type: ").append(problemType); return result.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/util/Scanner.java --- a/src/share/classes/java/util/Scanner.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/Scanner.java Mon Aug 11 21:07:56 2014 -0300 @@ -1304,20 +1304,20 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("java.util.Scanner"); - sb.append("[delimiters=" + delimPattern + "]"); - sb.append("[position=" + position + "]"); - sb.append("[match valid=" + matchValid + "]"); - sb.append("[need input=" + needInput + "]"); - sb.append("[source closed=" + sourceClosed + "]"); - sb.append("[skipped=" + skipped + "]"); - sb.append("[group separator=" + groupSeparator + "]"); - sb.append("[decimal separator=" + decimalSeparator + "]"); - sb.append("[positive prefix=" + positivePrefix + "]"); - sb.append("[negative prefix=" + negativePrefix + "]"); - sb.append("[positive suffix=" + positiveSuffix + "]"); - sb.append("[negative suffix=" + negativeSuffix + "]"); - sb.append("[NaN string=" + nanString + "]"); - sb.append("[infinity string=" + infinityString + "]"); + sb.append("[delimiters=").append(delimPattern).append(']'); + sb.append("[position=").append(position).append(']'); + sb.append("[match valid=").append(matchValid).append(']'); + sb.append("[need input=").append(needInput).append(']'); + sb.append("[source closed=").append(sourceClosed).append(']'); + sb.append("[skipped=").append(skipped).append(']'); + sb.append("[group separator=").append(groupSeparator).append(']'); + sb.append("[decimal separator=").append(decimalSeparator).append(']'); + sb.append("[positive prefix=").append(positivePrefix).append(']'); + sb.append("[negative prefix=").append(negativePrefix).append(']'); + sb.append("[positive suffix=").append(positiveSuffix).append(']'); + sb.append("[negative suffix=").append(negativeSuffix).append(']'); + sb.append("[NaN string=").append(nanString).append(']'); + sb.append("[infinity string=").append(infinityString).append(']'); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/util/regex/Matcher.java --- a/src/share/classes/java/util/regex/Matcher.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/regex/Matcher.java Mon Aug 11 21:07:56 2014 -0300 @@ -1295,14 +1295,14 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("java.util.regex.Matcher"); - sb.append("[pattern=" + pattern()); + sb.append("[pattern=").append(pattern()); sb.append(" region="); - sb.append(regionStart() + "," + regionEnd()); + sb.append(regionStart()).append(',').append(regionEnd()); sb.append(" lastmatch="); if ((first >= 0) && (group() != null)) { sb.append(group()); } - sb.append("]"); + sb.append(']'); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/util/regex/Pattern.java --- a/src/share/classes/java/util/regex/Pattern.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/regex/Pattern.java Mon Aug 11 21:07:56 2014 -0300 @@ -1488,10 +1488,10 @@ for(int x=0; x0) - result.append("|"+next); + result.append('|').append(next); next = composeOneStep(next); if (next != null) - result.append("|"+produceEquivalentAlternation(next)); + result.append('|').append(produceEquivalentAlternation(next)); } return result.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/text/ChoiceFormat.java --- a/src/share/classes/java/text/ChoiceFormat.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/text/ChoiceFormat.java Mon Aug 11 21:07:56 2014 -0300 @@ -272,7 +272,7 @@ double tryLess = Math.abs(Math.IEEEremainder(less, 1.0d)); if (tryLessOrEqual < tryLess) { - result.append(""+choiceLimits[i]); + result.append(choiceLimits[i]); result.append('#'); } else { if (choiceLimits[i] == Double.POSITIVE_INFINITY) { @@ -280,7 +280,7 @@ } else if (choiceLimits[i] == Double.NEGATIVE_INFINITY) { result.append("-\u221E"); } else { - result.append(""+less); + result.append(less); } result.append('<'); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/security/CodeSigner.java --- a/src/share/classes/java/security/CodeSigner.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/CodeSigner.java Mon Aug 11 21:07:56 2014 -0300 @@ -156,9 +156,9 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("("); - sb.append("Signer: " + signerCertPath.getCertificates().get(0)); + sb.append("Signer: ").append(signerCertPath.getCertificates().get(0)); if (timestamp != null) { - sb.append("timestamp: " + timestamp); + sb.append("timestamp: ").append(timestamp); } sb.append(")"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/java/security/CodeSource.java --- a/src/share/classes/java/security/CodeSource.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/CodeSource.java Mon Aug 11 21:07:56 2014 -0300 @@ -468,12 +468,12 @@ if (this.certs != null && this.certs.length > 0) { for (int i = 0; i < this.certs.length; i++) { - sb.append( " " + this.certs[i]); + sb.append(' ').append(this.certs[i]); } } else if (this.signers != null && this.signers.length > 0) { for (int i = 0; i < this.signers.length; i++) { - sb.append( " " + this.signers[i]); + sb.append(' ').append(this.signers[i]); } } else { sb.append(" "); diff -r dde9f5cfde5f src/share/classes/java/security/KeyStore.java --- a/src/share/classes/java/security/KeyStore.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/KeyStore.java Mon Aug 11 21:07:56 2014 -0300 @@ -610,8 +610,8 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("Private key entry and certificate chain with " - + chain.length + " elements:\r\n"); + sb.append("Private key entry and certificate chain with ") + .append(chain.length).append(" elements:\r\n"); for (Certificate cert : chain) { sb.append(cert); sb.append("\r\n"); diff -r dde9f5cfde5f src/share/classes/java/security/PermissionCollection.java --- a/src/share/classes/java/security/PermissionCollection.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/PermissionCollection.java Mon Aug 11 21:07:56 2014 -0300 @@ -176,20 +176,20 @@ * as described above. * */ - public String toString() { - Enumeration enum_ = elements(); - StringBuilder sb = new StringBuilder(); - sb.append(super.toString()+" (\n"); - while (enum_.hasMoreElements()) { - try { - sb.append(" "); - sb.append(enum_.nextElement().toString()); - sb.append("\n"); - } catch (NoSuchElementException e){ - // ignore - } - } - sb.append(")\n"); - return sb.toString(); - } + public String toString() { + Enumeration enum_ = elements(); + StringBuilder sb = new StringBuilder(); + sb.append(super.toString()).append(" (\n"); + while (enum_.hasMoreElements()) { + try { + sb.append(' '); + sb.append(enum_.nextElement().toString()); + sb.append('\n'); + } catch (NoSuchElementException e) { + // ignore + } + } + sb.append(")\n"); + return sb.toString(); + } } diff -r dde9f5cfde5f src/share/classes/java/security/ProtectionDomain.java --- a/src/share/classes/java/security/ProtectionDomain.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/ProtectionDomain.java Mon Aug 11 21:07:56 2014 -0300 @@ -285,34 +285,32 @@ /** * Convert a ProtectionDomain to a String. */ - @Override public String toString() { - String pals = ""; - if (principals != null && principals.length > 0) { - StringBuilder palBuf = new StringBuilder("(principals "); + @Override + public String toString() { + String pals = ""; + if (principals != null && principals.length > 0) { + StringBuilder palBuilder = new StringBuilder("(principals "); - for (int i = 0; i < principals.length; i++) { - palBuf.append(principals[i].getClass().getName() + - " \"" + principals[i].getName() + - "\""); - if (i < principals.length-1) - palBuf.append(",\n"); - else - palBuf.append(")\n"); - } - pals = palBuf.toString(); - } + for (int i = 0; i < principals.length; i++) { + palBuilder.append(principals[i].getClass().getName()) + .append(" \"").append(principals[i].getName()) + .append('"'); + if (i < principals.length - 1) { + palBuilder.append(",\n"); + } else { + palBuilder.append(")\n"); + } + } + pals = palBuilder.toString(); + } - // Check if policy is set; we don't want to load - // the policy prematurely here - PermissionCollection pc = Policy.isSet() && seeAllp() ? - mergePermissions(): - getPermissions(); + // Check if policy is set; we don't want to load + // the policy prematurely here + PermissionCollection pc = Policy.isSet() && seeAllp() ? mergePermissions() + : getPermissions(); - return "ProtectionDomain "+ - " "+codesource+"\n"+ - " "+classloader+"\n"+ - " "+pals+"\n"+ - " "+pc+"\n"; + return "ProtectionDomain " + " " + codesource + "\n" + " " + + classloader + "\n" + " " + pals + "\n" + " " + pc + "\n"; } /** diff -r dde9f5cfde5f src/share/classes/java/security/Timestamp.java --- a/src/share/classes/java/security/Timestamp.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/Timestamp.java Mon Aug 11 21:07:56 2014 -0300 @@ -143,10 +143,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("("); - sb.append("timestamp: " + timestamp); + sb.append("timestamp: ").append(timestamp); List certs = signerCertPath.getCertificates(); if (!certs.isEmpty()) { - sb.append("TSA: " + certs.get(0)); + sb.append("TSA: ").append(certs.get(0)); } else { sb.append("TSA: "); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/CertPath.java --- a/src/share/classes/java/security/cert/CertPath.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/CertPath.java Mon Aug 11 21:07:56 2014 -0300 @@ -219,28 +219,24 @@ * * @return a string representation of this certification path */ - public String toString() { - StringBuilder sb = new StringBuilder(); - Iterator stringIterator = - getCertificates().iterator(); + public String toString() { + StringBuilder sb = new StringBuilder(); - sb.append("\n" + type + " Cert Path: length = " - + getCertificates().size() + ".\n"); - sb.append("[\n"); - int i = 1; - while (stringIterator.hasNext()) { - sb.append("==========================================" - + "===============Certificate " + i + " start.\n"); - Certificate stringCert = stringIterator.next(); - sb.append(stringCert.toString()); - sb.append("\n========================================" - + "=================Certificate " + i + " end.\n\n\n"); - i++; - } + sb.append('\n').append(type).append(" Cert Path: length = ") + .append(getCertificates().size()).append(".\n").append("[\n"); + int i = 1; + for (Certificate stringCert : getCertificates()) { + sb.append("==========================================" + + "===============Certificate ").append(i).append(" start.\n"); + sb.append(stringCert.toString()); + sb.append("\n========================================" + + "=================Certificate ").append(i).append(" end.\n\n\n"); + i++; + } - sb.append("\n]"); - return sb.toString(); - } + sb.append("\n]"); + return sb.toString(); + } /** * Returns the encoded form of this certification path, using the default diff -r dde9f5cfde5f src/share/classes/java/security/cert/CollectionCertStoreParameters.java --- a/src/share/classes/java/security/cert/CollectionCertStoreParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/CollectionCertStoreParameters.java Mon Aug 11 21:07:56 2014 -0300 @@ -134,8 +134,8 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("CollectionCertStoreParameters: [\n"); - sb.append(" collection: " + coll + "\n"); - sb.append("]"); + sb.append(" collection: ").append(coll).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/LDAPCertStoreParameters.java --- a/src/share/classes/java/security/cert/LDAPCertStoreParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/LDAPCertStoreParameters.java Mon Aug 11 21:07:56 2014 -0300 @@ -141,9 +141,9 @@ StringBuilder sb = new StringBuilder(); sb.append("LDAPCertStoreParameters: [\n"); - sb.append(" serverName: " + serverName + "\n"); - sb.append(" port: " + port + "\n"); - sb.append("]"); + sb.append(" serverName: ").append(serverName).append('\n'); + sb.append(" port: ").append(port).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXBuilderParameters.java --- a/src/share/classes/java/security/cert/PKIXBuilderParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXBuilderParameters.java Mon Aug 11 21:07:56 2014 -0300 @@ -192,7 +192,7 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); sb.append(super.toString()); - sb.append(" Maximum Path Length: " + maxPathLength + "\n"); + sb.append(" Maximum Path Length: ").append(maxPathLength).append('\n'); sb.append("]\n"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java --- a/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java Mon Aug 11 21:07:56 2014 -0300 @@ -108,12 +108,14 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("PKIXCertPathBuilderResult: [\n"); - sb.append(" Certification Path: " + certPath + "\n"); - sb.append(" Trust Anchor: " + getTrustAnchor().toString() + "\n"); - sb.append(" Policy Tree: " + String.valueOf(getPolicyTree()) + "\n"); - sb.append(" Subject Public Key: " + getPublicKey() + "\n"); - sb.append("]"); + sb.append("PKIXCertPathBuilderResult: [\n"); + sb.append(" Certification Path: ").append(certPath).append('\n'); + sb.append(" Trust Anchor: ").append(getTrustAnchor().toString()) + .append('\n'); + sb.append(" Policy Tree: ").append(String.valueOf(getPolicyTree())) + .append('\n'); + sb.append(" Subject Public Key: ").append(getPublicKey()).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java --- a/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java Mon Aug 11 21:07:56 2014 -0300 @@ -150,10 +150,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("PKIXCertPathValidatorResult: [\n"); - sb.append(" Trust Anchor: " + trustAnchor.toString() + "\n"); - sb.append(" Policy Tree: " + String.valueOf(policyTree) + "\n"); - sb.append(" Subject Public Key: " + subjectPublicKey + "\n"); - sb.append("]"); + sb.append(" Trust Anchor: ").append(trustAnchor.toString()).append('\n'); + sb.append(" Policy Tree: ").append(String.valueOf(policyTree)).append('\n'); + sb.append(" Subject Public Key: ").append(subjectPublicKey).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXParameters.java --- a/src/share/classes/java/security/cert/PKIXParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXParameters.java Mon Aug 11 21:07:56 2014 -0300 @@ -698,8 +698,7 @@ /* start with trusted anchor info */ if (unmodTrustAnchors != null) { - sb.append(" Trust Anchors: " + unmodTrustAnchors.toString() - + "\n"); + sb.append(" Trust Anchors: ").append(unmodTrustAnchors.toString()).append('\n'); } /* now, append initial state information */ @@ -707,30 +706,37 @@ if (unmodInitialPolicies.isEmpty()) { sb.append(" Initial Policy OIDs: any\n"); } else { - sb.append(" Initial Policy OIDs: [" - + unmodInitialPolicies.toString() + "]\n"); + sb.append(" Initial Policy OIDs: [") + .append(unmodInitialPolicies.toString()).append("]\n"); } } /* now, append constraints on all certificates in the path */ - sb.append(" Validity Date: " + String.valueOf(date) + "\n"); - sb.append(" Signature Provider: " + String.valueOf(sigProvider) + "\n"); - sb.append(" Default Revocation Enabled: " + revocationEnabled + "\n"); - sb.append(" Explicit Policy Required: " + explicitPolicyRequired + "\n"); - sb.append(" Policy Mapping Inhibited: " + policyMappingInhibited + "\n"); - sb.append(" Any Policy Inhibited: " + anyPolicyInhibited + "\n"); - sb.append(" Policy Qualifiers Rejected: " + policyQualifiersRejected + "\n"); + sb.append(" Validity Date: ").append(String.valueOf(date)) + .append('\n'); + sb.append(" Signature Provider: ").append(String.valueOf(sigProvider)) + .append('\n'); + sb.append(" Default Revocation Enabled: ").append(revocationEnabled) + .append('\n'); + sb.append(" Explicit Policy Required: ") + .append(explicitPolicyRequired).append('\n'); + sb.append(" Policy Mapping Inhibited: ") + .append(policyMappingInhibited).append('\n'); + sb.append(" Any Policy Inhibited: ").append(anyPolicyInhibited) + .append('\n'); + sb.append(" Policy Qualifiers Rejected: ") + .append(policyQualifiersRejected).append('\n'); /* now, append target cert requirements */ - sb.append(" Target Cert Constraints: " + String.valueOf(certSelector) + "\n"); + sb.append(" Target Cert Constraints: ") + .append(String.valueOf(certSelector)).append('\n'); /* finally, append miscellaneous parameters */ if (certPathCheckers != null) - sb.append(" Certification Path Checkers: [" - + certPathCheckers.toString() + "]\n"); + sb.append(" Certification Path Checkers: [").append(certPathCheckers.toString()).append("]\n"); if (certStores != null) - sb.append(" CertStores: [" + certStores.toString() + "]\n"); - sb.append("]"); + sb.append(" CertStores: [").append(certStores.toString()).append("]\n"); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PolicyQualifierInfo.java --- a/src/share/classes/java/security/cert/PolicyQualifierInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PolicyQualifierInfo.java Mon Aug 11 21:07:56 2014 -0300 @@ -163,10 +163,11 @@ HexDumpEncoder enc = new HexDumpEncoder(); StringBuilder sb = new StringBuilder(); sb.append("PolicyQualifierInfo: [\n"); - sb.append(" qualifierID: " + mId + "\n"); - sb.append(" qualifier: " + - (mData == null ? "null" : enc.encodeBuffer(mData)) + "\n"); - sb.append("]"); + sb.append(" qualifierID: ").append(mId).append('\n'); + sb.append(" qualifier: ") + .append(mData == null ? "null" : enc.encodeBuffer(mData)) + .append('\n'); + sb.append(']'); pqiString = sb.toString(); return pqiString; } diff -r dde9f5cfde5f src/share/classes/java/security/cert/TrustAnchor.java --- a/src/share/classes/java/security/cert/TrustAnchor.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/TrustAnchor.java Mon Aug 11 21:07:56 2014 -0300 @@ -320,14 +320,18 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); if (pubKey != null) { - sb.append(" Trusted CA Public Key: " + pubKey.toString() + "\n"); - sb.append(" Trusted CA Issuer Name: " - + String.valueOf(caName) + "\n"); + sb.append(" Trusted CA Public Key: ").append(pubKey.toString()) + .append('\n'); + sb.append(" Trusted CA Issuer Name: ") + .append(String.valueOf(caName)).append('\n'); } else { - sb.append(" Trusted CA cert: " + trustedCert.toString() + "\n"); + sb.append(" Trusted CA cert: ").append(trustedCert.toString()) + .append('\n'); } - if (nc != null) - sb.append(" Name Constraints: " + nc.toString() + "\n"); + if (nc != null) { + sb.append(" Name Constraints: ").append(nc.toString()) + .append('\n'); + } return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/X509CRLSelector.java --- a/src/share/classes/java/security/cert/X509CRLSelector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/X509CRLSelector.java Mon Aug 11 21:07:56 2014 -0300 @@ -572,17 +572,17 @@ sb.append(" IssuerNames:\n"); Iterator i = issuerNames.iterator(); while (i.hasNext()) - sb.append(" " + i.next() + "\n"); + sb.append(" ").append(i.next()).append('\n'); } if (minCRL != null) - sb.append(" minCRLNumber: " + minCRL + "\n"); + sb.append(" minCRLNumber: ").append(minCRL).append('\n'); if (maxCRL != null) - sb.append(" maxCRLNumber: " + maxCRL + "\n"); + sb.append(" maxCRLNumber: ").append(maxCRL).append('\n'); if (dateAndTime != null) - sb.append(" dateAndTime: " + dateAndTime + "\n"); + sb.append(" dateAndTime: ").append(dateAndTime).append('\n'); if (certChecking != null) - sb.append(" Certificate being checked: " + certChecking + "\n"); - sb.append("]"); + sb.append(" Certificate being checked: ").append(certChecking).append('\n'); + sb.append(']'); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/X509CertSelector.java --- a/src/share/classes/java/security/cert/X509CertSelector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/X509CertSelector.java Mon Aug 11 21:07:56 2014 -0300 @@ -1814,72 +1814,67 @@ StringBuilder sb = new StringBuilder(); sb.append("X509CertSelector: [\n"); if (x509Cert != null) { - sb.append(" Certificate: " + x509Cert.toString() + "\n"); + sb.append(" Certificate: ").append(x509Cert.toString()).append('\n'); } if (serialNumber != null) { - sb.append(" Serial Number: " + serialNumber.toString() + "\n"); + sb.append(" Serial Number: ").append(serialNumber.toString()) + .append('\n'); } if (issuer != null) { - sb.append(" Issuer: " + getIssuerAsString() + "\n"); + sb.append(" Issuer: ").append(getIssuerAsString()).append('\n'); } if (subject != null) { - sb.append(" Subject: " + getSubjectAsString() + "\n"); + sb.append(" Subject: ").append(getSubjectAsString()).append('\n'); } - sb.append(" matchAllSubjectAltNames flag: " - + String.valueOf(matchAllSubjectAltNames) + "\n"); + sb.append(" matchAllSubjectAltNames flag: ") + .append(String.valueOf(matchAllSubjectAltNames)) + .append('\n'); if (subjectAlternativeNames != null) { sb.append(" SubjectAlternativeNames:\n"); Iterator> i = subjectAlternativeNames.iterator(); while (i.hasNext()) { List list = i.next(); - sb.append(" type " + list.get(0) + - ", name " + list.get(1) + "\n"); + sb.append(" type ").append(list.get(0)).append(", name ") + .append(list.get(1)).append('\n'); } } if (subjectKeyID != null) { HexDumpEncoder enc = new HexDumpEncoder(); - sb.append(" Subject Key Identifier: " + - enc.encodeBuffer(subjectKeyID) + "\n"); + sb.append(" Subject Key Identifier: ").append(enc.encodeBuffer(subjectKeyID)).append('\n'); } if (authorityKeyID != null) { HexDumpEncoder enc = new HexDumpEncoder(); - sb.append(" Authority Key Identifier: " + - enc.encodeBuffer(authorityKeyID) + "\n"); + sb.append(" Authority Key Identifier: ").append(enc.encodeBuffer(authorityKeyID)).append('\n'); } if (certificateValid != null) { - sb.append(" Certificate Valid: " + - certificateValid.toString() + "\n"); + sb.append(" Certificate Valid: ").append(certificateValid.toString()).append('\n'); } if (privateKeyValid != null) { - sb.append(" Private Key Valid: " + - privateKeyValid.toString() + "\n"); + sb.append(" Private Key Valid: ").append(privateKeyValid.toString()).append('\n'); } if (subjectPublicKeyAlgID != null) { - sb.append(" Subject Public Key AlgID: " + - subjectPublicKeyAlgID.toString() + "\n"); + sb.append(" Subject Public Key AlgID: ").append(subjectPublicKeyAlgID.toString()).append('\n'); } if (subjectPublicKey != null) { - sb.append(" Subject Public Key: " + - subjectPublicKey.toString() + "\n"); + sb.append(" Subject Public Key: ").append(subjectPublicKey.toString()).append('\n'); } if (keyUsage != null) { - sb.append(" Key Usage: " + keyUsageToString(keyUsage) + "\n"); + sb.append(" Key Usage: ").append(keyUsageToString(keyUsage)).append('\n'); } if (keyPurposeSet != null) { - sb.append(" Extended Key Usage: " + - keyPurposeSet.toString() + "\n"); + sb.append(" Extended Key Usage: ").append(keyPurposeSet.toString()).append('\n'); } if (policy != null) { - sb.append(" Policy: " + policy.toString() + "\n"); + sb.append(" Policy: ").append(policy.toString()).append('\n'); } if (pathToGeneralNames != null) { sb.append(" Path to names:\n"); Iterator i = pathToGeneralNames.iterator(); while (i.hasNext()) { - sb.append(" " + i.next() + "\n"); + sb.append(" ").append(i.next()).append('\n'); } } - sb.append("]"); + sb.append(']'); return sb.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/rmi/dgc/VMID.java --- a/src/share/classes/java/rmi/dgc/VMID.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/rmi/dgc/VMID.java Mon Aug 11 21:07:56 2014 -0300 @@ -124,8 +124,7 @@ if (addr != null) for (int i = 0; i < addr.length; ++ i) { int x = addr[i] & 0xFF; - sb.append((x < 0x10 ? "0" : "") + - Integer.toString(x, 16)); + sb.append(x < 0x10 ? "0" : "").append(Integer.toString(x, 16)); } sb.append(':'); sb.append(uid.toString()); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/lang/management/MemoryUsage.java --- a/src/share/classes/java/lang/management/MemoryUsage.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/lang/management/MemoryUsage.java Mon Aug 11 21:07:56 2014 -0300 @@ -237,13 +237,16 @@ * Returns a descriptive representation of this memory usage. */ public String toString() { - StringBuilder buf = new StringBuilder(); - buf.append("init = " + init + "(" + (init >> 10) + "K) "); - buf.append("used = " + used + "(" + (used >> 10) + "K) "); - buf.append("committed = " + committed + "(" + - (committed >> 10) + "K) " ); - buf.append("max = " + max + "(" + (max >> 10) + "K)"); - return buf.toString(); + StringBuilder sb = new StringBuilder(); + sb.append("init = ").append(init).append('(').append(init >> 10) + .append("K) "); + sb.append("used = ").append(used).append('(').append(used >> 10) + .append("K) "); + sb.append("committed = ").append(committed).append('(') + .append(committed >> 10).append("K) "); + sb.append("max = ").append(max).append('(').append(max >> 10) + .append("K)"); + return sb.toString(); } /** diff -r dde9f5cfde5f src/share/classes/java/lang/management/ThreadInfo.java --- a/src/share/classes/java/lang/management/ThreadInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/lang/management/ThreadInfo.java Mon Aug 11 21:07:56 2014 -0300 @@ -579,15 +579,17 @@ * @return a string representation of this thread info. */ public String toString() { - StringBuilder sb = new StringBuilder("\"" + getThreadName() + "\"" + - " Id=" + getThreadId() + " " + - getThreadState()); + StringBuilder sb = new StringBuilder(); + sb.append('"').append(getThreadName()).append('"') + .append(" Id=").append(getThreadId()).append(' ') + .append(getThreadState()); + if (getLockName() != null) { - sb.append(" on " + getLockName()); + sb.append(" on ").append(getLockName()); } if (getLockOwnerName() != null) { - sb.append(" owned by \"" + getLockOwnerName() + - "\" Id=" + getLockOwnerId()); + sb.append(" owned by \"").append(getLockOwnerName()) + .append("\" Id=").append(getLockOwnerId()); } if (isSuspended()) { sb.append(" (suspended)"); @@ -599,21 +601,21 @@ int i = 0; for (; i < stackTrace.length && i < MAX_FRAMES; i++) { StackTraceElement ste = stackTrace[i]; - sb.append("\tat " + ste.toString()); + sb.append("\tat ").append(ste.toString()); sb.append('\n'); if (i == 0 && getLockInfo() != null) { Thread.State ts = getThreadState(); switch (ts) { case BLOCKED: - sb.append("\t- blocked on " + getLockInfo()); + sb.append("\t- blocked on ").append(getLockInfo()); sb.append('\n'); break; case WAITING: - sb.append("\t- waiting on " + getLockInfo()); + sb.append("\t- waiting on ").append(getLockInfo()); sb.append('\n'); break; case TIMED_WAITING: - sb.append("\t- waiting on " + getLockInfo()); + sb.append("\t- waiting on ").append(getLockInfo()); sb.append('\n'); break; default: @@ -622,7 +624,7 @@ for (MonitorInfo mi : lockedMonitors) { if (mi.getLockedStackDepth() == i) { - sb.append("\t- locked " + mi); + sb.append("\t- locked ").append(mi); sb.append('\n'); } } @@ -634,10 +636,10 @@ LockInfo[] locks = getLockedSynchronizers(); if (locks.length > 0) { - sb.append("\n\tNumber of locked synchronizers = " + locks.length); + sb.append("\n\tNumber of locked synchronizers = ").append(locks.length); sb.append('\n'); for (LockInfo li : locks) { - sb.append("\t- " + li); + sb.append("\t- ").append(li); sb.append('\n'); } } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/DHParameters.java --- a/src/share/classes/com/sun/crypto/provider/DHParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/DHParameters.java Mon Aug 11 21:07:55 2014 -0300 @@ -137,8 +137,11 @@ + Debug.toHexString(this.p) + LINE_SEP + "g:" + LINE_SEP + Debug.toHexString(this.g)); - if (this.l != 0) - sb.append(LINE_SEP + "l:" + LINE_SEP + " " + this.l); + if (this.l != 0) { + sb.append(LINE_SEP).append("l:") + .append(LINE_SEP).append(" ") + .append(this.l); + } return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/DHPublicKey.java --- a/src/share/classes/com/sun/crypto/provider/DHPublicKey.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/DHPublicKey.java Mon Aug 11 21:07:55 2014 -0300 @@ -268,8 +268,10 @@ + Debug.toHexString(this.p) + LINE_SEP + "g:" + LINE_SEP + Debug.toHexString(this.g)); - if (this.l != 0) - sb.append(LINE_SEP + "l:" + LINE_SEP + " " + this.l); + if (this.l != 0) { + sb.append(LINE_SEP).append("l:").append(LINE_SEP) + .append(" ").append(this.l); + } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/GCMParameters.java --- a/src/share/classes/com/sun/crypto/provider/GCMParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/GCMParameters.java Mon Aug 11 21:07:55 2014 -0300 @@ -140,7 +140,8 @@ = new StringBuilder(LINE_SEP + " iv:" + LINE_SEP + "[" + encoder.encodeBuffer(iv) + "]"); - sb.append(LINE_SEP + "tLen(bits):" + LINE_SEP + tLen*8 + LINE_SEP); + sb.append(LINE_SEP).append("tLen(bits):").append(LINE_SEP) + .append(tLen * 8).append(LINE_SEP); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/OAEPParameters.java --- a/src/share/classes/com/sun/crypto/provider/OAEPParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/OAEPParameters.java Mon Aug 11 21:07:55 2014 -0300 @@ -238,11 +238,12 @@ } protected String engineToString() { - StringBuilder sb = new StringBuilder(); - sb.append("MD: " + mdName + "\n"); - sb.append("MGF: MGF1" + mgfSpec.getDigestAlgorithm() + "\n"); - sb.append("PSource: PSpecified " + - (p.length==0? "":Debug.toHexString(new BigInteger(p))) + "\n"); - return sb.toString(); + StringBuilder sb = new StringBuilder(); + sb.append("MD: ").append(mdName).append('\n'); + sb.append("MGF: MGF1").append(mgfSpec.getDigestAlgorithm()) + .append('\n'); + sb.append("PSource: PSpecified ").append(p.length == 0 ? "" : + Debug.toHexString(new BigInteger(p))).append('\n'); + return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/RC2Parameters.java --- a/src/share/classes/com/sun/crypto/provider/RC2Parameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/RC2Parameters.java Mon Aug 11 21:07:55 2014 -0300 @@ -221,8 +221,9 @@ + encoder.encodeBuffer(iv) + "]"); if (version != 0) { - sb.append(LINE_SEP + "version:" + LINE_SEP - + version + LINE_SEP); + sb.append(LINE_SEP).append("version:") + .append(LINE_SEP).append(version) + .append(LINE_SEP); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java Mon Aug 11 21:07:55 2014 -0300 @@ -65,7 +65,7 @@ "extractSubNet", "BINARY ARRAY :"); StringBuilder sb = new StringBuilder(); for(int i =0; i < addrLength; i++) { - sb.append((b[i] & 0xFF) + ":"); + sb.append(b[i] & 0xFF).append(':'); } SNMP_LOGGER.logp(Level.FINEST, NetMaskImpl.class.getName(), "extractSubNet", sb.toString()); diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java Mon Aug 11 21:07:55 2014 -0300 @@ -204,7 +204,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java Mon Aug 11 21:07:55 2014 -0300 @@ -379,7 +379,7 @@ } jj_consume_token(DOT); t = jj_consume_token(IDENTIFIER); - jjtn000.name.append( "." + t.image); + jjtn000.name.append('.').append(t.image); } } finally { if (jjtc000) { @@ -408,7 +408,7 @@ } jj_consume_token(DOT); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append('.').append(t.image); } } finally { if (jjtc000) { @@ -454,7 +454,7 @@ } jj_consume_token(MARK); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append('.').append(t.image); } } finally { if (jjtc000) { @@ -483,7 +483,7 @@ } jj_consume_token(DOT); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append('.').append(t.image); } jj_consume_token(MASK); t = jj_consume_token(INTEGER_LITERAL); diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj Mon Aug 11 21:07:55 2014 -0300 @@ -420,7 +420,7 @@ t= { jjtn000.name.append(t.image); } ( "." t= - {jjtn000.name.append( "." + t.image); } + {jjtn000.name.append( '.')append(t.image); } )*/*@bgen(jjtree)*/ } finally { if (jjtc000) { @@ -447,7 +447,7 @@ {jjtn000.address.append(t.image); } ( "." t= - {jjtn000.address.append( "." + t.image); } + {jjtn000.address.append( '.').append(t.image); } )*/*@bgen(jjtree)*/ } finally { if (jjtc000) { @@ -501,7 +501,7 @@ {jjtn000.address.append(t.image); } ( "!" t= - {jjtn000.address.append( "." + t.image); } + {jjtn000.address.append( '.').append(t.image); } )*/*@bgen(jjtree)*/ } finally { if (jjtc000) { @@ -527,7 +527,7 @@ {jjtn000.address.append(t.image); } ( "." t= - {jjtn000.address.append( "." + t.image); } + {jjtn000.address.append( '.').append(t.image); } )* "/" t= /*@bgen(jjtree)*/ { jjtree.closeNodeScope(jjtn000, true); diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt Mon Aug 11 21:07:55 2014 -0300 @@ -213,7 +213,7 @@ t= { jjtThis.name.append(t.image); } ( "." t= - {jjtThis.name.append( "." + t.image); } + {jjtThis.name.append( '.').append(t.image); } )* } @@ -228,7 +228,7 @@ {jjtThis.address.append(t.image); } ( "." t= - {jjtThis.address.append( "." + t.image); } + {jjtThis.address.append( '.').append(t.image); } )* } @@ -253,7 +253,7 @@ {jjtThis.address.append(t.image); } ( "!" t= - {jjtThis.address.append( "." + t.image); } + {jjtThis.address.append( '.').append(t.image); } )* } @@ -267,7 +267,7 @@ {jjtThis.address.append(t.image); } ( "." t= - {jjtThis.address.append( "." + t.image); } + {jjtThis.address.append( '.').append(t.image); } )* "/" t= {jjtThis.mask = t.image; } } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java Mon Aug 11 21:07:55 2014 -0300 @@ -99,7 +99,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java --- a/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java Mon Aug 11 21:07:55 2014 -0300 @@ -479,10 +479,10 @@ */ public String printMessage() { StringBuilder sb = new StringBuilder(); - sb.append("msgId : " + msgId + "\n"); - sb.append("msgMaxSize : " + msgMaxSize + "\n"); - sb.append("msgFlags : " + msgFlags + "\n"); - sb.append("msgSecurityModel : " + msgSecurityModel + "\n"); + sb.append("msgId : ").append(msgId).append('\n'); + sb.append("msgMaxSize : ").append(msgMaxSize).append('\n'); + sb.append("msgFlags : ").append(msgFlags).append('\n'); + sb.append("msgSecurityModel : ").append(msgSecurityModel).append('\n'); if (contextEngineId == null) { sb.append("contextEngineId : null"); diff -r dde9f5cfde5f src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java --- a/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java Mon Aug 11 21:07:55 2014 -0300 @@ -256,7 +256,7 @@ private static String stringifyComponent(NameComponent comp) { StringBuilder one = new StringBuilder(escape(comp.id)); if (comp.kind != null && !comp.kind.equals("")) { - one.append(kindSeparator + escape(comp.kind)); + one.append(kindSeparator).append(escape(comp.kind)); } if (one.length() == 0) { return ""+kindSeparator; // if neither id nor kind specified diff -r dde9f5cfde5f src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java --- a/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Mon Aug 11 21:07:55 2014 -0300 @@ -90,7 +90,7 @@ if (selected == -1) { StringBuilder allChoices = new StringBuilder(); for (int j = 0; j < choices.length; j++) { - allChoices.append(choices[j] + ","); + allChoices.append(choices[j]).append(','); } throw new IOException("Cannot match " + "'java.naming.security.sasl.realm' property value, '" + diff -r dde9f5cfde5f src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java --- a/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java Mon Aug 11 21:07:55 2014 -0300 @@ -167,9 +167,9 @@ for (int i = 0; i < allchannelnames.length; i++) { if ((channelmask & m) != 0L) { if (i < channelnames.length) { - sb.append(channelnames[i] + " "); + sb.append(channelnames[i]).append(' '); } else { - sb.append(allchannelnames[i] + " "); + sb.append(allchannelnames[i]).append(' '); } } m *= 2L; diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java Mon Aug 11 21:07:55 2014 -0300 @@ -235,14 +235,15 @@ String nodeName = att.getNodeName(); if ((nodeName.equals("xmlns") || nodeName.startsWith("xmlns:")) && !storedNamespaces.containsKey(att.getNodeName())) { - sb.append(" " + nodeName + "=\"" + att.getNodeValue() + "\""); + sb.append(' ').append(nodeName).append("=\"") + .append(att.getNodeValue()).append('"'); storedNamespaces.put(nodeName, att.getNodeValue()); } } } wk = wk.getParentNode(); } - sb.append(">" + source + ""); + sb.append('>').append(source).append(""); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java Mon Aug 11 21:07:55 2014 -0300 @@ -85,7 +85,7 @@ if (prefix.equals("xmlns")) { sb.append("#default "); } else { - sb.append(prefix + " "); + sb.append(prefix).append(' '); } } diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java Mon Aug 11 21:07:55 2014 -0300 @@ -88,7 +88,7 @@ l += countQuotes(DN, j, k); if ((k > 0) && (DN.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(parseRDN(DN.substring(i, k).trim(), toXml) + ","); + sb.append(parseRDN(DN.substring(i, k).trim(), toXml)).append(','); i = k + 1; l = 0; @@ -121,7 +121,7 @@ l += countQuotes(str, j, k); if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(parseATAV(trim(str.substring(i, k)), toXml) + "+"); + sb.append(parseATAV(trim(str.substring(i, k)), toXml)).append('+'); i = k + 1; l = 0; @@ -369,7 +369,7 @@ int k; for (int j = 0; (k = string.indexOf("\\20", j)) >= 0; j = k + 3) { - sb.append(trim(string.substring(i, k)) + "\\ "); + sb.append(trim(string.substring(i, k))).append("\\ "); i = k + 3; } @@ -418,7 +418,7 @@ l += countQuotes(str, j, k); if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(trim(str.substring(i, k)) + replace); + sb.append(trim(str.substring(i, k))).append(replace); i = k + 1; l = 0; diff -r dde9f5cfde5f src/share/classes/com/sun/security/sasl/CramMD5Base.java --- a/src/share/classes/com/sun/security/sasl/CramMD5Base.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/CramMD5Base.java Mon Aug 11 21:07:55 2014 -0300 @@ -196,8 +196,7 @@ for (i = 0; i < digest.length; i++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0" + - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java --- a/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Mon Aug 11 21:07:55 2014 -0300 @@ -391,8 +391,7 @@ for (int i = 0; i < digest.length; i ++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0"+ - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/expr/ParseException.java --- a/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java Mon Aug 11 21:07:55 2014 -0300 @@ -198,7 +198,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java --- a/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Mon Aug 11 21:07:55 2014 -0300 @@ -107,7 +107,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java --- a/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java Mon Aug 11 21:07:55 2014 -0300 @@ -338,10 +338,10 @@ if (classpath.isEmpty()) { String envcp = System.getProperty("env.class.path"); if ((envcp != null) && (envcp.length() > 0)) { - munged.append(" -classpath " + envcp); + munged.append(" -classpath ").append(envcp); } } else { - munged.append(" -classpath " + classpath.asString()); + munged.append(" -classpath ").append(classpath.asString()); } return munged.toString(); } else { @@ -349,14 +349,4 @@ } } - private String appendPath(String path1, String path2) { - if (path1 == null || path1.length() == 0) { - return path2 == null ? "." : path2; - } else if (path2 == null || path2.length() == 0) { - return path1; - } else { - return path1 + File.pathSeparator + path2; - } - } - } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java --- a/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java Mon Aug 11 21:07:55 2014 -0300 @@ -346,12 +346,12 @@ public String valueString(boolean bigLimit) { // Char arrays deserve special treatment - StringBuffer result; + StringBuilder result; byte[] value = getValue(); int max = value.length; byte elementSignature = getElementType(); if (elementSignature == 'C') { - result = new StringBuffer(); + result = new StringBuilder(); for (int i = 0; i < value.length; ) { char val = charAt(i, value); result.append(val); @@ -362,7 +362,7 @@ if (bigLimit) { limit = 1000; } - result = new StringBuffer("{"); + result = new StringBuilder("{"); int num = 0; for (int i = 0; i < value.length; ) { if (num > 0) { @@ -386,37 +386,37 @@ } case 'B': { int val = 0xFF & byteAt(i, value); - result.append("0x" + Integer.toString(val, 16)); + result.append("0x").append(Integer.toString(val, 16)); i++; break; } case 'S': { short val = shortAt(i, value); i += 2; - result.append("" + val); + result.append(val); break; } case 'I': { int val = intAt(i, value); i += 4; - result.append("" + val); + result.append(val); break; } case 'J': { // long long val = longAt(i, value); - result.append("" + val); + result.append(val); i += 8; break; } case 'F': { float val = floatAt(i, value); - result.append("" + val); + result.append(val); i += 4; break; } case 'D': { // double double val = doubleAt(i, value); - result.append("" + val); + result.append(val); i += 8; break; } @@ -425,7 +425,7 @@ } } } - result.append("}"); + result.append('}'); } return result.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/hat/internal/util/Misc.java --- a/src/share/classes/com/sun/tools/hat/internal/util/Misc.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/hat/internal/util/Misc.java Mon Aug 11 21:07:55 2014 -0300 @@ -97,11 +97,11 @@ } else if (ch == '&') { sb.append("&"); } else if (ch < ' ') { - sb.append("&#" + Integer.toString(ch) + ";"); + sb.append("&#").append(Integer.toString(ch)).append(';'); } else { int c = (ch & 0xFFFF); if (c > 127) { - sb.append("&#" + Integer.toString(c) + ";"); + sb.append("&#").append(Integer.toString(c)).append(';'); } else { sb.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java --- a/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Mon Aug 11 21:07:55 2014 -0300 @@ -881,12 +881,12 @@ } else if (tag == JDWP.TypeTag.ARRAY) { sb.append("ArrayType"); } else { - sb.append("UNKNOWN TAG: " + tag); + sb.append("UNKNOWN TAG: ").append(tag); } if (signature != null) { - sb.append(", signature='" + signature + "'"); + sb.append(", signature='").append(signature).append('\''); } - sb.append(", id=" + id); + sb.append(", id=").append(id); vm.printTrace(sb.toString()); } if (id == 0) { From raghu.k.nair at oracle.com Tue Aug 12 04:23:18 2014 From: raghu.k.nair at oracle.com (raghu k.nair) Date: Tue, 12 Aug 2014 09:53:18 +0530 Subject: Updated review request for CR 8048362 Test doPrivileged with accomplice In-Reply-To: References: <53DF3226.7010601@oracle.com> Message-ID: <53E996B6.6040105@oracle.com> Hello , Please find the updated the webrev . http://cr.openjdk.java.net/~rhalade/8048362/webrev.02/ Thanks, Raghu On 8/8/2014 7:21 PM, Vincent Ryan wrote: > Code looks fine. > I noticed a few typos: DoPrivTest.java l.26 and DoPrivAccompliceTest.java l.34-38 > > > On 4 Aug 2014, at 08:11, raghu k.nair wrote: > >> Hello , >> Please review the updated tests for doPrivilaged with accomplice. Updated the test to use @compile tag rather than compiling using API. >> >> Bug -https://bugs.openjdk.java.net/browse/JDK-8048362 >> webrev - http://cr.openjdk.java.net/~rhalade/8048362/webrev.01/ >> >> Thanks, >> Raghu >> From raghu.k.nair at oracle.com Tue Aug 12 04:58:26 2014 From: raghu.k.nair at oracle.com (raghu k.nair) Date: Tue, 12 Aug 2014 10:28:26 +0530 Subject: Review request for CR 8049039 Need new tests for sun.securiy.x509 classes Message-ID: <53E99EF2.8010900@oracle.com> Hello, Please review the tests for sun.security.x509 classes. These cover tests for GeneralName, GeneralNames, GeneralSubtree, GeneralSubtrees, IPAddressName and IssuerAlternativeNameExtension. webrev: http://cr.openjdk.java.net/~rhalade/8049039/webrev.00/ Bug: https://bugs.openjdk.java.net/browse/JDK-8049039 Thanks, Raghu Nair From andrej.golovnin at gmail.com Tue Aug 12 07:48:00 2014 From: andrej.golovnin at gmail.com (Andrej Golovnin) Date: Tue, 12 Aug 2014 09:48:00 +0200 Subject: Replace concat String to append in StringBuilder parameters In-Reply-To: References: <53E7FA44.9050207@oracle.com> <476830A4-7A8E-4652-A0C7-805687155F4A@oracle.com> <141CEE3F-4343-4767-A43C-5E7CF1A9F7A7@oracle.com> Message-ID: Hi Ot?vio, I think you should fix the indentation in a lot of classes. You use the tab-character for the indentation. As far as I know we should use the space character for the indentation in the JDK sources (Oracle devs feel free to correct me if I'm wrong. And it would be really nice if the style guide for the source code would be a part of the JDK repository. So we don't need to search for it on the internet/wiki. Just clone the repository, read the style guide and follow it. :-) ). Here is the not complete list of classes where you used the tab-character for the indentation: src/share/classes/com/sun/crypto/provider/OAEPParameters.java src/share/classes/java/lang/management/MemoryUsage.java src/share/classes/java/security/KeyStore.java src/share/classes/java/security/PermissionCollection.java src/share/classes/java/security/ProtectionDomain.java src/share/classes/java/security/cert/CertPath.java src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java src/share/classes/java/security/cert/PKIXParameters.java src/share/classes/java/security/cert/PolicyQualifierInfo.java src/share/classes/java/security/cert/TrustAnchor.java src/share/classes/java/security/cert/X509CertSelector.java src/share/classes/javax/crypto/CryptoPermission.java src/share/classes/javax/management/relation/Role.java In src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj in the line 423 a dot is missed before append: 423 {jjtn000.name.append( '.')append(t.image); } Best regards, Andrej Golovnin -------------- next part -------------- An HTML attachment was scrubbed... URL: From weijun.wang at oracle.com Tue Aug 12 08:02:55 2014 From: weijun.wang at oracle.com (Wang Weijun) Date: Tue, 12 Aug 2014 16:02:55 +0800 Subject: Replace concat String to append in StringBuilder parameters In-Reply-To: References: <53E7FA44.9050207@oracle.com> <476830A4-7A8E-4652-A0C7-805687155F4A@oracle.com> <141CEE3F-4343-4767-A43C-5E7CF1A9F7A7@oracle.com> Message-ID: No TAB, no \r, and no trailing space are hard requirements enforced by jcheck. Otherwise it's only styles, including 4-space-indentation. "{" at the end of a line, 8-space wrap indentation... --Max (an Oracle dev) On Aug 12, 2014, at 15:48, Andrej Golovnin wrote: > As far as I know we should use the space character for the indentation in the JDK sources (Oracle devs feel free to correct me if I'm wrong. From peter.firmstone at zeus.net.au Tue Aug 12 09:03:53 2014 From: peter.firmstone at zeus.net.au (Peter Firmstone) Date: Tue, 12 Aug 2014 19:03:53 +1000 Subject: The future of Serialization In-Reply-To: <53E8D0AC.3060108@oracle.com> References: <1407563776.1841.30.camel@Nokia-N900> <53E8A71D.70407@oracle.com> <53E8B1D8.1000200@zeus.net.au> <53E8D0AC.3060108@oracle.com> Message-ID: <1407834233.6396.10.camel@Nokia-N900> Interesting, language features for modules, won't necessarily involve ClassLoader's (my assumptions were based on existing systems) although you'd expect modules to have their own ProtectionDomain. An alternative to isolates, is separate processes with jvm class sharing enabled. I'll keep an eye out for the JSR. When is a better timeframe, roughly, to discuss Serializable? Regards, Peter. ----- Original message ----- > On 11/08/2014 13:06, Peter Firmstone wrote: > > Thanks Alan, I can relate to time poverty :) > > > > I might be assuming too much, but if there's interest in doing > > something with Serialization, I'd be interested in learning about > > plans or difficulties involved in deserialization and modules. It can > > be a little more difficult to find the correct ClassLoader to resolve > > classes during deserialization when ClassLoader relationships aren't > > hierarchial.? Object streams can be annotated with module information > > to assist resolution. > The issues around visibility when deserializing are somewhat independent > of modules. The usual way to deal with such matters is to override the > resolveClass method. Another long standing suggestion is for > ObjectInputStream to define a new constructor that takes a class loader > to avoid the stack walk to get the user-defined loader. It remains to > seen but if we can avoid changing visibility then we don't change the > status quo. > > : > > > > Got any links to info on extending access control rules? > Not yet, a future JSR will define the standard module system and there > will be a corresponding JEP for the implementation. > > -Alan. -------------- next part -------------- An HTML attachment was scrubbed... URL: From vladimir.kozlov at oracle.com Tue Aug 12 13:16:35 2014 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 12 Aug 2014 06:16:35 -0700 Subject: [8u40] Request for approval: 8035974 Refactor DigestBase.engineUpdate() method for better code generation by JIT compiler In-Reply-To: <53E9D839.1070107@oracle.com> References: <53E91AFB.5080504@oracle.com> <53E9D839.1070107@oracle.com> Message-ID: <53EA13B3.1040601@oracle.com> Thank you! Vladimir On 8/12/14 2:02 AM, dalibor topic wrote: > Approved. > > cheers, > dalibor topic > > On 11.08.2014 21:35, Vladimir Kozlov wrote: >> Requesting approval for the backport of JDK-8035974. The change was >> pushed to jdk 9 in May and it is applied cleanly to jdk8u sources: >> >> Main RFE: https://bugs.openjdk.java.net/browse/JDK-8035974 >> Changeset: http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/dabb44358772 >> Review: >> http://mail.openjdk.java.net/pipermail/core-libs-dev/2014-May/026945.html >> >> Corresponding Hotspot changes (8035968+8035974) will be pushed through >> jdk8u/hs-dev as usual. >> >> Thanks, >> Vladimir > From sean.mullan at oracle.com Tue Aug 12 15:08:21 2014 From: sean.mullan at oracle.com (Sean Mullan) Date: Tue, 12 Aug 2014 11:08:21 -0400 Subject: Review Request for 7026255 : Methods of Subject that throw SecurityException do not specify what permissions are required Message-ID: <53EA2DE5.9060507@oracle.com> This is a clarification in the javax.security.auth.Subject javadocs to indicate what permissions are required for methods that throw SecurityException: http://cr.openjdk.java.net/~mullan/webrevs/7026255/webrev.00/ I also took the opportunity to fix a couple of other minor issues: added @Override annotations, removed spurious

    tags, and changed @exception to @throws. Thanks, Sean From raghu.k.nair at oracle.com Tue Aug 12 17:36:56 2014 From: raghu.k.nair at oracle.com (raghu k.nair) Date: Tue, 12 Aug 2014 23:06:56 +0530 Subject: Updated review request for CR 8048362 Test doPrivileged with accomplice In-Reply-To: References: <53DF3226.7010601@oracle.com> Message-ID: <53EA50B8.10901@oracle.com> Hello , The latest webrev is available at http://cr.openjdk.java.net/~rhalade/8048362/webrev.03/ The changes include review comments from Vinnie . Thanks, Raghu On 8/8/2014 7:21 PM, Vincent Ryan wrote: > Code looks fine. > I noticed a few typos: DoPrivTest.java l.26 and DoPrivAccompliceTest.java l.34-38 > > > On 4 Aug 2014, at 08:11, raghu k.nair wrote: > >> Hello , >> Please review the updated tests for doPrivilaged with accomplice. Updated the test to use @compile tag rather than compiling using API. >> >> Bug -https://bugs.openjdk.java.net/browse/JDK-8048362 >> webrev - http://cr.openjdk.java.net/~rhalade/8048362/webrev.01/ >> >> Thanks, >> Raghu >> From dalibor.topic at oracle.com Tue Aug 12 09:02:49 2014 From: dalibor.topic at oracle.com (dalibor topic) Date: Tue, 12 Aug 2014 11:02:49 +0200 Subject: [8u40] Request for approval: 8035974 Refactor DigestBase.engineUpdate() method for better code generation by JIT compiler In-Reply-To: <53E91AFB.5080504@oracle.com> References: <53E91AFB.5080504@oracle.com> Message-ID: <53E9D839.1070107@oracle.com> Approved. cheers, dalibor topic On 11.08.2014 21:35, Vladimir Kozlov wrote: > Requesting approval for the backport of JDK-8035974. The change was > pushed to jdk 9 in May and it is applied cleanly to jdk8u sources: > > Main RFE: https://bugs.openjdk.java.net/browse/JDK-8035974 > Changeset: http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/dabb44358772 > Review: > http://mail.openjdk.java.net/pipermail/core-libs-dev/2014-May/026945.html > > Corresponding Hotspot changes (8035968+8035974) will be pushed through > jdk8u/hs-dev as usual. > > Thanks, > Vladimir -- Dalibor Topic | Principal Product Manager Phone: +494089091214 | Mobile: +491737185961 ORACLE Deutschland B.V. & Co. KG | K?hneh?fe 5 | 22761 Hamburg ORACLE Deutschland B.V. & Co. KG Hauptverwaltung: Riesstr. 25, D-80992 M?nchen Registergericht: Amtsgericht M?nchen, HRA 95603 Gesch?ftsf?hrer: J?rgen Kunz Komplement?rin: ORACLE Deutschland Verwaltung B.V. Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697 Gesch?ftsf?hrer: Alexander van der Ven, Astrid Kepper, Val Maher Oracle is committed to developing practices and products that help protect the environment From otaviojava at java.net Tue Aug 12 11:51:47 2014 From: otaviojava at java.net (=?UTF-8?Q?Ot=C3=A1vio_Gon=C3=A7alves_de_Santana?=) Date: Tue, 12 Aug 2014 08:51:47 -0300 Subject: Replace concat String to append in StringBuilder parameters In-Reply-To: References: <53E7FA44.9050207@oracle.com> <476830A4-7A8E-4652-A0C7-805687155F4A@oracle.com> <141CEE3F-4343-4767-A43C-5E7CF1A9F7A7@oracle.com> Message-ID: Thank you Andrej Done. https://dl.dropboxusercontent.com/u/16109193/open_jdk/string_builder_concat_5.zip On Tue, Aug 12, 2014 at 4:48 AM, Andrej Golovnin wrote: > Hi Ot?vio, > > I think you should fix the indentation in a lot of classes. You use the > tab-character for the indentation. As far as I know we should use the space > character for the indentation in the JDK sources (Oracle devs feel free to > correct me if I'm wrong. And it would be really nice if the style guide for > the source code would be a part of the JDK repository. So we don't need to > search for it on the internet/wiki. Just clone the repository, read the > style guide and follow it. :-) ). Here is the not complete list of classes > where you used the tab-character for the indentation: > > src/share/classes/com/sun/crypto/provider/OAEPParameters.java > src/share/classes/java/lang/management/MemoryUsage.java > src/share/classes/java/security/KeyStore.java > src/share/classes/java/security/PermissionCollection.java > src/share/classes/java/security/ProtectionDomain.java > src/share/classes/java/security/cert/CertPath.java > src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java > src/share/classes/java/security/cert/PKIXParameters.java > src/share/classes/java/security/cert/PolicyQualifierInfo.java > src/share/classes/java/security/cert/TrustAnchor.java > src/share/classes/java/security/cert/X509CertSelector.java > src/share/classes/javax/crypto/CryptoPermission.java > src/share/classes/javax/management/relation/Role.java > > > In src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj in the line 423 a > dot is missed before append: > > 423 {jjtn000.name.append( '.')append(t.image); } > > Best regards, > Andrej Golovnin > -- Ot?vio Gon?alves de Santana blog: http://otaviosantana.blogspot.com.br/ twitter: http://twitter.com/otaviojava site: *http://about.me/otaviojava * 55 (11) 98255-3513 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/DHParameters.java --- a/src/share/classes/com/sun/crypto/provider/DHParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/DHParameters.java Tue Aug 12 08:47:10 2014 -0300 @@ -137,8 +137,11 @@ + Debug.toHexString(this.p) + LINE_SEP + "g:" + LINE_SEP + Debug.toHexString(this.g)); - if (this.l != 0) - sb.append(LINE_SEP + "l:" + LINE_SEP + " " + this.l); + if (this.l != 0) { + sb.append(LINE_SEP).append("l:") + .append(LINE_SEP).append(" ") + .append(this.l); + } return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/DHPublicKey.java --- a/src/share/classes/com/sun/crypto/provider/DHPublicKey.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/DHPublicKey.java Tue Aug 12 08:47:10 2014 -0300 @@ -268,8 +268,10 @@ + Debug.toHexString(this.p) + LINE_SEP + "g:" + LINE_SEP + Debug.toHexString(this.g)); - if (this.l != 0) - sb.append(LINE_SEP + "l:" + LINE_SEP + " " + this.l); + if (this.l != 0) { + sb.append(LINE_SEP).append("l:").append(LINE_SEP) + .append(" ").append(this.l); + } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/GCMParameters.java --- a/src/share/classes/com/sun/crypto/provider/GCMParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/GCMParameters.java Tue Aug 12 08:47:10 2014 -0300 @@ -140,7 +140,8 @@ = new StringBuilder(LINE_SEP + " iv:" + LINE_SEP + "[" + encoder.encodeBuffer(iv) + "]"); - sb.append(LINE_SEP + "tLen(bits):" + LINE_SEP + tLen*8 + LINE_SEP); + sb.append(LINE_SEP).append("tLen(bits):").append(LINE_SEP) + .append(tLen * 8).append(LINE_SEP); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/OAEPParameters.java --- a/src/share/classes/com/sun/crypto/provider/OAEPParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/OAEPParameters.java Tue Aug 12 08:47:10 2014 -0300 @@ -239,10 +239,12 @@ protected String engineToString() { StringBuilder sb = new StringBuilder(); - sb.append("MD: " + mdName + "\n"); - sb.append("MGF: MGF1" + mgfSpec.getDigestAlgorithm() + "\n"); - sb.append("PSource: PSpecified " + - (p.length==0? "":Debug.toHexString(new BigInteger(p))) + "\n"); + sb.append("MD: ").append(mdName).append('\n'); + sb.append("MGF: MGF1").append(mgfSpec.getDigestAlgorithm()) + .append('\n'); + sb.append("PSource: PSpecified ") + .append(p.length == 0 ? "" : Debug + .toHexString(new BigInteger(p))).append('\n'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/RC2Parameters.java --- a/src/share/classes/com/sun/crypto/provider/RC2Parameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/RC2Parameters.java Tue Aug 12 08:47:10 2014 -0300 @@ -221,8 +221,9 @@ + encoder.encodeBuffer(iv) + "]"); if (version != 0) { - sb.append(LINE_SEP + "version:" + LINE_SEP - + version + LINE_SEP); + sb.append(LINE_SEP).append("version:") + .append(LINE_SEP).append(version) + .append(LINE_SEP); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java Tue Aug 12 08:47:10 2014 -0300 @@ -65,7 +65,7 @@ "extractSubNet", "BINARY ARRAY :"); StringBuilder sb = new StringBuilder(); for(int i =0; i < addrLength; i++) { - sb.append((b[i] & 0xFF) + ":"); + sb.append(b[i] & 0xFF).append(':'); } SNMP_LOGGER.logp(Level.FINEST, NetMaskImpl.class.getName(), "extractSubNet", sb.toString()); diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java Tue Aug 12 08:47:10 2014 -0300 @@ -204,7 +204,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java Tue Aug 12 08:47:10 2014 -0300 @@ -379,7 +379,7 @@ } jj_consume_token(DOT); t = jj_consume_token(IDENTIFIER); - jjtn000.name.append( "." + t.image); + jjtn000.name.append('.').append(t.image); } } finally { if (jjtc000) { @@ -408,7 +408,7 @@ } jj_consume_token(DOT); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append('.').append(t.image); } } finally { if (jjtc000) { @@ -454,7 +454,7 @@ } jj_consume_token(MARK); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append('.').append(t.image); } } finally { if (jjtc000) { @@ -483,7 +483,7 @@ } jj_consume_token(DOT); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append('.').append(t.image); } jj_consume_token(MASK); t = jj_consume_token(INTEGER_LITERAL); diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj Tue Aug 12 08:47:10 2014 -0300 @@ -420,7 +420,7 @@ t= { jjtn000.name.append(t.image); } ( "." t= - {jjtn000.name.append( "." + t.image); } + {jjtn000.name.append( '.').append(t.image); } )*/*@bgen(jjtree)*/ } finally { if (jjtc000) { @@ -447,7 +447,7 @@ {jjtn000.address.append(t.image); } ( "." t= - {jjtn000.address.append( "." + t.image); } + {jjtn000.address.append( '.').append(t.image); } )*/*@bgen(jjtree)*/ } finally { if (jjtc000) { @@ -501,7 +501,7 @@ {jjtn000.address.append(t.image); } ( "!" t= - {jjtn000.address.append( "." + t.image); } + {jjtn000.address.append( '.').append(t.image); } )*/*@bgen(jjtree)*/ } finally { if (jjtc000) { @@ -527,7 +527,7 @@ {jjtn000.address.append(t.image); } ( "." t= - {jjtn000.address.append( "." + t.image); } + {jjtn000.address.append( '.').append(t.image); } )* "/" t= /*@bgen(jjtree)*/ { jjtree.closeNodeScope(jjtn000, true); diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt Tue Aug 12 08:47:10 2014 -0300 @@ -213,7 +213,7 @@ t= { jjtThis.name.append(t.image); } ( "." t= - {jjtThis.name.append( "." + t.image); } + {jjtThis.name.append( '.').append(t.image); } )* } @@ -228,7 +228,7 @@ {jjtThis.address.append(t.image); } ( "." t= - {jjtThis.address.append( "." + t.image); } + {jjtThis.address.append( '.').append(t.image); } )* } @@ -253,7 +253,7 @@ {jjtThis.address.append(t.image); } ( "!" t= - {jjtThis.address.append( "." + t.image); } + {jjtThis.address.append( '.').append(t.image); } )* } @@ -267,7 +267,7 @@ {jjtThis.address.append(t.image); } ( "." t= - {jjtThis.address.append( "." + t.image); } + {jjtThis.address.append( '.').append(t.image); } )* "/" t= {jjtThis.mask = t.image; } } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java Tue Aug 12 08:47:10 2014 -0300 @@ -99,7 +99,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java --- a/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java Tue Aug 12 08:47:10 2014 -0300 @@ -479,10 +479,10 @@ */ public String printMessage() { StringBuilder sb = new StringBuilder(); - sb.append("msgId : " + msgId + "\n"); - sb.append("msgMaxSize : " + msgMaxSize + "\n"); - sb.append("msgFlags : " + msgFlags + "\n"); - sb.append("msgSecurityModel : " + msgSecurityModel + "\n"); + sb.append("msgId : ").append(msgId).append('\n'); + sb.append("msgMaxSize : ").append(msgMaxSize).append('\n'); + sb.append("msgFlags : ").append(msgFlags).append('\n'); + sb.append("msgSecurityModel : ").append(msgSecurityModel).append('\n'); if (contextEngineId == null) { sb.append("contextEngineId : null"); diff -r dde9f5cfde5f src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java --- a/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java Tue Aug 12 08:47:10 2014 -0300 @@ -256,7 +256,7 @@ private static String stringifyComponent(NameComponent comp) { StringBuilder one = new StringBuilder(escape(comp.id)); if (comp.kind != null && !comp.kind.equals("")) { - one.append(kindSeparator + escape(comp.kind)); + one.append(kindSeparator).append(escape(comp.kind)); } if (one.length() == 0) { return ""+kindSeparator; // if neither id nor kind specified diff -r dde9f5cfde5f src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java --- a/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Tue Aug 12 08:47:10 2014 -0300 @@ -90,7 +90,7 @@ if (selected == -1) { StringBuilder allChoices = new StringBuilder(); for (int j = 0; j < choices.length; j++) { - allChoices.append(choices[j] + ","); + allChoices.append(choices[j]).append(','); } throw new IOException("Cannot match " + "'java.naming.security.sasl.realm' property value, '" + diff -r dde9f5cfde5f src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java --- a/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java Tue Aug 12 08:47:10 2014 -0300 @@ -167,9 +167,9 @@ for (int i = 0; i < allchannelnames.length; i++) { if ((channelmask & m) != 0L) { if (i < channelnames.length) { - sb.append(channelnames[i] + " "); + sb.append(channelnames[i]).append(' '); } else { - sb.append(allchannelnames[i] + " "); + sb.append(allchannelnames[i]).append(' '); } } m *= 2L; diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java Tue Aug 12 08:47:10 2014 -0300 @@ -235,14 +235,15 @@ String nodeName = att.getNodeName(); if ((nodeName.equals("xmlns") || nodeName.startsWith("xmlns:")) && !storedNamespaces.containsKey(att.getNodeName())) { - sb.append(" " + nodeName + "=\"" + att.getNodeValue() + "\""); + sb.append(' ').append(nodeName).append("=\"") + .append(att.getNodeValue()).append('"'); storedNamespaces.put(nodeName, att.getNodeValue()); } } } wk = wk.getParentNode(); } - sb.append(">" + source + ""); + sb.append('>').append(source).append(""); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java Tue Aug 12 08:47:10 2014 -0300 @@ -85,7 +85,7 @@ if (prefix.equals("xmlns")) { sb.append("#default "); } else { - sb.append(prefix + " "); + sb.append(prefix).append(' '); } } diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java Tue Aug 12 08:47:10 2014 -0300 @@ -88,7 +88,7 @@ l += countQuotes(DN, j, k); if ((k > 0) && (DN.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(parseRDN(DN.substring(i, k).trim(), toXml) + ","); + sb.append(parseRDN(DN.substring(i, k).trim(), toXml)).append(','); i = k + 1; l = 0; @@ -121,7 +121,7 @@ l += countQuotes(str, j, k); if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(parseATAV(trim(str.substring(i, k)), toXml) + "+"); + sb.append(parseATAV(trim(str.substring(i, k)), toXml)).append('+'); i = k + 1; l = 0; @@ -369,7 +369,7 @@ int k; for (int j = 0; (k = string.indexOf("\\20", j)) >= 0; j = k + 3) { - sb.append(trim(string.substring(i, k)) + "\\ "); + sb.append(trim(string.substring(i, k))).append("\\ "); i = k + 3; } @@ -418,7 +418,7 @@ l += countQuotes(str, j, k); if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(trim(str.substring(i, k)) + replace); + sb.append(trim(str.substring(i, k))).append(replace); i = k + 1; l = 0; diff -r dde9f5cfde5f src/share/classes/com/sun/security/sasl/CramMD5Base.java --- a/src/share/classes/com/sun/security/sasl/CramMD5Base.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/CramMD5Base.java Tue Aug 12 08:47:10 2014 -0300 @@ -196,8 +196,7 @@ for (i = 0; i < digest.length; i++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0" + - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java --- a/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Tue Aug 12 08:47:10 2014 -0300 @@ -391,8 +391,7 @@ for (int i = 0; i < digest.length; i ++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0"+ - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/expr/ParseException.java --- a/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java Tue Aug 12 08:47:10 2014 -0300 @@ -198,7 +198,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java --- a/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Tue Aug 12 08:47:10 2014 -0300 @@ -107,7 +107,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java --- a/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java Tue Aug 12 08:47:10 2014 -0300 @@ -338,10 +338,10 @@ if (classpath.isEmpty()) { String envcp = System.getProperty("env.class.path"); if ((envcp != null) && (envcp.length() > 0)) { - munged.append(" -classpath " + envcp); + munged.append(" -classpath ").append(envcp); } } else { - munged.append(" -classpath " + classpath.asString()); + munged.append(" -classpath ").append(classpath.asString()); } return munged.toString(); } else { @@ -349,14 +349,4 @@ } } - private String appendPath(String path1, String path2) { - if (path1 == null || path1.length() == 0) { - return path2 == null ? "." : path2; - } else if (path2 == null || path2.length() == 0) { - return path1; - } else { - return path1 + File.pathSeparator + path2; - } - } - } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java --- a/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java Tue Aug 12 08:47:10 2014 -0300 @@ -346,12 +346,12 @@ public String valueString(boolean bigLimit) { // Char arrays deserve special treatment - StringBuffer result; + StringBuilder result; byte[] value = getValue(); int max = value.length; byte elementSignature = getElementType(); if (elementSignature == 'C') { - result = new StringBuffer(); + result = new StringBuilder(); for (int i = 0; i < value.length; ) { char val = charAt(i, value); result.append(val); @@ -362,7 +362,7 @@ if (bigLimit) { limit = 1000; } - result = new StringBuffer("{"); + result = new StringBuilder("{"); int num = 0; for (int i = 0; i < value.length; ) { if (num > 0) { @@ -386,37 +386,37 @@ } case 'B': { int val = 0xFF & byteAt(i, value); - result.append("0x" + Integer.toString(val, 16)); + result.append("0x").append(Integer.toString(val, 16)); i++; break; } case 'S': { short val = shortAt(i, value); i += 2; - result.append("" + val); + result.append(val); break; } case 'I': { int val = intAt(i, value); i += 4; - result.append("" + val); + result.append(val); break; } case 'J': { // long long val = longAt(i, value); - result.append("" + val); + result.append(val); i += 8; break; } case 'F': { float val = floatAt(i, value); - result.append("" + val); + result.append(val); i += 4; break; } case 'D': { // double double val = doubleAt(i, value); - result.append("" + val); + result.append(val); i += 8; break; } @@ -425,7 +425,7 @@ } } } - result.append("}"); + result.append('}'); } return result.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/hat/internal/util/Misc.java --- a/src/share/classes/com/sun/tools/hat/internal/util/Misc.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/hat/internal/util/Misc.java Tue Aug 12 08:47:10 2014 -0300 @@ -97,11 +97,11 @@ } else if (ch == '&') { sb.append("&"); } else if (ch < ' ') { - sb.append("&#" + Integer.toString(ch) + ";"); + sb.append("&#").append(Integer.toString(ch)).append(';'); } else { int c = (ch & 0xFFFF); if (c > 127) { - sb.append("&#" + Integer.toString(c) + ";"); + sb.append("&#").append(Integer.toString(c)).append(';'); } else { sb.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java --- a/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Tue Aug 12 08:47:10 2014 -0300 @@ -881,12 +881,12 @@ } else if (tag == JDWP.TypeTag.ARRAY) { sb.append("ArrayType"); } else { - sb.append("UNKNOWN TAG: " + tag); + sb.append("UNKNOWN TAG: ").append(tag); } if (signature != null) { - sb.append(", signature='" + signature + "'"); + sb.append(", signature='").append(signature).append('\''); } - sb.append(", id=" + id); + sb.append(", id=").append(id); vm.printTrace(sb.toString()); } if (id == 0) { -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/lang/management/MemoryUsage.java --- a/src/share/classes/java/lang/management/MemoryUsage.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/lang/management/MemoryUsage.java Tue Aug 12 08:47:10 2014 -0300 @@ -237,13 +237,16 @@ * Returns a descriptive representation of this memory usage. */ public String toString() { - StringBuilder buf = new StringBuilder(); - buf.append("init = " + init + "(" + (init >> 10) + "K) "); - buf.append("used = " + used + "(" + (used >> 10) + "K) "); - buf.append("committed = " + committed + "(" + - (committed >> 10) + "K) " ); - buf.append("max = " + max + "(" + (max >> 10) + "K)"); - return buf.toString(); + StringBuilder sb = new StringBuilder(); + sb.append("init = ").append(init).append('(').append(init >> 10) + .append("K) "); + sb.append("used = ").append(used).append('(').append(used >> 10) + .append("K) "); + sb.append("committed = ").append(committed).append('(') + .append(committed >> 10).append("K) "); + sb.append("max = ").append(max).append('(').append(max >> 10) + .append("K)"); + return sb.toString(); } /** diff -r dde9f5cfde5f src/share/classes/java/lang/management/ThreadInfo.java --- a/src/share/classes/java/lang/management/ThreadInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/lang/management/ThreadInfo.java Tue Aug 12 08:47:10 2014 -0300 @@ -579,15 +579,17 @@ * @return a string representation of this thread info. */ public String toString() { - StringBuilder sb = new StringBuilder("\"" + getThreadName() + "\"" + - " Id=" + getThreadId() + " " + - getThreadState()); + StringBuilder sb = new StringBuilder(); + sb.append('"').append(getThreadName()).append('"') + .append(" Id=").append(getThreadId()).append(' ') + .append(getThreadState()); + if (getLockName() != null) { - sb.append(" on " + getLockName()); + sb.append(" on ").append(getLockName()); } if (getLockOwnerName() != null) { - sb.append(" owned by \"" + getLockOwnerName() + - "\" Id=" + getLockOwnerId()); + sb.append(" owned by \"").append(getLockOwnerName()) + .append("\" Id=").append(getLockOwnerId()); } if (isSuspended()) { sb.append(" (suspended)"); @@ -599,21 +601,21 @@ int i = 0; for (; i < stackTrace.length && i < MAX_FRAMES; i++) { StackTraceElement ste = stackTrace[i]; - sb.append("\tat " + ste.toString()); + sb.append("\tat ").append(ste.toString()); sb.append('\n'); if (i == 0 && getLockInfo() != null) { Thread.State ts = getThreadState(); switch (ts) { case BLOCKED: - sb.append("\t- blocked on " + getLockInfo()); + sb.append("\t- blocked on ").append(getLockInfo()); sb.append('\n'); break; case WAITING: - sb.append("\t- waiting on " + getLockInfo()); + sb.append("\t- waiting on ").append(getLockInfo()); sb.append('\n'); break; case TIMED_WAITING: - sb.append("\t- waiting on " + getLockInfo()); + sb.append("\t- waiting on ").append(getLockInfo()); sb.append('\n'); break; default: @@ -622,7 +624,7 @@ for (MonitorInfo mi : lockedMonitors) { if (mi.getLockedStackDepth() == i) { - sb.append("\t- locked " + mi); + sb.append("\t- locked ").append(mi); sb.append('\n'); } } @@ -634,10 +636,10 @@ LockInfo[] locks = getLockedSynchronizers(); if (locks.length > 0) { - sb.append("\n\tNumber of locked synchronizers = " + locks.length); + sb.append("\n\tNumber of locked synchronizers = ").append(locks.length); sb.append('\n'); for (LockInfo li : locks) { - sb.append("\t- " + li); + sb.append("\t- ").append(li); sb.append('\n'); } } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/rmi/dgc/VMID.java --- a/src/share/classes/java/rmi/dgc/VMID.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/rmi/dgc/VMID.java Tue Aug 12 08:47:10 2014 -0300 @@ -124,8 +124,7 @@ if (addr != null) for (int i = 0; i < addr.length; ++ i) { int x = addr[i] & 0xFF; - sb.append((x < 0x10 ? "0" : "") + - Integer.toString(x, 16)); + sb.append(x < 0x10 ? "0" : "").append(Integer.toString(x, 16)); } sb.append(':'); sb.append(uid.toString()); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/security/CodeSigner.java --- a/src/share/classes/java/security/CodeSigner.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/CodeSigner.java Tue Aug 12 08:47:10 2014 -0300 @@ -156,9 +156,9 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("("); - sb.append("Signer: " + signerCertPath.getCertificates().get(0)); + sb.append("Signer: ").append(signerCertPath.getCertificates().get(0)); if (timestamp != null) { - sb.append("timestamp: " + timestamp); + sb.append("timestamp: ").append(timestamp); } sb.append(")"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/java/security/CodeSource.java --- a/src/share/classes/java/security/CodeSource.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/CodeSource.java Tue Aug 12 08:47:10 2014 -0300 @@ -468,12 +468,12 @@ if (this.certs != null && this.certs.length > 0) { for (int i = 0; i < this.certs.length; i++) { - sb.append( " " + this.certs[i]); + sb.append(' ').append(this.certs[i]); } } else if (this.signers != null && this.signers.length > 0) { for (int i = 0; i < this.signers.length; i++) { - sb.append( " " + this.signers[i]); + sb.append(' ').append(this.signers[i]); } } else { sb.append(" "); diff -r dde9f5cfde5f src/share/classes/java/security/KeyStore.java --- a/src/share/classes/java/security/KeyStore.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/KeyStore.java Tue Aug 12 08:47:10 2014 -0300 @@ -610,8 +610,8 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("Private key entry and certificate chain with " - + chain.length + " elements:\r\n"); + sb.append("Private key entry and certificate chain with ") + .append(chain.length).append(" elements:\r\n"); for (Certificate cert : chain) { sb.append(cert); sb.append("\r\n"); diff -r dde9f5cfde5f src/share/classes/java/security/PermissionCollection.java --- a/src/share/classes/java/security/PermissionCollection.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/PermissionCollection.java Tue Aug 12 08:47:10 2014 -0300 @@ -179,13 +179,13 @@ public String toString() { Enumeration enum_ = elements(); StringBuilder sb = new StringBuilder(); - sb.append(super.toString()+" (\n"); + sb.append(super.toString()).append(" (\n"); while (enum_.hasMoreElements()) { try { - sb.append(" "); + sb.append(' '); sb.append(enum_.nextElement().toString()); - sb.append("\n"); - } catch (NoSuchElementException e){ + sb.append('\n'); + } catch (NoSuchElementException e) { // ignore } } diff -r dde9f5cfde5f src/share/classes/java/security/ProtectionDomain.java --- a/src/share/classes/java/security/ProtectionDomain.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/ProtectionDomain.java Tue Aug 12 08:47:10 2014 -0300 @@ -285,34 +285,32 @@ /** * Convert a ProtectionDomain to a String. */ - @Override public String toString() { + @Override + public String toString() { String pals = ""; if (principals != null && principals.length > 0) { - StringBuilder palBuf = new StringBuilder("(principals "); + StringBuilder palBuilder = new StringBuilder("(principals "); for (int i = 0; i < principals.length; i++) { - palBuf.append(principals[i].getClass().getName() + - " \"" + principals[i].getName() + - "\""); - if (i < principals.length-1) - palBuf.append(",\n"); - else - palBuf.append(")\n"); + palBuilder.append(principals[i].getClass().getName()) + .append(" \"").append(principals[i].getName()) + .append('"'); + if (i < principals.length - 1) { + palBuilder.append(",\n"); + } else { + palBuilder.append(")\n"); + } } - pals = palBuf.toString(); + pals = palBuilder.toString(); } // Check if policy is set; we don't want to load // the policy prematurely here - PermissionCollection pc = Policy.isSet() && seeAllp() ? - mergePermissions(): - getPermissions(); + PermissionCollection pc = Policy.isSet() && seeAllp() ? mergePermissions() + : getPermissions(); - return "ProtectionDomain "+ - " "+codesource+"\n"+ - " "+classloader+"\n"+ - " "+pals+"\n"+ - " "+pc+"\n"; + return "ProtectionDomain " + " " + codesource + "\n" + " " + + classloader + "\n" + " " + pals + "\n" + " " + pc + "\n"; } /** diff -r dde9f5cfde5f src/share/classes/java/security/Timestamp.java --- a/src/share/classes/java/security/Timestamp.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/Timestamp.java Tue Aug 12 08:47:10 2014 -0300 @@ -143,10 +143,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("("); - sb.append("timestamp: " + timestamp); + sb.append("timestamp: ").append(timestamp); List certs = signerCertPath.getCertificates(); if (!certs.isEmpty()) { - sb.append("TSA: " + certs.get(0)); + sb.append("TSA: ").append(certs.get(0)); } else { sb.append("TSA: "); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/CertPath.java --- a/src/share/classes/java/security/cert/CertPath.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/CertPath.java Tue Aug 12 08:47:10 2014 -0300 @@ -221,20 +221,16 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - Iterator stringIterator = - getCertificates().iterator(); - sb.append("\n" + type + " Cert Path: length = " - + getCertificates().size() + ".\n"); - sb.append("[\n"); + sb.append('\n').append(type).append(" Cert Path: length = ") + .append(getCertificates().size()).append(".\n").append("[\n"); int i = 1; - while (stringIterator.hasNext()) { + for (Certificate stringCert : getCertificates()) { sb.append("==========================================" - + "===============Certificate " + i + " start.\n"); - Certificate stringCert = stringIterator.next(); + + "===============Certificate ").append(i).append(" start.\n"); sb.append(stringCert.toString()); sb.append("\n========================================" - + "=================Certificate " + i + " end.\n\n\n"); + + "=================Certificate ").append(i).append(" end.\n\n\n"); i++; } diff -r dde9f5cfde5f src/share/classes/java/security/cert/CollectionCertStoreParameters.java --- a/src/share/classes/java/security/cert/CollectionCertStoreParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/CollectionCertStoreParameters.java Tue Aug 12 08:47:10 2014 -0300 @@ -134,8 +134,8 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("CollectionCertStoreParameters: [\n"); - sb.append(" collection: " + coll + "\n"); - sb.append("]"); + sb.append(" collection: ").append(coll).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/LDAPCertStoreParameters.java --- a/src/share/classes/java/security/cert/LDAPCertStoreParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/LDAPCertStoreParameters.java Tue Aug 12 08:47:10 2014 -0300 @@ -141,9 +141,9 @@ StringBuilder sb = new StringBuilder(); sb.append("LDAPCertStoreParameters: [\n"); - sb.append(" serverName: " + serverName + "\n"); - sb.append(" port: " + port + "\n"); - sb.append("]"); + sb.append(" serverName: ").append(serverName).append('\n'); + sb.append(" port: ").append(port).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXBuilderParameters.java --- a/src/share/classes/java/security/cert/PKIXBuilderParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXBuilderParameters.java Tue Aug 12 08:47:10 2014 -0300 @@ -192,7 +192,7 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); sb.append(super.toString()); - sb.append(" Maximum Path Length: " + maxPathLength + "\n"); + sb.append(" Maximum Path Length: ").append(maxPathLength).append('\n'); sb.append("]\n"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java --- a/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java Tue Aug 12 08:47:10 2014 -0300 @@ -109,11 +109,13 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("PKIXCertPathBuilderResult: [\n"); - sb.append(" Certification Path: " + certPath + "\n"); - sb.append(" Trust Anchor: " + getTrustAnchor().toString() + "\n"); - sb.append(" Policy Tree: " + String.valueOf(getPolicyTree()) + "\n"); - sb.append(" Subject Public Key: " + getPublicKey() + "\n"); - sb.append("]"); + sb.append(" Certification Path: ").append(certPath).append('\n'); + sb.append(" Trust Anchor: ").append(getTrustAnchor().toString()) + .append('\n'); + sb.append(" Policy Tree: ").append(String.valueOf(getPolicyTree())) + .append('\n'); + sb.append(" Subject Public Key: ").append(getPublicKey()).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java --- a/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java Tue Aug 12 08:47:10 2014 -0300 @@ -150,10 +150,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("PKIXCertPathValidatorResult: [\n"); - sb.append(" Trust Anchor: " + trustAnchor.toString() + "\n"); - sb.append(" Policy Tree: " + String.valueOf(policyTree) + "\n"); - sb.append(" Subject Public Key: " + subjectPublicKey + "\n"); - sb.append("]"); + sb.append(" Trust Anchor: ").append(trustAnchor.toString()).append('\n'); + sb.append(" Policy Tree: ").append(String.valueOf(policyTree)).append('\n'); + sb.append(" Subject Public Key: ").append(subjectPublicKey).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXParameters.java --- a/src/share/classes/java/security/cert/PKIXParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXParameters.java Tue Aug 12 08:47:10 2014 -0300 @@ -698,8 +698,8 @@ /* start with trusted anchor info */ if (unmodTrustAnchors != null) { - sb.append(" Trust Anchors: " + unmodTrustAnchors.toString() - + "\n"); + sb.append(" Trust Anchors: ").append(unmodTrustAnchors.toString()) + .append('\n'); } /* now, append initial state information */ @@ -707,30 +707,41 @@ if (unmodInitialPolicies.isEmpty()) { sb.append(" Initial Policy OIDs: any\n"); } else { - sb.append(" Initial Policy OIDs: [" - + unmodInitialPolicies.toString() + "]\n"); + sb.append(" Initial Policy OIDs: [") + .append(unmodInitialPolicies.toString()).append("]\n"); } } /* now, append constraints on all certificates in the path */ - sb.append(" Validity Date: " + String.valueOf(date) + "\n"); - sb.append(" Signature Provider: " + String.valueOf(sigProvider) + "\n"); - sb.append(" Default Revocation Enabled: " + revocationEnabled + "\n"); - sb.append(" Explicit Policy Required: " + explicitPolicyRequired + "\n"); - sb.append(" Policy Mapping Inhibited: " + policyMappingInhibited + "\n"); - sb.append(" Any Policy Inhibited: " + anyPolicyInhibited + "\n"); - sb.append(" Policy Qualifiers Rejected: " + policyQualifiersRejected + "\n"); + sb.append(" Validity Date: ").append(String.valueOf(date)) + .append('\n'); + sb.append(" Signature Provider: ").append(String.valueOf(sigProvider)) + .append('\n'); + sb.append(" Default Revocation Enabled: ").append(revocationEnabled) + .append('\n'); + sb.append(" Explicit Policy Required: ") + .append(explicitPolicyRequired).append('\n'); + sb.append(" Policy Mapping Inhibited: ") + .append(policyMappingInhibited).append('\n'); + sb.append(" Any Policy Inhibited: ").append(anyPolicyInhibited) + .append('\n'); + sb.append(" Policy Qualifiers Rejected: ") + .append(policyQualifiersRejected).append('\n'); /* now, append target cert requirements */ - sb.append(" Target Cert Constraints: " + String.valueOf(certSelector) + "\n"); + sb.append(" Target Cert Constraints: ") + .append(String.valueOf(certSelector)).append('\n'); /* finally, append miscellaneous parameters */ - if (certPathCheckers != null) - sb.append(" Certification Path Checkers: [" - + certPathCheckers.toString() + "]\n"); - if (certStores != null) - sb.append(" CertStores: [" + certStores.toString() + "]\n"); - sb.append("]"); + if (certPathCheckers != null) { + sb.append(" Certification Path Checkers: [") + .append(certPathCheckers.toString()).append("]\n"); + } + if (certStores != null) { + sb.append(" CertStores: [").append(certStores.toString()) + .append("]\n"); + } + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PolicyQualifierInfo.java --- a/src/share/classes/java/security/cert/PolicyQualifierInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PolicyQualifierInfo.java Tue Aug 12 08:47:10 2014 -0300 @@ -158,15 +158,17 @@ * {@code PolicyQualifierInfo} */ public String toString() { - if (pqiString != null) + if (pqiString != null) { return pqiString; + } HexDumpEncoder enc = new HexDumpEncoder(); StringBuilder sb = new StringBuilder(); sb.append("PolicyQualifierInfo: [\n"); - sb.append(" qualifierID: " + mId + "\n"); - sb.append(" qualifier: " + - (mData == null ? "null" : enc.encodeBuffer(mData)) + "\n"); - sb.append("]"); + sb.append(" qualifierID: ").append(mId).append('\n'); + sb.append(" qualifier: ") + .append(mData == null ? "null" : enc.encodeBuffer(mData)) + .append('\n'); + sb.append(']'); pqiString = sb.toString(); return pqiString; } diff -r dde9f5cfde5f src/share/classes/java/security/cert/TrustAnchor.java --- a/src/share/classes/java/security/cert/TrustAnchor.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/TrustAnchor.java Tue Aug 12 08:47:10 2014 -0300 @@ -320,14 +320,18 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); if (pubKey != null) { - sb.append(" Trusted CA Public Key: " + pubKey.toString() + "\n"); - sb.append(" Trusted CA Issuer Name: " - + String.valueOf(caName) + "\n"); + sb.append(" Trusted CA Public Key: ").append(pubKey.toString()) + .append('\n'); + sb.append(" Trusted CA Issuer Name: ") + .append(String.valueOf(caName)).append('\n'); } else { - sb.append(" Trusted CA cert: " + trustedCert.toString() + "\n"); + sb.append(" Trusted CA cert: ").append(trustedCert.toString()) + .append('\n'); } - if (nc != null) - sb.append(" Name Constraints: " + nc.toString() + "\n"); + if (nc != null) { + sb.append(" Name Constraints: ").append(nc.toString()) + .append('\n'); + } return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/X509CRLSelector.java --- a/src/share/classes/java/security/cert/X509CRLSelector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/X509CRLSelector.java Tue Aug 12 08:47:10 2014 -0300 @@ -572,17 +572,17 @@ sb.append(" IssuerNames:\n"); Iterator i = issuerNames.iterator(); while (i.hasNext()) - sb.append(" " + i.next() + "\n"); + sb.append(" ").append(i.next()).append('\n'); } if (minCRL != null) - sb.append(" minCRLNumber: " + minCRL + "\n"); + sb.append(" minCRLNumber: ").append(minCRL).append('\n'); if (maxCRL != null) - sb.append(" maxCRLNumber: " + maxCRL + "\n"); + sb.append(" maxCRLNumber: ").append(maxCRL).append('\n'); if (dateAndTime != null) - sb.append(" dateAndTime: " + dateAndTime + "\n"); + sb.append(" dateAndTime: ").append(dateAndTime).append('\n'); if (certChecking != null) - sb.append(" Certificate being checked: " + certChecking + "\n"); - sb.append("]"); + sb.append(" Certificate being checked: ").append(certChecking).append('\n'); + sb.append(']'); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/X509CertSelector.java --- a/src/share/classes/java/security/cert/X509CertSelector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/X509CertSelector.java Tue Aug 12 08:47:10 2014 -0300 @@ -1814,72 +1814,75 @@ StringBuilder sb = new StringBuilder(); sb.append("X509CertSelector: [\n"); if (x509Cert != null) { - sb.append(" Certificate: " + x509Cert.toString() + "\n"); + sb.append(" Certificate: ").append(x509Cert.toString()) + .append('\n'); } if (serialNumber != null) { - sb.append(" Serial Number: " + serialNumber.toString() + "\n"); + sb.append(" Serial Number: ").append(serialNumber.toString()) + .append('\n'); } if (issuer != null) { - sb.append(" Issuer: " + getIssuerAsString() + "\n"); + sb.append(" Issuer: ").append(getIssuerAsString()).append('\n'); } if (subject != null) { - sb.append(" Subject: " + getSubjectAsString() + "\n"); + sb.append(" Subject: ").append(getSubjectAsString()).append('\n'); } - sb.append(" matchAllSubjectAltNames flag: " - + String.valueOf(matchAllSubjectAltNames) + "\n"); + sb.append(" matchAllSubjectAltNames flag: ") + .append(String.valueOf(matchAllSubjectAltNames)).append('\n'); if (subjectAlternativeNames != null) { sb.append(" SubjectAlternativeNames:\n"); Iterator> i = subjectAlternativeNames.iterator(); while (i.hasNext()) { List list = i.next(); - sb.append(" type " + list.get(0) + - ", name " + list.get(1) + "\n"); + sb.append(" type ").append(list.get(0)).append(", name ") + .append(list.get(1)).append('\n'); } } if (subjectKeyID != null) { HexDumpEncoder enc = new HexDumpEncoder(); - sb.append(" Subject Key Identifier: " + - enc.encodeBuffer(subjectKeyID) + "\n"); + sb.append(" Subject Key Identifier: ") + .append(enc.encodeBuffer(subjectKeyID)).append('\n'); } if (authorityKeyID != null) { HexDumpEncoder enc = new HexDumpEncoder(); - sb.append(" Authority Key Identifier: " + - enc.encodeBuffer(authorityKeyID) + "\n"); + sb.append(" Authority Key Identifier: ") + .append(enc.encodeBuffer(authorityKeyID)).append('\n'); } if (certificateValid != null) { - sb.append(" Certificate Valid: " + - certificateValid.toString() + "\n"); + sb.append(" Certificate Valid: ") + .append(certificateValid.toString()).append('\n'); } if (privateKeyValid != null) { - sb.append(" Private Key Valid: " + - privateKeyValid.toString() + "\n"); + sb.append(" Private Key Valid: ") + .append(privateKeyValid.toString()).append('\n'); } if (subjectPublicKeyAlgID != null) { - sb.append(" Subject Public Key AlgID: " + - subjectPublicKeyAlgID.toString() + "\n"); + sb.append(" Subject Public Key AlgID: ") + .append(subjectPublicKeyAlgID.toString()).append('\n'); } if (subjectPublicKey != null) { - sb.append(" Subject Public Key: " + - subjectPublicKey.toString() + "\n"); + sb.append(" Subject Public Key: ") + .append(subjectPublicKey.toString()).append('\n'); } if (keyUsage != null) { - sb.append(" Key Usage: " + keyUsageToString(keyUsage) + "\n"); + sb.append(" Key Usage: ").append(keyUsageToString(keyUsage)) + .append('\n'); } if (keyPurposeSet != null) { - sb.append(" Extended Key Usage: " + - keyPurposeSet.toString() + "\n"); + sb.append(" Extended Key Usage: ") + .append(keyPurposeSet.toString()).append('\n'); } if (policy != null) { - sb.append(" Policy: " + policy.toString() + "\n"); + sb.append(" Policy: ").append(policy.toString()).append('\n'); } if (pathToGeneralNames != null) { sb.append(" Path to names:\n"); Iterator i = pathToGeneralNames.iterator(); while (i.hasNext()) { - sb.append(" " + i.next() + "\n"); + sb.append(" ").append(i.next()).append('\n'); } } - sb.append("]"); + sb.append(']'); return sb.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/text/ChoiceFormat.java --- a/src/share/classes/java/text/ChoiceFormat.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/text/ChoiceFormat.java Tue Aug 12 08:47:11 2014 -0300 @@ -272,7 +272,7 @@ double tryLess = Math.abs(Math.IEEEremainder(less, 1.0d)); if (tryLessOrEqual < tryLess) { - result.append(""+choiceLimits[i]); + result.append(choiceLimits[i]); result.append('#'); } else { if (choiceLimits[i] == Double.POSITIVE_INFINITY) { @@ -280,7 +280,7 @@ } else if (choiceLimits[i] == Double.NEGATIVE_INFINITY) { result.append("-\u221E"); } else { - result.append(""+less); + result.append(less); } result.append('<'); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/util/Scanner.java --- a/src/share/classes/java/util/Scanner.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/Scanner.java Tue Aug 12 08:47:11 2014 -0300 @@ -1304,20 +1304,20 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("java.util.Scanner"); - sb.append("[delimiters=" + delimPattern + "]"); - sb.append("[position=" + position + "]"); - sb.append("[match valid=" + matchValid + "]"); - sb.append("[need input=" + needInput + "]"); - sb.append("[source closed=" + sourceClosed + "]"); - sb.append("[skipped=" + skipped + "]"); - sb.append("[group separator=" + groupSeparator + "]"); - sb.append("[decimal separator=" + decimalSeparator + "]"); - sb.append("[positive prefix=" + positivePrefix + "]"); - sb.append("[negative prefix=" + negativePrefix + "]"); - sb.append("[positive suffix=" + positiveSuffix + "]"); - sb.append("[negative suffix=" + negativeSuffix + "]"); - sb.append("[NaN string=" + nanString + "]"); - sb.append("[infinity string=" + infinityString + "]"); + sb.append("[delimiters=").append(delimPattern).append(']'); + sb.append("[position=").append(position).append(']'); + sb.append("[match valid=").append(matchValid).append(']'); + sb.append("[need input=").append(needInput).append(']'); + sb.append("[source closed=").append(sourceClosed).append(']'); + sb.append("[skipped=").append(skipped).append(']'); + sb.append("[group separator=").append(groupSeparator).append(']'); + sb.append("[decimal separator=").append(decimalSeparator).append(']'); + sb.append("[positive prefix=").append(positivePrefix).append(']'); + sb.append("[negative prefix=").append(negativePrefix).append(']'); + sb.append("[positive suffix=").append(positiveSuffix).append(']'); + sb.append("[negative suffix=").append(negativeSuffix).append(']'); + sb.append("[NaN string=").append(nanString).append(']'); + sb.append("[infinity string=").append(infinityString).append(']'); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/util/regex/Matcher.java --- a/src/share/classes/java/util/regex/Matcher.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/regex/Matcher.java Tue Aug 12 08:47:11 2014 -0300 @@ -1295,14 +1295,14 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("java.util.regex.Matcher"); - sb.append("[pattern=" + pattern()); + sb.append("[pattern=").append(pattern()); sb.append(" region="); - sb.append(regionStart() + "," + regionEnd()); + sb.append(regionStart()).append(',').append(regionEnd()); sb.append(" lastmatch="); if ((first >= 0) && (group() != null)) { sb.append(group()); } - sb.append("]"); + sb.append(']'); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/util/regex/Pattern.java --- a/src/share/classes/java/util/regex/Pattern.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/regex/Pattern.java Tue Aug 12 08:47:11 2014 -0300 @@ -1488,10 +1488,10 @@ for(int x=0; x0) - result.append("|"+next); + result.append('|').append(next); next = composeOneStep(next); if (next != null) - result.append("|"+produceEquivalentAlternation(next)); + result.append('|').append(produceEquivalentAlternation(next)); } return result.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/management/MBeanPermission.java --- a/src/share/classes/javax/management/MBeanPermission.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/MBeanPermission.java Tue Aug 12 08:47:11 2014 -0300 @@ -455,11 +455,11 @@ name.append(className); if (member == null) member = "-"; - name.append("#" + member); + name.append('#').append(member); if (objectName == null) name.append("[-]"); else - name.append("[").append(objectName.getCanonicalName()).append("]"); + name.append('[').append(objectName.getCanonicalName()).append(']'); /* In the interests of legibility for Permission.toString(), we transform the empty string into "*". */ diff -r dde9f5cfde5f src/share/classes/javax/management/modelmbean/RequiredModelMBean.java --- a/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java Tue Aug 12 08:47:11 2014 -0300 @@ -716,15 +716,14 @@ } retStr.append("\nMBeanInfo for ModelMBean is:"); - retStr.append("\nCLASSNAME: \t"+ info.getClassName()); - retStr.append("\nDESCRIPTION: \t"+ info.getDescription()); + retStr.append("\nCLASSNAME: \t").append(info.getClassName()); + retStr.append("\nDESCRIPTION: \t").append(info.getDescription()); try { - retStr.append("\nMBEAN DESCRIPTOR: \t"+ - info.getMBeanDescriptor()); + retStr.append("\nMBEAN DESCRIPTOR: \t").append(info.getMBeanDescriptor()); } catch (Exception e) { - retStr.append("\nMBEAN DESCRIPTOR: \t" + " is invalid"); + retStr.append("\nMBEAN DESCRIPTOR: \t is invalid"); } retStr.append("\nATTRIBUTES"); @@ -734,13 +733,12 @@ for (int i=0; i objNameIter = objectNameList.iterator(); - objNameIter.hasNext();) { + StringBuilder sb = new StringBuilder(); + sb.append("role name: ").append(name).append("; role value: "); + for (Iterator objNameIter = objectNameList.iterator(); objNameIter + .hasNext();) { ObjectName currObjName = objNameIter.next(); - result.append(currObjName.toString()); + sb.append(currObjName.toString()); if (objNameIter.hasNext()) { - result.append(", "); + sb.append(", "); } } - return result.toString(); + return sb.toString(); } // diff -r dde9f5cfde5f src/share/classes/javax/management/relation/RoleInfo.java --- a/src/share/classes/javax/management/relation/RoleInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/relation/RoleInfo.java Tue Aug 12 08:47:11 2014 -0300 @@ -456,13 +456,13 @@ */ public String toString() { StringBuilder result = new StringBuilder(); - result.append("role info name: " + name); - result.append("; isReadable: " + isReadable); - result.append("; isWritable: " + isWritable); - result.append("; description: " + description); - result.append("; minimum degree: " + minDegree); - result.append("; maximum degree: " + maxDegree); - result.append("; MBean class: " + referencedMBeanClassName); + result.append("role info name: ").append(name); + result.append("; isReadable: ").append(isReadable); + result.append("; isWritable: ").append(isWritable); + result.append("; description: ").append(description); + result.append("; minimum degree: ").append(minDegree); + result.append("; maximum degree: ").append(maxDegree); + result.append("; MBean class: ").append(referencedMBeanClassName); return result.toString(); } diff -r dde9f5cfde5f src/share/classes/javax/management/relation/RoleUnresolved.java --- a/src/share/classes/javax/management/relation/RoleUnresolved.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/relation/RoleUnresolved.java Tue Aug 12 08:47:11 2014 -0300 @@ -282,7 +282,7 @@ */ public String toString() { StringBuilder result = new StringBuilder(); - result.append("role name: " + roleName); + result.append("role name: ").append(roleName); if (roleValue != null) { result.append("; value: "); for (Iterator objNameIter = roleValue.iterator(); @@ -294,7 +294,7 @@ } } } - result.append("; problem type: " + problemType); + result.append("; problem type: ").append(problemType); return result.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/crypto/CryptoPermission.java --- a/src/share/classes/javax/crypto/CryptoPermission.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/crypto/CryptoPermission.java Tue Aug 12 08:47:11 2014 -0300 @@ -369,22 +369,24 @@ * @return information about this CryptoPermission. */ public String toString() { - StringBuilder buf = new StringBuilder(100); - buf.append("(CryptoPermission " + alg + " " + maxKeySize); + StringBuilder sb = new StringBuilder(100); + sb.append("(CryptoPermission ").append(alg).append(' ') + .append(maxKeySize); if (algParamSpec != null) { if (algParamSpec instanceof RC2ParameterSpec) { - buf.append(" , effective " + - ((RC2ParameterSpec)algParamSpec).getEffectiveKeyBits()); + sb.append(" , effective ") + .append(((RC2ParameterSpec) algParamSpec) + .getEffectiveKeyBits()); } else if (algParamSpec instanceof RC5ParameterSpec) { - buf.append(" , rounds " + - ((RC5ParameterSpec)algParamSpec).getRounds()); + sb.append(" , rounds ").append( + ((RC5ParameterSpec) algParamSpec).getRounds()); } } if (exemptionMechanism != null) { // OPTIONAL - buf.append(" " + exemptionMechanism); + sb.append(' ').append(exemptionMechanism); } - buf.append(")"); - return buf.toString(); + sb.append(')'); + return sb.toString(); } private boolean impliesExemptionMechanism(String exemptionMechanism) { -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/naming/BinaryRefAddr.java --- a/src/share/classes/javax/naming/BinaryRefAddr.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/BinaryRefAddr.java Tue Aug 12 08:47:11 2014 -0300 @@ -165,11 +165,11 @@ * @return The non-null string representation of this address. */ public String toString(){ - StringBuilder str = new StringBuilder("Address Type: " + addrType + "\n"); - + StringBuilder str = new StringBuilder(); + str.append("Address Type: ").append(addrType).append('\n'); str.append("AddressContents: "); for (int i = 0; i= 32) str.append(" ...\n"); diff -r dde9f5cfde5f src/share/classes/javax/naming/NameImpl.java --- a/src/share/classes/javax/naming/NameImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/NameImpl.java Tue Aug 12 08:47:11 2014 -0300 @@ -170,7 +170,7 @@ endQuote = one ? syntaxEndQuote1 : syntaxEndQuote2; i += syntaxTypevalSeparator.length(); - answer.append(syntaxTypevalSeparator+beginQuote); // add back + answer.append(syntaxTypevalSeparator).append(beginQuote); // add back // consume string until matching quote for (i += beginQuote.length(); diff -r dde9f5cfde5f src/share/classes/javax/naming/RefAddr.java --- a/src/share/classes/javax/naming/RefAddr.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/RefAddr.java Tue Aug 12 08:47:11 2014 -0300 @@ -139,9 +139,9 @@ * @return The non-null string representation of this address. */ public String toString(){ - StringBuilder str = new StringBuilder("Type: " + addrType + "\n"); - - str.append("Content: " + getContent() + "\n"); + StringBuilder str = new StringBuilder(); + str.append("Type: ").append(addrType).append('\n'); + str.append("Content: ").append(getContent()).append('\n'); return (str.toString()); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/security/auth/kerberos/KerberosTicket.java --- a/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java Tue Aug 12 08:47:11 2014 -0300 @@ -651,8 +651,7 @@ StringBuilder caddrString = new StringBuilder(); if (clientAddresses != null) { for (int i = 0; i < clientAddresses.length; i++) { - caddrString.append("clientAddresses[" + i + "] = " + - clientAddresses[i].toString()); + caddrString.append("clientAddresses[").append(i).append("] = ").append(clientAddresses[i].toString()); } } return ("Ticket (hex) = " + "\n" + -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/sound/sampled/AudioFileFormat.java --- a/src/share/classes/javax/sound/sampled/AudioFileFormat.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/sound/sampled/AudioFileFormat.java Tue Aug 12 08:47:11 2014 -0300 @@ -272,26 +272,25 @@ @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); //$$fb2002-11-01: fix for 4672864: AudioFileFormat.toString() throws unexpected NullPointerException if (type != null) { - buf.append(type.toString() + " (." + type.getExtension() + ") file"); + sb.append(type.toString()).append(" (.").append(type.getExtension()).append(") file"); } else { - buf.append("unknown file format"); + sb.append("unknown file format"); } if (byteLength != AudioSystem.NOT_SPECIFIED) { - buf.append(", byte length: " + byteLength); + sb.append(", byte length: ").append(byteLength); } - buf.append(", data format: " + format); + sb.append(", data format: ").append(format); if (frameLength != AudioSystem.NOT_SPECIFIED) { - buf.append(", frame length: " + frameLength); + sb.append(", frame length: ").append(frameLength); } - - return new String(buf); + return sb.toString(); } /** diff -r dde9f5cfde5f src/share/classes/javax/sound/sampled/DataLine.java --- a/src/share/classes/javax/sound/sampled/DataLine.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/sound/sampled/DataLine.java Tue Aug 12 08:47:11 2014 -0300 @@ -473,17 +473,21 @@ StringBuilder sb = new StringBuilder(); if ( (formats.length == 1) && (formats[0] != null) ) { - sb.append(" supporting format " + formats[0]); + sb.append(" supporting format ").append(formats[0]); } else if (getFormats().length > 1) { - sb.append(" supporting " + getFormats().length + " audio formats"); + sb.append(" supporting ").append(getFormats().length) + .append(" audio formats"); } if ( (minBufferSize != AudioSystem.NOT_SPECIFIED) && (maxBufferSize != AudioSystem.NOT_SPECIFIED) ) { - sb.append(", and buffers of " + minBufferSize + " to " + maxBufferSize + " bytes"); + sb.append(", and buffers of ").append(minBufferSize) + .append(" to ").append(maxBufferSize).append(" bytes"); } else if ( (minBufferSize != AudioSystem.NOT_SPECIFIED) && (minBufferSize > 0) ) { - sb.append(", and buffers of at least " + minBufferSize + " bytes"); + sb.append(", and buffers of at least ").append(minBufferSize) + .append(" bytes"); } else if (maxBufferSize != AudioSystem.NOT_SPECIFIED) { - sb.append(", and buffers of up to " + minBufferSize + " bytes"); + sb.append(", and buffers of up to ").append(minBufferSize) + .append(" bytes"); } return new String(super.toString() + sb); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/swing/GroupLayout.java --- a/src/share/classes/javax/swing/GroupLayout.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/GroupLayout.java Tue Aug 12 08:47:12 2014 -0300 @@ -1213,15 +1213,15 @@ registerComponents(horizontalGroup, HORIZONTAL); registerComponents(verticalGroup, VERTICAL); } - StringBuffer buffer = new StringBuffer(); - buffer.append("HORIZONTAL\n"); - createSpringDescription(buffer, horizontalGroup, " ", HORIZONTAL); - buffer.append("\nVERTICAL\n"); - createSpringDescription(buffer, verticalGroup, " ", VERTICAL); - return buffer.toString(); + StringBuilder sb = new StringBuilder(); + sb.append("HORIZONTAL\n"); + createSpringDescription(sb, horizontalGroup, " ", HORIZONTAL); + sb.append("\nVERTICAL\n"); + createSpringDescription(sb, verticalGroup, " ", VERTICAL); + return sb.toString(); } - private void createSpringDescription(StringBuffer buffer, Spring spring, + private void createSpringDescription(StringBuilder sb, Spring spring, String indent, int axis) { String origin = ""; String padding = ""; @@ -1239,20 +1239,19 @@ padding = ", userCreated=" + paddingSpring.getUserCreated() + ", matches=" + paddingSpring.getMatchDescription(); } - buffer.append(indent + spring.getClass().getName() + " " + - Integer.toHexString(spring.hashCode()) + " " + - origin + - ", size=" + spring.getSize() + - ", alignment=" + spring.getAlignment() + - " prefs=[" + spring.getMinimumSize(axis) + - " " + spring.getPreferredSize(axis) + - " " + spring.getMaximumSize(axis) + - padding + "]\n"); + sb.append(indent).append(spring.getClass().getName()).append(' ') + .append(Integer.toHexString(spring.hashCode())).append(' ') + .append(origin).append(", size=").append(spring.getSize()) + .append(", alignment=").append(spring.getAlignment()) + .append(" prefs=[").append(spring.getMinimumSize(axis)) + .append(' ').append(spring.getPreferredSize(axis)).append(' ') + .append(spring.getMaximumSize(axis)).append(padding) + .append("]\n"); if (spring instanceof Group) { List springs = ((Group)spring).springs; indent += " "; for (int counter = 0; counter < springs.size(); counter++) { - createSpringDescription(buffer, springs.get(counter), indent, + createSpringDescription(sb, springs.get(counter), indent, axis); } } diff -r dde9f5cfde5f src/share/classes/javax/swing/JColorChooser.java --- a/src/share/classes/javax/swing/JColorChooser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/JColorChooser.java Tue Aug 12 08:47:12 2014 -0300 @@ -542,19 +542,19 @@ * * @return a string representation of this JColorChooser */ - protected String paramString() { - StringBuilder chooserPanelsString = new StringBuilder(""); - for (int i=0; i keys = keys(); - while (keys.hasMoreElements()) { - Object key = keys.nextElement(); - sb.append(key + "=" + get(key) + ", "); - } - int length = sb.length(); - if (length > 1) { - sb.delete(length-2, length); - } - sb.append("}"); - return sb.toString(); + StringBuilder sb = new StringBuilder(); + sb.append("{"); + Enumeration keys = keys(); + while (keys.hasMoreElements()) { + Object key = keys.nextElement(); + sb.append(key).append('=').append(get(key)).append(", "); + } + int length = sb.length(); + if (length > 1) { + sb.delete(length - 2, length); + } + sb.append('}'); + return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/javax/swing/RepaintManager.java --- a/src/share/classes/javax/swing/RepaintManager.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/RepaintManager.java Tue Aug 12 08:47:12 2014 -0300 @@ -990,10 +990,7 @@ * @return a String representation of this object */ public synchronized String toString() { - StringBuilder sb = new StringBuilder(); - if(dirtyComponents != null) - sb.append("" + dirtyComponents); - return sb.toString(); + return dirtyComponents != null ? dirtyComponents.toString() : ""; } diff -r dde9f5cfde5f src/share/classes/javax/swing/event/TreeModelEvent.java --- a/src/share/classes/javax/swing/event/TreeModelEvent.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/event/TreeModelEvent.java Tue Aug 12 08:47:12 2014 -0300 @@ -294,21 +294,20 @@ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append(getClass().getName() + " " + - Integer.toString(hashCode())); + sb.append(getClass().getName()).append(' ').append(Integer.toString(hashCode())); if(path != null) - sb.append(" path " + path); + sb.append(" path ").append(path); if(childIndices != null) { sb.append(" indices [ "); for(int counter = 0; counter < childIndices.length; counter++) - sb.append(Integer.toString(childIndices[counter])+ " "); - sb.append("]"); + sb.append(Integer.toString(childIndices[counter])).append(' '); + sb.append(']'); } if(children != null) { sb.append(" children [ "); for(int counter = 0; counter < children.length; counter++) - sb.append(children[counter] + " "); - sb.append("]"); + sb.append(children[counter]).append(' '); + sb.append(']'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java Tue Aug 12 08:47:12 2014 -0300 @@ -1330,8 +1330,8 @@ for (Object obj : values) { String val = ((obj == null) ? "" : obj.toString()); - plainBuf.append(val + "\n"); - htmlBuf.append("
  • " + val + "\n"); + plainBuf.append(val).append('\n'); + htmlBuf.append("
  • ").append(val).append('\n'); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicListUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicListUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicListUI.java Tue Aug 12 08:47:12 2014 -0300 @@ -2948,8 +2948,8 @@ for (int i = 0; i < values.length; i++) { Object obj = values[i]; String val = ((obj == null) ? "" : obj.toString()); - plainStr.append(val + "\n"); - htmlStr.append("
  • " + val + "\n"); + plainStr.append(val).append('\n'); + htmlStr.append("
  • ").append(val).append('\n'); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicTableUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java Tue Aug 12 08:47:12 2014 -0300 @@ -2230,11 +2230,11 @@ for (int col = 0; col < cols.length; col++) { Object obj = table.getValueAt(rows[row], cols[col]); String val = ((obj == null) ? "" : obj.toString()); - plainStr.append(val + "\t"); - htmlStr.append(" " + val + "\n"); + plainStr.append(val).append('\t'); + htmlStr.append(" ").append(val).append("\n"); } // we want a newline at the end of each line and not a tab - plainStr.deleteCharAt(plainStr.length() - 1).append("\n"); + plainStr.deleteCharAt(plainStr.length() - 1).append('\t'); htmlStr.append("\n"); } diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Tue Aug 12 08:47:12 2014 -0300 @@ -3618,8 +3618,8 @@ boolean leaf = model.isLeaf(node); String label = getDisplayString(path, true, leaf); - plainStr.append(label + "\n"); - htmlStr.append("
  • " + label + "\n"); + plainStr.append(label).append('\n'); + htmlStr.append("
  • ").append(label).append('\n'); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java --- a/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Tue Aug 12 08:47:12 2014 -0300 @@ -1160,15 +1160,15 @@ rows = rowMapper.getRowsForPaths(selection); else rows = null; - sb.append(getClass().getName() + " " + hashCode() + " [ "); + sb.append(getClass().getName()).append(' ').append(hashCode()).append(" [ "); for(int counter = 0; counter < selCount; counter++) { if(rows != null) - sb.append(selection[counter].toString() + "@" + - Integer.toString(rows[counter])+ " "); + sb.append(selection[counter].toString()).append('@') + .append(Integer.toString(rows[counter])).append(' '); else - sb.append(selection[counter].toString() + " "); + sb.append(selection[counter].toString()).append(' '); } - sb.append("]"); + sb.append(']'); return sb.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/font/AttributeValues.java --- a/src/share/classes/sun/font/AttributeValues.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/AttributeValues.java Tue Aug 12 08:47:12 2014 -0300 @@ -542,7 +542,7 @@ } } } - b.append("[btx=" + baselineTransform + ", ctx=" + charTransform + "]"); + b.append("[btx=").append(baselineTransform).append(", ctx=").append(charTransform).append(']'); b.append('}'); return b.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/font/Decoration.java --- a/src/share/classes/sun/font/Decoration.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/Decoration.java Tue Aug 12 08:47:12 2014 -0300 @@ -431,12 +431,12 @@ StringBuilder sb = new StringBuilder(); sb.append(super.toString()); sb.append("["); - if (fgPaint != null) sb.append("fgPaint: " + fgPaint); - if (bgPaint != null) sb.append(" bgPaint: " + bgPaint); + if (fgPaint != null) sb.append("fgPaint: ").append(fgPaint); + if (bgPaint != null) sb.append(" bgPaint: ").append(bgPaint); if (swapColors) sb.append(" swapColors: true"); if (strikethrough) sb.append(" strikethrough: true"); - if (stdUnderline != null) sb.append(" stdUnderline: " + stdUnderline); - if (imUnderline != null) sb.append(" imUnderline: " + imUnderline); + if (stdUnderline != null) sb.append(" stdUnderline: ").append(stdUnderline); + if (imUnderline != null) sb.append(" imUnderline: ").append(imUnderline); sb.append("]"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/font/StandardGlyphVector.java --- a/src/share/classes/sun/font/StandardGlyphVector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/StandardGlyphVector.java Tue Aug 12 08:47:12 2014 -0300 @@ -1894,9 +1894,9 @@ } } catch(Exception e) { - buf.append(" " + e.getMessage()); + buf.append(' ').append(e.getMessage()); } - buf.append("}"); + buf.append('}'); return buf; } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/launcher/LauncherHelper.java --- a/src/share/classes/sun/launcher/LauncherHelper.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/launcher/LauncherHelper.java Tue Aug 12 08:47:12 2014 -0300 @@ -369,10 +369,9 @@ static void appendVmErgoMessage(boolean isServerClass, String vm) { outBuf = outBuf.append(getLocalizedMessage("java.launcher.ergo.message1", vm)); - outBuf = (isServerClass) - ? outBuf.append(",\n" + - getLocalizedMessage("java.launcher.ergo.message2") + "\n\n") - : outBuf.append(".\n\n"); + outBuf = (isServerClass) ? outBuf.append(",\n") + .append(getLocalizedMessage("java.launcher.ergo.message2")) + .append("\n\n") : outBuf.append(".\n\n"); } /** -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/management/Agent.java --- a/src/share/classes/sun/management/Agent.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/management/Agent.java Tue Aug 12 08:47:12 2014 -0300 @@ -502,7 +502,7 @@ } else { StringBuilder message = new StringBuilder(params[0]); for (int i = 1; i < params.length; i++) { - message.append(" " + params[i]); + message.append(' ').append(params[i]); } error(key, message.toString()); } diff -r dde9f5cfde5f src/share/classes/sun/management/MappedMXBeanType.java --- a/src/share/classes/sun/management/MappedMXBeanType.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/management/MappedMXBeanType.java Tue Aug 12 08:47:12 2014 -0300 @@ -289,7 +289,7 @@ if (et.isPrimitive()) { className = new StringBuilder(c.getName()); } else { - className.append("L" + baseElementType.getTypeName() + ";"); + className.append('L').append(baseElementType.getTypeName()).append(';'); } try { mappedTypeClass = Class.forName(className.toString()); @@ -385,7 +385,7 @@ if (elementType instanceof Class && ((Class) elementType).isPrimitive()) { className = new StringBuilder(gat.toString()); } else { - className.append("L" + baseElementType.getTypeName() + ";"); + className.append('L').append(baseElementType.getTypeName()).append(';'); } try { mappedTypeClass = Class.forName(className.toString()); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java --- a/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Tue Aug 12 08:47:12 2014 -0300 @@ -463,12 +463,12 @@ // --------- - private static void appendIfLiteralAddress(String addr, StringBuffer sb) { + private static void appendIfLiteralAddress(String addr, StringBuilder sb) { if (IPAddressUtil.isIPv4LiteralAddress(addr)) { - sb.append("dns://" + addr + " "); + sb.append("dns://").append(addr).append(' '); } else { if (IPAddressUtil.isIPv6LiteralAddress(addr)) { - sb.append("dns://[" + addr + "] "); + sb.append("dns://[").append(addr).append("] "); } } } @@ -478,7 +478,7 @@ * corresponding to the supplied List of nameservers. */ private static String createProviderURL(List nsList) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (String s: nsList) { appendIfLiteralAddress(s, sb); } @@ -491,7 +491,7 @@ * contained in the provided str. */ private static String createProviderURL(String str) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); StringTokenizer st = new StringTokenizer(str, ","); while (st.hasMoreTokens()) { appendIfLiteralAddress(st.nextToken(), sb); diff -r dde9f5cfde5f src/share/classes/sun/net/www/HeaderParser.java --- a/src/share/classes/sun/net/www/HeaderParser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/HeaderParser.java Tue Aug 12 08:47:12 2014 -0300 @@ -220,21 +220,23 @@ public String toString () { Iterator k = keys(); - StringBuffer sbuf = new StringBuffer(); - sbuf.append ("{size="+asize+" nkeys="+nkeys+" "); + StringBuilder sb = new StringBuilder(); + sb.append("{size=").append(asize).append(" nkeys=").append(nkeys) + .append(' '); for (int i=0; k.hasNext(); i++) { String key = k.next(); String val = findValue (i); if (val != null && "".equals (val)) { val = null; } - sbuf.append (" {"+key+(val==null?"":","+val)+"}"); + sb.append(" {").append(key).append(val == null ? "" : "," + val) + .append('}'); if (k.hasNext()) { - sbuf.append (","); + sb.append (','); } } - sbuf.append (" }"); - return new String (sbuf); + sb.append (" }"); + return new String (sb); } public int findInt(String k, int Default) { diff -r dde9f5cfde5f src/share/classes/sun/net/www/MimeEntry.java --- a/src/share/classes/sun/net/www/MimeEntry.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/MimeEntry.java Tue Aug 12 08:47:12 2014 -0300 @@ -288,7 +288,7 @@ int action = getAction(); if (action != MimeEntry.UNKNOWN) { - sb.append("action=" + actionKeywords[action]); + sb.append("action=").append(actionKeywords[action]); needSeparator = true; } @@ -297,7 +297,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("application=" + command); + sb.append("application=").append(command); needSeparator = true; } @@ -305,7 +305,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("icon=" + getImageFileName()); + sb.append("icon=").append(getImageFileName()); needSeparator = true; } @@ -314,7 +314,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("file_extensions=" + extensions); + sb.append("file_extensions=").append(extensions); needSeparator = true; } @@ -323,7 +323,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("description=" + description); + sb.append("description=").append(description); } return sb.toString(); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/security/acl/AclEntryImpl.java --- a/src/share/classes/sun/security/acl/AclEntryImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/acl/AclEntryImpl.java Tue Aug 12 08:47:12 2014 -0300 @@ -137,26 +137,30 @@ /** * Return a string representation of the contents of the ACL entry. */ - public String toString() { - StringBuffer s = new StringBuffer(); - if (negative) - s.append("-"); - else - s.append("+"); - if (user instanceof Group) - s.append("Group."); - else - s.append("User."); - s.append(user + "="); - Enumeration e = permissions(); - while(e.hasMoreElements()) { - Permission p = e.nextElement(); - s.append(p); - if (e.hasMoreElements()) - s.append(","); - } - return new String(s); - } + public String toString() { + StringBuffer sb = new StringBuffer(); + if (negative) { + sb.append('-'); + } else { + sb.append('+'); + } + if (user instanceof Group) { + sb.append("Group."); + } else { + sb.append("User."); + } + sb.append(user).append('='); + + Enumeration e = permissions(); + while (e.hasMoreElements()) { + Permission p = e.nextElement(); + sb.append(p); + if (e.hasMoreElements()) { + sb.append(','); + } + } + return sb.toString(); + } /** * Clones an AclEntry. diff -r dde9f5cfde5f src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java --- a/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java Tue Aug 12 08:47:12 2014 -0300 @@ -640,8 +640,7 @@ for (int i = 0; i < digest.length; i++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0" + - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/sun/security/pkcs/SigningCertificateInfo.java --- a/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java Tue Aug 12 08:47:12 2014 -0300 @@ -158,8 +158,8 @@ } sb.append(hexDumper.encode(certHash)); if (issuer != null && serialNumber != null) { - sb.append("\n\tIssuer: " + issuer + "\n"); - sb.append("\t" + serialNumber); + sb.append("\n\tIssuer: ").append(issuer).append('\n'); + sb.append('\t').append(serialNumber); } sb.append("\n]"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/pkcs11/P11KeyStore.java --- a/src/share/classes/sun/security/pkcs11/P11KeyStore.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/pkcs11/P11KeyStore.java Tue Aug 12 08:47:12 2014 -0300 @@ -196,24 +196,24 @@ } else if (type == ATTR_CLASS_CERT) { sb.append("\ttype=[trusted cert]\n"); } - sb.append("\tlabel=[" + label + "]\n"); + sb.append("\tlabel=[").append(label).append("]\n"); if (id == null) { sb.append("\tid=[null]\n"); } else { - sb.append("\tid=" + P11KeyStore.getID(id) + "\n"); + sb.append("\tid=").append(P11KeyStore.getID(id)).append('\n'); } - sb.append("\ttrusted=[" + trusted + "]\n"); - sb.append("\tmatched=[" + matched + "]\n"); + sb.append("\ttrusted=[").append(trusted).append("]\n"); + sb.append("\tmatched=[").append(matched).append("]\n"); if (cert == null) { sb.append("\tcert=[null]\n"); } else { - sb.append("\tcert=[\tsubject: " + - cert.getSubjectX500Principal() + - "\n\t\tissuer: " + - cert.getIssuerX500Principal() + - "\n\t\tserialNum: " + - cert.getSerialNumber().toString() + - "]"); + sb.append("\tcert=[\tsubject: ") + .append(cert.getSubjectX500Principal()) + .append("\n\t\tissuer: ") + .append(cert.getIssuerX500Principal()) + .append("\n\t\tserialNum: ") + .append(cert.getSerialNumber().toString()) + .append(']'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/PolicyFile.java --- a/src/share/classes/sun/security/provider/PolicyFile.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/PolicyFile.java Tue Aug 12 08:47:12 2014 -0300 @@ -1485,30 +1485,30 @@ } int startIndex = 0; int v; - StringBuilder sb = new StringBuilder(); - while ((v = sp.getSelfName().indexOf(SELF, startIndex)) != -1) { + StringBuilder sb = new StringBuilder(); + while ((v = sp.getSelfName().indexOf(SELF, startIndex)) != -1) { - // add non-SELF string - sb.append(sp.getSelfName().substring(startIndex, v)); + // add non-SELF string + sb.append(sp.getSelfName().substring(startIndex, v)); - // expand SELF - Iterator pli = entryPs.iterator(); - while (pli.hasNext()) { - PolicyParser.PrincipalEntry pppe = pli.next(); - String[][] principalInfo = getPrincipalInfo(pppe,pdp); - for (int i = 0; i < principalInfo.length; i++) { - if (i != 0) { - sb.append(", "); - } - sb.append(principalInfo[i][0] + " " + - "\"" + principalInfo[i][1] + "\""); - } - if (pli.hasNext()) { - sb.append(", "); - } - } - startIndex = v + SELF.length(); - } + // expand SELF + Iterator pli = entryPs.iterator(); + while (pli.hasNext()) { + PolicyParser.PrincipalEntry pppe = pli.next(); + String[][] principalInfo = getPrincipalInfo(pppe, pdp); + for (int i = 0; i < principalInfo.length; i++) { + if (i != 0) { + sb.append(", "); + } + sb.append(principalInfo[i][0]).append(' ').append('"') + .append(principalInfo[i][1]).append('"'); + } + if (pli.hasNext()) { + sb.append(", "); + } + } + startIndex = v + SELF.length(); + } // add remaining string (might be the entire string) sb.append(sp.getSelfName().substring(startIndex)); @@ -1774,17 +1774,17 @@ Principal[] principals = pd.getPrincipals(); String pals = ""; if (principals != null && principals.length > 0) { - StringBuilder palBuf = new StringBuilder("(principals "); + StringBuilder palSB = new StringBuilder("(principals "); for (int i = 0; i < principals.length; i++) { - palBuf.append(principals[i].getClass().getName() + - " \"" + principals[i].getName() + - "\""); + palSB.append(principals[i].getClass().getName()) + .append(" \"").append(principals[i].getName()) + .append('"'); if (i < principals.length-1) - palBuf.append(", "); + palSB.append(", "); else - palBuf.append(")"); + palSB.append(')'); } - pals = palBuf.toString(); + pals = palSB.toString(); } return "PD CodeSource: " + pd.getCodeSource() @@ -1884,7 +1884,7 @@ throw new Exception(form.format(source)); } - sb.append(X500PRINCIPAL + " \"" + suffix + "\""); + sb.append(X500PRINCIPAL).append(" \"").append(suffix).append('"'); startIndex = e+2; } else { MessageFormat form = new MessageFormat diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/CertId.java --- a/src/share/classes/sun/security/provider/certpath/CertId.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/CertId.java Tue Aug 12 08:47:12 2014 -0300 @@ -223,13 +223,13 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("CertId \n"); - sb.append("Algorithm: " + hashAlgId.toString() +"\n"); + sb.append("Algorithm: ").append(hashAlgId.toString()).append('\n'); sb.append("issuerNameHash \n"); HexDumpEncoder encoder = new HexDumpEncoder(); sb.append(encoder.encode(issuerNameHash)); sb.append("\nissuerKeyHash: \n"); sb.append(encoder.encode(issuerKeyHash)); - sb.append("\n" + certSerialNumber.toString()); + sb.append('\n').append(certSerialNumber.toString()); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/OCSPResponse.java --- a/src/share/classes/sun/security/provider/certpath/OCSPResponse.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/OCSPResponse.java Tue Aug 12 08:47:12 2014 -0300 @@ -812,14 +812,14 @@ StringBuilder sb = new StringBuilder(); sb.append("SingleResponse: \n"); sb.append(certId); - sb.append("\nCertStatus: "+ certStatus + "\n"); + sb.append("\nCertStatus: ").append(certStatus).append('\n'); if (certStatus == CertStatus.REVOKED) { - sb.append("revocationTime is " + revocationTime + "\n"); - sb.append("revocationReason is " + revocationReason + "\n"); + sb.append("revocationTime is ").append(revocationTime).append('\n'); + sb.append("revocationReason is ").append(revocationReason).append('\n'); } - sb.append("thisUpdate is " + thisUpdate + "\n"); + sb.append("thisUpdate is ").append(thisUpdate).append('\n'); if (nextUpdate != null) { - sb.append("nextUpdate is " + nextUpdate + "\n"); + sb.append("nextUpdate is ").append(nextUpdate).append('\n'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java --- a/src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java Tue Aug 12 08:47:12 2014 -0300 @@ -124,7 +124,7 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); sb.append(super.toString()); - sb.append(" Build Forward Flag: " + String.valueOf(buildForward) + "\n"); + sb.append(" Build Forward Flag: ").append(String.valueOf(buildForward)).append('\n'); sb.append("]\n"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/HandshakeMessage.java --- a/src/share/classes/sun/security/ssl/HandshakeMessage.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/HandshakeMessage.java Tue Aug 12 08:47:12 2014 -0300 @@ -1478,7 +1478,7 @@ boolean opened = false; for (SignatureAndHashAlgorithm signAlg : algorithms) { if (opened) { - sb.append(", " + signAlg.getAlgorithmName()); + sb.append(", ").append(signAlg.getAlgorithmName()); } else { sb.append(signAlg.getAlgorithmName()); opened = true; diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/ServerNameExtension.java --- a/src/share/classes/sun/security/ssl/ServerNameExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/ServerNameExtension.java Tue Aug 12 08:47:12 2014 -0300 @@ -267,11 +267,11 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); + sb.append("Extension ").append(type).append(", server_name: "); for (SNIServerName sniName : sniMap.values()) { - sb.append("[" + sniName + "]"); + sb.append('[').append(sniName).append(']'); } - - return "Extension " + type + ", server_name: " + sb; + return sb.toString(); } private static class UnknownServerName extends SNIServerName { diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java --- a/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Tue Aug 12 08:47:12 2014 -0300 @@ -119,17 +119,17 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); + sb.append("Extension ").append(type).append(", signature_algorithms: "); boolean opened = false; for (SignatureAndHashAlgorithm signAlg : algorithms) { if (opened) { - sb.append(", " + signAlg.getAlgorithmName()); + sb.append(", ").append(signAlg.getAlgorithmName()); } else { sb.append(signAlg.getAlgorithmName()); opened = true; } } - - return "Extension " + type + ", signature_algorithms: " + sb; + return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java --- a/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Tue Aug 12 08:47:12 2014 -0300 @@ -112,37 +112,37 @@ @Override public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("Extension " + type + ", curve names: {"); - boolean first = true; - for (int curveId : curveIds) { - if (first) { - first = false; - } else { - sb.append(", "); - } - // first check if it is a known named curve, then try other cases. - String oid = getCurveOid(curveId); - if (oid != null) { - ECParameterSpec spec = JsseJce.getECParameterSpec(oid); - // this toString() output will look nice for the current - // implementation of the ECParameterSpec class in the Sun - // provider, but may not look good for other implementations. - if (spec != null) { - sb.append(spec.toString().split(" ")[0]); - } else { - sb.append(oid); - } - } else if (curveId == ARBITRARY_PRIME) { - sb.append("arbitrary_explicit_prime_curves"); - } else if (curveId == ARBITRARY_CHAR2) { - sb.append("arbitrary_explicit_char2_curves"); - } else { - sb.append("unknown curve " + curveId); - } - } - sb.append("}"); - return sb.toString(); + StringBuilder sb = new StringBuilder(); + sb.append("Extension ").append(type).append(", curve names: {"); + boolean first = true; + for (int curveId : curveIds) { + if (first) { + first = false; + } else { + sb.append(", "); + } + // first check if it is a known named curve, then try other cases. + String oid = getCurveOid(curveId); + if (oid != null) { + ECParameterSpec spec = JsseJce.getECParameterSpec(oid); + // this toString() output will look nice for the current + // implementation of the ECParameterSpec class in the Sun + // provider, but may not look good for other implementations. + if (spec != null) { + sb.append(spec.toString().split(" ")[0]); + } else { + sb.append(oid); + } + } else if (curveId == ARBITRARY_PRIME) { + sb.append("arbitrary_explicit_prime_curves"); + } else if (curveId == ARBITRARY_CHAR2) { + sb.append("arbitrary_explicit_char2_curves"); + } else { + sb.append("unknown curve ").append(curveId); + } + } + sb.append("}"); + return sb.toString(); } // Test whether we support the curve with the given index. diff -r dde9f5cfde5f src/share/classes/sun/security/tools/jarsigner/Main.java --- a/src/share/classes/sun/security/tools/jarsigner/Main.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/tools/jarsigner/Main.java Tue Aug 12 08:47:12 2014 -0300 @@ -676,14 +676,13 @@ ((man.getAttributes(name) != null) || (man.getAttributes("./"+name) != null) || (man.getAttributes("/"+name) != null)); - sb.append( - (isSigned ? rb.getString("s") : rb.getString("SPACE")) + - (inManifest ? rb.getString("m") : rb.getString("SPACE")) + - (inStore ? rb.getString("k") : rb.getString("SPACE")) + - (inScope ? rb.getString("i") : rb.getString("SPACE")) + - ((inStoreOrScope & NOT_ALIAS) != 0 ?"X":" ") + - rb.getString("SPACE")); - sb.append("|"); + sb.append(isSigned ? rb.getString("s") : rb.getString("SPACE")) + .append(inManifest ? rb.getString("m") : rb.getString("SPACE")) + .append(inStore ? rb.getString("k") : rb.getString("SPACE")) + .append(inScope ? rb.getString("i") : rb.getString("SPACE")) + .append((inStoreOrScope & NOT_ALIAS) != 0 ? 'X' : ' ') + .append(rb.getString("SPACE")); + sb.append('|'); } // When -certs provided, display info has extra empty @@ -704,11 +703,13 @@ // Print no info for unsigned entries when -verbose:all, // to be consistent with old behavior. if (signatureRelated(name)) { - sb.append("\n" + tab + rb.getString( - ".Signature.related.entries.") + "\n\n"); + sb.append('\n').append(tab).append( + rb.getString(".Signature.related.entries.")) + .append("\n\n"); } else { - sb.append("\n" + tab + rb.getString( - ".Unsigned.entries.") + "\n\n"); + sb.append('\n').append(tab).append( + rb.getString(".Unsigned.entries.")) + .append("\n\n"); } } @@ -1605,8 +1606,8 @@ // No more warning, we alreay have hasExpiredCert or notYetValidCert } else { chainNotValidated = true; - sb.append(tab + rb.getString(".CertPath.not.validated.") + - e.getLocalizedMessage() + "]\n"); // TODO + sb.append(tab).append(rb.getString(".CertPath.not.validated.")) + .append(e.getLocalizedMessage()).append("]\n"); // TODO } } String result = sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/tools/policytool/PolicyTool.java --- a/src/share/classes/sun/security/tools/policytool/PolicyTool.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/tools/policytool/PolicyTool.java Tue Aug 12 08:47:12 2014 -0300 @@ -980,8 +980,9 @@ grantEntry.principals.listIterator(); while (list.hasNext()) { PolicyParser.PrincipalEntry pppe = list.next(); - sb.append(" Principal " + pppe.getDisplayClass() + " " + - pppe.getDisplayName(true)); + sb.append(" Principal ").append(pppe.getDisplayClass()) + .append(' ') + .append(pppe.getDisplayName(true)); if (list.hasNext()) sb.append(", "); } result = sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/AVA.java --- a/src/share/classes/sun/security/x509/AVA.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/AVA.java Tue Aug 12 08:47:12 2014 -0300 @@ -1062,7 +1062,7 @@ } else { boolean quoteNeeded = false; - StringBuilder sbuffer = new StringBuilder(); + StringBuilder sb = new StringBuilder(); boolean previousWhite = false; final String escapees = ",+=\n<>#;\\\""; @@ -1079,7 +1079,7 @@ for (int i = 0; i < length; i++) { char c = valStr.charAt(i); if (alreadyQuoted && (i == 0 || i == length - 1)) { - sbuffer.append(c); + sb.append(c); continue; } if (DerValue.isPrintableStringChar(c) || @@ -1096,7 +1096,7 @@ if (!(c == ' ' || c == '\n')) { // escape '"' and '\' if (c == '"' || c == '\\') { - sbuffer.append('\\'); + sb.append('\\'); } previousWhite = false; } else { @@ -1106,7 +1106,7 @@ previousWhite = true; } - sbuffer.append(c); + sb.append(c); } else if (debug != null && Debug.isOn("ava")) { @@ -1119,26 +1119,26 @@ byte[] valueBytes = Character.toString(c).getBytes("UTF8"); for (int j = 0; j < valueBytes.length; j++) { - sbuffer.append('\\'); + sb.append('\\'); char hexChar = Character.forDigit (0xF & (valueBytes[j] >>> 4), 16); - sbuffer.append(Character.toUpperCase(hexChar)); + sb.append(Character.toUpperCase(hexChar)); hexChar = Character.forDigit (0xF & (valueBytes[j]), 16); - sbuffer.append(Character.toUpperCase(hexChar)); + sb.append(Character.toUpperCase(hexChar)); } } else { // append non-printable/non-escaped char previousWhite = false; - sbuffer.append(c); + sb.append(c); } } // quote if trailing whitespace - if (sbuffer.length() > 0) { - char trailChar = sbuffer.charAt(sbuffer.length() - 1); + if (sb.length() > 0) { + char trailChar = sb.charAt(sb.length() - 1); if (trailChar == ' ' || trailChar == '\n') { quoteNeeded = true; } @@ -1147,9 +1147,9 @@ // Emit the string ... quote it if needed // if string is already quoted, don't re-quote if (!alreadyQuoted && quoteNeeded) { - retval.append("\"" + sbuffer.toString() + "\""); + retval.append('"').append(sb.toString()).append('"'); } else { - retval.append(sbuffer.toString()); + retval.append(sb.toString()); } } } catch (IOException e) { diff -r dde9f5cfde5f src/share/classes/sun/security/x509/DistributionPoint.java --- a/src/share/classes/sun/security/x509/DistributionPoint.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/DistributionPoint.java Tue Aug 12 08:47:12 2014 -0300 @@ -381,22 +381,22 @@ public String toString() { StringBuilder sb = new StringBuilder(); if (fullName != null) { - sb.append("DistributionPoint:\n " + fullName + "\n"); + sb.append("DistributionPoint:\n ").append(fullName).append('\n'); } if (relativeName != null) { - sb.append("DistributionPoint:\n " + relativeName + "\n"); + sb.append("DistributionPoint:\n ").append(relativeName).append('\n'); } if (reasonFlags != null) { sb.append(" ReasonFlags:\n"); for (int i = 0; i < reasonFlags.length; i++) { if (reasonFlags[i]) { - sb.append(" " + reasonToString(i) + "\n"); + sb.append(" ").append(reasonToString(i)).append('\n'); } } } if (crlIssuer != null) { - sb.append(" CRLIssuer:" + crlIssuer + "\n"); + sb.append(" CRLIssuer:").append(crlIssuer).append('\n'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/x509/DistributionPointName.java --- a/src/share/classes/sun/security/x509/DistributionPointName.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/DistributionPointName.java Tue Aug 12 08:47:12 2014 -0300 @@ -231,10 +231,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); if (fullName != null) { - sb.append("DistributionPointName:\n " + fullName + "\n"); + sb.append("DistributionPointName:\n ").append(fullName).append('\n'); } else { - sb.append("DistributionPointName:\n " + relativeName + "\n"); + sb.append("DistributionPointName:\n ").append(relativeName).append('\n'); } return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/PolicyInformation.java --- a/src/share/classes/sun/security/x509/PolicyInformation.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/PolicyInformation.java Tue Aug 12 08:47:12 2014 -0300 @@ -258,9 +258,9 @@ * Return a printable representation of the PolicyInformation. */ public String toString() { - StringBuilder s = new StringBuilder(" [" + policyIdentifier.toString()); - s.append(policyQualifiers + " ]\n"); - return s.toString(); + StringBuilder sb = new StringBuilder(" [" + policyIdentifier.toString()); + sb.append(policyQualifiers).append(" ]\n"); + return sb.toString(); } /** diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CRLEntryImpl.java --- a/src/share/classes/sun/security/x509/X509CRLEntryImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CRLEntryImpl.java Tue Aug 12 08:47:12 2014 -0300 @@ -292,17 +292,17 @@ StringBuilder sb = new StringBuilder(); sb.append(serialNumber.toString()); - sb.append(" On: " + revocationDate.toString()); + sb.append(" On: ").append(revocationDate.toString()); if (certIssuer != null) { - sb.append("\n Certificate issuer: " + certIssuer); + sb.append("\n Certificate issuer: ").append(certIssuer); } if (extensions != null) { Collection allEntryExts = extensions.getAllExtensions(); Extension[] exts = allEntryExts.toArray(new Extension[0]); - sb.append("\n CRL Entry Extensions: " + exts.length); + sb.append("\n CRL Entry Extensions: ").append(exts.length); for (int i = 0; i < exts.length; i++) { - sb.append("\n [" + (i+1) + "]: "); + sb.append("\n [").append(i + 1).append("]: "); Extension ext = exts[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -313,9 +313,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append('\n'); } } else sb.append(ext.toString()); //sub-class exists diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CRLImpl.java --- a/src/share/classes/sun/security/x509/X509CRLImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CRLImpl.java Tue Aug 12 08:47:12 2014 -0300 @@ -537,31 +537,32 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("X.509 CRL v" + (version+1) + "\n"); + sb.append("X.509 CRL v").append(version + 1).append('\n'); if (sigAlgId != null) - sb.append("Signature Algorithm: " + sigAlgId.toString() + - ", OID=" + (sigAlgId.getOID()).toString() + "\n"); + sb.append("Signature Algorithm: ").append(sigAlgId.toString()) + .append(", OID=") + .append((sigAlgId.getOID()).toString()).append('\n'); if (issuer != null) - sb.append("Issuer: " + issuer.toString() + "\n"); + sb.append("Issuer: ").append(issuer.toString()).append('\n'); if (thisUpdate != null) - sb.append("\nThis Update: " + thisUpdate.toString() + "\n"); + sb.append("\nThis Update: ").append(thisUpdate.toString()).append('\n'); if (nextUpdate != null) - sb.append("Next Update: " + nextUpdate.toString() + "\n"); + sb.append("Next Update: ").append(nextUpdate.toString()).append('\n'); if (revokedList.isEmpty()) sb.append("\nNO certificates have been revoked\n"); else { - sb.append("\nRevoked Certificates: " + revokedList.size()); + sb.append("\nRevoked Certificates: ").append(revokedList.size()); int i = 1; for (X509CRLEntry entry: revokedList) { - sb.append("\n[" + i++ + "] " + entry.toString()); + sb.append("\n[").append(i++).append("] ").append(entry.toString()); } } if (extensions != null) { Collection allExts = extensions.getAllExtensions(); Object[] objs = allExts.toArray(); - sb.append("\nCRL Extensions: " + objs.length); + sb.append("\nCRL Extensions: ").append(objs.length); for (int i = 0; i < objs.length; i++) { - sb.append("\n[" + (i+1) + "]: "); + sb.append("\n[").append(i + 1).append("]: "); Extension ext = (Extension)objs[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -572,9 +573,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append('\n'); } } else sb.append(ext.toString()); // sub-class exists @@ -585,8 +585,7 @@ } if (signature != null) { HexDumpEncoder encoder = new HexDumpEncoder(); - sb.append("\nSignature:\n" + encoder.encodeBuffer(signature) - + "\n"); + sb.append("\nSignature:\n").append(encoder.encodeBuffer(signature)).append('\n'); } else sb.append("NOT signed yet\n"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CertImpl.java --- a/src/share/classes/sun/security/x509/X509CertImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CertImpl.java Tue Aug 12 08:47:12 2014 -0300 @@ -802,11 +802,11 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); - sb.append(info.toString() + "\n"); - sb.append(" Algorithm: [" + algId.toString() + "]\n"); + sb.append(info.toString()).append('\n'); + sb.append(" Algorithm: [").append(algId.toString()).append("]\n"); HexDumpEncoder encoder = new HexDumpEncoder(); - sb.append(" Signature:\n" + encoder.encodeBuffer(signature)); + sb.append(" Signature:\n").append(encoder.encodeBuffer(signature)); sb.append("\n]"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CertInfo.java --- a/src/share/classes/sun/security/x509/X509CertInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CertInfo.java Tue Aug 12 08:47:12 2014 -0300 @@ -298,27 +298,27 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); - sb.append(" " + version.toString() + "\n"); - sb.append(" Subject: " + subject.toString() + "\n"); - sb.append(" Signature Algorithm: " + algId.toString() + "\n"); - sb.append(" Key: " + pubKey.toString() + "\n"); - sb.append(" " + interval.toString() + "\n"); - sb.append(" Issuer: " + issuer.toString() + "\n"); - sb.append(" " + serialNum.toString() + "\n"); + sb.append(" ").append(version.toString()).append('\n'); + sb.append(" Subject: ").append(subject.toString()).append('\n'); + sb.append(" Signature Algorithm: ").append(algId.toString()).append('\n'); + sb.append(" Key: ").append(pubKey.toString()).append('\n'); + sb.append(" ").append(interval.toString()).append('\n'); + sb.append(" Issuer: ").append(issuer.toString()).append('\n'); + sb.append(" ").append(serialNum.toString()).append('\n'); // optional v2, v3 extras if (issuerUniqueId != null) { - sb.append(" Issuer Id:\n" + issuerUniqueId.toString() + "\n"); + sb.append(" Issuer Id:\n").append(issuerUniqueId.toString()).append('\n'); } if (subjectUniqueId != null) { - sb.append(" Subject Id:\n" + subjectUniqueId.toString() + "\n"); + sb.append(" Subject Id:\n").append(subjectUniqueId.toString()).append('\n'); } if (extensions != null) { Collection allExts = extensions.getAllExtensions(); Extension[] exts = allExts.toArray(new Extension[0]); - sb.append("\nCertificate Extensions: " + exts.length); + sb.append("\nCertificate Extensions: ").append(exts.length); for (int i = 0; i < exts.length; i++) { - sb.append("\n[" + (i+1) + "]: "); + sb.append("\n[").append(i + 1).append("]: "); Extension ext = exts[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -329,9 +329,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append('\n'); } } else sb.append(ext.toString()); //sub-class exists @@ -341,10 +340,10 @@ } Map invalid = extensions.getUnparseableExtensions(); if (invalid.isEmpty() == false) { - sb.append("\nUnparseable certificate extensions: " + invalid.size()); + sb.append("\nUnparseable certificate extensions: ").append(invalid.size()); int i = 1; for (Extension ext : invalid.values()) { - sb.append("\n[" + (i++) + "]: "); + sb.append("\n[").append(i++).append("]: "); sb.append(ext); } } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/tools/jconsole/ThreadTab.java --- a/src/share/classes/sun/tools/jconsole/ThreadTab.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/ThreadTab.java Tue Aug 12 08:47:12 2014 -0300 @@ -368,7 +368,7 @@ sb.append(Messages.STACK_TRACE); int index = 0; for (StackTraceElement e : ti.getStackTrace()) { - sb.append(e.toString()+"\n"); + sb.append(e.toString()).append('\n'); if (monitors != null) { for (MonitorInfo mi : monitors) { if (mi.getLockedStackDepth() == index) { diff -r dde9f5cfde5f src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java --- a/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java Tue Aug 12 08:47:12 2014 -0300 @@ -79,25 +79,25 @@ String textColor = String.format("%06x", foreground.getRGB() & 0xFFFFFF); StringBuilder sb = new StringBuilder(); - sb.append(""); + sb.append("
    "); for (int i = 0; i < arr.length; i++) { if (i % 2 == 0) { - sb.append(""); + sb.append(""); } else { - sb.append(""); + sb.append(""); } } if (arr.length == 0) { - sb.append(""); + sb.append(""); } sb.append("
    " +
    -                            (arr[i] == null ?
    -                                arr[i] : htmlize(arr[i].toString())) +
    -                            "
    ")
    +                            .append(arr[i] == null ?
    +                                    arr[i] : htmlize(arr[i].toString()))
    +                            .append("
    " +
    -                            (arr[i] == null ?
    -                                arr[i] : htmlize(arr[i].toString())) +
    -                            "
    ")
    +                            .append(arr[i] == null ?
    +                                    arr[i] : htmlize(arr[i].toString()))
    +                            .append("
    "); arrayEditor.setText(sb.toString()); diff -r dde9f5cfde5f src/share/classes/sun/tools/jconsole/inspector/XTree.java --- a/src/share/classes/sun/tools/jconsole/inspector/XTree.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/inspector/XTree.java Tue Aug 12 08:47:12 2014 -0300 @@ -507,13 +507,13 @@ // key order defined by the "orderedKeyPropertyList" for (String key : orderedKeyPropertyList) { if (map.containsKey(key)) { - sb.append(key + "=" + map.get(key) + ","); + sb.append(key).append('=').append(map.get(key)).append(','); map.remove(key); } } // Add the remaining key/value pairs to the buffer for (Map.Entry entry : map.entrySet()) { - sb.append(entry.getKey() + "=" + entry.getValue() + ","); + sb.append(entry.getKey()).append('=').append(entry.getValue()).append(','); } String orderedKeyPropertyListString = sb.toString(); orderedKeyPropertyListString = orderedKeyPropertyListString.substring( @@ -622,7 +622,7 @@ // StringBuilder sb = new StringBuilder(); for (MBeanParameterInfo mbpi : mboi.getSignature()) { - sb.append(mbpi.getType() + ","); + sb.append(mbpi.getType()).append(','); } String signature = sb.toString(); if (signature.length() > 0) { diff -r dde9f5cfde5f src/share/classes/sun/tools/jps/Jps.java --- a/src/share/classes/sun/tools/jps/Jps.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jps/Jps.java Tue Aug 12 08:47:12 2014 -0300 @@ -92,28 +92,28 @@ vm = monitoredHost.getMonitoredVm(id, 0); errorString = " -- main class information unavailable"; - output.append(" " + MonitoredVmUtil.mainClass(vm, + output.append(' ').append(MonitoredVmUtil.mainClass(vm, arguments.showLongPaths())); if (arguments.showMainArgs()) { errorString = " -- main args information unavailable"; String mainArgs = MonitoredVmUtil.mainArgs(vm); if (mainArgs != null && mainArgs.length() > 0) { - output.append(" " + mainArgs); + output.append(' ').append(mainArgs); } } if (arguments.showVmArgs()) { errorString = " -- jvm args information unavailable"; String jvmArgs = MonitoredVmUtil.jvmArgs(vm); if (jvmArgs != null && jvmArgs.length() > 0) { - output.append(" " + jvmArgs); + output.append(' ').append(jvmArgs); } } if (arguments.showVmFlags()) { errorString = " -- jvm flags information unavailable"; String jvmFlags = MonitoredVmUtil.jvmFlags(vm); if (jvmFlags != null && jvmFlags.length() > 0) { - output.append(" " + jvmFlags); + output.append(' ').append(jvmFlags); } } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstat/RawOutputFormatter.java --- a/src/share/classes/sun/tools/jstat/RawOutputFormatter.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstat/RawOutputFormatter.java Tue Aug 12 08:47:12 2014 -0300 @@ -50,7 +50,7 @@ StringBuilder headerBuilder = new StringBuilder(); for (Iterator i = logged.iterator(); i.hasNext(); /* empty */ ) { Monitor m = i.next(); - headerBuilder.append(m.getName() + " "); + headerBuilder.append(m.getName()).append(' '); } header = headerBuilder.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstat/SyntaxException.java --- a/src/share/classes/sun/tools/jstat/SyntaxException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstat/SyntaxException.java Tue Aug 12 08:47:12 2014 -0300 @@ -65,7 +65,7 @@ public SyntaxException(int lineno, Set expected, Token found) { StringBuilder msg = new StringBuilder(); - msg.append("Syntax error at line " + lineno + ": Expected one of \'"); + msg.append("Syntax error at line ").append(lineno).append(": Expected one of \'"); boolean first = true; for (Iterator i = expected.iterator(); i.hasNext(); /* empty */) { @@ -74,11 +74,11 @@ msg.append(keyWord); first = false; } else { - msg.append("|" + keyWord); + msg.append('|').append(keyWord); } } - msg.append("\', Found " + found.toMessage()); + msg.append("\', Found ").append(found.toMessage()); message = msg.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstat/Token.java --- a/src/share/classes/sun/tools/jstat/Token.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstat/Token.java Tue Aug 12 08:47:12 2014 -0300 @@ -89,18 +89,18 @@ sb.append("ttype=TT_EOF"); break; case StreamTokenizer.TT_NUMBER: - sb.append("ttype=TT_NUM,").append("nval="+nval); + sb.append("ttype=TT_NUM,").append("nval=").append(nval); break; case StreamTokenizer.TT_WORD: if (sval == null) { sb.append("ttype=TT_WORD:IDENTIFIER"); } else { - sb.append("ttype=TT_WORD:").append("sval="+sval); + sb.append("ttype=TT_WORD:").append("sval=").append(sval); } break; default: if (ttype == (int)'"') { - sb.append("ttype=TT_STRING:").append("sval="+sval); + sb.append("ttype=TT_STRING:").append("sval=").append(sval); } else { sb.append("ttype=TT_CHAR:").append((char)ttype); } diff -r dde9f5cfde5f src/share/classes/sun/tools/jstatd/RemoteHostImpl.java --- a/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java Tue Aug 12 08:47:12 2014 -0300 @@ -68,7 +68,7 @@ sb.append("local://").append(lvmid).append("@localhost"); if (mode != null) { - sb.append("?mode=" + mode); + sb.append("?mode=").append(mode); } String vmidStr = sb.toString(); From otaviojava at java.net Tue Aug 12 23:01:07 2014 From: otaviojava at java.net (=?UTF-8?Q?Ot=C3=A1vio_Gon=C3=A7alves_de_Santana?=) Date: Tue, 12 Aug 2014 20:01:07 -0300 Subject: Replace concat String to append in StringBuilder parameters In-Reply-To: <53EA137C.5020701@oracle.com> References: <53E7FA44.9050207@oracle.com> <476830A4-7A8E-4652-A0C7-805687155F4A@oracle.com> <141CEE3F-4343-4767-A43C-5E7CF1A9F7A7@oracle.com> <53EA137C.5020701@oracle.com> Message-ID: Thank you Roger. Done https://dl.dropboxusercontent.com/u/16109193/open_jdk/string_builder_concat_6.zip On Tue, Aug 12, 2014 at 10:15 AM, roger riggs wrote: > fyi, > > There's a Perl script normalizer.pl that detects/fixes most of the simple > tab/white space issues. > The script is in the /make/scripts/normalizer.pl > > Roger > > > On 8/12/2014 3:48 AM, Andrej Golovnin wrote: > >> Hi Ot?vio, >> >> I think you should fix the indentation in a lot of classes. You use the >> tab-character for the indentation. As far as I know we should use the >> space >> character for the indentation in the JDK sources (Oracle devs feel free to >> correct me if I'm wrong. And it would be really nice if the style guide >> for >> the source code would be a part of the JDK repository. So we don't need to >> search for it on the internet/wiki. Just clone the repository, read the >> style guide and follow it. :-) ). Here is the not complete list of classes >> where you used the tab-character for the indentation: >> >> src/share/classes/com/sun/crypto/provider/OAEPParameters.java >> src/share/classes/java/lang/management/MemoryUsage.java >> src/share/classes/java/security/KeyStore.java >> src/share/classes/java/security/PermissionCollection.java >> src/share/classes/java/security/ProtectionDomain.java >> src/share/classes/java/security/cert/CertPath.java >> src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java >> src/share/classes/java/security/cert/PKIXParameters.java >> src/share/classes/java/security/cert/PolicyQualifierInfo.java >> src/share/classes/java/security/cert/TrustAnchor.java >> src/share/classes/java/security/cert/X509CertSelector.java >> src/share/classes/javax/crypto/CryptoPermission.java >> src/share/classes/javax/management/relation/Role.java >> >> >> In src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj in the line 423 a >> dot >> is missed before append: >> >> 423 {jjtn000.name.append( '.')append(t.image); } >> >> Best regards, >> Andrej Golovnin >> > > -- Ot?vio Gon?alves de Santana blog: http://otaviosantana.blogspot.com.br/ twitter: http://twitter.com/otaviojava site: *http://about.me/otaviojava * 55 (11) 98255-3513 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/com/sun/awt/AWTUtilities.java --- a/src/share/classes/com/sun/awt/AWTUtilities.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/awt/AWTUtilities.java Tue Aug 12 19:52:29 2014 -0300 @@ -459,4 +459,3 @@ shape); } } - diff -r dde9f5cfde5f src/share/classes/com/sun/awt/SecurityWarning.java --- a/src/share/classes/com/sun/awt/SecurityWarning.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/awt/SecurityWarning.java Tue Aug 12 19:52:29 2014 -0300 @@ -166,4 +166,3 @@ point, alignmentX, alignmentY); } } - diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/AESCipher.java --- a/src/share/classes/com/sun/crypto/provider/AESCipher.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/AESCipher.java Tue Aug 12 19:52:29 2014 -0300 @@ -622,4 +622,3 @@ } } } - diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/DHParameters.java --- a/src/share/classes/com/sun/crypto/provider/DHParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/DHParameters.java Tue Aug 12 19:52:29 2014 -0300 @@ -137,8 +137,11 @@ + Debug.toHexString(this.p) + LINE_SEP + "g:" + LINE_SEP + Debug.toHexString(this.g)); - if (this.l != 0) - sb.append(LINE_SEP + "l:" + LINE_SEP + " " + this.l); + if (this.l != 0) { + sb.append(LINE_SEP).append("l:") + .append(LINE_SEP).append(" ") + .append(this.l); + } return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/DHPublicKey.java --- a/src/share/classes/com/sun/crypto/provider/DHPublicKey.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/DHPublicKey.java Tue Aug 12 19:52:29 2014 -0300 @@ -268,8 +268,10 @@ + Debug.toHexString(this.p) + LINE_SEP + "g:" + LINE_SEP + Debug.toHexString(this.g)); - if (this.l != 0) - sb.append(LINE_SEP + "l:" + LINE_SEP + " " + this.l); + if (this.l != 0) { + sb.append(LINE_SEP).append("l:").append(LINE_SEP) + .append(" ").append(this.l); + } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/GCMParameters.java --- a/src/share/classes/com/sun/crypto/provider/GCMParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/GCMParameters.java Tue Aug 12 19:52:29 2014 -0300 @@ -140,7 +140,8 @@ = new StringBuilder(LINE_SEP + " iv:" + LINE_SEP + "[" + encoder.encodeBuffer(iv) + "]"); - sb.append(LINE_SEP + "tLen(bits):" + LINE_SEP + tLen*8 + LINE_SEP); + sb.append(LINE_SEP).append("tLen(bits):").append(LINE_SEP) + .append(tLen * 8).append(LINE_SEP); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/OAEPParameters.java --- a/src/share/classes/com/sun/crypto/provider/OAEPParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/OAEPParameters.java Tue Aug 12 19:52:29 2014 -0300 @@ -239,10 +239,12 @@ protected String engineToString() { StringBuilder sb = new StringBuilder(); - sb.append("MD: " + mdName + "\n"); - sb.append("MGF: MGF1" + mgfSpec.getDigestAlgorithm() + "\n"); - sb.append("PSource: PSpecified " + - (p.length==0? "":Debug.toHexString(new BigInteger(p))) + "\n"); + sb.append("MD: ").append(mdName).append('\n'); + sb.append("MGF: MGF1").append(mgfSpec.getDigestAlgorithm()) + .append('\n'); + sb.append("PSource: PSpecified ") + .append(p.length == 0 ? "" : Debug + .toHexString(new BigInteger(p))).append('\n'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/com/sun/crypto/provider/RC2Parameters.java --- a/src/share/classes/com/sun/crypto/provider/RC2Parameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/crypto/provider/RC2Parameters.java Tue Aug 12 19:52:29 2014 -0300 @@ -221,8 +221,9 @@ + encoder.encodeBuffer(iv) + "]"); if (version != 0) { - sb.append(LINE_SEP + "version:" + LINE_SEP - + version + LINE_SEP); + sb.append(LINE_SEP).append("version:") + .append(LINE_SEP).append(version) + .append(LINE_SEP); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/java/util/jar/pack/FixedList.java --- a/src/share/classes/com/sun/java/util/jar/pack/FixedList.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/java/util/jar/pack/FixedList.java Tue Aug 12 19:52:29 2014 -0300 @@ -171,4 +171,3 @@ return "FixedList{" + "plist=" + flist + '}'; } } - diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/interceptor/MBeanServerInterceptor.java --- a/src/share/classes/com/sun/jmx/interceptor/MBeanServerInterceptor.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/interceptor/MBeanServerInterceptor.java Tue Aug 12 19:52:29 2014 -0300 @@ -127,4 +127,3 @@ public ClassLoaderRepository getClassLoaderRepository(); } - diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java Tue Aug 12 19:52:29 2014 -0300 @@ -65,7 +65,7 @@ "extractSubNet", "BINARY ARRAY :"); StringBuilder sb = new StringBuilder(); for(int i =0; i < addrLength; i++) { - sb.append((b[i] & 0xFF) + ":"); + sb.append(b[i] & 0xFF).append(':'); } SNMP_LOGGER.logp(Level.FINEST, NetMaskImpl.class.getName(), "extractSubNet", sb.toString()); diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java Tue Aug 12 19:52:29 2014 -0300 @@ -204,7 +204,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java Tue Aug 12 19:52:29 2014 -0300 @@ -379,7 +379,7 @@ } jj_consume_token(DOT); t = jj_consume_token(IDENTIFIER); - jjtn000.name.append( "." + t.image); + jjtn000.name.append('.').append(t.image); } } finally { if (jjtc000) { @@ -408,7 +408,7 @@ } jj_consume_token(DOT); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append('.').append(t.image); } } finally { if (jjtc000) { @@ -454,7 +454,7 @@ } jj_consume_token(MARK); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append('.').append(t.image); } } finally { if (jjtc000) { @@ -483,7 +483,7 @@ } jj_consume_token(DOT); t = jj_consume_token(INTEGER_LITERAL); - jjtn000.address.append( "." + t.image); + jjtn000.address.append('.').append(t.image); } jj_consume_token(MASK); t = jj_consume_token(INTEGER_LITERAL); diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj Tue Aug 12 19:52:29 2014 -0300 @@ -420,7 +420,7 @@ t= { jjtn000.name.append(t.image); } ( "." t= - {jjtn000.name.append( "." + t.image); } + {jjtn000.name.append( '.').append(t.image); } )*/*@bgen(jjtree)*/ } finally { if (jjtc000) { @@ -447,7 +447,7 @@ {jjtn000.address.append(t.image); } ( "." t= - {jjtn000.address.append( "." + t.image); } + {jjtn000.address.append( '.').append(t.image); } )*/*@bgen(jjtree)*/ } finally { if (jjtc000) { @@ -501,7 +501,7 @@ {jjtn000.address.append(t.image); } ( "!" t= - {jjtn000.address.append( "." + t.image); } + {jjtn000.address.append( '.').append(t.image); } )*/*@bgen(jjtree)*/ } finally { if (jjtc000) { @@ -527,7 +527,7 @@ {jjtn000.address.append(t.image); } ( "." t= - {jjtn000.address.append( "." + t.image); } + {jjtn000.address.append( '.').append(t.image); } )* "/" t= /*@bgen(jjtree)*/ { jjtree.closeNodeScope(jjtn000, true); diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt Tue Aug 12 19:52:29 2014 -0300 @@ -213,7 +213,7 @@ t= { jjtThis.name.append(t.image); } ( "." t= - {jjtThis.name.append( "." + t.image); } + {jjtThis.name.append( '.').append(t.image); } )* } @@ -228,7 +228,7 @@ {jjtThis.address.append(t.image); } ( "." t= - {jjtThis.address.append( "." + t.image); } + {jjtThis.address.append( '.').append(t.image); } )* } @@ -253,7 +253,7 @@ {jjtThis.address.append(t.image); } ( "!" t= - {jjtThis.address.append( "." + t.image); } + {jjtThis.address.append( '.').append(t.image); } )* } @@ -267,7 +267,7 @@ {jjtThis.address.append(t.image); } ( "." t= - {jjtThis.address.append( "." + t.image); } + {jjtThis.address.append( '.').append(t.image); } )* "/" t= {jjtThis.mask = t.image; } } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java --- a/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java Tue Aug 12 19:52:29 2014 -0300 @@ -99,7 +99,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java --- a/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java Tue Aug 12 19:52:29 2014 -0300 @@ -479,10 +479,10 @@ */ public String printMessage() { StringBuilder sb = new StringBuilder(); - sb.append("msgId : " + msgId + "\n"); - sb.append("msgMaxSize : " + msgMaxSize + "\n"); - sb.append("msgFlags : " + msgFlags + "\n"); - sb.append("msgSecurityModel : " + msgSecurityModel + "\n"); + sb.append("msgId : ").append(msgId).append('\n'); + sb.append("msgMaxSize : ").append(msgMaxSize).append('\n'); + sb.append("msgFlags : ").append(msgFlags).append('\n'); + sb.append("msgSecurityModel : ").append(msgSecurityModel).append('\n'); if (contextEngineId == null) { sb.append("contextEngineId : null"); diff -r dde9f5cfde5f src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java --- a/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java Tue Aug 12 19:52:29 2014 -0300 @@ -256,7 +256,7 @@ private static String stringifyComponent(NameComponent comp) { StringBuilder one = new StringBuilder(escape(comp.id)); if (comp.kind != null && !comp.kind.equals("")) { - one.append(kindSeparator + escape(comp.kind)); + one.append(kindSeparator).append(escape(comp.kind)); } if (one.length() == 0) { return ""+kindSeparator; // if neither id nor kind specified diff -r dde9f5cfde5f src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java --- a/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Tue Aug 12 19:52:29 2014 -0300 @@ -90,7 +90,7 @@ if (selected == -1) { StringBuilder allChoices = new StringBuilder(); for (int j = 0; j < choices.length; j++) { - allChoices.append(choices[j] + ","); + allChoices.append(choices[j]).append(','); } throw new IOException("Cannot match " + "'java.naming.security.sasl.realm' property value, '" + diff -r dde9f5cfde5f src/share/classes/com/sun/media/sound/SoftReverb.java --- a/src/share/classes/com/sun/media/sound/SoftReverb.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/media/sound/SoftReverb.java Tue Aug 12 19:52:29 2014 -0300 @@ -512,4 +512,3 @@ this.light = light; } } - diff -r dde9f5cfde5f src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java --- a/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java Tue Aug 12 19:52:29 2014 -0300 @@ -167,9 +167,9 @@ for (int i = 0; i < allchannelnames.length; i++) { if ((channelmask & m) != 0L) { if (i < channelnames.length) { - sb.append(channelnames[i] + " "); + sb.append(channelnames[i]).append(' '); } else { - sb.append(allchannelnames[i] + " "); + sb.append(allchannelnames[i]).append(' '); } } m *= 2L; diff -r dde9f5cfde5f src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java --- a/src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java Tue Aug 12 19:52:29 2014 -0300 @@ -104,4 +104,3 @@ */ public abstract boolean checkCredentials (String username, String password); } - diff -r dde9f5cfde5f src/share/classes/com/sun/nio/sctp/IllegalReceiveException.java --- a/src/share/classes/com/sun/nio/sctp/IllegalReceiveException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/nio/sctp/IllegalReceiveException.java Tue Aug 12 19:52:29 2014 -0300 @@ -50,4 +50,3 @@ super(msg); } } - diff -r dde9f5cfde5f src/share/classes/com/sun/nio/sctp/IllegalUnbindException.java --- a/src/share/classes/com/sun/nio/sctp/IllegalUnbindException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/nio/sctp/IllegalUnbindException.java Tue Aug 12 19:52:29 2014 -0300 @@ -50,4 +50,3 @@ super(msg); } } - diff -r dde9f5cfde5f src/share/classes/com/sun/nio/sctp/InvalidStreamException.java --- a/src/share/classes/com/sun/nio/sctp/InvalidStreamException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/nio/sctp/InvalidStreamException.java Tue Aug 12 19:52:29 2014 -0300 @@ -49,4 +49,3 @@ super(msg); } } - diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/Init.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/Init.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/Init.java Tue Aug 12 19:52:29 2014 -0300 @@ -365,4 +365,3 @@ } } - diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java Tue Aug 12 19:52:29 2014 -0300 @@ -235,14 +235,15 @@ String nodeName = att.getNodeName(); if ((nodeName.equals("xmlns") || nodeName.startsWith("xmlns:")) && !storedNamespaces.containsKey(att.getNodeName())) { - sb.append(" " + nodeName + "=\"" + att.getNodeValue() + "\""); + sb.append(' ').append(nodeName).append("=\"") + .append(att.getNodeValue()).append('"'); storedNamespaces.put(nodeName, att.getNodeValue()); } } } wk = wk.getParentNode(); } - sb.append(">" + source + ""); + sb.append('>').append(source).append(""); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherData.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherData.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherData.java Tue Aug 12 19:52:29 2014 -0300 @@ -92,4 +92,3 @@ */ void setCipherReference(CipherReference reference) throws XMLEncryptionException; } - diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherReference.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherReference.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherReference.java Tue Aug 12 19:52:29 2014 -0300 @@ -92,4 +92,3 @@ */ void setTransforms(Transforms transforms); } - diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedData.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedData.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedData.java Tue Aug 12 19:52:29 2014 -0300 @@ -43,4 +43,3 @@ */ public interface EncryptedData extends EncryptedType { } - diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedKey.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedKey.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedKey.java Tue Aug 12 19:52:29 2014 -0300 @@ -110,4 +110,3 @@ */ void setCarriedName(String name); } - diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedType.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedType.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedType.java Tue Aug 12 19:52:29 2014 -0300 @@ -194,4 +194,3 @@ */ void setEncryptionProperties(EncryptionProperties properties); } - diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java Tue Aug 12 19:52:29 2014 -0300 @@ -130,4 +130,3 @@ */ void removeEncryptionMethodInformation(Element information); } - diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperties.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperties.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperties.java Tue Aug 12 19:52:29 2014 -0300 @@ -84,4 +84,3 @@ */ void removeEncryptionProperty(EncryptionProperty property); } - diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/transforms/TransformParam.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/TransformParam.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/TransformParam.java Tue Aug 12 19:52:29 2014 -0300 @@ -24,4 +24,4 @@ package com.sun.org.apache.xml.internal.security.transforms; public interface TransformParam { -} \ No newline at end of file +} diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java Tue Aug 12 19:52:29 2014 -0300 @@ -85,7 +85,7 @@ if (prefix.equals("xmlns")) { sb.append("#default "); } else { - sb.append(prefix + " "); + sb.append(prefix).append(' '); } } diff -r dde9f5cfde5f src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java --- a/src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java Tue Aug 12 19:52:29 2014 -0300 @@ -88,7 +88,7 @@ l += countQuotes(DN, j, k); if ((k > 0) && (DN.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(parseRDN(DN.substring(i, k).trim(), toXml) + ","); + sb.append(parseRDN(DN.substring(i, k).trim(), toXml)).append(','); i = k + 1; l = 0; @@ -121,7 +121,7 @@ l += countQuotes(str, j, k); if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(parseATAV(trim(str.substring(i, k)), toXml) + "+"); + sb.append(parseATAV(trim(str.substring(i, k)), toXml)).append('+'); i = k + 1; l = 0; @@ -369,7 +369,7 @@ int k; for (int j = 0; (k = string.indexOf("\\20", j)) >= 0; j = k + 3) { - sb.append(trim(string.substring(i, k)) + "\\ "); + sb.append(trim(string.substring(i, k))).append("\\ "); i = k + 3; } @@ -418,7 +418,7 @@ l += countQuotes(str, j, k); if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) { - sb.append(trim(str.substring(i, k)) + replace); + sb.append(trim(str.substring(i, k))).append(replace); i = k + 1; l = 0; diff -r dde9f5cfde5f src/share/classes/com/sun/security/sasl/CramMD5Base.java --- a/src/share/classes/com/sun/security/sasl/CramMD5Base.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/CramMD5Base.java Tue Aug 12 19:52:29 2014 -0300 @@ -196,8 +196,7 @@ for (i = 0; i < digest.length; i++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0" + - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java --- a/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Tue Aug 12 19:52:29 2014 -0300 @@ -391,8 +391,7 @@ for (int i = 0; i < digest.length; i ++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0"+ - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/expr/ParseException.java --- a/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java Tue Aug 12 19:52:29 2014 -0300 @@ -198,7 +198,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java --- a/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Tue Aug 12 19:52:29 2014 -0300 @@ -107,7 +107,7 @@ default: if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); + retval.append("\\u").append(s.substring(s.length() - 4, s.length())); } else { retval.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java --- a/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java Tue Aug 12 19:52:29 2014 -0300 @@ -338,10 +338,10 @@ if (classpath.isEmpty()) { String envcp = System.getProperty("env.class.path"); if ((envcp != null) && (envcp.length() > 0)) { - munged.append(" -classpath " + envcp); + munged.append(" -classpath ").append(envcp); } } else { - munged.append(" -classpath " + classpath.asString()); + munged.append(" -classpath ").append(classpath.asString()); } return munged.toString(); } else { @@ -349,14 +349,4 @@ } } - private String appendPath(String path1, String path2) { - if (path1 == null || path1.length() == 0) { - return path2 == null ? "." : path2; - } else if (path2 == null || path2.length() == 0) { - return path1; - } else { - return path1 + File.pathSeparator + path2; - } - } - } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/extcheck/Main.java --- a/src/share/classes/com/sun/tools/extcheck/Main.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/extcheck/Main.java Tue Aug 12 19:52:29 2014 -0300 @@ -87,4 +87,3 @@ throw new Exception(msg + "\nUsage: extcheck [-verbose] "); } } - diff -r dde9f5cfde5f src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java --- a/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java Tue Aug 12 19:52:29 2014 -0300 @@ -346,12 +346,12 @@ public String valueString(boolean bigLimit) { // Char arrays deserve special treatment - StringBuffer result; + StringBuilder result; byte[] value = getValue(); int max = value.length; byte elementSignature = getElementType(); if (elementSignature == 'C') { - result = new StringBuffer(); + result = new StringBuilder(); for (int i = 0; i < value.length; ) { char val = charAt(i, value); result.append(val); @@ -362,7 +362,7 @@ if (bigLimit) { limit = 1000; } - result = new StringBuffer("{"); + result = new StringBuilder("{"); int num = 0; for (int i = 0; i < value.length; ) { if (num > 0) { @@ -386,37 +386,37 @@ } case 'B': { int val = 0xFF & byteAt(i, value); - result.append("0x" + Integer.toString(val, 16)); + result.append("0x").append(Integer.toString(val, 16)); i++; break; } case 'S': { short val = shortAt(i, value); i += 2; - result.append("" + val); + result.append(val); break; } case 'I': { int val = intAt(i, value); i += 4; - result.append("" + val); + result.append(val); break; } case 'J': { // long long val = longAt(i, value); - result.append("" + val); + result.append(val); i += 8; break; } case 'F': { float val = floatAt(i, value); - result.append("" + val); + result.append(val); i += 4; break; } case 'D': { // double double val = doubleAt(i, value); - result.append("" + val); + result.append(val); i += 8; break; } @@ -425,7 +425,7 @@ } } } - result.append("}"); + result.append('}'); } return result.toString(); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/hat/internal/util/Misc.java --- a/src/share/classes/com/sun/tools/hat/internal/util/Misc.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/hat/internal/util/Misc.java Tue Aug 12 19:52:29 2014 -0300 @@ -97,11 +97,11 @@ } else if (ch == '&') { sb.append("&"); } else if (ch < ' ') { - sb.append("&#" + Integer.toString(ch) + ";"); + sb.append("&#").append(Integer.toString(ch)).append(';'); } else { int c = (ch & 0xFFFF); if (c > 127) { - sb.append("&#" + Integer.toString(c) + ";"); + sb.append("&#").append(Integer.toString(c)).append(';'); } else { sb.append(ch); } diff -r dde9f5cfde5f src/share/classes/com/sun/tools/jdi/InterfaceTypeImpl.java --- a/src/share/classes/com/sun/tools/jdi/InterfaceTypeImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/jdi/InterfaceTypeImpl.java Tue Aug 12 19:52:29 2014 -0300 @@ -140,4 +140,4 @@ // method must be directly in this interface return this.equals(method.declaringType()); } -} \ No newline at end of file +} diff -r dde9f5cfde5f src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java --- a/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Tue Aug 12 19:52:29 2014 -0300 @@ -881,12 +881,12 @@ } else if (tag == JDWP.TypeTag.ARRAY) { sb.append("ArrayType"); } else { - sb.append("UNKNOWN TAG: " + tag); + sb.append("UNKNOWN TAG: ").append(tag); } if (signature != null) { - sb.append(", signature='" + signature + "'"); + sb.append(", signature='").append(signature).append('\''); } - sb.append(", id=" + id); + sb.append(", id=").append(id); vm.printTrace(sb.toString()); } if (id == 0) { diff -r dde9f5cfde5f src/share/classes/com/sun/tracing/ProbeName.java --- a/src/share/classes/com/sun/tracing/ProbeName.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tracing/ProbeName.java Tue Aug 12 19:52:29 2014 -0300 @@ -45,4 +45,3 @@ public @interface ProbeName { String value(); } - diff -r dde9f5cfde5f src/share/classes/com/sun/tracing/ProviderFactory.java --- a/src/share/classes/com/sun/tracing/ProviderFactory.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tracing/ProviderFactory.java Tue Aug 12 19:52:29 2014 -0300 @@ -111,4 +111,3 @@ } } } - diff -r dde9f5cfde5f src/share/classes/com/sun/tracing/ProviderName.java --- a/src/share/classes/com/sun/tracing/ProviderName.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tracing/ProviderName.java Tue Aug 12 19:52:29 2014 -0300 @@ -45,4 +45,3 @@ public @interface ProviderName { String value(); } - diff -r dde9f5cfde5f src/share/classes/com/sun/tracing/dtrace/DependencyClass.java --- a/src/share/classes/com/sun/tracing/dtrace/DependencyClass.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tracing/dtrace/DependencyClass.java Tue Aug 12 19:52:29 2014 -0300 @@ -74,4 +74,3 @@ this.encoding = encoding; } } - diff -r dde9f5cfde5f src/share/classes/com/sun/tracing/dtrace/FunctionName.java --- a/src/share/classes/com/sun/tracing/dtrace/FunctionName.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tracing/dtrace/FunctionName.java Tue Aug 12 19:52:29 2014 -0300 @@ -44,4 +44,3 @@ public @interface FunctionName { String value(); } - diff -r dde9f5cfde5f src/share/classes/com/sun/tracing/dtrace/ModuleName.java --- a/src/share/classes/com/sun/tracing/dtrace/ModuleName.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tracing/dtrace/ModuleName.java Tue Aug 12 19:52:29 2014 -0300 @@ -44,4 +44,3 @@ public @interface ModuleName { String value(); } - diff -r dde9f5cfde5f src/share/classes/com/sun/tracing/dtrace/StabilityLevel.java --- a/src/share/classes/com/sun/tracing/dtrace/StabilityLevel.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/com/sun/tracing/dtrace/StabilityLevel.java Tue Aug 12 19:52:29 2014 -0300 @@ -85,4 +85,3 @@ this.encoding = encoding; } } - -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/lang/management/MemoryUsage.java --- a/src/share/classes/java/lang/management/MemoryUsage.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/lang/management/MemoryUsage.java Tue Aug 12 19:52:29 2014 -0300 @@ -237,13 +237,16 @@ * Returns a descriptive representation of this memory usage. */ public String toString() { - StringBuilder buf = new StringBuilder(); - buf.append("init = " + init + "(" + (init >> 10) + "K) "); - buf.append("used = " + used + "(" + (used >> 10) + "K) "); - buf.append("committed = " + committed + "(" + - (committed >> 10) + "K) " ); - buf.append("max = " + max + "(" + (max >> 10) + "K)"); - return buf.toString(); + StringBuilder sb = new StringBuilder(); + sb.append("init = ").append(init).append('(').append(init >> 10) + .append("K) "); + sb.append("used = ").append(used).append('(').append(used >> 10) + .append("K) "); + sb.append("committed = ").append(committed).append('(') + .append(committed >> 10).append("K) "); + sb.append("max = ").append(max).append('(').append(max >> 10) + .append("K)"); + return sb.toString(); } /** diff -r dde9f5cfde5f src/share/classes/java/lang/management/ThreadInfo.java --- a/src/share/classes/java/lang/management/ThreadInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/lang/management/ThreadInfo.java Tue Aug 12 19:52:29 2014 -0300 @@ -579,15 +579,17 @@ * @return a string representation of this thread info. */ public String toString() { - StringBuilder sb = new StringBuilder("\"" + getThreadName() + "\"" + - " Id=" + getThreadId() + " " + - getThreadState()); + StringBuilder sb = new StringBuilder(); + sb.append('"').append(getThreadName()).append('"') + .append(" Id=").append(getThreadId()).append(' ') + .append(getThreadState()); + if (getLockName() != null) { - sb.append(" on " + getLockName()); + sb.append(" on ").append(getLockName()); } if (getLockOwnerName() != null) { - sb.append(" owned by \"" + getLockOwnerName() + - "\" Id=" + getLockOwnerId()); + sb.append(" owned by \"").append(getLockOwnerName()) + .append("\" Id=").append(getLockOwnerId()); } if (isSuspended()) { sb.append(" (suspended)"); @@ -599,21 +601,21 @@ int i = 0; for (; i < stackTrace.length && i < MAX_FRAMES; i++) { StackTraceElement ste = stackTrace[i]; - sb.append("\tat " + ste.toString()); + sb.append("\tat ").append(ste.toString()); sb.append('\n'); if (i == 0 && getLockInfo() != null) { Thread.State ts = getThreadState(); switch (ts) { case BLOCKED: - sb.append("\t- blocked on " + getLockInfo()); + sb.append("\t- blocked on ").append(getLockInfo()); sb.append('\n'); break; case WAITING: - sb.append("\t- waiting on " + getLockInfo()); + sb.append("\t- waiting on ").append(getLockInfo()); sb.append('\n'); break; case TIMED_WAITING: - sb.append("\t- waiting on " + getLockInfo()); + sb.append("\t- waiting on ").append(getLockInfo()); sb.append('\n'); break; default: @@ -622,7 +624,7 @@ for (MonitorInfo mi : lockedMonitors) { if (mi.getLockedStackDepth() == i) { - sb.append("\t- locked " + mi); + sb.append("\t- locked ").append(mi); sb.append('\n'); } } @@ -634,10 +636,10 @@ LockInfo[] locks = getLockedSynchronizers(); if (locks.length > 0) { - sb.append("\n\tNumber of locked synchronizers = " + locks.length); + sb.append("\n\tNumber of locked synchronizers = ").append(locks.length); sb.append('\n'); for (LockInfo li : locks) { - sb.append("\t- " + li); + sb.append("\t- ").append(li); sb.append('\n'); } } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/rmi/dgc/VMID.java --- a/src/share/classes/java/rmi/dgc/VMID.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/rmi/dgc/VMID.java Tue Aug 12 19:52:29 2014 -0300 @@ -124,8 +124,7 @@ if (addr != null) for (int i = 0; i < addr.length; ++ i) { int x = addr[i] & 0xFF; - sb.append((x < 0x10 ? "0" : "") + - Integer.toString(x, 16)); + sb.append(x < 0x10 ? "0" : "").append(Integer.toString(x, 16)); } sb.append(':'); sb.append(uid.toString()); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/security/CodeSigner.java --- a/src/share/classes/java/security/CodeSigner.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/CodeSigner.java Tue Aug 12 19:52:29 2014 -0300 @@ -156,9 +156,9 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("("); - sb.append("Signer: " + signerCertPath.getCertificates().get(0)); + sb.append("Signer: ").append(signerCertPath.getCertificates().get(0)); if (timestamp != null) { - sb.append("timestamp: " + timestamp); + sb.append("timestamp: ").append(timestamp); } sb.append(")"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/java/security/CodeSource.java --- a/src/share/classes/java/security/CodeSource.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/CodeSource.java Tue Aug 12 19:52:29 2014 -0300 @@ -468,12 +468,12 @@ if (this.certs != null && this.certs.length > 0) { for (int i = 0; i < this.certs.length; i++) { - sb.append( " " + this.certs[i]); + sb.append(' ').append(this.certs[i]); } } else if (this.signers != null && this.signers.length > 0) { for (int i = 0; i < this.signers.length; i++) { - sb.append( " " + this.signers[i]); + sb.append(' ').append(this.signers[i]); } } else { sb.append(" "); diff -r dde9f5cfde5f src/share/classes/java/security/KeyStore.java --- a/src/share/classes/java/security/KeyStore.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/KeyStore.java Tue Aug 12 19:52:29 2014 -0300 @@ -610,8 +610,8 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("Private key entry and certificate chain with " - + chain.length + " elements:\r\n"); + sb.append("Private key entry and certificate chain with ") + .append(chain.length).append(" elements:\r\n"); for (Certificate cert : chain) { sb.append(cert); sb.append("\r\n"); diff -r dde9f5cfde5f src/share/classes/java/security/PermissionCollection.java --- a/src/share/classes/java/security/PermissionCollection.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/PermissionCollection.java Tue Aug 12 19:52:29 2014 -0300 @@ -179,13 +179,13 @@ public String toString() { Enumeration enum_ = elements(); StringBuilder sb = new StringBuilder(); - sb.append(super.toString()+" (\n"); + sb.append(super.toString()).append(" (\n"); while (enum_.hasMoreElements()) { try { - sb.append(" "); + sb.append(' '); sb.append(enum_.nextElement().toString()); - sb.append("\n"); - } catch (NoSuchElementException e){ + sb.append('\n'); + } catch (NoSuchElementException e) { // ignore } } diff -r dde9f5cfde5f src/share/classes/java/security/ProtectionDomain.java --- a/src/share/classes/java/security/ProtectionDomain.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/ProtectionDomain.java Tue Aug 12 19:52:29 2014 -0300 @@ -285,34 +285,32 @@ /** * Convert a ProtectionDomain to a String. */ - @Override public String toString() { + @Override + public String toString() { String pals = ""; if (principals != null && principals.length > 0) { - StringBuilder palBuf = new StringBuilder("(principals "); + StringBuilder palBuilder = new StringBuilder("(principals "); for (int i = 0; i < principals.length; i++) { - palBuf.append(principals[i].getClass().getName() + - " \"" + principals[i].getName() + - "\""); - if (i < principals.length-1) - palBuf.append(",\n"); - else - palBuf.append(")\n"); + palBuilder.append(principals[i].getClass().getName()) + .append(" \"").append(principals[i].getName()) + .append('"'); + if (i < principals.length - 1) { + palBuilder.append(",\n"); + } else { + palBuilder.append(")\n"); + } } - pals = palBuf.toString(); + pals = palBuilder.toString(); } // Check if policy is set; we don't want to load // the policy prematurely here - PermissionCollection pc = Policy.isSet() && seeAllp() ? - mergePermissions(): - getPermissions(); + PermissionCollection pc = Policy.isSet() && seeAllp() ? mergePermissions() + : getPermissions(); - return "ProtectionDomain "+ - " "+codesource+"\n"+ - " "+classloader+"\n"+ - " "+pals+"\n"+ - " "+pc+"\n"; + return "ProtectionDomain " + " " + codesource + "\n" + " " + + classloader + "\n" + " " + pals + "\n" + " " + pc + "\n"; } /** diff -r dde9f5cfde5f src/share/classes/java/security/Timestamp.java --- a/src/share/classes/java/security/Timestamp.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/Timestamp.java Tue Aug 12 19:52:29 2014 -0300 @@ -143,10 +143,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("("); - sb.append("timestamp: " + timestamp); + sb.append("timestamp: ").append(timestamp); List certs = signerCertPath.getCertificates(); if (!certs.isEmpty()) { - sb.append("TSA: " + certs.get(0)); + sb.append("TSA: ").append(certs.get(0)); } else { sb.append("TSA: "); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/CertPath.java --- a/src/share/classes/java/security/cert/CertPath.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/CertPath.java Tue Aug 12 19:52:29 2014 -0300 @@ -221,20 +221,16 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - Iterator stringIterator = - getCertificates().iterator(); - sb.append("\n" + type + " Cert Path: length = " - + getCertificates().size() + ".\n"); - sb.append("[\n"); + sb.append('\n').append(type).append(" Cert Path: length = ") + .append(getCertificates().size()).append(".\n").append("[\n"); int i = 1; - while (stringIterator.hasNext()) { + for (Certificate stringCert : getCertificates()) { sb.append("==========================================" - + "===============Certificate " + i + " start.\n"); - Certificate stringCert = stringIterator.next(); + + "===============Certificate ").append(i).append(" start.\n"); sb.append(stringCert.toString()); sb.append("\n========================================" - + "=================Certificate " + i + " end.\n\n\n"); + + "=================Certificate ").append(i).append(" end.\n\n\n"); i++; } diff -r dde9f5cfde5f src/share/classes/java/security/cert/CollectionCertStoreParameters.java --- a/src/share/classes/java/security/cert/CollectionCertStoreParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/CollectionCertStoreParameters.java Tue Aug 12 19:52:29 2014 -0300 @@ -134,8 +134,8 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("CollectionCertStoreParameters: [\n"); - sb.append(" collection: " + coll + "\n"); - sb.append("]"); + sb.append(" collection: ").append(coll).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/LDAPCertStoreParameters.java --- a/src/share/classes/java/security/cert/LDAPCertStoreParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/LDAPCertStoreParameters.java Tue Aug 12 19:52:29 2014 -0300 @@ -141,9 +141,9 @@ StringBuilder sb = new StringBuilder(); sb.append("LDAPCertStoreParameters: [\n"); - sb.append(" serverName: " + serverName + "\n"); - sb.append(" port: " + port + "\n"); - sb.append("]"); + sb.append(" serverName: ").append(serverName).append('\n'); + sb.append(" port: ").append(port).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXBuilderParameters.java --- a/src/share/classes/java/security/cert/PKIXBuilderParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXBuilderParameters.java Tue Aug 12 19:52:29 2014 -0300 @@ -192,7 +192,7 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); sb.append(super.toString()); - sb.append(" Maximum Path Length: " + maxPathLength + "\n"); + sb.append(" Maximum Path Length: ").append(maxPathLength).append('\n'); sb.append("]\n"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java --- a/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java Tue Aug 12 19:52:29 2014 -0300 @@ -109,11 +109,13 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("PKIXCertPathBuilderResult: [\n"); - sb.append(" Certification Path: " + certPath + "\n"); - sb.append(" Trust Anchor: " + getTrustAnchor().toString() + "\n"); - sb.append(" Policy Tree: " + String.valueOf(getPolicyTree()) + "\n"); - sb.append(" Subject Public Key: " + getPublicKey() + "\n"); - sb.append("]"); + sb.append(" Certification Path: ").append(certPath).append('\n'); + sb.append(" Trust Anchor: ").append(getTrustAnchor().toString()) + .append('\n'); + sb.append(" Policy Tree: ").append(String.valueOf(getPolicyTree())) + .append('\n'); + sb.append(" Subject Public Key: ").append(getPublicKey()).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java --- a/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java Tue Aug 12 19:52:29 2014 -0300 @@ -150,10 +150,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("PKIXCertPathValidatorResult: [\n"); - sb.append(" Trust Anchor: " + trustAnchor.toString() + "\n"); - sb.append(" Policy Tree: " + String.valueOf(policyTree) + "\n"); - sb.append(" Subject Public Key: " + subjectPublicKey + "\n"); - sb.append("]"); + sb.append(" Trust Anchor: ").append(trustAnchor.toString()).append('\n'); + sb.append(" Policy Tree: ").append(String.valueOf(policyTree)).append('\n'); + sb.append(" Subject Public Key: ").append(subjectPublicKey).append('\n'); + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PKIXParameters.java --- a/src/share/classes/java/security/cert/PKIXParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PKIXParameters.java Tue Aug 12 19:52:29 2014 -0300 @@ -698,8 +698,8 @@ /* start with trusted anchor info */ if (unmodTrustAnchors != null) { - sb.append(" Trust Anchors: " + unmodTrustAnchors.toString() - + "\n"); + sb.append(" Trust Anchors: ").append(unmodTrustAnchors.toString()) + .append('\n'); } /* now, append initial state information */ @@ -707,30 +707,41 @@ if (unmodInitialPolicies.isEmpty()) { sb.append(" Initial Policy OIDs: any\n"); } else { - sb.append(" Initial Policy OIDs: [" - + unmodInitialPolicies.toString() + "]\n"); + sb.append(" Initial Policy OIDs: [") + .append(unmodInitialPolicies.toString()).append("]\n"); } } /* now, append constraints on all certificates in the path */ - sb.append(" Validity Date: " + String.valueOf(date) + "\n"); - sb.append(" Signature Provider: " + String.valueOf(sigProvider) + "\n"); - sb.append(" Default Revocation Enabled: " + revocationEnabled + "\n"); - sb.append(" Explicit Policy Required: " + explicitPolicyRequired + "\n"); - sb.append(" Policy Mapping Inhibited: " + policyMappingInhibited + "\n"); - sb.append(" Any Policy Inhibited: " + anyPolicyInhibited + "\n"); - sb.append(" Policy Qualifiers Rejected: " + policyQualifiersRejected + "\n"); + sb.append(" Validity Date: ").append(String.valueOf(date)) + .append('\n'); + sb.append(" Signature Provider: ").append(String.valueOf(sigProvider)) + .append('\n'); + sb.append(" Default Revocation Enabled: ").append(revocationEnabled) + .append('\n'); + sb.append(" Explicit Policy Required: ") + .append(explicitPolicyRequired).append('\n'); + sb.append(" Policy Mapping Inhibited: ") + .append(policyMappingInhibited).append('\n'); + sb.append(" Any Policy Inhibited: ").append(anyPolicyInhibited) + .append('\n'); + sb.append(" Policy Qualifiers Rejected: ") + .append(policyQualifiersRejected).append('\n'); /* now, append target cert requirements */ - sb.append(" Target Cert Constraints: " + String.valueOf(certSelector) + "\n"); + sb.append(" Target Cert Constraints: ") + .append(String.valueOf(certSelector)).append('\n'); /* finally, append miscellaneous parameters */ - if (certPathCheckers != null) - sb.append(" Certification Path Checkers: [" - + certPathCheckers.toString() + "]\n"); - if (certStores != null) - sb.append(" CertStores: [" + certStores.toString() + "]\n"); - sb.append("]"); + if (certPathCheckers != null) { + sb.append(" Certification Path Checkers: [") + .append(certPathCheckers.toString()).append("]\n"); + } + if (certStores != null) { + sb.append(" CertStores: [").append(certStores.toString()) + .append("]\n"); + } + sb.append(']'); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/PolicyQualifierInfo.java --- a/src/share/classes/java/security/cert/PolicyQualifierInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/PolicyQualifierInfo.java Tue Aug 12 19:52:29 2014 -0300 @@ -158,15 +158,17 @@ * {@code PolicyQualifierInfo} */ public String toString() { - if (pqiString != null) + if (pqiString != null) { return pqiString; + } HexDumpEncoder enc = new HexDumpEncoder(); StringBuilder sb = new StringBuilder(); sb.append("PolicyQualifierInfo: [\n"); - sb.append(" qualifierID: " + mId + "\n"); - sb.append(" qualifier: " + - (mData == null ? "null" : enc.encodeBuffer(mData)) + "\n"); - sb.append("]"); + sb.append(" qualifierID: ").append(mId).append('\n'); + sb.append(" qualifier: ") + .append(mData == null ? "null" : enc.encodeBuffer(mData)) + .append('\n'); + sb.append(']'); pqiString = sb.toString(); return pqiString; } diff -r dde9f5cfde5f src/share/classes/java/security/cert/TrustAnchor.java --- a/src/share/classes/java/security/cert/TrustAnchor.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/TrustAnchor.java Tue Aug 12 19:52:29 2014 -0300 @@ -320,14 +320,18 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); if (pubKey != null) { - sb.append(" Trusted CA Public Key: " + pubKey.toString() + "\n"); - sb.append(" Trusted CA Issuer Name: " - + String.valueOf(caName) + "\n"); + sb.append(" Trusted CA Public Key: ").append(pubKey.toString()) + .append('\n'); + sb.append(" Trusted CA Issuer Name: ") + .append(String.valueOf(caName)).append('\n'); } else { - sb.append(" Trusted CA cert: " + trustedCert.toString() + "\n"); + sb.append(" Trusted CA cert: ").append(trustedCert.toString()) + .append('\n'); } - if (nc != null) - sb.append(" Name Constraints: " + nc.toString() + "\n"); + if (nc != null) { + sb.append(" Name Constraints: ").append(nc.toString()) + .append('\n'); + } return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/java/security/cert/X509CRLSelector.java --- a/src/share/classes/java/security/cert/X509CRLSelector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/X509CRLSelector.java Tue Aug 12 19:52:29 2014 -0300 @@ -572,17 +572,17 @@ sb.append(" IssuerNames:\n"); Iterator i = issuerNames.iterator(); while (i.hasNext()) - sb.append(" " + i.next() + "\n"); + sb.append(" ").append(i.next()).append('\n'); } if (minCRL != null) - sb.append(" minCRLNumber: " + minCRL + "\n"); + sb.append(" minCRLNumber: ").append(minCRL).append('\n'); if (maxCRL != null) - sb.append(" maxCRLNumber: " + maxCRL + "\n"); + sb.append(" maxCRLNumber: ").append(maxCRL).append('\n'); if (dateAndTime != null) - sb.append(" dateAndTime: " + dateAndTime + "\n"); + sb.append(" dateAndTime: ").append(dateAndTime).append('\n'); if (certChecking != null) - sb.append(" Certificate being checked: " + certChecking + "\n"); - sb.append("]"); + sb.append(" Certificate being checked: ").append(certChecking).append('\n'); + sb.append(']'); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/security/cert/X509CertSelector.java --- a/src/share/classes/java/security/cert/X509CertSelector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/security/cert/X509CertSelector.java Tue Aug 12 19:52:29 2014 -0300 @@ -1814,72 +1814,75 @@ StringBuilder sb = new StringBuilder(); sb.append("X509CertSelector: [\n"); if (x509Cert != null) { - sb.append(" Certificate: " + x509Cert.toString() + "\n"); + sb.append(" Certificate: ").append(x509Cert.toString()) + .append('\n'); } if (serialNumber != null) { - sb.append(" Serial Number: " + serialNumber.toString() + "\n"); + sb.append(" Serial Number: ").append(serialNumber.toString()) + .append('\n'); } if (issuer != null) { - sb.append(" Issuer: " + getIssuerAsString() + "\n"); + sb.append(" Issuer: ").append(getIssuerAsString()).append('\n'); } if (subject != null) { - sb.append(" Subject: " + getSubjectAsString() + "\n"); + sb.append(" Subject: ").append(getSubjectAsString()).append('\n'); } - sb.append(" matchAllSubjectAltNames flag: " - + String.valueOf(matchAllSubjectAltNames) + "\n"); + sb.append(" matchAllSubjectAltNames flag: ") + .append(String.valueOf(matchAllSubjectAltNames)).append('\n'); if (subjectAlternativeNames != null) { sb.append(" SubjectAlternativeNames:\n"); Iterator> i = subjectAlternativeNames.iterator(); while (i.hasNext()) { List list = i.next(); - sb.append(" type " + list.get(0) + - ", name " + list.get(1) + "\n"); + sb.append(" type ").append(list.get(0)).append(", name ") + .append(list.get(1)).append('\n'); } } if (subjectKeyID != null) { HexDumpEncoder enc = new HexDumpEncoder(); - sb.append(" Subject Key Identifier: " + - enc.encodeBuffer(subjectKeyID) + "\n"); + sb.append(" Subject Key Identifier: ") + .append(enc.encodeBuffer(subjectKeyID)).append('\n'); } if (authorityKeyID != null) { HexDumpEncoder enc = new HexDumpEncoder(); - sb.append(" Authority Key Identifier: " + - enc.encodeBuffer(authorityKeyID) + "\n"); + sb.append(" Authority Key Identifier: ") + .append(enc.encodeBuffer(authorityKeyID)).append('\n'); } if (certificateValid != null) { - sb.append(" Certificate Valid: " + - certificateValid.toString() + "\n"); + sb.append(" Certificate Valid: ") + .append(certificateValid.toString()).append('\n'); } if (privateKeyValid != null) { - sb.append(" Private Key Valid: " + - privateKeyValid.toString() + "\n"); + sb.append(" Private Key Valid: ") + .append(privateKeyValid.toString()).append('\n'); } if (subjectPublicKeyAlgID != null) { - sb.append(" Subject Public Key AlgID: " + - subjectPublicKeyAlgID.toString() + "\n"); + sb.append(" Subject Public Key AlgID: ") + .append(subjectPublicKeyAlgID.toString()).append('\n'); } if (subjectPublicKey != null) { - sb.append(" Subject Public Key: " + - subjectPublicKey.toString() + "\n"); + sb.append(" Subject Public Key: ") + .append(subjectPublicKey.toString()).append('\n'); } if (keyUsage != null) { - sb.append(" Key Usage: " + keyUsageToString(keyUsage) + "\n"); + sb.append(" Key Usage: ").append(keyUsageToString(keyUsage)) + .append('\n'); } if (keyPurposeSet != null) { - sb.append(" Extended Key Usage: " + - keyPurposeSet.toString() + "\n"); + sb.append(" Extended Key Usage: ") + .append(keyPurposeSet.toString()).append('\n'); } if (policy != null) { - sb.append(" Policy: " + policy.toString() + "\n"); + sb.append(" Policy: ").append(policy.toString()).append('\n'); } if (pathToGeneralNames != null) { sb.append(" Path to names:\n"); Iterator i = pathToGeneralNames.iterator(); while (i.hasNext()) { - sb.append(" " + i.next() + "\n"); + sb.append(" ").append(i.next()).append('\n'); } } - sb.append("]"); + sb.append(']'); return sb.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/text/ChoiceFormat.java --- a/src/share/classes/java/text/ChoiceFormat.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/text/ChoiceFormat.java Tue Aug 12 19:52:29 2014 -0300 @@ -272,7 +272,7 @@ double tryLess = Math.abs(Math.IEEEremainder(less, 1.0d)); if (tryLessOrEqual < tryLess) { - result.append(""+choiceLimits[i]); + result.append(choiceLimits[i]); result.append('#'); } else { if (choiceLimits[i] == Double.POSITIVE_INFINITY) { @@ -280,7 +280,7 @@ } else if (choiceLimits[i] == Double.NEGATIVE_INFINITY) { result.append("-\u221E"); } else { - result.append(""+less); + result.append(less); } result.append('<'); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/java/util/Scanner.java --- a/src/share/classes/java/util/Scanner.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/Scanner.java Tue Aug 12 19:52:29 2014 -0300 @@ -1304,20 +1304,20 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("java.util.Scanner"); - sb.append("[delimiters=" + delimPattern + "]"); - sb.append("[position=" + position + "]"); - sb.append("[match valid=" + matchValid + "]"); - sb.append("[need input=" + needInput + "]"); - sb.append("[source closed=" + sourceClosed + "]"); - sb.append("[skipped=" + skipped + "]"); - sb.append("[group separator=" + groupSeparator + "]"); - sb.append("[decimal separator=" + decimalSeparator + "]"); - sb.append("[positive prefix=" + positivePrefix + "]"); - sb.append("[negative prefix=" + negativePrefix + "]"); - sb.append("[positive suffix=" + positiveSuffix + "]"); - sb.append("[negative suffix=" + negativeSuffix + "]"); - sb.append("[NaN string=" + nanString + "]"); - sb.append("[infinity string=" + infinityString + "]"); + sb.append("[delimiters=").append(delimPattern).append(']'); + sb.append("[position=").append(position).append(']'); + sb.append("[match valid=").append(matchValid).append(']'); + sb.append("[need input=").append(needInput).append(']'); + sb.append("[source closed=").append(sourceClosed).append(']'); + sb.append("[skipped=").append(skipped).append(']'); + sb.append("[group separator=").append(groupSeparator).append(']'); + sb.append("[decimal separator=").append(decimalSeparator).append(']'); + sb.append("[positive prefix=").append(positivePrefix).append(']'); + sb.append("[negative prefix=").append(negativePrefix).append(']'); + sb.append("[positive suffix=").append(positiveSuffix).append(']'); + sb.append("[negative suffix=").append(negativeSuffix).append(']'); + sb.append("[NaN string=").append(nanString).append(']'); + sb.append("[infinity string=").append(infinityString).append(']'); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java --- a/src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java Tue Aug 12 19:52:29 2014 -0300 @@ -274,4 +274,3 @@ } } - diff -r dde9f5cfde5f src/share/classes/java/util/regex/Matcher.java --- a/src/share/classes/java/util/regex/Matcher.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/regex/Matcher.java Tue Aug 12 19:52:29 2014 -0300 @@ -1295,14 +1295,14 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("java.util.regex.Matcher"); - sb.append("[pattern=" + pattern()); + sb.append("[pattern=").append(pattern()); sb.append(" region="); - sb.append(regionStart() + "," + regionEnd()); + sb.append(regionStart()).append(',').append(regionEnd()); sb.append(" lastmatch="); if ((first >= 0) && (group() != null)) { sb.append(group()); } - sb.append("]"); + sb.append(']'); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/java/util/regex/Pattern.java --- a/src/share/classes/java/util/regex/Pattern.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/regex/Pattern.java Tue Aug 12 19:52:29 2014 -0300 @@ -1488,10 +1488,10 @@ for(int x=0; x0) - result.append("|"+next); + result.append('|').append(next); next = composeOneStep(next); if (next != null) - result.append("|"+produceEquivalentAlternation(next)); + result.append('|').append(produceEquivalentAlternation(next)); } return result.toString(); } diff -r dde9f5cfde5f src/share/classes/java/util/stream/FindOps.java --- a/src/share/classes/java/util/stream/FindOps.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/stream/FindOps.java Tue Aug 12 19:52:29 2014 -0300 @@ -315,4 +315,3 @@ } } } - diff -r dde9f5cfde5f src/share/classes/java/util/stream/MatchOps.java --- a/src/share/classes/java/util/stream/MatchOps.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/stream/MatchOps.java Tue Aug 12 19:52:29 2014 -0300 @@ -315,4 +315,3 @@ } } } - diff -r dde9f5cfde5f src/share/classes/java/util/stream/SpinedBuffer.java --- a/src/share/classes/java/util/stream/SpinedBuffer.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/stream/SpinedBuffer.java Tue Aug 12 19:52:29 2014 -0300 @@ -1058,4 +1058,3 @@ } } } - diff -r dde9f5cfde5f src/share/classes/java/util/stream/StreamSpliterators.java --- a/src/share/classes/java/util/stream/StreamSpliterators.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/java/util/stream/StreamSpliterators.java Tue Aug 12 19:52:29 2014 -0300 @@ -1545,4 +1545,3 @@ } } } - -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/management/MBeanPermission.java --- a/src/share/classes/javax/management/MBeanPermission.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/MBeanPermission.java Tue Aug 12 19:52:30 2014 -0300 @@ -455,11 +455,11 @@ name.append(className); if (member == null) member = "-"; - name.append("#" + member); + name.append('#').append(member); if (objectName == null) name.append("[-]"); else - name.append("[").append(objectName.getCanonicalName()).append("]"); + name.append('[').append(objectName.getCanonicalName()).append(']'); /* In the interests of legibility for Permission.toString(), we transform the empty string into "*". */ diff -r dde9f5cfde5f src/share/classes/javax/management/modelmbean/RequiredModelMBean.java --- a/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java Tue Aug 12 19:52:30 2014 -0300 @@ -716,15 +716,14 @@ } retStr.append("\nMBeanInfo for ModelMBean is:"); - retStr.append("\nCLASSNAME: \t"+ info.getClassName()); - retStr.append("\nDESCRIPTION: \t"+ info.getDescription()); + retStr.append("\nCLASSNAME: \t").append(info.getClassName()); + retStr.append("\nDESCRIPTION: \t").append(info.getDescription()); try { - retStr.append("\nMBEAN DESCRIPTOR: \t"+ - info.getMBeanDescriptor()); + retStr.append("\nMBEAN DESCRIPTOR: \t").append(info.getMBeanDescriptor()); } catch (Exception e) { - retStr.append("\nMBEAN DESCRIPTOR: \t" + " is invalid"); + retStr.append("\nMBEAN DESCRIPTOR: \t is invalid"); } retStr.append("\nATTRIBUTES"); @@ -734,13 +733,12 @@ for (int i=0; i objNameIter = objectNameList.iterator(); - objNameIter.hasNext();) { + StringBuilder sb = new StringBuilder(); + sb.append("role name: ").append(name).append("; role value: "); + for (Iterator objNameIter = objectNameList.iterator(); objNameIter + .hasNext();) { ObjectName currObjName = objNameIter.next(); - result.append(currObjName.toString()); + sb.append(currObjName.toString()); if (objNameIter.hasNext()) { - result.append(", "); + sb.append(", "); } } - return result.toString(); + return sb.toString(); } // diff -r dde9f5cfde5f src/share/classes/javax/management/relation/RoleInfo.java --- a/src/share/classes/javax/management/relation/RoleInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/relation/RoleInfo.java Tue Aug 12 19:52:30 2014 -0300 @@ -456,13 +456,13 @@ */ public String toString() { StringBuilder result = new StringBuilder(); - result.append("role info name: " + name); - result.append("; isReadable: " + isReadable); - result.append("; isWritable: " + isWritable); - result.append("; description: " + description); - result.append("; minimum degree: " + minDegree); - result.append("; maximum degree: " + maxDegree); - result.append("; MBean class: " + referencedMBeanClassName); + result.append("role info name: ").append(name); + result.append("; isReadable: ").append(isReadable); + result.append("; isWritable: ").append(isWritable); + result.append("; description: ").append(description); + result.append("; minimum degree: ").append(minDegree); + result.append("; maximum degree: ").append(maxDegree); + result.append("; MBean class: ").append(referencedMBeanClassName); return result.toString(); } diff -r dde9f5cfde5f src/share/classes/javax/management/relation/RoleUnresolved.java --- a/src/share/classes/javax/management/relation/RoleUnresolved.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/management/relation/RoleUnresolved.java Tue Aug 12 19:52:30 2014 -0300 @@ -282,7 +282,7 @@ */ public String toString() { StringBuilder result = new StringBuilder(); - result.append("role name: " + roleName); + result.append("role name: ").append(roleName); if (roleValue != null) { result.append("; value: "); for (Iterator objNameIter = roleValue.iterator(); @@ -294,7 +294,7 @@ } } } - result.append("; problem type: " + problemType); + result.append("; problem type: ").append(problemType); return result.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/crypto/CryptoPermission.java --- a/src/share/classes/javax/crypto/CryptoPermission.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/crypto/CryptoPermission.java Tue Aug 12 19:52:29 2014 -0300 @@ -369,22 +369,24 @@ * @return information about this CryptoPermission. */ public String toString() { - StringBuilder buf = new StringBuilder(100); - buf.append("(CryptoPermission " + alg + " " + maxKeySize); + StringBuilder sb = new StringBuilder(100); + sb.append("(CryptoPermission ").append(alg).append(' ') + .append(maxKeySize); if (algParamSpec != null) { if (algParamSpec instanceof RC2ParameterSpec) { - buf.append(" , effective " + - ((RC2ParameterSpec)algParamSpec).getEffectiveKeyBits()); + sb.append(" , effective ") + .append(((RC2ParameterSpec) algParamSpec) + .getEffectiveKeyBits()); } else if (algParamSpec instanceof RC5ParameterSpec) { - buf.append(" , rounds " + - ((RC5ParameterSpec)algParamSpec).getRounds()); + sb.append(" , rounds ").append( + ((RC5ParameterSpec) algParamSpec).getRounds()); } } if (exemptionMechanism != null) { // OPTIONAL - buf.append(" " + exemptionMechanism); + sb.append(' ').append(exemptionMechanism); } - buf.append(")"); - return buf.toString(); + sb.append(')'); + return sb.toString(); } private boolean impliesExemptionMechanism(String exemptionMechanism) { -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/naming/BinaryRefAddr.java --- a/src/share/classes/javax/naming/BinaryRefAddr.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/BinaryRefAddr.java Tue Aug 12 19:52:30 2014 -0300 @@ -165,11 +165,11 @@ * @return The non-null string representation of this address. */ public String toString(){ - StringBuilder str = new StringBuilder("Address Type: " + addrType + "\n"); - + StringBuilder str = new StringBuilder(); + str.append("Address Type: ").append(addrType).append('\n'); str.append("AddressContents: "); for (int i = 0; i= 32) str.append(" ...\n"); diff -r dde9f5cfde5f src/share/classes/javax/naming/NameImpl.java --- a/src/share/classes/javax/naming/NameImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/NameImpl.java Tue Aug 12 19:52:30 2014 -0300 @@ -170,7 +170,7 @@ endQuote = one ? syntaxEndQuote1 : syntaxEndQuote2; i += syntaxTypevalSeparator.length(); - answer.append(syntaxTypevalSeparator+beginQuote); // add back + answer.append(syntaxTypevalSeparator).append(beginQuote); // add back // consume string until matching quote for (i += beginQuote.length(); diff -r dde9f5cfde5f src/share/classes/javax/naming/RefAddr.java --- a/src/share/classes/javax/naming/RefAddr.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/naming/RefAddr.java Tue Aug 12 19:52:30 2014 -0300 @@ -139,9 +139,9 @@ * @return The non-null string representation of this address. */ public String toString(){ - StringBuilder str = new StringBuilder("Type: " + addrType + "\n"); - - str.append("Content: " + getContent() + "\n"); + StringBuilder str = new StringBuilder(); + str.append("Type: ").append(addrType).append('\n'); + str.append("Content: ").append(getContent()).append('\n'); return (str.toString()); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/security/auth/kerberos/KerberosTicket.java --- a/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java Tue Aug 12 19:52:30 2014 -0300 @@ -651,8 +651,7 @@ StringBuilder caddrString = new StringBuilder(); if (clientAddresses != null) { for (int i = 0; i < clientAddresses.length; i++) { - caddrString.append("clientAddresses[" + i + "] = " + - clientAddresses[i].toString()); + caddrString.append("clientAddresses[").append(i).append("] = ").append(clientAddresses[i].toString()); } } return ("Ticket (hex) = " + "\n" + -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/sound/sampled/AudioFileFormat.java --- a/src/share/classes/javax/sound/sampled/AudioFileFormat.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/sound/sampled/AudioFileFormat.java Tue Aug 12 19:52:30 2014 -0300 @@ -272,26 +272,25 @@ @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); //$$fb2002-11-01: fix for 4672864: AudioFileFormat.toString() throws unexpected NullPointerException if (type != null) { - buf.append(type.toString() + " (." + type.getExtension() + ") file"); + sb.append(type.toString()).append(" (.").append(type.getExtension()).append(") file"); } else { - buf.append("unknown file format"); + sb.append("unknown file format"); } if (byteLength != AudioSystem.NOT_SPECIFIED) { - buf.append(", byte length: " + byteLength); + sb.append(", byte length: ").append(byteLength); } - buf.append(", data format: " + format); + sb.append(", data format: ").append(format); if (frameLength != AudioSystem.NOT_SPECIFIED) { - buf.append(", frame length: " + frameLength); + sb.append(", frame length: ").append(frameLength); } - - return new String(buf); + return sb.toString(); } /** diff -r dde9f5cfde5f src/share/classes/javax/sound/sampled/DataLine.java --- a/src/share/classes/javax/sound/sampled/DataLine.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/sound/sampled/DataLine.java Tue Aug 12 19:52:30 2014 -0300 @@ -473,17 +473,21 @@ StringBuilder sb = new StringBuilder(); if ( (formats.length == 1) && (formats[0] != null) ) { - sb.append(" supporting format " + formats[0]); + sb.append(" supporting format ").append(formats[0]); } else if (getFormats().length > 1) { - sb.append(" supporting " + getFormats().length + " audio formats"); + sb.append(" supporting ").append(getFormats().length) + .append(" audio formats"); } if ( (minBufferSize != AudioSystem.NOT_SPECIFIED) && (maxBufferSize != AudioSystem.NOT_SPECIFIED) ) { - sb.append(", and buffers of " + minBufferSize + " to " + maxBufferSize + " bytes"); + sb.append(", and buffers of ").append(minBufferSize) + .append(" to ").append(maxBufferSize).append(" bytes"); } else if ( (minBufferSize != AudioSystem.NOT_SPECIFIED) && (minBufferSize > 0) ) { - sb.append(", and buffers of at least " + minBufferSize + " bytes"); + sb.append(", and buffers of at least ").append(minBufferSize) + .append(" bytes"); } else if (maxBufferSize != AudioSystem.NOT_SPECIFIED) { - sb.append(", and buffers of up to " + minBufferSize + " bytes"); + sb.append(", and buffers of up to ").append(minBufferSize) + .append(" bytes"); } return new String(super.toString() + sb); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/javax/swing/GroupLayout.java --- a/src/share/classes/javax/swing/GroupLayout.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/GroupLayout.java Tue Aug 12 19:52:30 2014 -0300 @@ -1213,15 +1213,15 @@ registerComponents(horizontalGroup, HORIZONTAL); registerComponents(verticalGroup, VERTICAL); } - StringBuffer buffer = new StringBuffer(); - buffer.append("HORIZONTAL\n"); - createSpringDescription(buffer, horizontalGroup, " ", HORIZONTAL); - buffer.append("\nVERTICAL\n"); - createSpringDescription(buffer, verticalGroup, " ", VERTICAL); - return buffer.toString(); + StringBuilder sb = new StringBuilder(); + sb.append("HORIZONTAL\n"); + createSpringDescription(sb, horizontalGroup, " ", HORIZONTAL); + sb.append("\nVERTICAL\n"); + createSpringDescription(sb, verticalGroup, " ", VERTICAL); + return sb.toString(); } - private void createSpringDescription(StringBuffer buffer, Spring spring, + private void createSpringDescription(StringBuilder sb, Spring spring, String indent, int axis) { String origin = ""; String padding = ""; @@ -1239,20 +1239,19 @@ padding = ", userCreated=" + paddingSpring.getUserCreated() + ", matches=" + paddingSpring.getMatchDescription(); } - buffer.append(indent + spring.getClass().getName() + " " + - Integer.toHexString(spring.hashCode()) + " " + - origin + - ", size=" + spring.getSize() + - ", alignment=" + spring.getAlignment() + - " prefs=[" + spring.getMinimumSize(axis) + - " " + spring.getPreferredSize(axis) + - " " + spring.getMaximumSize(axis) + - padding + "]\n"); + sb.append(indent).append(spring.getClass().getName()).append(' ') + .append(Integer.toHexString(spring.hashCode())).append(' ') + .append(origin).append(", size=").append(spring.getSize()) + .append(", alignment=").append(spring.getAlignment()) + .append(" prefs=[").append(spring.getMinimumSize(axis)) + .append(' ').append(spring.getPreferredSize(axis)).append(' ') + .append(spring.getMaximumSize(axis)).append(padding) + .append("]\n"); if (spring instanceof Group) { List springs = ((Group)spring).springs; indent += " "; for (int counter = 0; counter < springs.size(); counter++) { - createSpringDescription(buffer, springs.get(counter), indent, + createSpringDescription(sb, springs.get(counter), indent, axis); } } diff -r dde9f5cfde5f src/share/classes/javax/swing/JColorChooser.java --- a/src/share/classes/javax/swing/JColorChooser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/JColorChooser.java Tue Aug 12 19:52:30 2014 -0300 @@ -542,19 +542,19 @@ * * @return a string representation of this JColorChooser */ - protected String paramString() { - StringBuilder chooserPanelsString = new StringBuilder(""); - for (int i=0; i keys = keys(); - while (keys.hasMoreElements()) { - Object key = keys.nextElement(); - sb.append(key + "=" + get(key) + ", "); - } - int length = sb.length(); - if (length > 1) { - sb.delete(length-2, length); - } - sb.append("}"); - return sb.toString(); + StringBuilder sb = new StringBuilder(); + sb.append("{"); + Enumeration keys = keys(); + while (keys.hasMoreElements()) { + Object key = keys.nextElement(); + sb.append(key).append('=').append(get(key)).append(", "); + } + int length = sb.length(); + if (length > 1) { + sb.delete(length - 2, length); + } + sb.append('}'); + return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/javax/swing/RepaintManager.java --- a/src/share/classes/javax/swing/RepaintManager.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/RepaintManager.java Tue Aug 12 19:52:30 2014 -0300 @@ -990,10 +990,7 @@ * @return a String representation of this object */ public synchronized String toString() { - StringBuilder sb = new StringBuilder(); - if(dirtyComponents != null) - sb.append("" + dirtyComponents); - return sb.toString(); + return dirtyComponents != null ? dirtyComponents.toString() : ""; } diff -r dde9f5cfde5f src/share/classes/javax/swing/event/TreeModelEvent.java --- a/src/share/classes/javax/swing/event/TreeModelEvent.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/event/TreeModelEvent.java Tue Aug 12 19:52:30 2014 -0300 @@ -294,21 +294,20 @@ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append(getClass().getName() + " " + - Integer.toString(hashCode())); + sb.append(getClass().getName()).append(' ').append(Integer.toString(hashCode())); if(path != null) - sb.append(" path " + path); + sb.append(" path ").append(path); if(childIndices != null) { sb.append(" indices [ "); for(int counter = 0; counter < childIndices.length; counter++) - sb.append(Integer.toString(childIndices[counter])+ " "); - sb.append("]"); + sb.append(Integer.toString(childIndices[counter])).append(' '); + sb.append(']'); } if(children != null) { sb.append(" children [ "); for(int counter = 0; counter < children.length; counter++) - sb.append(children[counter] + " "); - sb.append("]"); + sb.append(children[counter]).append(' '); + sb.append(']'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java Tue Aug 12 19:52:30 2014 -0300 @@ -1330,8 +1330,8 @@ for (Object obj : values) { String val = ((obj == null) ? "" : obj.toString()); - plainBuf.append(val + "\n"); - htmlBuf.append("
  • " + val + "\n"); + plainBuf.append(val).append('\n'); + htmlBuf.append("
  • ").append(val).append('\n'); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicListUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicListUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicListUI.java Tue Aug 12 19:52:30 2014 -0300 @@ -2948,8 +2948,8 @@ for (int i = 0; i < values.length; i++) { Object obj = values[i]; String val = ((obj == null) ? "" : obj.toString()); - plainStr.append(val + "\n"); - htmlStr.append("
  • " + val + "\n"); + plainStr.append(val).append('\n'); + htmlStr.append("
  • ").append(val).append('\n'); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicTableUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java Tue Aug 12 19:52:30 2014 -0300 @@ -2230,11 +2230,11 @@ for (int col = 0; col < cols.length; col++) { Object obj = table.getValueAt(rows[row], cols[col]); String val = ((obj == null) ? "" : obj.toString()); - plainStr.append(val + "\t"); - htmlStr.append(" " + val + "\n"); + plainStr.append(val).append('\t'); + htmlStr.append(" ").append(val).append("\n"); } // we want a newline at the end of each line and not a tab - plainStr.deleteCharAt(plainStr.length() - 1).append("\n"); + plainStr.deleteCharAt(plainStr.length() - 1).append('\t'); htmlStr.append("\n"); } diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java --- a/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Tue Aug 12 19:52:30 2014 -0300 @@ -3618,8 +3618,8 @@ boolean leaf = model.isLeaf(node); String label = getDisplayString(path, true, leaf); - plainStr.append(label + "\n"); - htmlStr.append("
  • " + label + "\n"); + plainStr.append(label).append('\n'); + htmlStr.append("
  • ").append(label).append('\n'); } // remove the last newline diff -r dde9f5cfde5f src/share/classes/javax/swing/plaf/nimbus/LoweredBorder.java --- a/src/share/classes/javax/swing/plaf/nimbus/LoweredBorder.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/nimbus/LoweredBorder.java Tue Aug 12 19:52:30 2014 -0300 @@ -199,4 +199,3 @@ Math.min((int)(c.getBlue()/factor), 255)); } } - diff -r dde9f5cfde5f src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java --- a/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Tue Aug 12 19:52:30 2014 -0300 @@ -1160,15 +1160,15 @@ rows = rowMapper.getRowsForPaths(selection); else rows = null; - sb.append(getClass().getName() + " " + hashCode() + " [ "); + sb.append(getClass().getName()).append(' ').append(hashCode()).append(" [ "); for(int counter = 0; counter < selCount; counter++) { if(rows != null) - sb.append(selection[counter].toString() + "@" + - Integer.toString(rows[counter])+ " "); + sb.append(selection[counter].toString()).append('@') + .append(Integer.toString(rows[counter])).append(' '); else - sb.append(selection[counter].toString() + " "); + sb.append(selection[counter].toString()).append(' '); } - sb.append("]"); + sb.append(']'); return sb.toString(); } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/font/AttributeValues.java --- a/src/share/classes/sun/font/AttributeValues.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/AttributeValues.java Tue Aug 12 19:52:30 2014 -0300 @@ -542,7 +542,7 @@ } } } - b.append("[btx=" + baselineTransform + ", ctx=" + charTransform + "]"); + b.append("[btx=").append(baselineTransform).append(", ctx=").append(charTransform).append(']'); b.append('}'); return b.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/font/Decoration.java --- a/src/share/classes/sun/font/Decoration.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/Decoration.java Tue Aug 12 19:52:30 2014 -0300 @@ -431,12 +431,12 @@ StringBuilder sb = new StringBuilder(); sb.append(super.toString()); sb.append("["); - if (fgPaint != null) sb.append("fgPaint: " + fgPaint); - if (bgPaint != null) sb.append(" bgPaint: " + bgPaint); + if (fgPaint != null) sb.append("fgPaint: ").append(fgPaint); + if (bgPaint != null) sb.append(" bgPaint: ").append(bgPaint); if (swapColors) sb.append(" swapColors: true"); if (strikethrough) sb.append(" strikethrough: true"); - if (stdUnderline != null) sb.append(" stdUnderline: " + stdUnderline); - if (imUnderline != null) sb.append(" imUnderline: " + imUnderline); + if (stdUnderline != null) sb.append(" stdUnderline: ").append(stdUnderline); + if (imUnderline != null) sb.append(" imUnderline: ").append(imUnderline); sb.append("]"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/font/StandardGlyphVector.java --- a/src/share/classes/sun/font/StandardGlyphVector.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/font/StandardGlyphVector.java Tue Aug 12 19:52:30 2014 -0300 @@ -1894,9 +1894,9 @@ } } catch(Exception e) { - buf.append(" " + e.getMessage()); + buf.append(' ').append(e.getMessage()); } - buf.append("}"); + buf.append('}'); return buf; } -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/launcher/LauncherHelper.java --- a/src/share/classes/sun/launcher/LauncherHelper.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/launcher/LauncherHelper.java Tue Aug 12 19:52:30 2014 -0300 @@ -369,10 +369,9 @@ static void appendVmErgoMessage(boolean isServerClass, String vm) { outBuf = outBuf.append(getLocalizedMessage("java.launcher.ergo.message1", vm)); - outBuf = (isServerClass) - ? outBuf.append(",\n" + - getLocalizedMessage("java.launcher.ergo.message2") + "\n\n") - : outBuf.append(".\n\n"); + outBuf = (isServerClass) ? outBuf.append(",\n") + .append(getLocalizedMessage("java.launcher.ergo.message2")) + .append("\n\n") : outBuf.append(".\n\n"); } /** -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/management/Agent.java --- a/src/share/classes/sun/management/Agent.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/management/Agent.java Tue Aug 12 19:52:31 2014 -0300 @@ -502,7 +502,7 @@ } else { StringBuilder message = new StringBuilder(params[0]); for (int i = 1; i < params.length; i++) { - message.append(" " + params[i]); + message.append(' ').append(params[i]); } error(key, message.toString()); } diff -r dde9f5cfde5f src/share/classes/sun/management/MappedMXBeanType.java --- a/src/share/classes/sun/management/MappedMXBeanType.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/management/MappedMXBeanType.java Tue Aug 12 19:52:31 2014 -0300 @@ -289,7 +289,7 @@ if (et.isPrimitive()) { className = new StringBuilder(c.getName()); } else { - className.append("L" + baseElementType.getTypeName() + ";"); + className.append('L').append(baseElementType.getTypeName()).append(';'); } try { mappedTypeClass = Class.forName(className.toString()); @@ -385,7 +385,7 @@ if (elementType instanceof Class && ((Class) elementType).isPrimitive()) { className = new StringBuilder(gat.toString()); } else { - className.append("L" + baseElementType.getTypeName() + ";"); + className.append('L').append(baseElementType.getTypeName()).append(';'); } try { mappedTypeClass = Class.forName(className.toString()); -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java --- a/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Tue Aug 12 19:52:31 2014 -0300 @@ -463,12 +463,12 @@ // --------- - private static void appendIfLiteralAddress(String addr, StringBuffer sb) { + private static void appendIfLiteralAddress(String addr, StringBuilder sb) { if (IPAddressUtil.isIPv4LiteralAddress(addr)) { - sb.append("dns://" + addr + " "); + sb.append("dns://").append(addr).append(' '); } else { if (IPAddressUtil.isIPv6LiteralAddress(addr)) { - sb.append("dns://[" + addr + "] "); + sb.append("dns://[").append(addr).append("] "); } } } @@ -478,7 +478,7 @@ * corresponding to the supplied List of nameservers. */ private static String createProviderURL(List nsList) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (String s: nsList) { appendIfLiteralAddress(s, sb); } @@ -491,7 +491,7 @@ * contained in the provided str. */ private static String createProviderURL(String str) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); StringTokenizer st = new StringTokenizer(str, ","); while (st.hasMoreTokens()) { appendIfLiteralAddress(st.nextToken(), sb); diff -r dde9f5cfde5f src/share/classes/sun/net/util/URLUtil.java --- a/src/share/classes/sun/net/util/URLUtil.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/util/URLUtil.java Tue Aug 12 19:52:31 2014 -0300 @@ -77,4 +77,3 @@ return strForm.toString(); } } - diff -r dde9f5cfde5f src/share/classes/sun/net/www/HeaderParser.java --- a/src/share/classes/sun/net/www/HeaderParser.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/HeaderParser.java Tue Aug 12 19:52:31 2014 -0300 @@ -220,21 +220,23 @@ public String toString () { Iterator k = keys(); - StringBuffer sbuf = new StringBuffer(); - sbuf.append ("{size="+asize+" nkeys="+nkeys+" "); + StringBuilder sb = new StringBuilder(); + sb.append("{size=").append(asize).append(" nkeys=").append(nkeys) + .append(' '); for (int i=0; k.hasNext(); i++) { String key = k.next(); String val = findValue (i); if (val != null && "".equals (val)) { val = null; } - sbuf.append (" {"+key+(val==null?"":","+val)+"}"); + sb.append(" {").append(key).append(val == null ? "" : "," + val) + .append('}'); if (k.hasNext()) { - sbuf.append (","); + sb.append (','); } } - sbuf.append (" }"); - return new String (sbuf); + sb.append (" }"); + return new String (sb); } public int findInt(String k, int Default) { diff -r dde9f5cfde5f src/share/classes/sun/net/www/MimeEntry.java --- a/src/share/classes/sun/net/www/MimeEntry.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/MimeEntry.java Tue Aug 12 19:52:31 2014 -0300 @@ -288,7 +288,7 @@ int action = getAction(); if (action != MimeEntry.UNKNOWN) { - sb.append("action=" + actionKeywords[action]); + sb.append("action=").append(actionKeywords[action]); needSeparator = true; } @@ -297,7 +297,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("application=" + command); + sb.append("application=").append(command); needSeparator = true; } @@ -305,7 +305,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("icon=" + getImageFileName()); + sb.append("icon=").append(getImageFileName()); needSeparator = true; } @@ -314,7 +314,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("file_extensions=" + extensions); + sb.append("file_extensions=").append(extensions); needSeparator = true; } @@ -323,7 +323,7 @@ if (needSeparator) { sb.append(separator); } - sb.append("description=" + description); + sb.append("description=").append(description); } return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/net/www/protocol/http/AuthScheme.java --- a/src/share/classes/sun/net/www/protocol/http/AuthScheme.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/protocol/http/AuthScheme.java Tue Aug 12 19:52:31 2014 -0300 @@ -35,4 +35,3 @@ KERBEROS, UNKNOWN; } - diff -r dde9f5cfde5f src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java --- a/src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java Tue Aug 12 19:52:31 2014 -0300 @@ -202,4 +202,3 @@ return npath; } } - diff -r dde9f5cfde5f src/share/classes/sun/net/www/protocol/http/Negotiator.java --- a/src/share/classes/sun/net/www/protocol/http/Negotiator.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/protocol/http/Negotiator.java Tue Aug 12 19:52:31 2014 -0300 @@ -81,4 +81,3 @@ } } } - diff -r dde9f5cfde5f src/share/classes/sun/net/www/protocol/http/ntlm/NTLMAuthenticationCallback.java --- a/src/share/classes/sun/net/www/protocol/http/ntlm/NTLMAuthenticationCallback.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/net/www/protocol/http/ntlm/NTLMAuthenticationCallback.java Tue Aug 12 19:52:31 2014 -0300 @@ -56,4 +56,3 @@ public boolean isTrustedSite(URL url) { return true; } } } - -------------- next part -------------- diff -r dde9f5cfde5f src/share/classes/sun/security/acl/AclEntryImpl.java --- a/src/share/classes/sun/security/acl/AclEntryImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/acl/AclEntryImpl.java Tue Aug 12 19:52:31 2014 -0300 @@ -137,26 +137,30 @@ /** * Return a string representation of the contents of the ACL entry. */ - public String toString() { - StringBuffer s = new StringBuffer(); - if (negative) - s.append("-"); - else - s.append("+"); - if (user instanceof Group) - s.append("Group."); - else - s.append("User."); - s.append(user + "="); - Enumeration e = permissions(); - while(e.hasMoreElements()) { - Permission p = e.nextElement(); - s.append(p); - if (e.hasMoreElements()) - s.append(","); + public String toString() { + StringBuffer sb = new StringBuffer(); + if (negative) { + sb.append('-'); + } else { + sb.append('+'); + } + if (user instanceof Group) { + sb.append("Group."); + } else { + sb.append("User."); + } + sb.append(user).append('='); + + Enumeration e = permissions(); + while (e.hasMoreElements()) { + Permission p = e.nextElement(); + sb.append(p); + if (e.hasMoreElements()) { + sb.append(','); + } + } + return sb.toString(); } - return new String(s); - } /** * Clones an AclEntry. diff -r dde9f5cfde5f src/share/classes/sun/security/jgss/GSSCaller.java --- a/src/share/classes/sun/security/jgss/GSSCaller.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/jgss/GSSCaller.java Tue Aug 12 19:52:31 2014 -0300 @@ -46,4 +46,3 @@ return "GSSCaller{" + name + '}'; } } - diff -r dde9f5cfde5f src/share/classes/sun/security/jgss/HttpCaller.java --- a/src/share/classes/sun/security/jgss/HttpCaller.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/jgss/HttpCaller.java Tue Aug 12 19:52:31 2014 -0300 @@ -43,4 +43,3 @@ return hci; } } - diff -r dde9f5cfde5f src/share/classes/sun/security/jgss/spnego/SpNegoContext.java --- a/src/share/classes/sun/security/jgss/spnego/SpNegoContext.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/jgss/spnego/SpNegoContext.java Tue Aug 12 19:52:31 2014 -0300 @@ -1231,4 +1231,3 @@ } } } - diff -r dde9f5cfde5f src/share/classes/sun/security/krb5/KdcComm.java --- a/src/share/classes/sun/security/krb5/KdcComm.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/krb5/KdcComm.java Tue Aug 12 19:52:31 2014 -0300 @@ -560,4 +560,3 @@ } } } - diff -r dde9f5cfde5f src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java --- a/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java Tue Aug 12 19:52:31 2014 -0300 @@ -640,8 +640,7 @@ for (int i = 0; i < digest.length; i++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0" + - Integer.toHexString(digest[i] & 0x000000ff)); + digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( Integer.toHexString(digest[i] & 0x000000ff)); diff -r dde9f5cfde5f src/share/classes/sun/security/pkcs/SigningCertificateInfo.java --- a/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java Tue Aug 12 19:52:31 2014 -0300 @@ -158,8 +158,8 @@ } sb.append(hexDumper.encode(certHash)); if (issuer != null && serialNumber != null) { - sb.append("\n\tIssuer: " + issuer + "\n"); - sb.append("\t" + serialNumber); + sb.append("\n\tIssuer: ").append(issuer).append('\n'); + sb.append('\t').append(serialNumber); } sb.append("\n]"); return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/pkcs11/P11KeyStore.java --- a/src/share/classes/sun/security/pkcs11/P11KeyStore.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/pkcs11/P11KeyStore.java Tue Aug 12 19:52:31 2014 -0300 @@ -196,24 +196,24 @@ } else if (type == ATTR_CLASS_CERT) { sb.append("\ttype=[trusted cert]\n"); } - sb.append("\tlabel=[" + label + "]\n"); + sb.append("\tlabel=[").append(label).append("]\n"); if (id == null) { sb.append("\tid=[null]\n"); } else { - sb.append("\tid=" + P11KeyStore.getID(id) + "\n"); + sb.append("\tid=").append(P11KeyStore.getID(id)).append('\n'); } - sb.append("\ttrusted=[" + trusted + "]\n"); - sb.append("\tmatched=[" + matched + "]\n"); + sb.append("\ttrusted=[").append(trusted).append("]\n"); + sb.append("\tmatched=[").append(matched).append("]\n"); if (cert == null) { sb.append("\tcert=[null]\n"); } else { - sb.append("\tcert=[\tsubject: " + - cert.getSubjectX500Principal() + - "\n\t\tissuer: " + - cert.getIssuerX500Principal() + - "\n\t\tserialNum: " + - cert.getSerialNumber().toString() + - "]"); + sb.append("\tcert=[\tsubject: ") + .append(cert.getSubjectX500Principal()) + .append("\n\t\tissuer: ") + .append(cert.getIssuerX500Principal()) + .append("\n\t\tserialNum: ") + .append(cert.getSerialNumber().toString()) + .append(']'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/PolicyFile.java --- a/src/share/classes/sun/security/provider/PolicyFile.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/PolicyFile.java Tue Aug 12 19:52:31 2014 -0300 @@ -1485,30 +1485,30 @@ } int startIndex = 0; int v; - StringBuilder sb = new StringBuilder(); - while ((v = sp.getSelfName().indexOf(SELF, startIndex)) != -1) { + StringBuilder sb = new StringBuilder(); + while ((v = sp.getSelfName().indexOf(SELF, startIndex)) != -1) { - // add non-SELF string - sb.append(sp.getSelfName().substring(startIndex, v)); + // add non-SELF string + sb.append(sp.getSelfName().substring(startIndex, v)); - // expand SELF - Iterator pli = entryPs.iterator(); - while (pli.hasNext()) { - PolicyParser.PrincipalEntry pppe = pli.next(); - String[][] principalInfo = getPrincipalInfo(pppe,pdp); - for (int i = 0; i < principalInfo.length; i++) { - if (i != 0) { - sb.append(", "); - } - sb.append(principalInfo[i][0] + " " + - "\"" + principalInfo[i][1] + "\""); + // expand SELF + Iterator pli = entryPs.iterator(); + while (pli.hasNext()) { + PolicyParser.PrincipalEntry pppe = pli.next(); + String[][] principalInfo = getPrincipalInfo(pppe, pdp); + for (int i = 0; i < principalInfo.length; i++) { + if (i != 0) { + sb.append(", "); + } + sb.append(principalInfo[i][0]).append(' ').append('"') + .append(principalInfo[i][1]).append('"'); + } + if (pli.hasNext()) { + sb.append(", "); + } + } + startIndex = v + SELF.length(); } - if (pli.hasNext()) { - sb.append(", "); - } - } - startIndex = v + SELF.length(); - } // add remaining string (might be the entire string) sb.append(sp.getSelfName().substring(startIndex)); @@ -1774,17 +1774,17 @@ Principal[] principals = pd.getPrincipals(); String pals = ""; if (principals != null && principals.length > 0) { - StringBuilder palBuf = new StringBuilder("(principals "); + StringBuilder palSB = new StringBuilder("(principals "); for (int i = 0; i < principals.length; i++) { - palBuf.append(principals[i].getClass().getName() + - " \"" + principals[i].getName() + - "\""); + palSB.append(principals[i].getClass().getName()) + .append(" \"").append(principals[i].getName()) + .append('"'); if (i < principals.length-1) - palBuf.append(", "); + palSB.append(", "); else - palBuf.append(")"); + palSB.append(')'); } - pals = palBuf.toString(); + pals = palSB.toString(); } return "PD CodeSource: " + pd.getCodeSource() @@ -1884,7 +1884,7 @@ throw new Exception(form.format(source)); } - sb.append(X500PRINCIPAL + " \"" + suffix + "\""); + sb.append(X500PRINCIPAL).append(" \"").append(suffix).append('"'); startIndex = e+2; } else { MessageFormat form = new MessageFormat diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/AlgorithmChecker.java --- a/src/share/classes/sun/security/provider/certpath/AlgorithmChecker.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/AlgorithmChecker.java Tue Aug 12 19:52:31 2014 -0300 @@ -363,4 +363,3 @@ } } - diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/CertId.java --- a/src/share/classes/sun/security/provider/certpath/CertId.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/CertId.java Tue Aug 12 19:52:31 2014 -0300 @@ -223,13 +223,13 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("CertId \n"); - sb.append("Algorithm: " + hashAlgId.toString() +"\n"); + sb.append("Algorithm: ").append(hashAlgId.toString()).append('\n'); sb.append("issuerNameHash \n"); HexDumpEncoder encoder = new HexDumpEncoder(); sb.append(encoder.encode(issuerNameHash)); sb.append("\nissuerKeyHash: \n"); sb.append(encoder.encode(issuerKeyHash)); - sb.append("\n" + certSerialNumber.toString()); + sb.append('\n').append(certSerialNumber.toString()); return sb.toString(); } } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/OCSPResponse.java --- a/src/share/classes/sun/security/provider/certpath/OCSPResponse.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/OCSPResponse.java Tue Aug 12 19:52:31 2014 -0300 @@ -812,14 +812,14 @@ StringBuilder sb = new StringBuilder(); sb.append("SingleResponse: \n"); sb.append(certId); - sb.append("\nCertStatus: "+ certStatus + "\n"); + sb.append("\nCertStatus: ").append(certStatus).append('\n'); if (certStatus == CertStatus.REVOKED) { - sb.append("revocationTime is " + revocationTime + "\n"); - sb.append("revocationReason is " + revocationReason + "\n"); + sb.append("revocationTime is ").append(revocationTime).append('\n'); + sb.append("revocationReason is ").append(revocationReason).append('\n'); } - sb.append("thisUpdate is " + thisUpdate + "\n"); + sb.append("thisUpdate is ").append(thisUpdate).append('\n'); if (nextUpdate != null) { - sb.append("nextUpdate is " + nextUpdate + "\n"); + sb.append("nextUpdate is ").append(nextUpdate).append('\n'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java --- a/src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java Tue Aug 12 19:52:31 2014 -0300 @@ -124,7 +124,7 @@ StringBuilder sb = new StringBuilder(); sb.append("[\n"); sb.append(super.toString()); - sb.append(" Build Forward Flag: " + String.valueOf(buildForward) + "\n"); + sb.append(" Build Forward Flag: ").append(String.valueOf(buildForward)).append('\n'); sb.append("]\n"); return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/provider/certpath/UntrustedChecker.java --- a/src/share/classes/sun/security/provider/certpath/UntrustedChecker.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/provider/certpath/UntrustedChecker.java Tue Aug 12 19:52:31 2014 -0300 @@ -86,4 +86,3 @@ } } } - diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/HandshakeMessage.java --- a/src/share/classes/sun/security/ssl/HandshakeMessage.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/HandshakeMessage.java Tue Aug 12 19:52:31 2014 -0300 @@ -1478,7 +1478,7 @@ boolean opened = false; for (SignatureAndHashAlgorithm signAlg : algorithms) { if (opened) { - sb.append(", " + signAlg.getAlgorithmName()); + sb.append(", ").append(signAlg.getAlgorithmName()); } else { sb.append(signAlg.getAlgorithmName()); opened = true; diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/MAC.java --- a/src/share/classes/sun/security/ssl/MAC.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/MAC.java Tue Aug 12 19:52:31 2014 -0300 @@ -165,4 +165,3 @@ } } - diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java --- a/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java Tue Aug 12 19:52:31 2014 -0300 @@ -472,4 +472,3 @@ } } } - diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/ServerNameExtension.java --- a/src/share/classes/sun/security/ssl/ServerNameExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/ServerNameExtension.java Tue Aug 12 19:52:31 2014 -0300 @@ -267,11 +267,11 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); + sb.append("Extension ").append(type).append(", server_name: "); for (SNIServerName sniName : sniMap.values()) { - sb.append("[" + sniName + "]"); + sb.append('[').append(sniName).append(']'); } - - return "Extension " + type + ", server_name: " + sb; + return sb.toString(); } private static class UnknownServerName extends SNIServerName { diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java --- a/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Tue Aug 12 19:52:31 2014 -0300 @@ -119,17 +119,16 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); + sb.append("Extension ").append(type).append(", signature_algorithms: "); boolean opened = false; for (SignatureAndHashAlgorithm signAlg : algorithms) { if (opened) { - sb.append(", " + signAlg.getAlgorithmName()); + sb.append(", ").append(signAlg.getAlgorithmName()); } else { sb.append(signAlg.getAlgorithmName()); opened = true; } } - - return "Extension " + type + ", signature_algorithms: " + sb; + return sb.toString(); } } - diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java --- a/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java Tue Aug 12 19:52:31 2014 -0300 @@ -434,4 +434,3 @@ } } } - diff -r dde9f5cfde5f src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java --- a/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java Tue Aug 12 19:52:31 2014 -0300 @@ -112,37 +112,37 @@ @Override public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("Extension " + type + ", curve names: {"); - boolean first = true; - for (int curveId : curveIds) { - if (first) { - first = false; - } else { - sb.append(", "); - } - // first check if it is a known named curve, then try other cases. - String oid = getCurveOid(curveId); - if (oid != null) { - ECParameterSpec spec = JsseJce.getECParameterSpec(oid); - // this toString() output will look nice for the current - // implementation of the ECParameterSpec class in the Sun - // provider, but may not look good for other implementations. - if (spec != null) { - sb.append(spec.toString().split(" ")[0]); - } else { - sb.append(oid); + StringBuilder sb = new StringBuilder(); + sb.append("Extension ").append(type).append(", curve names: {"); + boolean first = true; + for (int curveId : curveIds) { + if (first) { + first = false; + } else { + sb.append(", "); + } + // first check if it is a known named curve, then try other cases. + String oid = getCurveOid(curveId); + if (oid != null) { + ECParameterSpec spec = JsseJce.getECParameterSpec(oid); + // this toString() output will look nice for the current + // implementation of the ECParameterSpec class in the Sun + // provider, but may not look good for other implementations. + if (spec != null) { + sb.append(spec.toString().split(" ")[0]); + } else { + sb.append(oid); + } + } else if (curveId == ARBITRARY_PRIME) { + sb.append("arbitrary_explicit_prime_curves"); + } else if (curveId == ARBITRARY_CHAR2) { + sb.append("arbitrary_explicit_char2_curves"); + } else { + sb.append("unknown curve ").append(curveId); + } } - } else if (curveId == ARBITRARY_PRIME) { - sb.append("arbitrary_explicit_prime_curves"); - } else if (curveId == ARBITRARY_CHAR2) { - sb.append("arbitrary_explicit_char2_curves"); - } else { - sb.append("unknown curve " + curveId); - } - } - sb.append("}"); - return sb.toString(); + sb.append("}"); + return sb.toString(); } // Test whether we support the curve with the given index. diff -r dde9f5cfde5f src/share/classes/sun/security/tools/jarsigner/Main.java --- a/src/share/classes/sun/security/tools/jarsigner/Main.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/tools/jarsigner/Main.java Tue Aug 12 19:52:31 2014 -0300 @@ -676,14 +676,13 @@ ((man.getAttributes(name) != null) || (man.getAttributes("./"+name) != null) || (man.getAttributes("/"+name) != null)); - sb.append( - (isSigned ? rb.getString("s") : rb.getString("SPACE")) + - (inManifest ? rb.getString("m") : rb.getString("SPACE")) + - (inStore ? rb.getString("k") : rb.getString("SPACE")) + - (inScope ? rb.getString("i") : rb.getString("SPACE")) + - ((inStoreOrScope & NOT_ALIAS) != 0 ?"X":" ") + - rb.getString("SPACE")); - sb.append("|"); + sb.append(isSigned ? rb.getString("s") : rb.getString("SPACE")) + .append(inManifest ? rb.getString("m") : rb.getString("SPACE")) + .append(inStore ? rb.getString("k") : rb.getString("SPACE")) + .append(inScope ? rb.getString("i") : rb.getString("SPACE")) + .append((inStoreOrScope & NOT_ALIAS) != 0 ? 'X' : ' ') + .append(rb.getString("SPACE")); + sb.append('|'); } // When -certs provided, display info has extra empty @@ -704,11 +703,13 @@ // Print no info for unsigned entries when -verbose:all, // to be consistent with old behavior. if (signatureRelated(name)) { - sb.append("\n" + tab + rb.getString( - ".Signature.related.entries.") + "\n\n"); + sb.append('\n').append(tab).append( + rb.getString(".Signature.related.entries.")) + .append("\n\n"); } else { - sb.append("\n" + tab + rb.getString( - ".Unsigned.entries.") + "\n\n"); + sb.append('\n').append(tab).append( + rb.getString(".Unsigned.entries.")) + .append("\n\n"); } } @@ -1605,8 +1606,8 @@ // No more warning, we alreay have hasExpiredCert or notYetValidCert } else { chainNotValidated = true; - sb.append(tab + rb.getString(".CertPath.not.validated.") + - e.getLocalizedMessage() + "]\n"); // TODO + sb.append(tab).append(rb.getString(".CertPath.not.validated.")) + .append(e.getLocalizedMessage()).append("]\n"); // TODO } } String result = sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/tools/keytool/Main.java --- a/src/share/classes/sun/security/tools/keytool/Main.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/tools/keytool/Main.java Tue Aug 12 19:52:31 2014 -0300 @@ -4234,4 +4234,3 @@ return new Pair<>(a,b); } } - diff -r dde9f5cfde5f src/share/classes/sun/security/tools/policytool/PolicyTool.java --- a/src/share/classes/sun/security/tools/policytool/PolicyTool.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/tools/policytool/PolicyTool.java Tue Aug 12 19:52:31 2014 -0300 @@ -980,8 +980,9 @@ grantEntry.principals.listIterator(); while (list.hasNext()) { PolicyParser.PrincipalEntry pppe = list.next(); - sb.append(" Principal " + pppe.getDisplayClass() + " " + - pppe.getDisplayName(true)); + sb.append(" Principal ").append(pppe.getDisplayClass()) + .append(' ') + .append(pppe.getDisplayName(true)); if (list.hasNext()) sb.append(", "); } result = sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java --- a/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java Tue Aug 12 19:52:31 2014 -0300 @@ -455,4 +455,3 @@ } } - diff -r dde9f5cfde5f src/share/classes/sun/security/util/ECParameters.java --- a/src/share/classes/sun/security/util/ECParameters.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/util/ECParameters.java Tue Aug 12 19:52:31 2014 -0300 @@ -233,4 +233,3 @@ return namedCurve.toString(); } } - diff -r dde9f5cfde5f src/share/classes/sun/security/util/KeyUtil.java --- a/src/share/classes/sun/security/util/KeyUtil.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/util/KeyUtil.java Tue Aug 12 19:52:31 2014 -0300 @@ -303,4 +303,3 @@ } } - diff -r dde9f5cfde5f src/share/classes/sun/security/util/Resources.java --- a/src/share/classes/sun/security/util/Resources.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/util/Resources.java Tue Aug 12 19:52:31 2014 -0300 @@ -169,4 +169,3 @@ return contents; } } - diff -r dde9f5cfde5f src/share/classes/sun/security/util/Resources_de.java --- a/src/share/classes/sun/security/util/Resources_de.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/util/Resources_de.java Tue Aug 12 19:52:31 2014 -0300 @@ -169,4 +169,3 @@ return contents; } } - diff -r dde9f5cfde5f src/share/classes/sun/security/util/Resources_es.java --- a/src/share/classes/sun/security/util/Resources_es.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/util/Resources_es.java Tue Aug 12 19:52:31 2014 -0300 @@ -169,4 +169,3 @@ return contents; } } - diff -r dde9f5cfde5f src/share/classes/sun/security/util/Resources_fr.java --- a/src/share/classes/sun/security/util/Resources_fr.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/util/Resources_fr.java Tue Aug 12 19:52:31 2014 -0300 @@ -169,4 +169,3 @@ return contents; } } - diff -r dde9f5cfde5f src/share/classes/sun/security/util/Resources_it.java --- a/src/share/classes/sun/security/util/Resources_it.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/util/Resources_it.java Tue Aug 12 19:52:31 2014 -0300 @@ -169,4 +169,3 @@ return contents; } } - diff -r dde9f5cfde5f src/share/classes/sun/security/util/Resources_ja.java --- a/src/share/classes/sun/security/util/Resources_ja.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/util/Resources_ja.java Tue Aug 12 19:52:31 2014 -0300 @@ -169,4 +169,3 @@ return contents; } } - diff -r dde9f5cfde5f src/share/classes/sun/security/util/Resources_ko.java --- a/src/share/classes/sun/security/util/Resources_ko.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/util/Resources_ko.java Tue Aug 12 19:52:31 2014 -0300 @@ -169,4 +169,3 @@ return contents; } } - diff -r dde9f5cfde5f src/share/classes/sun/security/util/Resources_pt_BR.java --- a/src/share/classes/sun/security/util/Resources_pt_BR.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/util/Resources_pt_BR.java Tue Aug 12 19:52:31 2014 -0300 @@ -169,4 +169,3 @@ return contents; } } - diff -r dde9f5cfde5f src/share/classes/sun/security/util/Resources_sv.java --- a/src/share/classes/sun/security/util/Resources_sv.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/util/Resources_sv.java Tue Aug 12 19:52:31 2014 -0300 @@ -169,4 +169,3 @@ return contents; } } - diff -r dde9f5cfde5f src/share/classes/sun/security/util/Resources_zh_CN.java --- a/src/share/classes/sun/security/util/Resources_zh_CN.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/util/Resources_zh_CN.java Tue Aug 12 19:52:31 2014 -0300 @@ -169,4 +169,3 @@ return contents; } } - diff -r dde9f5cfde5f src/share/classes/sun/security/util/Resources_zh_TW.java --- a/src/share/classes/sun/security/util/Resources_zh_TW.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/util/Resources_zh_TW.java Tue Aug 12 19:52:31 2014 -0300 @@ -169,4 +169,3 @@ return contents; } } - diff -r dde9f5cfde5f src/share/classes/sun/security/x509/AVA.java --- a/src/share/classes/sun/security/x509/AVA.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/AVA.java Tue Aug 12 19:52:31 2014 -0300 @@ -1062,7 +1062,7 @@ } else { boolean quoteNeeded = false; - StringBuilder sbuffer = new StringBuilder(); + StringBuilder sb = new StringBuilder(); boolean previousWhite = false; final String escapees = ",+=\n<>#;\\\""; @@ -1079,7 +1079,7 @@ for (int i = 0; i < length; i++) { char c = valStr.charAt(i); if (alreadyQuoted && (i == 0 || i == length - 1)) { - sbuffer.append(c); + sb.append(c); continue; } if (DerValue.isPrintableStringChar(c) || @@ -1096,7 +1096,7 @@ if (!(c == ' ' || c == '\n')) { // escape '"' and '\' if (c == '"' || c == '\\') { - sbuffer.append('\\'); + sb.append('\\'); } previousWhite = false; } else { @@ -1106,7 +1106,7 @@ previousWhite = true; } - sbuffer.append(c); + sb.append(c); } else if (debug != null && Debug.isOn("ava")) { @@ -1119,26 +1119,26 @@ byte[] valueBytes = Character.toString(c).getBytes("UTF8"); for (int j = 0; j < valueBytes.length; j++) { - sbuffer.append('\\'); + sb.append('\\'); char hexChar = Character.forDigit (0xF & (valueBytes[j] >>> 4), 16); - sbuffer.append(Character.toUpperCase(hexChar)); + sb.append(Character.toUpperCase(hexChar)); hexChar = Character.forDigit (0xF & (valueBytes[j]), 16); - sbuffer.append(Character.toUpperCase(hexChar)); + sb.append(Character.toUpperCase(hexChar)); } } else { // append non-printable/non-escaped char previousWhite = false; - sbuffer.append(c); + sb.append(c); } } // quote if trailing whitespace - if (sbuffer.length() > 0) { - char trailChar = sbuffer.charAt(sbuffer.length() - 1); + if (sb.length() > 0) { + char trailChar = sb.charAt(sb.length() - 1); if (trailChar == ' ' || trailChar == '\n') { quoteNeeded = true; } @@ -1147,9 +1147,9 @@ // Emit the string ... quote it if needed // if string is already quoted, don't re-quote if (!alreadyQuoted && quoteNeeded) { - retval.append("\"" + sbuffer.toString() + "\""); + retval.append('"').append(sb.toString()).append('"'); } else { - retval.append(sbuffer.toString()); + retval.append(sb.toString()); } } } catch (IOException e) { diff -r dde9f5cfde5f src/share/classes/sun/security/x509/DistributionPoint.java --- a/src/share/classes/sun/security/x509/DistributionPoint.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/DistributionPoint.java Tue Aug 12 19:52:31 2014 -0300 @@ -381,22 +381,22 @@ public String toString() { StringBuilder sb = new StringBuilder(); if (fullName != null) { - sb.append("DistributionPoint:\n " + fullName + "\n"); + sb.append("DistributionPoint:\n ").append(fullName).append('\n'); } if (relativeName != null) { - sb.append("DistributionPoint:\n " + relativeName + "\n"); + sb.append("DistributionPoint:\n ").append(relativeName).append('\n'); } if (reasonFlags != null) { sb.append(" ReasonFlags:\n"); for (int i = 0; i < reasonFlags.length; i++) { if (reasonFlags[i]) { - sb.append(" " + reasonToString(i) + "\n"); + sb.append(" ").append(reasonToString(i)).append('\n'); } } } if (crlIssuer != null) { - sb.append(" CRLIssuer:" + crlIssuer + "\n"); + sb.append(" CRLIssuer:").append(crlIssuer).append('\n'); } return sb.toString(); } diff -r dde9f5cfde5f src/share/classes/sun/security/x509/DistributionPointName.java --- a/src/share/classes/sun/security/x509/DistributionPointName.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/DistributionPointName.java Tue Aug 12 19:52:31 2014 -0300 @@ -231,10 +231,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); if (fullName != null) { - sb.append("DistributionPointName:\n " + fullName + "\n"); + sb.append("DistributionPointName:\n ").append(fullName).append('\n'); } else { - sb.append("DistributionPointName:\n " + relativeName + "\n"); + sb.append("DistributionPointName:\n ").append(relativeName).append('\n'); } return sb.toString(); diff -r dde9f5cfde5f src/share/classes/sun/security/x509/PolicyInformation.java --- a/src/share/classes/sun/security/x509/PolicyInformation.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/PolicyInformation.java Tue Aug 12 19:52:31 2014 -0300 @@ -258,9 +258,9 @@ * Return a printable representation of the PolicyInformation. */ public String toString() { - StringBuilder s = new StringBuilder(" [" + policyIdentifier.toString()); - s.append(policyQualifiers + " ]\n"); - return s.toString(); + StringBuilder sb = new StringBuilder(" [" + policyIdentifier.toString()); + sb.append(policyQualifiers).append(" ]\n"); + return sb.toString(); } /** diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CRLEntryImpl.java --- a/src/share/classes/sun/security/x509/X509CRLEntryImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CRLEntryImpl.java Tue Aug 12 19:52:31 2014 -0300 @@ -292,17 +292,17 @@ StringBuilder sb = new StringBuilder(); sb.append(serialNumber.toString()); - sb.append(" On: " + revocationDate.toString()); + sb.append(" On: ").append(revocationDate.toString()); if (certIssuer != null) { - sb.append("\n Certificate issuer: " + certIssuer); + sb.append("\n Certificate issuer: ").append(certIssuer); } if (extensions != null) { Collection allEntryExts = extensions.getAllExtensions(); Extension[] exts = allEntryExts.toArray(new Extension[0]); - sb.append("\n CRL Entry Extensions: " + exts.length); + sb.append("\n CRL Entry Extensions: ").append(exts.length); for (int i = 0; i < exts.length; i++) { - sb.append("\n [" + (i+1) + "]: "); + sb.append("\n [").append(i + 1).append("]: "); Extension ext = exts[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -313,9 +313,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append('\n'); } } else sb.append(ext.toString()); //sub-class exists diff -r dde9f5cfde5f src/share/classes/sun/security/x509/X509CRLImpl.java --- a/src/share/classes/sun/security/x509/X509CRLImpl.java Tue Aug 05 19:29:00 2014 -0700 +++ b/src/share/classes/sun/security/x509/X509CRLImpl.java Tue Aug 12 19:52:31 2014 -0300 @@ -537,31 +537,32 @@ */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("X.509 CRL v" + (version+1) + "\n"); + sb.append("X.509 CRL v").append(version + 1).append('\n'); if (sigAlgId != null) - sb.append("Signature Algorithm: " + sigAlgId.toString() + - ", OID=" + (sigAlgId.getOID()).toString() + "\n"); + sb.append("Signature Algorithm: ").append(sigAlgId.toString()) + .append(", OID=") + .append((sigAlgId.getOID()).toString()).append('\n'); if (issuer != null) - sb.append("Issuer: " + issuer.toString() + "\n"); + sb.append("Issuer: ").append(issuer.toString()).append('\n'); if (thisUpdate != null) - sb.append("\nThis Update: " + thisUpdate.toString() + "\n"); + sb.append("\nThis Update: ").append(thisUpdate.toString()).append('\n'); if (nextUpdate != null) - sb.append("Next Update: " + nextUpdate.toString() + "\n"); + sb.append("Next Update: ").append(nextUpdate.toString()).append('\n'); if (revokedList.isEmpty()) sb.append("\nNO certificates have been revoked\n"); else { - sb.append("\nRevoked Certificates: " + revokedList.size()); + sb.append("\nRevoked Certificates: ").append(revokedList.size()); int i = 1; for (X509CRLEntry entry: revokedList) { - sb.append("\n[" + i++ + "] " + entry.toString()); + sb.append("\n[").append(i++).append("] ").append(entry.toString()); } } if (extensions != null) { Collection allExts = extensions.getAllExtensions(); Object[] objs = allExts.toArray(); - sb.append("\nCRL Extensions: " + objs.length); + sb.append("\nCRL Extensions: ").append(objs.length); for (int i = 0; i < objs.length; i++) { - sb.append("\n[" + (i+1) + "]: "); + sb.append("\n[").append(i + 1).append("]: "); Extension ext = (Extension)objs[i]; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { @@ -572,9 +573,8 @@ out.putOctetString(extValue); extValue = out.toByteArray(); HexDumpEncoder enc = new HexDumpEncoder(); - sb.append("Extension unknown: " - + "DER encoded OCTET string =\n" - + enc.encodeBuffer(extValue) + "\n"); + sb.append("Extension unknown: " + "DER encoded OCTET string =\n") + .append(enc.encodeBuffer(extValue)).append('\n'); } } else sb.append(ext.toString()); // sub-class exists @@ -585,8 +585,7 @@ } if (signature != null) { HexDumpEncoder encoder = new HexDumpEncoder(); -