You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by hi...@apache.org on 2010/02/14 09:40:48 UTC

svn commit: r909986 [1/6] - in /harmony/enhanced/classlib/branches/java6: ./ depends/jars/ depends/libs/ make/ modules/auth/src/main/java/common/org/apache/harmony/auth/ modules/auth/src/main/java/windows/org/apache/harmony/auth/ modules/awt/src/main/j...

Author: hindessm
Date: Sun Feb 14 08:40:42 2010
New Revision: 909986

URL: http://svn.apache.org/viewvc?rev=909986&view=rev
Log:
Merge updates from classlib trunk@909814.

Added:
    harmony/enhanced/classlib/branches/java6/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/
      - copied from r909814, harmony/enhanced/classlib/trunk/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/
    harmony/enhanced/classlib/branches/java6/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/net/
      - copied from r909814, harmony/enhanced/classlib/trunk/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/net/
    harmony/enhanced/classlib/branches/java6/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/net/www/
      - copied from r909814, harmony/enhanced/classlib/trunk/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/net/www/
    harmony/enhanced/classlib/branches/java6/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/net/www/protocol/
      - copied from r909814, harmony/enhanced/classlib/trunk/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/net/www/protocol/
    harmony/enhanced/classlib/branches/java6/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/net/www/protocol/http/
      - copied from r909814, harmony/enhanced/classlib/trunk/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/net/www/protocol/http/
    harmony/enhanced/classlib/branches/java6/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/net/www/protocol/http/PersistenceTest.java
      - copied unchanged from r909814, harmony/enhanced/classlib/trunk/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/net/www/protocol/http/PersistenceTest.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/nls/
      - copied from r909814, harmony/enhanced/classlib/trunk/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/nls/
    harmony/enhanced/classlib/branches/java6/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/nls/MessagesTest.java
      - copied unchanged from r909814, harmony/enhanced/classlib/trunk/modules/luni/src/test/impl/common/org/apache/harmony/luni/tests/internal/nls/MessagesTest.java
Removed:
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/util/MsgHelp.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/util/MsgHelpTest.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/test/impl/org/
Modified:
    harmony/enhanced/classlib/branches/java6/   (props changed)
    harmony/enhanced/classlib/branches/java6/LICENSE
    harmony/enhanced/classlib/branches/java6/depends/jars/   (props changed)
    harmony/enhanced/classlib/branches/java6/depends/libs/   (props changed)
    harmony/enhanced/classlib/branches/java6/make/depends-common.xml   (props changed)
    harmony/enhanced/classlib/branches/java6/make/depends.properties
    harmony/enhanced/classlib/branches/java6/modules/auth/src/main/java/common/org/apache/harmony/auth/UnixNumericUserPrincipal.java
    harmony/enhanced/classlib/branches/java6/modules/auth/src/main/java/windows/org/apache/harmony/auth/NTSidGroupPrincipal.java
    harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/org/apache/harmony/awt/geom/GeometryUtil.java
    harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/StandardBeanInfo.java
    harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/Statement.java
    harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/XMLEncoder.java
    harmony/enhanced/classlib/branches/java6/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/ExpressionTest.java
    harmony/enhanced/classlib/branches/java6/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java
    harmony/enhanced/classlib/branches/java6/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/XMLEncoderTest.java
    harmony/enhanced/classlib/branches/java6/modules/concurrent/src/main/java/java/util/concurrent/atomic/   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/concurrent/src/main/java/java/util/concurrent/locks/   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/jmx/META-INF/   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/lang-management/src/test/api/java/org/apache/harmony/lang/management/tests/java/util/logging/   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java
    harmony/enhanced/classlib/branches/java6/modules/luni/make/exclude.common
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/BufferedInputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/BufferedOutputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/BufferedReader.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/BufferedWriter.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/ByteArrayOutputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/CharArrayReader.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/CharArrayWriter.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/DataInputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/DataOutputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/File.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/FileInputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/FileOutputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/FilePermission.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/FilterOutputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/InputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/InputStreamReader.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/LineNumberInputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/ObjectInputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/ObjectOutputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/ObjectStreamClass.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/ObjectStreamField.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/OutputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/OutputStreamWriter.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/PipedInputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/PipedOutputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/PipedReader.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/PipedWriter.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/PrintStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/PrintWriter.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/PushbackInputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/PushbackReader.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/RandomAccessFile.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/StringBufferInputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/io/StringReader.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/lang/AbstractStringBuilder.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/lang/ArrayIndexOutOfBoundsException.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/lang/ClassCastException.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/lang/Enum.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/lang/EnumConstantNotPresentException.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/lang/Math.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/lang/StringIndexOutOfBoundsException.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/lang/reflect/Proxy.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/DatagramPacket.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/DatagramSocket.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/HttpURLConnection.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/Inet6Address.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/InetAddress.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/MulticastSocket.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/NetworkInterface.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/Proxy.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/ProxySelectorImpl.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/ServerSocket.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/Socket.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/SocketImpl.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/SocketPermission.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/URI.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/URIEncoderDecoder.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/URISyntaxException.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/URL.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/URLClassLoader.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/URLConnection.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/URLDecoder.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/net/URLStreamHandler.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/Arrays.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/BitSet.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/Collections.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/MissingFormatArgumentException.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/ResourceBundle.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/Scanner.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/SimpleTimeZone.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/Timer.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/UUID.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/UnknownFormatConversionException.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/UnknownFormatFlagsException.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/file/Handler.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/ftp/FtpURLConnection.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/ftp/Handler.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/Handler.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpConfiguration.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpURLConnectionImpl.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/https/Handler.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/jar/Handler.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/jar/JarURLConnectionImpl.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/internal/nls/messages.properties
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/internal/process/ProcessInputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/internal/reflect/ProxyMethod.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/net/PlainDatagramSocketImpl.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/net/PlainSocketImpl.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/net/SocketInputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/net/SocketOutputStream.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/net/Socks4Message.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/util/ExternalMessages.properties
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/util/Msg.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/org/apache/harmony/luni/util/Util.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/native/include/fdlibm.h   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/native/include/gp.h   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/native/include/hymagic.h   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/native/include/hysocket.h   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/native/include/hyvmls.h   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/native/include/jni.h   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/native/include/jni_types.h   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/native/include/jvmpi.h   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/native/include/jvmri.h   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/native/include/jvmti.h   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/native/include/jvmti_types.h   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/native/include/vmi.h   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/native/include/vmizip.h   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/native/luni/shared/math.c
    harmony/enhanced/classlib/branches/java6/modules/luni/src/main/native/luni/unix/exports.txt
    harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/ObjectStreamFieldTest.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/lang/MathTest.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/DatagramSocketTest.java
    harmony/enhanced/classlib/branches/java6/modules/luni/src/test/resources/net.resources/   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/nio/src/main/java/common/java/nio/DirectByteBuffer.java
    harmony/enhanced/classlib/branches/java6/modules/nio/src/main/java/common/java/nio/channels/FileLock.java
    harmony/enhanced/classlib/branches/java6/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SocketChannelImpl.java
    harmony/enhanced/classlib/branches/java6/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/nls/messages.properties
    harmony/enhanced/classlib/branches/java6/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/DatagramChannelTest.java
    harmony/enhanced/classlib/branches/java6/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/ServerSocketChannelTest.java
    harmony/enhanced/classlib/branches/java6/modules/pack200/depends/manifests/asm-3.1/   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/pack200/src/main/java5/org/apache/harmony/pack200/Pack200Adapter.java   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/pack200/src/main/java5/org/apache/harmony/pack200/Pack200PackerAdapter.java   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/portlib/src/main/native/a2e/unix/atoe.c
    harmony/enhanced/classlib/branches/java6/modules/portlib/src/main/native/a2e/unix/headers/stdio.h
    harmony/enhanced/classlib/branches/java6/modules/security/src/main/java/common/org/apache/harmony/security/fortress/PolicyUtils.java
    harmony/enhanced/classlib/branches/java6/modules/sql/src/main/java/javax/sql/rowset/SqlUtil.java
    harmony/enhanced/classlib/branches/java6/modules/sql/src/test/java/org/apache/harmony/sql/tests/javax/sql/rowset/RowSetMetaDataImplTest.java
    harmony/enhanced/classlib/branches/java6/modules/swing/src/test/api/java.injected/javax/swing/BasicSwingTestCase.java   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/swing/src/test/api/java.injected/javax/swing/SwingTestCase.java   (props changed)
    harmony/enhanced/classlib/branches/java6/modules/swing/src/test/api/java.injected/javax/swing/text/parser/   (props changed)

Propchange: harmony/enhanced/classlib/branches/java6/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Feb 14 08:40:42 2010
@@ -1,2 +1,2 @@
-/harmony/enhanced/classlib/trunk:713674-735919,765923-901560
+/harmony/enhanced/classlib/trunk:713674-735919,765923-909814
 /harmony/enhanced/classlib/trunk/working_classlib:884014-884286

Modified: harmony/enhanced/classlib/branches/java6/LICENSE
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/LICENSE?rev=909986&r1=909985&r2=909986&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/LICENSE (original)
+++ harmony/enhanced/classlib/branches/java6/LICENSE Sun Feb 14 08:40:42 2010
@@ -326,7 +326,7 @@
 
 
 
-License Notice for Bouncy Castle version 1.44
+License Notice for Bouncy Castle version 1.45
 =============================================
 
 Copyright (c) 2000 - 2009 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)

Propchange: harmony/enhanced/classlib/branches/java6/depends/jars/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Sun Feb 14 08:40:42 2010
@@ -13,4 +13,4 @@
 bsf-3.0-beta3
 icu4j_4.2.1
 axis2-1.3
-bcprov-jdk15-144
+bcprov-jdk15-145

Propchange: harmony/enhanced/classlib/branches/java6/depends/libs/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Feb 14 08:40:42 2010
@@ -1 +1 @@
-/harmony/enhanced/classlib/trunk/depends/libs:544451-901560
+/harmony/enhanced/classlib/trunk/depends/libs:544451-909814

Propchange: harmony/enhanced/classlib/branches/java6/make/depends-common.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Feb 14 08:40:42 2010
@@ -1 +1 @@
-/harmony/enhanced/classlib/trunk/make/depends-common.xml:768152-901560
+/harmony/enhanced/classlib/trunk/make/depends-common.xml:768152-909814

Modified: harmony/enhanced/classlib/branches/java6/make/depends.properties
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/make/depends.properties?rev=909986&r1=909985&r2=909986&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/make/depends.properties (original)
+++ harmony/enhanced/classlib/branches/java6/make/depends.properties Sun Feb 14 08:40:42 2010
@@ -95,11 +95,11 @@
 
 depends.url=http://svn.apache.org/repos/asf/harmony/standard/depends
 
-bcprov.ver=bcprov-jdk15-144
+bcprov.ver=bcprov-jdk15-145
 bcprov.dir=${depends.jars}/${bcprov.ver}
 bcprov.jar=${bcprov.dir}/bcprov.jar
-bcprov.url=${depends.url}/jars/bcprov/${bcprov.ver}/bcprov.jar
-bcprov.md5=0d6f0b31730db6fd1f8360cf1f7666d4
+bcprov.url=${depends.url}/jars/bcprov/${bcprov.ver}.jar
+bcprov.md5=2062f8e3d15748443ea60a94b266371c
 
 icu4j.ver=icu4j_4.2.1
 icu4j.dir=${depends.jars}/${icu4j.ver}

Modified: harmony/enhanced/classlib/branches/java6/modules/auth/src/main/java/common/org/apache/harmony/auth/UnixNumericUserPrincipal.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/auth/src/main/java/common/org/apache/harmony/auth/UnixNumericUserPrincipal.java?rev=909986&r1=909985&r2=909986&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/auth/src/main/java/common/org/apache/harmony/auth/UnixNumericUserPrincipal.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/auth/src/main/java/common/org/apache/harmony/auth/UnixNumericUserPrincipal.java Sun Feb 14 08:40:42 2010
@@ -34,7 +34,7 @@
 
     /**
      * Creates the object using a String representation of uid.
-     * @param id string representation of uid
+     * @param uid string representation of uid
      * throws NullPointerException if uid is null
      */
     public UnixNumericUserPrincipal(String uid) {

Modified: harmony/enhanced/classlib/branches/java6/modules/auth/src/main/java/windows/org/apache/harmony/auth/NTSidGroupPrincipal.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/auth/src/main/java/windows/org/apache/harmony/auth/NTSidGroupPrincipal.java?rev=909986&r1=909985&r2=909986&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/auth/src/main/java/windows/org/apache/harmony/auth/NTSidGroupPrincipal.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/auth/src/main/java/windows/org/apache/harmony/auth/NTSidGroupPrincipal.java Sun Feb 14 08:40:42 2010
@@ -31,8 +31,8 @@
      * A constructor which takes group SID as its only argument. 
      * @param sid group SID
      */
-    public NTSidGroupPrincipal(String name) {
-        super(name);
+    public NTSidGroupPrincipal(String sid) {
+        super(sid);
     }
 
     /**

Modified: harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/org/apache/harmony/awt/geom/GeometryUtil.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/org/apache/harmony/awt/geom/GeometryUtil.java?rev=909986&r1=909985&r2=909986&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/org/apache/harmony/awt/geom/GeometryUtil.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/org/apache/harmony/awt/geom/GeometryUtil.java Sun Feb 14 08:40:42 2010
@@ -53,7 +53,7 @@
      * The method checks up if line (x1, y1) - (x2, y2) and line (x3, y3) - (x4, y4)
      * intersect. If lines intersect then the result parameters are saved to point
      * array. The size of array point must be at least 2.
-     * @returns the method returns 1 if two lines intersect in the defined interval,  
+     * @return the method returns 1 if two lines intersect in the defined interval,  
      * 			otherwise 0
      */
     public static int intersectLines(double x1, double y1, double x2, double y2,
@@ -507,4 +507,4 @@
     	params[1] = s1;
     }
     
-}
\ No newline at end of file
+}

Modified: harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/StandardBeanInfo.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/StandardBeanInfo.java?rev=909986&r1=909985&r2=909986&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/StandardBeanInfo.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/StandardBeanInfo.java Sun Feb 14 08:40:42 2010
@@ -292,25 +292,50 @@
                 if (subIndexedType == null) {
                     // Same property type
                     if (subType != null && superType != null
+                            && subType.getName() != null
                             && subType.getName().equals(superType.getName())) {
-                        if ((subGet == null) && (superGet != null)) {
+                        if (superGet != null
+                                && (subGet == null || superGet.equals(subGet))) {
                             subDesc.setReadMethod(superGet);
                         }
-                        if ((subSet == null) && (superSet != null)) {
+                        if (superSet != null
+                                && (subSet == null || superSet.equals(subSet))) {
                             subDesc.setWriteMethod(superSet);
                         }
-                    } else { // Different type: type = getMethod
-                        if ((subGet == null) && (superGet != null)) {
-                            subDesc.setWriteMethod(null);
-                            subDesc.setReadMethod(superGet);
+                        if (subType == boolean.class && subGet != null
+                                && superGet != null) {
+                            if (superGet.getName().startsWith(PREFIX_IS)) {
+                                subDesc.setReadMethod(superGet);
+                            }
+                        }
+                    } else { // Different type
+                        if ((subGet == null || subSet == null)
+                                && (superGet != null)) {
+                            subDesc = new PropertyDescriptor(propertyName,
+                                    superGet, superSet);
+                            if (subGet != null) {
+                                String subGetName = subGet.getName();
+                                Method method = null;
+                                MethodDescriptor[] introspectMethods = introspectMethods();
+                                for (MethodDescriptor methodDesc : introspectMethods) {
+                                    method = methodDesc.getMethod();
+                                    if (method != subGet
+                                            && subGetName.equals(method
+                                                    .getName())
+                                            && method.getParameterTypes().length == 0
+                                            && method.getReturnType() == superType) {
+                                        subDesc.setReadMethod(method);
+                                        break;
+                                    }
+                                }
+                            }
                         }
                     }
-                } else { // Sub is IndexedPropertyDescriptor
+                } else { // Sub is IndexedPropertyDescriptor and super is PropertyDescriptor
                     if (superType != null
                             && (superType.isArray())
                             && (superType.getComponentType().getName()
                                     .equals(subIndexedType.getName()))) {
-                        // same type
                         if ((subGet == null) && (superGet != null)) {
                             subDesc.setReadMethod(superGet);
                         }
@@ -318,6 +343,26 @@
                             subDesc.setWriteMethod(superSet);
                         }
                     } // different type do nothing
+                    // sub is indexed pd and super is normal pd
+                    if (subIndexedType == boolean.class
+                            && superType == boolean.class) {
+                        Method subIndexedSet = ((IndexedPropertyDescriptor) subDesc)
+                                .getIndexedWriteMethod();
+                        if (subGet == null && subSet == null
+                                && subIndexedSet != null && superGet != null) {
+                            try {
+                                subSet = beanClass.getDeclaredMethod(
+                                        subIndexedSet.getName(), boolean.class);
+                            } catch (Exception e) {
+                                // ignored
+                            }
+                            if (subSet != null) {
+                                // Cast sub into PropertyDescriptor
+                                subDesc = new PropertyDescriptor(propertyName,
+                                        superGet, subSet);
+                            }
+                        }
+                    }
                 }
                 subMap.put(propertyName, subDesc);
             } else { // Super is IndexedPropertyDescriptor
@@ -334,13 +379,62 @@
                             superDesc.setWriteMethod(subSet);
                         }
                         subMap.put(propertyName, superDesc);
-                    } else { // Different type do nothing
+                    } else {
+                        // subDesc is PropertyDescriptor
+                        // superDesc is IndexedPropertyDescriptor
+
+                        // fill null subGet or subSet method with superClass's
+                        if (subGet == null || subSet == null) {
+                            Class<?> beanSuperClass = beanClass.getSuperclass();
+                            String methodSuffix = capitalize(propertyName);
+                            Method method = null;
+                            if (subGet == null) {
+                                // subGet is null
+                                if (subType == boolean.class) {
+                                    try {
+                                        method = beanSuperClass
+                                                .getDeclaredMethod(PREFIX_IS
+                                                        + methodSuffix);
+                                    } catch (Exception e) {
+                                        // ignored
+                                    }
+                                } else {
+                                    try {
+                                        method = beanSuperClass
+                                                .getDeclaredMethod(PREFIX_GET
+                                                        + methodSuffix);
+                                    } catch (Exception e) {
+                                        // ignored
+                                    }
+                                }
+                                if (method != null
+                                        && !Modifier.isStatic(method
+                                                .getModifiers())
+                                        && method.getReturnType() == subType) {
+                                    ((PropertyDescriptor) value)
+                                            .setReadMethod(method);
+                                }
+                            } else {
+                                // subSet is null
+                                try {
+                                    method = beanSuperClass.getDeclaredMethod(
+                                            PREFIX_SET + methodSuffix, subType);
+                                } catch (Exception e) {
+                                    // ignored
+                                }
+                                if (method != null
+                                        && !Modifier.isStatic(method
+                                                .getModifiers())
+                                        && method.getReturnType() == void.class) {
+                                    ((PropertyDescriptor) value)
+                                            .setWriteMethod(method);
+                                }
+                            }
+                        }
                         subMap.put(propertyName, (PropertyDescriptor) value);
                     }
-
-                } else if (superIndexedType != null
-                        && subIndexedType.getName().equals(
-                                superIndexedType.getName())) {
+                } else if (subIndexedType.getName().equals(
+                        superIndexedType.getName())) {
                     // Sub is IndexedPropertyDescriptor and Same type
                     IndexedPropertyDescriptor subDesc = (IndexedPropertyDescriptor) value;
                     if ((subGet == null) && (superGet != null)) {
@@ -383,6 +477,23 @@
         return theDescs;
     }
 
+    private String capitalize(String name) {
+        if (name == null) {
+            return null;
+        }
+        // The rule for decapitalize is that:
+        // If the first letter of the string is Upper Case, make it lower case
+        // UNLESS the second letter of the string is also Upper Case, in which case no
+        // changes are made.
+        if (name.length() == 0 || (name.length() > 1 && Character.isUpperCase(name.charAt(1)))) {
+            return name;
+        }
+        
+        char[] chars = name.toCharArray();
+        chars[0] = Character.toUpperCase(chars[0]);
+        return new String(chars);
+    }
+
     private static void mergeAttributes(PropertyDescriptor subDesc,
             PropertyDescriptor superDesc) {
         // FIXME: this is just temp workaround, need more elegant solution to
@@ -561,12 +672,12 @@
 
         // Get descriptors for the public methods
         MethodDescriptor[] methodDescriptors = introspectMethods();
+
         if (methodDescriptors == null) {
             return null;
         }
 
         ArrayList<MethodDescriptor> methodList = new ArrayList<MethodDescriptor>();
-
         // Loop over the methods found, looking for public non-static methods
         for (int index = 0; index < methodDescriptors.length; index++) {
             int modifiers = methodDescriptors[index].getMethod().getModifiers();
@@ -699,7 +810,7 @@
 
     @SuppressWarnings("unchecked")
     private static void introspectGet(Method theMethod,
-			HashMap<String, HashMap> propertyTable) {
+            HashMap<String, HashMap> propertyTable) {
 
         String methodName = theMethod.getName();
         int prefixLength = 0;
@@ -710,27 +821,27 @@
         ArrayList<Method> getters;
 
         if (methodName == null) {
-			return;
-		}
+            return;
+        }
 
         if (methodName.startsWith(PREFIX_GET)) {
-			prefixLength = PREFIX_GET.length();
-		}
+            prefixLength = PREFIX_GET.length();
+        }
+
+        if (methodName.startsWith(PREFIX_IS)) {
+            prefixLength = PREFIX_IS.length();
+        }
 
-		if (methodName.startsWith(PREFIX_IS)) {
-			prefixLength = PREFIX_IS.length();
-		}
-
-		if (prefixLength == 0) {
-			return;
-		}
+        if (prefixLength == 0) {
+            return;
+        }
 
-		propertyName = decapitalize(methodName.substring(prefixLength));
+        propertyName = decapitalize(methodName.substring(prefixLength));
 
         // validate property name
-		if (!isValidProperty(propertyName)) {
-			return;
-		}
+        if (!isValidProperty(propertyName)) {
+            return;
+        }
 
         // validate return type
         propertyType = theMethod.getReturnType();
@@ -739,27 +850,25 @@
             return;
         }
 
-		// isXXX return boolean
-		if (prefixLength == 2) {
-			if (!(propertyType == boolean.class)) {
-				return;
-			}
-		}
+        // isXXX return boolean
+        if (prefixLength == 2) {
+            if (!(propertyType == boolean.class)) {
+                return;
+            }
+        }
 
         // validate parameter types
         paramTypes = theMethod.getParameterTypes();
-		if (paramTypes.length > 1 ||
-                (paramTypes.length == 1 && paramTypes[0] != int.class)) {
-			return;
-		}
-
-        //
+        if (paramTypes.length > 1
+                || (paramTypes.length == 1 && paramTypes[0] != int.class)) {
+            return;
+        }
 
         table = propertyTable.get(propertyName);
-		if (table == null) {
-			table = new HashMap();
-			propertyTable.put(propertyName, table);
-		}
+        if (table == null) {
+            table = new HashMap();
+            propertyTable.put(propertyName, table);
+        }
 
         getters = (ArrayList<Method>) table.get(STR_GETTERS);
         if (getters == null) {
@@ -776,40 +885,40 @@
             HashMap<String, HashMap> propertyTable) {
 
         String methodName = theMethod.getName();
+        if (methodName == null) {
+            return;
+        }
         String propertyName;
         Class returnType;
         Class[] paramTypes;
 
+        // setter method should never return type other than void
+        returnType = theMethod.getReturnType();
+        if (returnType != void.class) {
+            return;
+        }
+
         if (methodName == null || !methodName.startsWith(PREFIX_SET)) {
             return;
         }
 
-        propertyName = decapitalize(methodName.substring(
-                PREFIX_SET.length()));
+        propertyName = decapitalize(methodName.substring(PREFIX_SET.length()));
 
         // validate property name
         if (!isValidProperty(propertyName)) {
             return;
         }
 
-        // validate return type
-        returnType = theMethod.getReturnType();
-
-//        if (!returnType.getName().equals(Void.TYPE.getName())) {
-        if (!(returnType == void.class)) {
-            return;
-        }
+        // It seems we do not need to validate return type
 
         // validate param types
         paramTypes = theMethod.getParameterTypes();
 
-        if (paramTypes.length == 0 || paramTypes.length > 2 ||
-                (paramTypes.length == 2 && paramTypes[0] != int.class)) {
+        if (paramTypes.length == 0 || paramTypes.length > 2
+                || (paramTypes.length == 2 && paramTypes[0] != int.class)) {
             return;
         }
 
-        //
-
         HashMap table = propertyTable.get(propertyName);
         if (table == null) {
             table = new HashMap();
@@ -835,8 +944,9 @@
     }
 
     /**
-     * Checks and fixs all cases when several incompatible checkers /
-     * getters were specified for single property.
+     * Checks and fixs all cases when several incompatible checkers / getters
+     * were specified for single property.
+     * 
      * @param propertyTable
      * @throws IntrospectionException
      */
@@ -849,8 +959,10 @@
 
         for (Map.Entry<String, HashMap> entry : propertyTable.entrySet()) {
             HashMap<String, Object> table = entry.getValue();
-            ArrayList<Method> getters = (ArrayList<Method>) table.get(STR_GETTERS);
-            ArrayList<Method> setters = (ArrayList<Method>) table.get(STR_SETTERS);
+            ArrayList<Method> getters = (ArrayList<Method>) table
+                    .get(STR_GETTERS);
+            ArrayList<Method> setters = (ArrayList<Method>) table
+                    .get(STR_SETTERS);
 
             Method normalGetter = null;
             Method indexedGetter = null;
@@ -869,24 +981,24 @@
             }
 
             // retrieve getters
-            for (Method getter: getters) {
+            for (Method getter : getters) {
                 // checks if it's a normal getter
-                if (getter.getParameterTypes() == null ||
-                        getter.getParameterTypes().length == 0) {
+                if (getter.getParameterTypes() == null
+                        || getter.getParameterTypes().length == 0) {
                     // normal getter found
-                    if (normalGetter == null ||
-                            getter.getName().startsWith(PREFIX_IS)) {
+                    if (normalGetter == null
+                            || getter.getName().startsWith(PREFIX_IS)) {
                         normalGetter = getter;
                     }
                 }
 
                 // checks if it's an indexed getter
-                if (getter.getParameterTypes() != null &&
-                        getter.getParameterTypes().length == 1 &&
-                        getter.getParameterTypes()[0] == int.class) {
+                if (getter.getParameterTypes() != null
+                        && getter.getParameterTypes().length == 1
+                        && getter.getParameterTypes()[0] == int.class) {
                     // indexed getter found
-                    if (indexedGetter == null ||
-                            getter.getName().startsWith(PREFIX_IS)) {
+                    if (indexedGetter == null
+                            || getter.getName().startsWith(PREFIX_IS)) {
                         indexedGetter = getter;
                     }
                 }
@@ -897,10 +1009,10 @@
                 // Now we will try to look for normal setter of the same type.
                 Class propertyType = normalGetter.getReturnType();
 
-                for (Method setter: setters) {
-                    if (setter.getParameterTypes().length == 1 &&
-                            propertyType.equals(setter.getParameterTypes()[0]))
-                    {
+                for (Method setter : setters) {
+                    if (setter.getParameterTypes().length == 1
+                            && propertyType
+                                    .equals(setter.getParameterTypes()[0])) {
                         normalSetter = setter;
                         break;
                     }
@@ -909,7 +1021,7 @@
                 // Normal getter wasn't defined. Let's look for the last
                 // defined setter
 
-                for (Method setter: setters) {
+                for (Method setter : setters) {
                     if (setter.getParameterTypes().length == 1) {
                         normalSetter = setter;
                     }
@@ -921,11 +1033,11 @@
                 // Now we will try to look for indexed setter of the same type.
                 Class propertyType = indexedGetter.getReturnType();
 
-                for (Method setter: setters) {
-                    if (setter.getParameterTypes().length == 2 &&
-                            setter.getParameterTypes()[0] == int.class &&
-                            propertyType.equals(setter.getParameterTypes()[1]))
-                    {
+                for (Method setter : setters) {
+                    if (setter.getParameterTypes().length == 2
+                            && setter.getParameterTypes()[0] == int.class
+                            && propertyType
+                                    .equals(setter.getParameterTypes()[1])) {
                         indexedSetter = setter;
                         break;
                     }
@@ -934,9 +1046,9 @@
                 // Indexed getter wasn't defined. Let's look for the last
                 // defined indexed setter
 
-                for (Method setter: setters) {
-                    if (setter.getParameterTypes().length == 2 &&
-                            setter.getParameterTypes()[0] == int.class) {
+                for (Method setter : setters) {
+                    if (setter.getParameterTypes().length == 2
+                            && setter.getParameterTypes()[0] == int.class) {
                         indexedSetter = setter;
                     }
                 }
@@ -957,9 +1069,8 @@
             }
 
             // convert array-typed normal getters to indexed getters
-            if (normalGetter != null && normalGetter.getReturnType().isArray())
-            {
-                
+            if (normalGetter != null && normalGetter.getReturnType().isArray()) {
+
             }
 
             // RULES
@@ -969,8 +1080,8 @@
             // RULE1
             // Both normal getter and setter of the same type were defined;
             // no indexed getter/setter *PAIR* of the other type defined
-            if (normalGetter != null && normalSetter != null &&
-                    (indexedGetter == null || indexedSetter == null)) {
+            if (normalGetter != null && normalSetter != null
+                    && (indexedGetter == null || indexedSetter == null)) {
                 table.put(STR_NORMAL, STR_VALID);
                 table.put(STR_NORMAL + PREFIX_GET, normalGetter);
                 table.put(STR_NORMAL + PREFIX_SET, normalSetter);
@@ -981,8 +1092,8 @@
             // RULE2
             // normal getter and/or setter was defined; no indexed
             // getters & setters defined
-            if ((normalGetter != null || normalSetter != null) &&
-                    indexedGetter == null && indexedSetter == null) {
+            if ((normalGetter != null || normalSetter != null)
+                    && indexedGetter == null && indexedSetter == null) {
                 table.put(STR_NORMAL, STR_VALID);
                 table.put(STR_NORMAL + PREFIX_GET, normalGetter);
                 table.put(STR_NORMAL + PREFIX_SET, normalSetter);
@@ -993,34 +1104,155 @@
             // RULE3
             // mix of normal / indexed getters and setters are defined. Types
             // are compatible
-            if ((normalGetter != null || normalSetter != null) &&
-                    (indexedGetter != null || indexedSetter != null) &&
-                    normalPropType.isArray() &&
-                    normalPropType.getComponentType() == indexedPropType) {
-                table.put(STR_NORMAL, STR_VALID);
-                table.put(STR_NORMAL + PREFIX_GET, normalGetter);
-                table.put(STR_NORMAL + PREFIX_SET, normalSetter);
-                table.put(STR_NORMAL + STR_PROPERTY_TYPE, normalPropType);
+            if ((normalGetter != null || normalSetter != null)
+                    && (indexedGetter != null || indexedSetter != null)) {
+                // (1)!A!B!C!D
+                if (normalGetter != null && normalSetter != null
+                        && indexedGetter != null && indexedSetter != null) {
+                    if (indexedGetter.getName().startsWith(PREFIX_GET)) {
+                        table.put(STR_NORMAL, STR_VALID);
+                        table.put(STR_NORMAL + PREFIX_GET, normalGetter);
+                        table.put(STR_NORMAL + PREFIX_SET, normalSetter);
+                        table.put(STR_NORMAL + STR_PROPERTY_TYPE,
+                                normalPropType);
+
+                        table.put(STR_INDEXED, STR_VALID);
+                        table.put(STR_INDEXED + PREFIX_GET, indexedGetter);
+                        table.put(STR_INDEXED + PREFIX_SET, indexedSetter);
+                        table.put(STR_INDEXED + STR_PROPERTY_TYPE,
+                                indexedPropType);
+                    } else {
+                        if (normalPropType != boolean.class
+                                && normalGetter.getName().startsWith(PREFIX_IS)) {
+                            table.put(STR_INDEXED, STR_VALID);
+                            table.put(STR_INDEXED + PREFIX_SET, indexedSetter);
+                            table.put(STR_INDEXED + STR_PROPERTY_TYPE,
+                                    indexedPropType);
+                        } else {
+                            table.put(STR_NORMAL, STR_VALID);
+                            table.put(STR_NORMAL + PREFIX_GET, normalGetter);
+                            table.put(STR_NORMAL + PREFIX_SET, normalSetter);
+                            table.put(STR_NORMAL + STR_PROPERTY_TYPE,
+                                    normalPropType);
+                        }
+                    }
+                    continue;
+                }
 
-                table.put(STR_INDEXED, STR_VALID);
-                table.put(STR_INDEXED + PREFIX_GET, indexedGetter);
-                table.put(STR_INDEXED + PREFIX_SET, indexedSetter);
-                table.put(STR_INDEXED + STR_PROPERTY_TYPE, indexedPropType);
+                // (2)!AB!C!D
+                if (normalGetter != null && normalSetter == null
+                        && indexedGetter != null && indexedSetter != null) {
+                    table.put(STR_NORMAL, STR_VALID);
+                    table.put(STR_NORMAL + PREFIX_GET, normalGetter);
+                    table.put(STR_NORMAL + PREFIX_SET, normalSetter);
+                    table.put(STR_NORMAL + STR_PROPERTY_TYPE, normalPropType);
+
+                    table.put(STR_INDEXED, STR_VALID);
+                    if (indexedGetter.getName().startsWith(PREFIX_GET)) {
+                        table.put(STR_INDEXED + PREFIX_GET, indexedGetter);
+                    }
+                    table.put(STR_INDEXED + PREFIX_SET, indexedSetter);
+                    table.put(STR_INDEXED + STR_PROPERTY_TYPE, indexedPropType);
+                    continue;
+                }
 
-                continue;
+                // (3)A!B!C!D
+                if (normalGetter == null && normalSetter != null
+                        && indexedGetter != null && indexedSetter != null) {
+                    table.put(STR_INDEXED, STR_VALID);
+                    if (indexedGetter.getName().startsWith(PREFIX_GET)) {
+                        table.put(STR_INDEXED + PREFIX_GET, indexedGetter);
+                    }
+                    table.put(STR_INDEXED + PREFIX_SET, indexedSetter);
+                    table.put(STR_INDEXED + STR_PROPERTY_TYPE, indexedPropType);
+                    continue;
+                }
+
+                // (4)!AB!CD
+                if (normalGetter != null && normalSetter == null
+                        && indexedGetter != null && indexedSetter == null) {
+                    if (indexedGetter.getName().startsWith(PREFIX_GET)) {
+                        table.put(STR_NORMAL, STR_VALID);
+                        table.put(STR_NORMAL + PREFIX_GET, normalGetter);
+                        table.put(STR_NORMAL + PREFIX_SET, normalSetter);
+                        table.put(STR_NORMAL + STR_PROPERTY_TYPE,
+                                normalPropType);
+
+                        table.put(STR_INDEXED, STR_VALID);
+                        table.put(STR_INDEXED + PREFIX_GET, indexedGetter);
+                        table.put(STR_INDEXED + PREFIX_SET, indexedSetter);
+                        table.put(STR_INDEXED + STR_PROPERTY_TYPE,
+                                indexedPropType);
+                    } else {
+                        table.put(STR_NORMAL, STR_VALID);
+                        table.put(STR_NORMAL + PREFIX_GET, normalGetter);
+                        table.put(STR_NORMAL + PREFIX_SET, normalSetter);
+                        table.put(STR_NORMAL + STR_PROPERTY_TYPE,
+                                normalPropType);
+                    }
+                    continue;
+                }
+
+                // (5)A!B!CD
+                if (normalGetter == null && normalSetter != null
+                        && indexedGetter != null && indexedSetter == null) {
+                    if (indexedGetter.getName().startsWith(PREFIX_GET)) {
+                        table.put(STR_NORMAL, STR_VALID);
+                        table.put(STR_NORMAL + PREFIX_GET, normalGetter);
+                        table.put(STR_NORMAL + PREFIX_SET, normalSetter);
+                        table.put(STR_NORMAL + STR_PROPERTY_TYPE,
+                                normalPropType);
+
+                        table.put(STR_INDEXED, STR_VALID);
+                        table.put(STR_INDEXED + PREFIX_GET, indexedGetter);
+                        table.put(STR_INDEXED + PREFIX_SET, indexedSetter);
+                        table.put(STR_INDEXED + STR_PROPERTY_TYPE,
+                                indexedPropType);
+                    } else {
+                        table.put(STR_NORMAL, STR_VALID);
+                        table.put(STR_NORMAL + PREFIX_GET, normalGetter);
+                        table.put(STR_NORMAL + PREFIX_SET, normalSetter);
+                        table.put(STR_NORMAL + STR_PROPERTY_TYPE,
+                                normalPropType);
+                    }
+                    continue;
+                }
+
+                // (6)!ABC!D
+                if (normalGetter != null && normalSetter == null
+                        && indexedGetter == null && indexedSetter != null) {
+                    table.put(STR_INDEXED, STR_VALID);
+                    table.put(STR_INDEXED + PREFIX_GET, indexedGetter);
+                    table.put(STR_INDEXED + PREFIX_SET, indexedSetter);
+                    table.put(STR_INDEXED + STR_PROPERTY_TYPE, indexedPropType);
+                    continue;
+                }
+
+                // (7)A!BC!D
+                if (normalGetter == null && normalSetter != null
+                        && indexedGetter == null && indexedSetter != null) {
+                    table.put(STR_INDEXED, STR_VALID);
+                    table.put(STR_INDEXED + PREFIX_GET, indexedGetter);
+                    table.put(STR_INDEXED + PREFIX_SET, indexedSetter);
+                    table.put(STR_INDEXED + STR_PROPERTY_TYPE, indexedPropType);
+                    continue;
+                }
             }
 
             // RULE4
             // no normal normal getter / setter.
             // Only indexed getter and/or setter is given
             // no normal setters / getters defined
-            if (normalSetter == null && normalGetter == null &&
-                    (indexedGetter != null || indexedSetter != null)) {
+            if (normalSetter == null && normalGetter == null
+                    && (indexedGetter != null || indexedSetter != null)) {
+                if (indexedGetter != null
+                        && indexedGetter.getName().startsWith(PREFIX_IS)) {
+                    continue;
+                }
                 table.put(STR_INDEXED, STR_VALID);
                 table.put(STR_INDEXED + PREFIX_GET, indexedGetter);
                 table.put(STR_INDEXED + PREFIX_SET, indexedSetter);
-                table.put(STR_INDEXED + STR_PROPERTY_TYPE,
-                        indexedPropType);
+                table.put(STR_INDEXED + STR_PROPERTY_TYPE, indexedPropType);
                 continue;
             }
             
@@ -1069,7 +1301,6 @@
             introspectListenerMethods(PREFIX_REMOVE, theMethods[i].getMethod(),
                     eventTable);
             introspectGetListenerMethods(theMethods[i].getMethod(), eventTable);
-
         }
 
         ArrayList<EventSetDescriptor> eventList = new ArrayList<EventSetDescriptor>();

Modified: harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/Statement.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/Statement.java?rev=909986&r1=909985&r2=909986&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/Statement.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/Statement.java Sun Feb 14 08:40:42 2010
@@ -135,7 +135,13 @@
                     Constructor<?> constructor = findConstructor((Class)theTarget, theArguments);
                     result = constructor.newInstance(theArguments);
                 } else {
-                    throw new NoSuchMethodException(this.toString());
+                    if ("new".equals(theMethodName)) { //$NON-NLS-1$
+                        throw new NoSuchMethodException(this.toString());
+                    }
+                    // target class declares a public named "newInstance" method
+                    Method method = findMethod(theTarget.getClass(),
+                            theMethodName, theArguments, false);
+                    result = method.invoke(theTarget, theArguments);
                 }
             } else if (theMethodName.equals("newArray")) {//$NON-NLS-1$
                 // create a new array instance without length attribute

Modified: harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/XMLEncoder.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/XMLEncoder.java?rev=909986&r1=909985&r2=909986&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/XMLEncoder.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/XMLEncoder.java Sun Feb 14 08:40:42 2010
@@ -836,7 +836,9 @@
                 break;
             }
             
-            if (obj != null && obj.equals(value)) {
+            if (obj != null
+                    && (obj.getClass().isAssignableFrom(value.getClass()))
+                    && obj.equals(value)) {
                 n++;
 
                 if (n >= DEADLOCK_THRESHOLD) {

Modified: harmony/enhanced/classlib/branches/java6/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/ExpressionTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/ExpressionTest.java?rev=909986&r1=909985&r2=909986&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/ExpressionTest.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/ExpressionTest.java Sun Feb 14 08:40:42 2010
@@ -853,6 +853,32 @@
         assertFalse(MockTarget.isCalled());
     }
 
+    public void testGetValue_newInstanceNormalMethod() throws Exception {
+        Expression expression = new Expression(new NormalTarget(),
+                "newInstance", new Object[0]);
+        assertEquals("Normal-Called", expression.getValue());
+    }
+
+    public void testGetValue_newInstanceStaticMethod() throws Exception {
+        Expression expression = new Expression(new StaticTarget(),
+                "newInstance", new Object[0]);
+        assertEquals("Static-Called", expression.getValue());
+    }
+
+    public class NormalTarget {
+
+        public String newInstance() {
+            return "Normal-Called";
+        }
+    }
+
+    public static class StaticTarget {
+
+        public static String newInstance() {
+            return "Static-Called";
+        }
+    }
+
     /*
      * Test the method getValue() with two equal specific methods.
      *