Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 41013 invoked from network); 13 Apr 2006 06:29:13 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 13 Apr 2006 06:29:13 -0000 Received: (qmail 40680 invoked by uid 500); 13 Apr 2006 06:29:11 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 40643 invoked by uid 500); 13 Apr 2006 06:29:11 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 40625 invoked by uid 99); 13 Apr 2006 06:29:11 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Apr 2006 23:29:11 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 12 Apr 2006 23:29:10 -0700 Received: (qmail 40899 invoked by uid 65534); 13 Apr 2006 06:28:50 -0000 Message-ID: <20060413062850.40898.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r393730 - in /directory/trunks/mina/core/src: main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java main/java/org/apache/mina/util/CharsetUtil.java test/java/org/apache/mina/util/CharsetUtilTest.java Date: Thu, 13 Apr 2006 06:28:48 -0000 To: commits@directory.apache.org From: trustin@apache.org X-Mailer: svnmailer-1.0.7 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: trustin Date: Wed Apr 12 23:28:44 2006 New Revision: 393730 URL: http://svn.apache.org/viewcvs?rev=393730&view=rev Log: Fixed issue: DIRMINA-207 (Charset.getDefaultEncoding doesn't work with JDK 1.6.0-beta2) * Removed explicit version check Modified: directory/trunks/mina/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java directory/trunks/mina/core/src/main/java/org/apache/mina/util/CharsetUtil.java directory/trunks/mina/core/src/test/java/org/apache/mina/util/CharsetUtilTest.java Modified: directory/trunks/mina/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java URL: http://svn.apache.org/viewcvs/directory/trunks/mina/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java?rev=393730&r1=393729&r2=393730&view=diff ============================================================================== --- directory/trunks/mina/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java (original) +++ directory/trunks/mina/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java Wed Apr 12 23:28:44 2006 @@ -44,7 +44,7 @@ */ public TextLineCodecFactory() { - this( Charset.forName( CharsetUtil.getDefaultEncoding() ) ); + this( Charset.forName( CharsetUtil.getDefaultCharsetName() ) ); } /** Modified: directory/trunks/mina/core/src/main/java/org/apache/mina/util/CharsetUtil.java URL: http://svn.apache.org/viewcvs/directory/trunks/mina/core/src/main/java/org/apache/mina/util/CharsetUtil.java?rev=393730&r1=393729&r2=393730&view=diff ============================================================================== --- directory/trunks/mina/core/src/main/java/org/apache/mina/util/CharsetUtil.java (original) +++ directory/trunks/mina/core/src/main/java/org/apache/mina/util/CharsetUtil.java Wed Apr 12 23:28:44 2006 @@ -36,48 +36,26 @@ { public static final Logger log = LoggerFactory.getLogger( CharsetUtil.class ); - - public static final String getDefaultEncoding() + public static final String getDefaultCharsetName() { - String encoding = null; - String version = System.getProperty( "java.version" ); - - if ( version.startsWith( "1.5" ) || version.startsWith( "5.0" ) ) + // Use reflection here to be able to compile mina with jdk 1.4. + try { - // Use reflection here to be able to compile mina with jdk 1.4 - try - { - Class charsetClass = Class.forName( "java.nio.charset.Charset" ); - Object charSet = charsetClass.getMethod( "defaultCharset", null ).invoke( null, null ); - encoding = ( String ) charsetClass.getMethod( "name", null ).invoke( charSet, null ); - } - catch ( Exception e ) - { - log.error( "Failed to call java.nio.charset.Charset.defaultCharset().name() on JDK 1.5" ); - throw new RuntimeException( e ); - } + Class charsetClass = Class.forName( "java.nio.charset.Charset" ); + Object charSet = charsetClass.getMethod( "defaultCharset", null ).invoke( null, null ); + return ( String ) charsetClass.getMethod( "name", null ).invoke( charSet, null ); } - else if ( version.startsWith( "1.4" ) ) + catch ( Exception e ) { - OutputStreamWriter writer = new OutputStreamWriter( new ByteArrayOutputStream() ); - encoding = writer.getEncoding(); } - else if ( version.startsWith( "1.3" ) ) - { - log.warn( "Character encoding determined in non-standard manner for JDK 1.3" ); - encoding = System.getProperty( "file.encoding" ); - } - else - { - throw new IllegalStateException( "JDK version is not compatible." ); - } - - return encoding; - } + // Try to use OutputStreamWriter instead. + OutputStreamWriter writer = new OutputStreamWriter( new ByteArrayOutputStream() ); + return writer.getEncoding(); + } public static Charset getDefaultCharset() { - return Charset.forName( getDefaultEncoding() ); + return Charset.forName( getDefaultCharsetName() ); } } Modified: directory/trunks/mina/core/src/test/java/org/apache/mina/util/CharsetUtilTest.java URL: http://svn.apache.org/viewcvs/directory/trunks/mina/core/src/test/java/org/apache/mina/util/CharsetUtilTest.java?rev=393730&r1=393729&r2=393730&view=diff ============================================================================== --- directory/trunks/mina/core/src/test/java/org/apache/mina/util/CharsetUtilTest.java (original) +++ directory/trunks/mina/core/src/test/java/org/apache/mina/util/CharsetUtilTest.java Wed Apr 12 23:28:44 2006 @@ -28,10 +28,10 @@ */ public class CharsetUtilTest extends TestCase { - public void testGetDefaultEncoding() + public void testGetDefaultCharsetName() { // @todo How the heck do I test this so it works on all machines running test? - String encoding = CharsetUtil.getDefaultEncoding(); + String encoding = CharsetUtil.getDefaultCharsetName(); assertNotNull( encoding ); } }