You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by zh...@apache.org on 2010/06/07 10:06:19 UTC

svn commit: r952132 [1/2] - in /harmony/enhanced/java/trunk/classlib/modules/beans/src: main/java/java/beans/ main/java/org/apache/harmony/beans/ main/java/org/apache/harmony/beans/editors/ test/java/org/apache/harmony/beans/tests/java/beans/

Author: zhoukevin
Date: Mon Jun  7 08:06:18 2010
New Revision: 952132

URL: http://svn.apache.org/viewvc?rev=952132&view=rev
Log:
Refine the source and test of BEANS module (no functional changes):
1. Improve logicality and readability of methods
2. Format some bad-formatting code
3. Move one common method into BeansUtils class
4. Add some test cases

Modified:
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/BeanDescriptor.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Beans.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ClassPersistenceDelegate.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/CustomizedObjectInputStream.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Encoder.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventHandler.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventSetDescriptor.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/FeatureDescriptor.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/IndexedPropertyDescriptor.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/PropertyEditorManager.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ProxyPersistenceDelegate.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ReferenceMap.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/StandardBeanInfo.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Statement.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilCollectionPersistenceDelegate.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilListPersistenceDelegate.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/XMLDecoder.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Argument.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/BeansUtils.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Command.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/BooleanEditor.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ByteEditor.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ColorEditor.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FloatEditor.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FontEditor.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/IntEditor.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/LongEditor.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ShortEditor.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/StringEditor.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/FeatureDescriptorTest.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java
    harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/PropertyEditorManagerTest.java

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/BeanDescriptor.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/BeanDescriptor.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/BeanDescriptor.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/BeanDescriptor.java Mon Jun  7 08:06:18 2010
@@ -39,7 +39,6 @@ public class BeanDescriptor extends Feat
      *            The bean's customizer Class.
      */
     public BeanDescriptor(Class<?> beanClass, Class<?> customizerClass) {
-        super();
         if (beanClass == null) {
             throw new NullPointerException();
         }
@@ -59,13 +58,7 @@ public class BeanDescriptor extends Feat
      *            The bean's Class.
      */
     public BeanDescriptor(Class<?> beanClass) {
-        super();
-
-        if (beanClass == null) {
-            throw new NullPointerException();
-        }
-        setName(getShortClassName(beanClass));
-        this.beanClass = beanClass;
+        this(beanClass, null);
     }
 
     /**
@@ -100,17 +93,12 @@ public class BeanDescriptor extends Feat
      * @return A String instance or <code>null</code>.
      */
     private String getShortClassName(Class<?> leguminaClass) {
-        String result = null;
-
-        if (leguminaClass != null) {
-            String beanClassName = leguminaClass.getName();
-            int idx = beanClassName.lastIndexOf('.');
-
-            result = (idx == -1) ? beanClassName : beanClassName
-                    .substring(idx + 1);
+        if(leguminaClass == null) {
+            return null;
         }
-
-        return result;
+        String beanClassName = leguminaClass.getName();
+        int lastIndex = beanClassName.lastIndexOf("."); //$NON-NLS-1$
+        return (lastIndex == -1) ? beanClassName : beanClassName.substring(lastIndex + 1);
     }
 
 }

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Beans.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Beans.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Beans.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Beans.java Mon Jun  7 08:06:18 2010
@@ -57,40 +57,36 @@ public class Beans {
 
     @SuppressWarnings("unchecked")
     private static Object internalInstantiate(ClassLoader cls, String beanName,
-            BeanContext context, Object initializer)
-            throws IOException, ClassNotFoundException {
-        Object result = null;
-
-        boolean deserialized = true;
-
-        ClassLoader loader = null;
-
+            BeanContext context, Object initializer) throws IOException,
+            ClassNotFoundException {
         // First try to load it from a serialization file.
         String beanResourceName = getBeanResourceName(beanName);
-
         InputStream is = (cls == null) ? ClassLoader
                 .getSystemResourceAsStream(beanResourceName) : cls
                 .getResourceAsStream(beanResourceName);
 
         IOException serializationException = null;
+        Object result = null;
         if (is != null) {
-            try{
-                ObjectInputStream ois = (cls == null) ? new ObjectInputStream(is)
-                        : new CustomizedObjectInputStream(is, cls);
+            try {
+                ObjectInputStream ois = (cls == null) ? new ObjectInputStream(
+                        is) : new CustomizedObjectInputStream(is, cls);
                 result = ois.readObject();
-            }catch(IOException exception){
-                //Not loadable - remember this as we may throw it later.
-                serializationException = exception;
+            } catch (IOException e) {
+                // Not loadable - remember this as we may throw it later.
+                serializationException = e;
             }
         }
 
-        //If that did not work, try to instantiate it from the given classloader.
+        // If it didn't work, try to instantiate it from the given classloader
+        boolean deserialized = true;
+        ClassLoader classLoader = cls == null ? ClassLoader
+                .getSystemClassLoader() : cls;
         if (result == null) {
             deserialized = false;
             try {
-                loader = cls == null ? ClassLoader.getSystemClassLoader() : cls;
-                Class<?> c = Class.forName(beanName, true, loader);
-                result = c.newInstance();
+                result = Class.forName(beanName, true, classLoader)
+                        .newInstance();
             } catch (Exception e) {
                 if (serializationException != null) {
                     throw serializationException;
@@ -108,10 +104,10 @@ public class Beans {
             } catch (Throwable t) {
                 // Ignored - leave isApplet as false.
             }
-            
+
             if (isApplet) {
-                appletLoaded((Applet) result, loader, beanName, context,
-                        (AppletInitializer)initializer, deserialized);
+                appletLoaded((Applet) result, classLoader, beanName, context,
+                        (AppletInitializer) initializer, deserialized);
             }
             if (null != context) {
                 context.add(result);
@@ -216,7 +212,6 @@ public class Beans {
      * @throws IOException
      * @throws ClassNotFoundException
      */
-    @SuppressWarnings("unchecked")
 	public static Object instantiate(ClassLoader cls, String beanName,
 			BeanContext context, AppletInitializer initializer)
 			throws IOException, ClassNotFoundException {
@@ -237,7 +232,6 @@ public class Beans {
      *            the specified view type.
      * @return a type view of the given bean.
      */
-    @SuppressWarnings("unused")
     public static Object getInstanceOf(Object bean, Class<?> targetType) {
         return bean;
     }
@@ -355,8 +349,9 @@ public class Beans {
         URL objectUrl = AccessController
                 .doPrivileged(new PrivilegedAction<URL>() {
                     public URL run() {
-                        if (loader == null)
+                        if (loader == null) {
                             return ClassLoader.getSystemResource(resourceName);
+                        }
                         return loader.getResource(resourceName);
                     }
                 });

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ClassPersistenceDelegate.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ClassPersistenceDelegate.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ClassPersistenceDelegate.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ClassPersistenceDelegate.java Mon Jun  7 08:06:18 2010
@@ -22,7 +22,7 @@ import java.lang.reflect.Field;
 class ClassPersistenceDelegate extends PersistenceDelegate {
     @Override
     protected Expression instantiate(Object oldInstance, Encoder out) {
-        Class<?> value = (Class) oldInstance;
+        Class<?> value = (Class<?>) oldInstance;
         Field fld = null;
         final String TYPE = "TYPE"; //$NON-NLS-1$
         Expression result;
@@ -79,9 +79,9 @@ class ClassPersistenceDelegate extends P
 
     @Override
     protected boolean mutatesTo(Object oldInstance, Object newInstance) {
-        if (oldInstance instanceof Class && newInstance instanceof Class) {
-            Class<?> c1 = (Class) oldInstance;
-            Class<?> c2 = (Class) newInstance;
+        if (oldInstance instanceof Class<?> && newInstance instanceof Class<?>) {
+            Class<?> c1 = (Class<?>) oldInstance;
+            Class<?> c2 = (Class<?>) newInstance;
             if (c1.getName().equals(c2.getName())) {
                 return true;
             }

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/CustomizedObjectInputStream.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/CustomizedObjectInputStream.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/CustomizedObjectInputStream.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/CustomizedObjectInputStream.java Mon Jun  7 08:06:18 2010
@@ -48,14 +48,12 @@ class CustomizedObjectInputStream extend
             int idx = className.lastIndexOf("["); //$NON-NLS-1$
             String prefix = className.substring(0, idx + 1);
             int[] dimensions = new int[prefix.length()];
-            String postfix;
-            Class<?> componentType = null;
-
             for (int i = 0; i < dimensions.length; ++i) {
                 dimensions[i] = 0;
             }
 
-            postfix = className.substring(idx + 1);
+            String postfix = className.substring(idx + 1);
+            Class<?> componentType = null;
             if (postfix.equals("Z")) { //$NON-NLS-1$
                 componentType = boolean.class;
             } else if (postfix.equals("B")) { //$NON-NLS-1$
@@ -81,10 +79,8 @@ class CustomizedObjectInputStream extend
                 throw new IllegalArgumentException(Messages.getString(
                         "beans.1E", className)); //$NON-NLS-1$
             }
-
             return Array.newInstance(componentType, dimensions).getClass();
         }
-        
         return Class.forName(className, true, cls);
     }
 }

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Encoder.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Encoder.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Encoder.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Encoder.java Mon Jun  7 08:06:18 2010
@@ -67,7 +67,7 @@ import javax.swing.ToolTipManager;
 @SuppressWarnings("unchecked")
 public class Encoder {
 
-    private static final Hashtable delegates = new Hashtable();
+    private static final Hashtable<Class<?>, PersistenceDelegate> delegates = new Hashtable<Class<?>, PersistenceDelegate>();
 
     private static final DefaultPersistenceDelegate defaultPD = new DefaultPersistenceDelegate();
 
@@ -217,8 +217,7 @@ public class Encoder {
         }
 
         // registered delegate
-        PersistenceDelegate registeredPD = (PersistenceDelegate) delegates
-                .get(type);
+        PersistenceDelegate registeredPD = delegates.get(type);
         if (registeredPD != null) {
             return registeredPD;
         }
@@ -238,22 +237,23 @@ public class Encoder {
         if (type.isArray()) {
             return arrayPD;
         }
+
         if (Proxy.isProxyClass(type)) {
             return proxyPD;
         }
 
         // check "persistenceDelegate" property
         try {
-            BeanInfo binfo = Introspector.getBeanInfo(type);
-            if (binfo != null) {
-                PersistenceDelegate pd = (PersistenceDelegate) binfo
+            BeanInfo beanInfo = Introspector.getBeanInfo(type);
+            if (beanInfo != null) {
+                PersistenceDelegate pd = (PersistenceDelegate) beanInfo
                         .getBeanDescriptor().getValue("persistenceDelegate"); //$NON-NLS-1$
                 if (pd != null) {
                     return pd;
                 }
             }
         } catch (Exception e) {
-            // ignore
+            // Ignored
         }
 
         // default persistence delegate
@@ -283,11 +283,7 @@ public class Encoder {
      *            the exception listener to set
      */
     public void setExceptionListener(ExceptionListener listener) {
-        if (listener == null) {
-            this.listener = defaultExListener;
-            return;
-        }
-        this.listener = listener;
+        this.listener = listener == null ? defaultExListener : listener;
     }
 
     /**
@@ -316,7 +312,7 @@ public class Encoder {
         return get(old);
     }
 
-    private Object[] forceNewArray(Object oldArray[]) {
+    private Object[] forceNewArray(Object[] oldArray) {
         if (oldArray == null) {
             return null;
         }

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventHandler.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventHandler.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventHandler.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventHandler.java Mon Jun  7 08:06:18 2010
@@ -26,6 +26,7 @@ import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.StringTokenizer;
 
+import org.apache.harmony.beans.BeansUtils;
 import org.apache.harmony.beans.internal.nls.Messages;
 
 public class EventHandler implements InvocationHandler {
@@ -61,17 +62,10 @@ public class EventHandler implements Inv
     }
 
     private Object invokeImpl(Object proxy, Method method, Object[] arguments) {
-        Class<?> proxyClass;
+        Class<?> proxyClass = proxy.getClass();
+        Object[] theArguments = arguments == null ? new Object[0] : arguments;
         Object result = null;
 
-        Object[] theArguments = arguments;
-        // XXX
-        if (arguments == null) {
-            theArguments = new Object[0];
-        }
-
-        proxyClass = proxy.getClass();
-
         // if a proxy
         if (Proxy.isProxyClass(proxyClass)) {
             InvocationHandler handler = Proxy.getInvocationHandler(proxy);
@@ -79,18 +73,20 @@ public class EventHandler implements Inv
             // if a valid object
             if (handler instanceof EventHandler) {
                 // if the method from the Object class is called
-                if (method.getDeclaringClass().equals(Object.class)) {
-                    if (method.getName().equals("hashCode") && //$NON-NLS-1$
-                            theArguments.length == 0) {
-                        result = Integer.valueOf(hashCode());
-                    } else if (method.getName().equals("equals") && //$NON-NLS-1$
-                            theArguments.length == 1 && theArguments[0] != null) {
+                String methodName = method.getName();
+                if (method.getDeclaringClass() == Object.class) {
+                    if (theArguments.length == 0) {
+                        if ("hashCode".equals(methodName)) { //$NON-NLS-1$
+                            result = Integer.valueOf(hashCode());
+                        } else if ("toString".equals(methodName)) { //$NON-NLS-1$
+                            result = proxy.getClass().getSimpleName()
+                                    + toString().substring(
+                                            getClass().getName().length());
+                        }
+                    } else if (theArguments.length == 1
+                            && theArguments[0] != null
+                            && "equals".equals(methodName)) { //$NON-NLS-1$
                         result = Boolean.valueOf(proxy == theArguments[0]);
-                    } else if (method.getName().equals("toString") && //$NON-NLS-1$
-                            theArguments.length == 0) {
-                        result = proxy.getClass().getSimpleName()
-                                + toString().substring(
-                                        getClass().getName().length());
                     }
                 } else if (isValidInvocation(method, theArguments)) {
                     // if listener method
@@ -109,7 +105,7 @@ public class EventHandler implements Inv
                     }
                 } else {
                     // in order to be compatible with RI
-                    if (listenerMethodName.equals(method.getName())) {
+                    if (listenerMethodName.equals(methodName)) {
                         throw new IllegalArgumentException(Messages
                                 .getString("beans.4D")); //$NON-NLS-1$
                     }
@@ -121,7 +117,6 @@ public class EventHandler implements Inv
                 throw new NullPointerException(Messages.getString("beans.55")); //$NON-NLS-1$
             }
         }
-
         return result;
     }
 
@@ -152,48 +147,42 @@ public class EventHandler implements Inv
                         action, eventPropertyName, listenerMethodName));
     }
 
-    @SuppressWarnings("unchecked")
     public static <T> T create(Class<T> listenerInterface, Object target,
             String action, String eventPropertyName) {
         return create(listenerInterface, target, action, eventPropertyName,
                 null);
     }
 
-    @SuppressWarnings("unchecked")
     public static <T> T create(Class<T> listenerInterface, Object target,
             String action) {
         return create(listenerInterface, target, action, null, null);
     }
 
     private boolean isValidInvocation(Method method, Object[] arguments) {
-        boolean result = false;
+        // all listener methods are valid
+        if (listenerMethodName == null) {
+            return true;
+        }
 
-        if (listenerMethodName == null) { // all listener methods are valid
-            result = true;
-        } else if (listenerMethodName.equals(method.getName())) {
-            // method's name matches
+        // method's name matches
+        if (listenerMethodName.equals(method.getName())) {
             // no arguments in call are valid
             if (eventPropertyName == null
                     && (arguments == null || arguments.length == 0)) {
-                result = true;
-                // one-argument call is also valid
-            } else if (arguments != null && arguments.length == 1) {
-                result = true;
-            } else {
-                result = false;
+                return true;
+            }
+            // one-argument call is also valid
+            if (arguments != null && arguments.length == 1) {
+                return true;
             }
-        } else {
-            result = false;
         }
-
-        return result;
+        return false;
     }
 
     private Object[] getArgs(Object[] arguments) throws Exception {
         if (eventPropertyName == null) {
-            return new Object[] {};
+            return new Object[0];
         } else if ((arguments == null) || (arguments.length == 0)) {
-            // || (arguments[0] == null)) {
             return arguments;
         } else {
             Object arg = arguments[0];
@@ -204,21 +193,21 @@ public class EventHandler implements Inv
                 PropertyDescriptor pd = findPropertyDescriptor(arg.getClass(),
                         propertyName);
 
+                Method getMethod = null;
                 if (pd != null) {
-                    Method getter = pd.getReadMethod();
+                    getMethod = pd.getReadMethod();
 
-                    if (getter != null) {
-                        arg = getter.invoke(arg, new Object[] {});
+                    if (getMethod != null) {
+                        arg = getMethod.invoke(arg, new Object[] {});
                     } else {
                         throw new IntrospectionException(Messages.getString(
                                 "beans.11", propertyName)); //$NON-NLS-1$
                     }
                 } else {
-                    Method method = findStaticGetter(arg.getClass(),
-                            propertyName);
+                    getMethod = findStaticGetter(arg.getClass(), propertyName);
 
-                    if (method != null) {
-                        arg = method.invoke(null, new Object[] {});
+                    if (getMethod != null) {
+                        arg = getMethod.invoke(null, new Object[] {});
                     } else {
                         // cannot access property getter
                         // RI throws NPE here so we should do the same
@@ -233,19 +222,14 @@ public class EventHandler implements Inv
 
     private Method getMethod(Object proxy, Method method, Object[] arguments,
             Object[] args) throws Exception {
-        Method result = null;
-
         // filtering - examine if the 'method' could be applied to proxy
-
         boolean found = false;
 
-        // can be invoke with any listener method
         if (listenerMethodName == null) {
+            // can be invoke with any listener method
             Class<?>[] proxyInterfaces = proxy.getClass().getInterfaces();
-
             for (Class<?> proxyInstance : proxyInterfaces) {
                 Method[] interfaceMethods = proxyInstance.getMethods();
-
                 for (Method listenerMethod : interfaceMethods) {
                     if (equalNames(listenerMethod, method)
                             && canInvokeWithArguments(listenerMethod, arguments)) {
@@ -258,9 +242,8 @@ public class EventHandler implements Inv
                     break;
                 }
             }
-
+        } else if (listenerMethodName.equals(method.getName())) {
             // can be invoked with a specified listener method
-        } else if (method.getName().equals(listenerMethodName)) {
             found = true;
         }
 
@@ -270,7 +253,7 @@ public class EventHandler implements Inv
 
         // 'Method' can be applied to proxy - filtering succeeded
         try {
-            result = findMethod(target.getClass(), args);
+            Method result = findMethod(target.getClass(), args);
             if (result == null) {
                 PropertyDescriptor pd = findPropertyDescriptor(target
                         .getClass(), action);
@@ -286,40 +269,33 @@ public class EventHandler implements Inv
                     throw new IndexOutOfBoundsException(Messages
                             .getString("beans.14")); //$NON-NLS-1$
                 }
-            } else {
-                return result;
             }
+            return result;
         } catch (IntrospectionException ie) {
             throw new IndexOutOfBoundsException(Messages.getString("beans.14")); //$NON-NLS-1$
         }
-
-        return result;
     }
 
     private PropertyDescriptor findPropertyDescriptor(Class<?> theClass,
             String propertyName) throws IntrospectionException {
-        PropertyDescriptor result = null;
         BeanInfo beanInfo = Introspector.getBeanInfo(theClass);
         PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
 
-        for (PropertyDescriptor element : pds) {
-            if (element.getName().equals(propertyName)) {
-                result = element;
-                break;
+        for (PropertyDescriptor pd : pds) {
+            if (pd.getName().equals(propertyName)) {
+                return pd;
             }
         }
-        return result;
+        return null;
     }
 
     private Method findStaticGetter(Class<?> theClass, String propertyName) {
-        Method result = null;
         Method[] methods = theClass.getMethods();
-
-        for (Method element : methods) {
-            int modifiers = element.getModifiers();
+        for (Method method : methods) {
+            int modifiers = method.getModifiers();
 
             if (Modifier.isStatic(modifiers) && Modifier.isPublic(modifiers)) {
-                String methodName = element.getName();
+                String methodName = method.getName();
                 String postfix = null;
 
                 if (methodName.startsWith("get")) { //$NON-NLS-1$
@@ -330,67 +306,51 @@ public class EventHandler implements Inv
                     continue;
                 }
 
-                if ((element.getParameterTypes().length != 0)
-                        || (element.getReturnType() == void.class)) {
+                if ((method.getParameterTypes().length != 0)
+                        || (method.getReturnType() == void.class)) {
                     continue;
                 }
 
                 postfix = Introspector.decapitalize(postfix);
                 if (postfix.equals(propertyName)) {
-                    result = element;
-                    break;
+                    return method;
                 }
             }
         }
-
-        return result;
+        return null;
     }
 
     private Method findMethod(Class<?> type, Object[] args) {
         Method[] methods = type.getMethods();
-
-        for (Method element : methods) {
-            if (action.equals(element.getName())
-                    && canInvokeWithArguments(element, args)) {
-                return element;
+        for (Method method : methods) {
+            if (action.equals(method.getName())
+                    && canInvokeWithArguments(method, args)) {
+                return method;
             }
         }
-
         return null;
     }
 
-    private static boolean isPrimitiveWrapper(Class<?> wrapper, Class<?> base) {
-        return (base == boolean.class) && (wrapper == Boolean.class)
-                || (base == byte.class) && (wrapper == Byte.class)
-                || (base == char.class) && (wrapper == Character.class)
-                || (base == short.class) && (wrapper == Short.class)
-                || (base == int.class) && (wrapper == Integer.class)
-                || (base == long.class) && (wrapper == Long.class)
-                || (base == float.class) && (wrapper == Float.class)
-                || (base == double.class) && (wrapper == Double.class);
-    }
-
-    private static boolean canInvokeWithArguments(Method m, Object[] arguments) {
-        Class<?>[] parameterTypes = m.getParameterTypes();
-
-        if (parameterTypes.length == arguments.length) {
-            for (int i = 0; i < arguments.length; ++i) {
-                Class<?> argumentType = (arguments[i] == null) ? null
-                        : arguments[i].getClass();
-
-                if ((argumentType == null)
-                        || isPrimitiveWrapper(argumentType, parameterTypes[i])) {
-                    // ... nothing to do - just not to break the cycle
-                } else if (!argumentType.isAssignableFrom(parameterTypes[i])) {
-                    return false;
-                }
-            }
-        } else {
+    private static boolean canInvokeWithArguments(Method method,
+            Object[] arguments) {
+        Class<?>[] parameterTypes = method.getParameterTypes();
+        if (parameterTypes.length != arguments.length) {
             return false;
         }
 
+        for (int index = 0; index < arguments.length; index++) {
+            Class<?> argumentType = (arguments[index] == null) ? null
+                    : arguments[index].getClass();
+            if (argumentType == null
+                    || BeansUtils.isPrimitiveWrapper(argumentType,
+                            parameterTypes[index])) {
+                continue;
+            }
+            if (!argumentType.isAssignableFrom(parameterTypes[index])) {
+                return false;
+            }
+        }
         return true;
-
     }
 
     private static boolean equalNames(Method m1, Method m2) {

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventSetDescriptor.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventSetDescriptor.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventSetDescriptor.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventSetDescriptor.java Mon Jun  7 08:06:18 2010
@@ -42,17 +42,15 @@ public class EventSetDescriptor extends 
     public EventSetDescriptor(Class<?> sourceClass, String eventSetName,
             Class<?> listenerType, String listenerMethodName)
             throws IntrospectionException {
-        Method m;
-
         checkNotNull(sourceClass, eventSetName, listenerType,
                 listenerMethodName);
-
         setName(eventSetName);
         this.listenerType = listenerType;
-        m = findListenerMethodByName(listenerMethodName);
-        checkEventType(eventSetName, m);
+
+        Method method = findListenerMethodByName(listenerMethodName);
+        checkEventType(eventSetName, method);
         listenerMethodDescriptors = new ArrayList<MethodDescriptor>();
-        listenerMethodDescriptors.add(new MethodDescriptor(m));
+        listenerMethodDescriptors.add(new MethodDescriptor(method));
         addListenerMethod = findMethodByPrefix(sourceClass, "add", ""); //$NON-NLS-1$ //$NON-NLS-2$
         removeListenerMethod = findMethodByPrefix(sourceClass, "remove", ""); //$NON-NLS-1$ //$NON-NLS-2$
 
@@ -109,24 +107,24 @@ public class EventSetDescriptor extends 
 
     private Method findListenerMethodByName(String listenerMethodName)
             throws IntrospectionException {
-        Method method = null;
+        Method result = null;
         Method[] methods = listenerType.getMethods();
-        for (Method m : methods) {
-            if (listenerMethodName.equals(m.getName())) {
-                Class[] paramTypes = m.getParameterTypes();
+        for (Method method : methods) {
+            if (listenerMethodName.equals(method.getName())) {
+                Class<?>[] paramTypes = method.getParameterTypes();
                 if (paramTypes.length == 1
                         && paramTypes[0].getName().endsWith("Event")) { //$NON-NLS-1$
-                    method = m;
+                    result = method;
                     break;
                 }
 
             }
         }
-        if (null == method) {
+        if (null == result) {
             throw new IntrospectionException(Messages.getString("beans.31", //$NON-NLS-1$
                     listenerMethodName, listenerType.getName()));
         }
-        return method;
+        return result;
     }
 
     public EventSetDescriptor(String eventSetName, Class<?> listenerType,
@@ -234,7 +232,6 @@ public class EventSetDescriptor extends 
      */
     private static String extractShortClassName(String fullClassName) {
         int k = fullClassName.lastIndexOf('$');
-        
         k = (k == -1 ? fullClassName.lastIndexOf('.') : k);
         return fullClassName.substring(k + 1);
     }
@@ -255,28 +252,24 @@ public class EventSetDescriptor extends 
     }
 
     public Method[] getListenerMethods() {
-        int i = 0;
-
         if (listenerMethods != null) {
             return listenerMethods;
         }
 
         if (listenerMethodDescriptors != null) {
             listenerMethods = new Method[listenerMethodDescriptors.size()];
+            int index = 0;
             for (MethodDescriptor md : listenerMethodDescriptors) {
-                listenerMethods[i++] = md.getMethod();
+                listenerMethods[index++] = md.getMethod();
             }
             return listenerMethods;
         }
-
         return null;
     }
 
     public MethodDescriptor[] getListenerMethodDescriptors() {
         return listenerMethodDescriptors == null ? null
-                : listenerMethodDescriptors
-                        .toArray(new MethodDescriptor[listenerMethodDescriptors
-                                .size()]);
+                : listenerMethodDescriptors.toArray(new MethodDescriptor[0]);
     }
 
     public Method getRemoveListenerMethod() {
@@ -339,22 +332,22 @@ public class EventSetDescriptor extends 
     private Method findAddRemoveListnerMethodWithLessCheck(
             Class<?> sourceClass, String methodName)
             throws IntrospectionException {
-        Method method = null;
         Method[] methods = sourceClass.getMethods();
-        for (Method m : methods) {
-            if (m.getName().equals(methodName)) {
-                Class[] paramTypes = m.getParameterTypes();
+        Method result = null;
+        for (Method method : methods) {
+            if (method.getName().equals(methodName)) {
+                Class<?>[] paramTypes = method.getParameterTypes();
                 if (paramTypes.length == 1) {
-                    method = m;
+                    result = method;
                     break;
                 }
             }
         }
-        if (null == method) {
+        if (null == result) {
             throw new IntrospectionException(Messages.getString("beans.31", //$NON-NLS-1$
                     methodName, listenerType.getName()));
         }
-        return method;
+        return result;
     }
 
     /**
@@ -383,18 +376,18 @@ public class EventSetDescriptor extends 
         }
         String methodName = prefix + shortName + postfix;
         try {
-            if (prefix.equals("get")) { //$NON-NLS-1$
+            if ("get".equals(prefix)) { //$NON-NLS-1$
                 return sourceClass.getMethod(methodName);
             }
         } catch (NoSuchMethodException nsme) {
             return null;
         }
-        Method[] m = sourceClass.getMethods();
-        for (int i = 0; i < m.length; i++) {
-            if (m[i].getName().equals(methodName)) {
-                Class[] paramTypes = m[i].getParameterTypes();
+        Method[] methods = sourceClass.getMethods();
+        for (int i = 0; i < methods.length; i++) {
+            if (methods[i].getName().equals(methodName)) {
+                Class<?>[] paramTypes = methods[i].getParameterTypes();
                 if (paramTypes.length == 1) {
-                    return m[i];
+                    return methods[i];
                 }
             }
         }

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/FeatureDescriptor.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/FeatureDescriptor.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/FeatureDescriptor.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/FeatureDescriptor.java Mon Jun  7 08:06:18 2010
@@ -74,11 +74,10 @@ public class FeatureDescriptor {
      * @return The attribute's value.
      */
     public Object getValue(String attributeName) {
-        Object result = null;
         if (attributeName != null) {
-            result = values.get(attributeName);
+            return values.get(attributeName);
         }
-        return result;
+        return null;
     }
 
     /**

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/IndexedPropertyDescriptor.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/IndexedPropertyDescriptor.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/IndexedPropertyDescriptor.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/IndexedPropertyDescriptor.java Mon Jun  7 08:06:18 2010
@@ -346,7 +346,7 @@ public class IndexedPropertyDescriptor e
         }
 
         // Validate the indexed write method.
-        Class[] indexedSetterArgs = indexSetter.getParameterTypes();
+        Class<?>[] indexedSetterArgs = indexSetter.getParameterTypes();
         if (indexedSetterArgs.length != 2) {
             // beans.5F=Indexed write method must take two arguments
             throw new IntrospectionException(Messages.getString("beans.5F")); //$NON-NLS-1$

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/PropertyEditorManager.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/PropertyEditorManager.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/PropertyEditorManager.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/PropertyEditorManager.java Mon Jun  7 08:06:18 2010
@@ -24,8 +24,7 @@ public class PropertyEditorManager {
 
     private static String[] path = { "org.apache.harmony.beans.editors" }; //$NON-NLS-1$
 
-    private static final Map<Class<?>, Class<?>> registeredEditors
-               = new HashMap<Class<?>, Class<?>>();
+    private static final Map<Class<?>, Class<?>> registeredEditors = new HashMap<Class<?>, Class<?>>();
 
     public PropertyEditorManager() {
         // expected
@@ -48,31 +47,21 @@ public class PropertyEditorManager {
         }
     }
 
-    private static PropertyEditor loadEditor(Class<?> targetType, String className)
-            throws ClassNotFoundException, IllegalAccessException,
-                   InstantiationException {
+    private static PropertyEditor loadEditor(Class<?> targetType,
+            String className) throws ClassNotFoundException,
+            IllegalAccessException, InstantiationException {
         ClassLoader loader = targetType.getClassLoader();
-        Class<?> editorClass = null;
-
+        if (loader == null) {
+            loader = ClassLoader.getSystemClassLoader();
+        }
         try {
-            if (loader != null) {
-                editorClass = loader.loadClass(className);
-            } else {
-                loader = ClassLoader.getSystemClassLoader();
-
-                if (loader != null) {
-                    editorClass = loader.loadClass(className);
-                }
-            }
+            return (PropertyEditor) loader.loadClass(className).newInstance();
         } catch (ClassNotFoundException e) {
-            // expected
+            // Ignored
         }
 
-        if (editorClass == null) {
-            loader = Thread.currentThread().getContextClassLoader();
-            editorClass = loader.loadClass(className);
-        }
-        return (PropertyEditor) editorClass.newInstance();
+        return (PropertyEditor) Thread.currentThread().getContextClassLoader()
+                .loadClass(className).newInstance();
     }
 
     public static synchronized PropertyEditor findEditor(Class<?> targetType) {
@@ -102,9 +91,12 @@ public class PropertyEditorManager {
                         editorClassName.lastIndexOf('.') + 1));
 
         for (String element : path) {
+            if (element == null) {
+                continue;
+            }
             try {
-                editorClassName = element + '.' + shortEditorClassName;
-                return loadEditor(targetType, editorClassName);
+                return loadEditor(targetType, element + '.'
+                        + shortEditorClassName);
             } catch (Exception e) {
                 // expected
             }

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ProxyPersistenceDelegate.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ProxyPersistenceDelegate.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ProxyPersistenceDelegate.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ProxyPersistenceDelegate.java Mon Jun  7 08:06:18 2010
@@ -24,7 +24,7 @@ class ProxyPersistenceDelegate extends D
     @Override
     protected Expression instantiate(Object oldInstance, Encoder out) {
         assert oldInstance instanceof Proxy : oldInstance;
-        Class[] interfaces = oldInstance.getClass().getInterfaces();
+        Class<?>[] interfaces = oldInstance.getClass().getInterfaces();
         InvocationHandler handler = Proxy.getInvocationHandler(oldInstance);
         return new Expression(oldInstance, Proxy.class, "newProxyInstance", //$NON-NLS-1$
                 new Object[] { oldInstance.getClass().getClassLoader(), interfaces, handler });

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ReferenceMap.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ReferenceMap.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ReferenceMap.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ReferenceMap.java Mon Jun  7 08:06:18 2010
@@ -15,12 +15,11 @@
  * limitations under the License.
  */
 
-
 package java.beans;
 
 /**
  * A simple map.
- * Keys are equal iff they are the same object (reference equals).
+ * Keys are equal if they are the same object (reference equals).
  * The put() do not check key duplication, so always do a get() before put().
  * Noop if either key or value is null.
  * 

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/StandardBeanInfo.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/StandardBeanInfo.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/StandardBeanInfo.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/StandardBeanInfo.java Mon Jun  7 08:06:18 2010
@@ -77,6 +77,8 @@ class StandardBeanInfo extends SimpleBea
 
     private PropertyDescriptor[] properties = null;
 
+    private BeanDescriptor beanDescriptor = null;
+
     BeanInfo[] additionalBeanInfo = null;
 
     private Class<?> beanClass;
@@ -175,13 +177,15 @@ class StandardBeanInfo extends SimpleBea
 
     @Override
     public BeanDescriptor getBeanDescriptor() {
-        if (explicitBeanInfo != null) {
-            BeanDescriptor beanDesc = explicitBeanInfo.getBeanDescriptor();
-            if (beanDesc != null) {
-                return beanDesc;
+        if (beanDescriptor == null) {
+            if (explicitBeanInfo != null) {
+                beanDescriptor = explicitBeanInfo.getBeanDescriptor();
+            }
+            if (beanDescriptor == null) {
+                beanDescriptor = new BeanDescriptor(beanClass);
             }
         }
-        return new BeanDescriptor(beanClass);
+        return beanDescriptor;
     }
 
     @Override
@@ -598,7 +602,7 @@ class StandardBeanInfo extends SimpleBea
 
     private static String getQualifiedName(Method method) {
         String qualifiedName = method.getName();
-        Class[] paramTypes = method.getParameterTypes();
+        Class<?>[] paramTypes = method.getParameterTypes();
         if (paramTypes != null) {
             for (int i = 0; i < paramTypes.length; i++) {
                 qualifiedName += "_" + paramTypes[i].getName(); //$NON-NLS-1$
@@ -796,7 +800,7 @@ class StandardBeanInfo extends SimpleBea
     @SuppressWarnings("nls")
     private void introspectPropertyListener(Method theMethod) {
         String methodName = theMethod.getName();
-        Class[] param = theMethod.getParameterTypes();
+        Class<?>[] param = theMethod.getParameterTypes();
         if (param.length != 1) {
             return;
         }
@@ -969,8 +973,8 @@ class StandardBeanInfo extends SimpleBea
             Method normalSetter = null;
             Method indexedSetter = null;
 
-            Class normalPropType = null;
-            Class indexedPropType = null;
+            Class<?> normalPropType = null;
+            Class<?> indexedPropType = null;
 
             if (getters == null) {
                 getters = new ArrayList<Method>();
@@ -1007,7 +1011,7 @@ class StandardBeanInfo extends SimpleBea
             // retrieve normal setter
             if (normalGetter != null) {
                 // Now we will try to look for normal setter of the same type.
-                Class propertyType = normalGetter.getReturnType();
+                Class<?> propertyType = normalGetter.getReturnType();
 
                 for (Method setter : setters) {
                     if (setter.getParameterTypes().length == 1
@@ -1031,7 +1035,7 @@ class StandardBeanInfo extends SimpleBea
             // retrieve indexed setter
             if (indexedGetter != null) {
                 // Now we will try to look for indexed setter of the same type.
-                Class propertyType = indexedGetter.getReturnType();
+                Class<?> propertyType = indexedGetter.getReturnType();
 
                 for (Method setter : setters) {
                     if (setter.getParameterTypes().length == 2
@@ -1403,7 +1407,7 @@ class StandardBeanInfo extends SimpleBea
         Method[] methods = listenerType.getDeclaredMethods();
         ArrayList<Method> list = new ArrayList<Method>();
         for (int i = 0; i < methods.length; i++) {
-            Class[] paramTypes = methods[i].getParameterTypes();
+            Class<?>[] paramTypes = methods[i].getParameterTypes();
             if (paramTypes.length != 1) {
                 continue;
             }

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Statement.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Statement.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Statement.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Statement.java Mon Jun  7 08:06:18 2010
@@ -43,7 +43,7 @@ public class Statement {
     private Object[] arguments;
     
     // cache used methods of specified target class to accelerate method search
-    private static WeakHashMap<Class, Method[]> cache = new WeakHashMap<Class, Method[]>();
+    private static WeakHashMap<Class<?>, Method[]> cache = new WeakHashMap<Class<?>, Method[]>();
     
     // the special method name donating constructors
     static final String CONSTRUCTOR_NAME = "new"; //$NON-NLS-1$
@@ -126,13 +126,13 @@ public class Statement {
                 result = method.invoke(null, args);
             } else if (theMethodName.equals("newInstance") //$NON-NLS-1$
                     && theTarget == Array.class) {
-                Class<?> componentType = (Class) theArguments[0];
+                Class<?> componentType = (Class<?>) theArguments[0];
                 int length = ((Integer) theArguments[1]).intValue();
                 result = Array.newInstance(componentType, length);
             } else if (theMethodName.equals("new") //$NON-NLS-1$
                     || theMethodName.equals("newInstance")) { //$NON-NLS-1$
-                if (theTarget instanceof Class) {
-                    Constructor<?> constructor = findConstructor((Class)theTarget, theArguments);
+                if (theTarget instanceof Class<?>) {
+                    Constructor<?> constructor = findConstructor((Class<?>)theTarget, theArguments);
                     result = constructor.newInstance(theArguments);
                 } else {
                     if ("new".equals(theMethodName)) { //$NON-NLS-1$
@@ -146,7 +146,7 @@ public class Statement {
             } else if (theMethodName.equals("newArray")) {//$NON-NLS-1$
                 // create a new array instance without length attribute
                 int length = theArguments.length;
-                Class clazz = (Class) theTarget;
+                Class<?> clazz = (Class<?>) theTarget;
 
                 // check the element types of array
                 for (int i = 0; i < length; i++) {
@@ -170,7 +170,7 @@ public class Statement {
                     System.arraycopy(theArguments, 0, result, 0, length);
                 }
                 return result;
-            } else if (theTarget instanceof Class) {
+            } else if (theTarget instanceof Class<?>) {
                 Method method = null;
                 boolean found = false;
                 try {
@@ -180,7 +180,7 @@ public class Statement {
                      * differs from Class itself
                      */
                     if (theTarget != Class.class) {
-                        method = findMethod((Class) theTarget, theMethodName, theArguments, true);
+                        method = findMethod((Class<?>) theTarget, theMethodName, theArguments, true);
                         result = method.invoke(null, theArguments);
                         found = true;
                     }
@@ -204,8 +204,8 @@ public class Statement {
                         result = method.invoke(theTarget, theArguments);
                     }
                 }
-            } else if (theTarget instanceof Iterator){
-            	final Iterator<?> iterator = (Iterator) theTarget;
+            } else if (theTarget instanceof Iterator<?>){
+            	final Iterator<?> iterator = (Iterator<?>) theTarget;
 				final Method method = findMethod(theTarget.getClass(), theMethodName,
 						theArguments, false);
 				if (iterator.hasNext()) {
@@ -237,7 +237,7 @@ public class Statement {
         return result;
     }
     
-    private void arrayCopy(Class type, Object[] src, Object dest, int length) {
+    private void arrayCopy(Class<?> type, Object[] src, Object dest, int length) {
         if (type == boolean.class) {
             boolean[] destination = (boolean[]) dest;
             for (int i = 0; i < length; i++) {
@@ -438,11 +438,11 @@ public class Statement {
     static boolean isStaticMethodCall(Statement stmt) {
         Object target = stmt.getTarget();
         String mName = stmt.getMethodName();
-        if (!(target instanceof Class)) {
+        if (!(target instanceof Class<?>)) {
             return false;
         }
         try {
-            Statement.findMethod((Class) target, mName, stmt.getArguments(), true);
+            Statement.findMethod((Class<?>) target, mName, stmt.getArguments(), true);
             return true;
         } catch (NoSuchMethodException e) {
             return false;

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilCollectionPersistenceDelegate.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilCollectionPersistenceDelegate.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilCollectionPersistenceDelegate.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilCollectionPersistenceDelegate.java Mon Jun  7 08:06:18 2010
@@ -27,7 +27,8 @@ class UtilCollectionPersistenceDelegate 
     protected void initialize(Class<?> type, Object oldInstance,
             Object newInstance, Encoder enc) {
 
-        Collection<?> oldList = (Collection) oldInstance, newList = (Collection)newInstance;
+        Collection<?> oldList = (Collection<?>) oldInstance;
+        Collection<?> newList = (Collection<?>) newInstance;
         Iterator<?> oldIterator = oldList.iterator(), newIterator = newList.iterator();
         for (; oldIterator.hasNext();) {
             Expression getterExp = new Expression(oldIterator, "next", null);

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilListPersistenceDelegate.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilListPersistenceDelegate.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilListPersistenceDelegate.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilListPersistenceDelegate.java Mon Jun  7 08:06:18 2010
@@ -25,7 +25,7 @@ class UtilListPersistenceDelegate extend
     protected void initialize(Class<?> type, Object oldInstance,
             Object newInstance, Encoder enc) {
 
-        List<?> list = (List) oldInstance;
+        List<?> list = (List<?>) oldInstance;
         int size = list.size();
         for (int i = 0; i < size; i++) {
             Expression getterExp = new Expression(oldInstance, "get",

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/XMLDecoder.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/XMLDecoder.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/XMLDecoder.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/XMLDecoder.java Mon Jun  7 08:06:18 2010
@@ -330,7 +330,7 @@ public class XMLDecoder {
                 method = args.size() == 1 ? "get" : "set";
             }
             if (elem.fromField) {
-                Field f = ((Class) elem.target).getField(method);
+                Field f = ((Class<?>) elem.target).getField(method);
                 return (new Expression(f, "get", new Object[] { null }))
                         .getValue();
             }
@@ -342,7 +342,7 @@ public class XMLDecoder {
                 if ("getOwner".equals(method)) {
                     return owner;
                 }
-                Class[] c = new Class[args.size()];
+                Class<?>[] c = new Class[args.size()];
                 for (int i = 0; i < args.size(); i++) {
                     Object arg = args.get(i);
                     c[i] = (arg == null ? null: arg.getClass());
@@ -358,7 +358,7 @@ public class XMLDecoder {
 
                 // Find the specific method matching the parameter
                 Method mostSpecificMethod = findMethod(
-                        owner instanceof Class ? (Class) owner : owner
+                        owner instanceof Class<?> ? (Class<?>) owner : owner
                                 .getClass(), method, c);
 
                 return mostSpecificMethod.invoke(owner, args.toArray());
@@ -369,8 +369,8 @@ public class XMLDecoder {
             return exp.getValue();
         }
 
-        private Method findMethod(Class clazz, String methodName,
-                Class[] clazzes) throws Exception {
+        private Method findMethod(Class<?> clazz, String methodName,
+                Class<?>[] clazzes) throws Exception {
             Method[] methods = clazz.getMethods();
             ArrayList<Method> matchMethods = new ArrayList<Method>();
 
@@ -379,7 +379,7 @@ public class XMLDecoder {
                 if (!methodName.equals(method.getName())) {
                     continue;
                 }
-                Class[] parameterTypes = method.getParameterTypes();
+                Class<?>[] parameterTypes = method.getParameterTypes();
                 if (parameterTypes.length != clazzes.length) {
                     continue;
                 }

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Argument.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Argument.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Argument.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Argument.java Mon Jun  7 08:06:18 2010
@@ -23,7 +23,7 @@ public class Argument {
 
     private Object value;
 
-    private Class[] interfaces;
+    private Class<?>[] interfaces;
 
     public Argument(Object value) {
         this.value = value;
@@ -47,7 +47,7 @@ public class Argument {
         return value;
     }
 
-    public Class[] getInterfaces() {
+    public Class<?>[] getInterfaces() {
         return interfaces;
     }
 
@@ -56,7 +56,7 @@ public class Argument {
         this.interfaces = type.getInterfaces();
     }
 
-    public void setInterfaces(Class[] interfaces) {
+    public void setInterfaces(Class<?>[] interfaces) {
         this.interfaces = interfaces;
     }
 }

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/BeansUtils.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/BeansUtils.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/BeansUtils.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/BeansUtils.java Mon Jun  7 08:06:18 2010
@@ -18,40 +18,49 @@
 package org.apache.harmony.beans;
 
 public class BeansUtils {
-    
-    public static final int getHashCode(Object o) {
-        return o != null ? o.hashCode() : 0;
+
+    public static final int getHashCode(Object obj) {
+        return obj != null ? obj.hashCode() : 0;
     }
-    
-    public static final int getHashCode(boolean b) {
-        return b?1:0;
+
+    public static final int getHashCode(boolean bool) {
+        return bool ? 1 : 0;
     }
-    
-    public static String toASCIILowerCase(String s) {
-        int len = s.length();
-        StringBuilder buffer = new StringBuilder(len);
-        for (int i = 0; i < len; i++) {
-            char c = s.charAt(i);
-            if ('A' <= c && c <= 'Z') {
-                buffer.append((char) (c + ('a' - 'A')));
+
+    public static String toASCIILowerCase(String string) {
+        char[] charArray = string.toCharArray();
+        StringBuilder sb = new StringBuilder(charArray.length);
+        for (int index = 0; index < charArray.length; index++) {
+            if ('A' <= charArray[index] && charArray[index] <= 'Z') {
+                sb.append((char) (charArray[index] + ('a' - 'A')));
             } else {
-                buffer.append(c);
+                sb.append(charArray[index]);
             }
         }
-        return buffer.toString();
+        return sb.toString();
     }
-    
-    public static String toASCIIUpperCase(String s) {
-        int len = s.length();
-        StringBuilder buffer = new StringBuilder(len);
-        for (int i = 0; i < len; i++) {
-            char c = s.charAt(i);
-            if ('a' <= c && c <= 'z') {
-                buffer.append((char) (c - ('a' - 'A')));
+
+    public static String toASCIIUpperCase(String string) {
+        char[] charArray = string.toCharArray();
+        StringBuilder sb = new StringBuilder(charArray.length);
+        for (int index = 0; index < charArray.length; index++) {
+            if ('a' <= charArray[index] && charArray[index] <= 'z') {
+                sb.append((char) (charArray[index] - ('a' - 'A')));
             } else {
-                buffer.append(c);
+                sb.append(charArray[index]);
             }
         }
-        return buffer.toString();
+        return sb.toString();
+    }
+
+    public static boolean isPrimitiveWrapper(Class<?> wrapper, Class<?> base) {
+        return (base == boolean.class) && (wrapper == Boolean.class)
+                || (base == byte.class) && (wrapper == Byte.class)
+                || (base == char.class) && (wrapper == Character.class)
+                || (base == short.class) && (wrapper == Short.class)
+                || (base == int.class) && (wrapper == Integer.class)
+                || (base == long.class) && (wrapper == Long.class)
+                || (base == float.class) && (wrapper == Float.class)
+                || (base == double.class) && (wrapper == Double.class);
     }
 }

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Command.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Command.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Command.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Command.java Mon Jun  7 08:06:18 2010
@@ -495,7 +495,7 @@ public class Command {
 
                     if (isField()) {
                         String fieldName = getAttr("field"); //$NON-NLS-1$
-                        target = ((Class) target).getField(fieldName);
+                        target = ((Class<?>) target).getField(fieldName);
                     }
                 } else {
                     throw new Exception(Messages.getString(

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/BooleanEditor.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/BooleanEditor.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/BooleanEditor.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/BooleanEditor.java Mon Jun  7 08:06:18 2010
@@ -34,9 +34,9 @@ public final class BooleanEditor extends
         if(text == null){
             throw new NullPointerException();
         }
-        if(text.equalsIgnoreCase("true") || text.equalsIgnoreCase("false")){
-            setValue(Boolean.valueOf(text));
-        }else{
+        if ("true".equalsIgnoreCase(text) || "false".equalsIgnoreCase(text)) { //$NON-NLS-1$ //$NON-NLS-2$
+            setValue(new Boolean(text));
+        } else {
             throw new IllegalArgumentException(text);
         }
     }
@@ -68,12 +68,10 @@ public final class BooleanEditor extends
     }
 
     private String getValueAsString() {
-        String result = null;
         Object value = getValue();
         if (value != null) {
-            Boolean bValue = (Boolean) value;
-            result = bValue.toString();
+            return ((Boolean) value).toString();
         }
-        return result;
+        return null;
     }
 }

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ByteEditor.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ByteEditor.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ByteEditor.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ByteEditor.java Mon Jun  7 08:06:18 2010
@@ -36,7 +36,7 @@ public final class ByteEditor extends Pr
 
     @Override
     public String getJavaInitializationString() {
-        return new StringBuilder("((byte)").append(getValue()).append(")").toString();
+        return new StringBuilder("((byte)").append(getValue()).append(")").toString(); //$NON-NLS-1$ //$NON-NLS-2$
     }
 
     @Override

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ColorEditor.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ColorEditor.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ColorEditor.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ColorEditor.java Mon Jun  7 08:06:18 2010
@@ -58,15 +58,17 @@ public class ColorEditor extends Panel i
     }
 
     public String getJavaInitializationString() {
-        String result = null;
-        Color color = (Color) getValue();
-        if (color != null) {
-            int red = color.getRed();
-            int green = color.getGreen();
-            int blue = color.getBlue();
-            result = "new java.awt.Color(" + red + "," + green + "," + blue + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+        Color value = (Color) getValue();
+        if (value != null) {
+            StringBuilder sb = new StringBuilder("new java.awt.Color("); //$NON-NLS-1$
+            sb.append(value.getRed());
+            sb.append(',');
+            sb.append(value.getGreen());
+            sb.append(',');
+            sb.append(value.getBlue() + ")"); //$NON-NLS-1$
+            return sb.toString();
         }
-        return result;
+        return null;
     }
 
     public String[] getTags() {
@@ -81,9 +83,8 @@ public class ColorEditor extends Panel i
         this.value = (Color) value;
         PropertyChangeEvent changeAllEvent = new PropertyChangeEvent(this,
                 "value", oldValue, value); //$NON-NLS-1$
-        PropertyChangeListener[] copy = new PropertyChangeListener[listeners
-                .size()];
-        listeners.toArray(copy);
+        PropertyChangeListener[] copy = listeners
+                .toArray(new PropertyChangeListener[0]);
         for (PropertyChangeListener listener : copy) {
             listener.propertyChange(changeAllEvent);
         }
@@ -91,17 +92,17 @@ public class ColorEditor extends Panel i
 
     @SuppressWarnings("nls")
     public String getAsText() {
-        Color c = (Color) getValue();
-        if (null == c) {
-            return "null";
-        }
-        StringBuilder sb = new StringBuilder(14);
-        sb.append(c.getRed());
-        sb.append(",");
-        sb.append(c.getGreen());
-        sb.append(",");
-        sb.append(c.getBlue());
-        return sb.toString();
+        Color value = (Color) getValue();
+        if (value != null) {
+            StringBuilder sb = new StringBuilder(14);
+            sb.append(value.getRed());
+            sb.append(',');
+            sb.append(value.getGreen());
+            sb.append(',');
+            sb.append(value.getBlue());
+            return sb.toString();
+        }
+        return ""; //$NON-NLS-1$
     }
 
     @SuppressWarnings("nls")
@@ -109,20 +110,17 @@ public class ColorEditor extends Panel i
         if (null == text) {
             throw new NullPointerException();
         }
-
-        int r = 0;
-        int g = 0;
-        int b = 0;
         String aText = text;
         try {
-            int index = text.indexOf(",");
-            r = Integer.parseInt(text.substring(0, index));
-            aText = text.substring(index + 1);
-            index = aText.indexOf(",");
-            g = Integer.parseInt(aText.substring(0, index));
-            aText = aText.substring(index + 1);
-            b = Integer.parseInt(aText);
-            setValue(new Color(r, g, b));
+            int commaIndex = aText.indexOf(',');
+            int red = Integer.parseInt(aText.substring(0, commaIndex));
+            aText = aText.substring(commaIndex + 1);
+            commaIndex = aText.indexOf(',');
+            int green = Integer.parseInt(aText.substring(0, commaIndex));
+            aText = aText.substring(commaIndex + 1);
+            int blue = Integer.parseInt(aText);
+            
+            setValue(new Color(red, green, blue));
         } catch (Exception e) {
             throw new IllegalArgumentException(aText);
         }

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FloatEditor.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FloatEditor.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FloatEditor.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FloatEditor.java Mon Jun  7 08:06:18 2010
@@ -36,7 +36,7 @@ public final class FloatEditor extends P
 
     @Override
     public String getJavaInitializationString() {
-        return getValue()+"F";
+        return getValue() + "F"; //$NON-NLS-1$
     }
 
     @Override

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FontEditor.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FontEditor.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FontEditor.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FontEditor.java Mon Jun  7 08:06:18 2010
@@ -58,14 +58,16 @@ public class FontEditor extends Panel im
     }
 
     public String getJavaInitializationString() {
-        String result = null;
-        if (value!= null) {
-            String name = value.getName();
-            int style = value.getStyle();
-            int size = value.getSize();
-            result = "new Font(" + name + "," + style + "," + size + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+        if (value != null) {
+            StringBuilder sb = new StringBuilder("new Font("); //$NON-NLS-1$
+            sb.append(value.getName());
+            sb.append(',');
+            sb.append(value.getStyle());
+            sb.append(',');
+            sb.append(value.getSize() + ")"); //$NON-NLS-1$
+            return sb.toString();
         }
-        return result;
+        return null;
     }
 
     public String[] getTags() {
@@ -77,8 +79,8 @@ public class FontEditor extends Panel im
         value = (Font)newValue;
         PropertyChangeEvent changeAllEvent = new PropertyChangeEvent(this,
                 "value", oldValue, value); //$NON-NLS-1$
-        PropertyChangeListener[] copy = new PropertyChangeListener[listeners.size()];
-        listeners.toArray(copy);
+        PropertyChangeListener[] copy = listeners
+                .toArray(new PropertyChangeListener[0]);
         for (PropertyChangeListener listener : copy) {
             listener.propertyChange(changeAllEvent);
         }

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/IntEditor.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/IntEditor.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/IntEditor.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/IntEditor.java Mon Jun  7 08:06:18 2010
@@ -52,12 +52,10 @@ public final class IntEditor extends Pro
     }
 
     private String getValueAsText() {
-        String result = null;
         Object value = getValue();
         if (value != null) {
-            Integer iValue = (Integer) value;
-            result = iValue.toString();
+            return ((Integer) value).toString();
         }
-        return result;
+        return null;
     }
 }

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/LongEditor.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/LongEditor.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/LongEditor.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/LongEditor.java Mon Jun  7 08:06:18 2010
@@ -36,7 +36,7 @@ public final class LongEditor extends Pr
 
     @Override
     public String getJavaInitializationString() {
-        return getValue()+"L";
+        return getValue() + "L"; //$NON-NLS-1$
     }
 
     @Override

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ShortEditor.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ShortEditor.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ShortEditor.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ShortEditor.java Mon Jun  7 08:06:18 2010
@@ -36,7 +36,8 @@ public final class ShortEditor extends P
 
     @Override
     public String getJavaInitializationString() {
-        return new StringBuilder().append("((short)").append(getValue()).append(")").toString();
+        return new StringBuilder()
+                .append("((short)").append(getValue()).append(")").toString(); //$NON-NLS-1$ //$NON-NLS-2$
     }
 
     @Override

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/StringEditor.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/StringEditor.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/StringEditor.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/StringEditor.java Mon Jun  7 08:06:18 2010
@@ -37,7 +37,7 @@ public final class StringEditor extends 
 
     @Override
     public String getJavaInitializationString() {
-        Object value = getValue(); 
-        return value==null?"\"null\"":"\""+value+"\"";
+        Object value = getValue();
+        return value == null ? "\"null\"" : "\"" + value + "\"";
     }
 }

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java Mon Jun  7 08:06:18 2010
@@ -106,6 +106,13 @@ public class EventHandlerTest extends Te
 
         assertEquals(invocationObject, handler.getTarget());
         assertEquals(invocationObject.getSomeText(), getText());
+        try {
+            handler.invoke(proxy, null, new Object[] { new ActionEvent(this, 0,
+                    "") });
+            fail("should throw NullPointerException");
+        } catch (NullPointerException e) {
+            // Expected
+        }
     }
 
     /**

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/FeatureDescriptorTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/FeatureDescriptorTest.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/FeatureDescriptorTest.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/FeatureDescriptorTest.java Mon Jun  7 08:06:18 2010
@@ -251,11 +251,25 @@ public class FeatureDescriptorTest exten
         fd.setValue(attributeName, value);
         assertSame(value, fd.getValue(attributeName));
 
-        Object newValue = null;
         try {
-            fd.setValue(attributeName, newValue);
-            fail("Should throw NullPointerException.");
+            fd.setValue(null, value);
+            fail("Should throw NullPointerException");
         } catch (NullPointerException e) {
+            // Expected
+        }
+
+        try {
+            fd.setValue(attributeName, null);
+            fail("Should throw NullPointerException");
+        } catch (NullPointerException e) {
+            // Expected
+        }
+
+        try {
+            fd.setValue(null, null);
+            fail("Should throw NullPointerException");
+        } catch (NullPointerException e) {
+            // Expected
         }
     }
 

Modified: harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java?rev=952132&r1=952131&r2=952132&view=diff
==============================================================================
--- harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java (original)
+++ harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java Mon Jun  7 08:06:18 2010
@@ -122,6 +122,11 @@ public class IntrospectorTest extends Te
         }
     }
 
+    public void testBeanDescriptor_Same() throws Exception {
+        BeanInfo beanInfo = Introspector.getBeanInfo(MockJavaBean.class);
+        assertSame(beanInfo.getBeanDescriptor(), beanInfo.getBeanDescriptor());
+    }
+
     /**
      * The test checks the getMethodDescriptor method
      * 



Re: svn commit: r952132 [1/2] - in /harmony/enhanced/java/trunk/classlib/modules/beans/src: main/java/java/beans/ main/java/org/apache/harmony/beans/ main/java/org/apache/harmony/beans/editors/ test/java/org/apache/harmony/beans/tests/java/beans/

Posted by Kevin Zhou <zh...@gmail.com>.
Hi,

I accidentally committed my own fix/test for HARMONY-6422 along side with
this patch.
I want to clarify my previous statement of the commit log "no functional
changes". Actually, there are in fact some functional improvements, as fix
of HARMONY-6422 to java.beans.StandardBeanInfo.

Thanks
Kevin Zhou

On Mon, Jun 7, 2010 at 4:06 PM, <zh...@apache.org> wrote:

> Author: zhoukevin
> Date: Mon Jun  7 08:06:18 2010
> New Revision: 952132
>
> URL: http://svn.apache.org/viewvc?rev=952132&view=rev
> Log:
> Refine the source and test of BEANS module (no functional changes):
> 1. Improve logicality and readability of methods
> 2. Format some bad-formatting code
> 3. Move one common method into BeansUtils class
> 4. Add some test cases
>
> Modified:
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/BeanDescriptor.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Beans.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ClassPersistenceDelegate.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/CustomizedObjectInputStream.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Encoder.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventHandler.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventSetDescriptor.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/FeatureDescriptor.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/IndexedPropertyDescriptor.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/PropertyEditorManager.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ProxyPersistenceDelegate.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ReferenceMap.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/StandardBeanInfo.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Statement.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilCollectionPersistenceDelegate.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilListPersistenceDelegate.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/XMLDecoder.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Argument.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/BeansUtils.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Command.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/BooleanEditor.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ByteEditor.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ColorEditor.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FloatEditor.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FontEditor.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/IntEditor.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/LongEditor.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ShortEditor.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/StringEditor.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/FeatureDescriptorTest.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java
>
>  harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/PropertyEditorManagerTest.java
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/BeanDescriptor.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/BeanDescriptor.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/BeanDescriptor.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/BeanDescriptor.java
> Mon Jun  7 08:06:18 2010
> @@ -39,7 +39,6 @@ public class BeanDescriptor extends Feat
>      *            The bean's customizer Class.
>      */
>     public BeanDescriptor(Class<?> beanClass, Class<?> customizerClass) {
> -        super();
>         if (beanClass == null) {
>             throw new NullPointerException();
>         }
> @@ -59,13 +58,7 @@ public class BeanDescriptor extends Feat
>      *            The bean's Class.
>      */
>     public BeanDescriptor(Class<?> beanClass) {
> -        super();
> -
> -        if (beanClass == null) {
> -            throw new NullPointerException();
> -        }
> -        setName(getShortClassName(beanClass));
> -        this.beanClass = beanClass;
> +        this(beanClass, null);
>     }
>
>     /**
> @@ -100,17 +93,12 @@ public class BeanDescriptor extends Feat
>      * @return A String instance or <code>null</code>.
>      */
>     private String getShortClassName(Class<?> leguminaClass) {
> -        String result = null;
> -
> -        if (leguminaClass != null) {
> -            String beanClassName = leguminaClass.getName();
> -            int idx = beanClassName.lastIndexOf('.');
> -
> -            result = (idx == -1) ? beanClassName : beanClassName
> -                    .substring(idx + 1);
> +        if(leguminaClass == null) {
> +            return null;
>         }
> -
> -        return result;
> +        String beanClassName = leguminaClass.getName();
> +        int lastIndex = beanClassName.lastIndexOf("."); //$NON-NLS-1$
> +        return (lastIndex == -1) ? beanClassName :
> beanClassName.substring(lastIndex + 1);
>     }
>
>  }
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Beans.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Beans.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Beans.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Beans.java
> Mon Jun  7 08:06:18 2010
> @@ -57,40 +57,36 @@ public class Beans {
>
>     @SuppressWarnings("unchecked")
>     private static Object internalInstantiate(ClassLoader cls, String
> beanName,
> -            BeanContext context, Object initializer)
> -            throws IOException, ClassNotFoundException {
> -        Object result = null;
> -
> -        boolean deserialized = true;
> -
> -        ClassLoader loader = null;
> -
> +            BeanContext context, Object initializer) throws IOException,
> +            ClassNotFoundException {
>         // First try to load it from a serialization file.
>         String beanResourceName = getBeanResourceName(beanName);
> -
>         InputStream is = (cls == null) ? ClassLoader
>                 .getSystemResourceAsStream(beanResourceName) : cls
>                 .getResourceAsStream(beanResourceName);
>
>         IOException serializationException = null;
> +        Object result = null;
>         if (is != null) {
> -            try{
> -                ObjectInputStream ois = (cls == null) ? new
> ObjectInputStream(is)
> -                        : new CustomizedObjectInputStream(is, cls);
> +            try {
> +                ObjectInputStream ois = (cls == null) ? new
> ObjectInputStream(
> +                        is) : new CustomizedObjectInputStream(is, cls);
>                 result = ois.readObject();
> -            }catch(IOException exception){
> -                //Not loadable - remember this as we may throw it later.
> -                serializationException = exception;
> +            } catch (IOException e) {
> +                // Not loadable - remember this as we may throw it later.
> +                serializationException = e;
>             }
>         }
>
> -        //If that did not work, try to instantiate it from the given
> classloader.
> +        // If it didn't work, try to instantiate it from the given
> classloader
> +        boolean deserialized = true;
> +        ClassLoader classLoader = cls == null ? ClassLoader
> +                .getSystemClassLoader() : cls;
>         if (result == null) {
>             deserialized = false;
>             try {
> -                loader = cls == null ? ClassLoader.getSystemClassLoader()
> : cls;
> -                Class<?> c = Class.forName(beanName, true, loader);
> -                result = c.newInstance();
> +                result = Class.forName(beanName, true, classLoader)
> +                        .newInstance();
>             } catch (Exception e) {
>                 if (serializationException != null) {
>                     throw serializationException;
> @@ -108,10 +104,10 @@ public class Beans {
>             } catch (Throwable t) {
>                 // Ignored - leave isApplet as false.
>             }
> -
> +
>             if (isApplet) {
> -                appletLoaded((Applet) result, loader, beanName, context,
> -                        (AppletInitializer)initializer, deserialized);
> +                appletLoaded((Applet) result, classLoader, beanName,
> context,
> +                        (AppletInitializer) initializer, deserialized);
>             }
>             if (null != context) {
>                 context.add(result);
> @@ -216,7 +212,6 @@ public class Beans {
>      * @throws IOException
>      * @throws ClassNotFoundException
>      */
> -    @SuppressWarnings("unchecked")
>        public static Object instantiate(ClassLoader cls, String beanName,
>                        BeanContext context, AppletInitializer initializer)
>                        throws IOException, ClassNotFoundException {
> @@ -237,7 +232,6 @@ public class Beans {
>      *            the specified view type.
>      * @return a type view of the given bean.
>      */
> -    @SuppressWarnings("unused")
>     public static Object getInstanceOf(Object bean, Class<?> targetType) {
>         return bean;
>     }
> @@ -355,8 +349,9 @@ public class Beans {
>         URL objectUrl = AccessController
>                 .doPrivileged(new PrivilegedAction<URL>() {
>                     public URL run() {
> -                        if (loader == null)
> +                        if (loader == null) {
>                             return
> ClassLoader.getSystemResource(resourceName);
> +                        }
>                         return loader.getResource(resourceName);
>                     }
>                 });
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ClassPersistenceDelegate.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ClassPersistenceDelegate.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ClassPersistenceDelegate.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ClassPersistenceDelegate.java
> Mon Jun  7 08:06:18 2010
> @@ -22,7 +22,7 @@ import java.lang.reflect.Field;
>  class ClassPersistenceDelegate extends PersistenceDelegate {
>     @Override
>     protected Expression instantiate(Object oldInstance, Encoder out) {
> -        Class<?> value = (Class) oldInstance;
> +        Class<?> value = (Class<?>) oldInstance;
>         Field fld = null;
>         final String TYPE = "TYPE"; //$NON-NLS-1$
>         Expression result;
> @@ -79,9 +79,9 @@ class ClassPersistenceDelegate extends P
>
>     @Override
>     protected boolean mutatesTo(Object oldInstance, Object newInstance) {
> -        if (oldInstance instanceof Class && newInstance instanceof Class)
> {
> -            Class<?> c1 = (Class) oldInstance;
> -            Class<?> c2 = (Class) newInstance;
> +        if (oldInstance instanceof Class<?> && newInstance instanceof
> Class<?>) {
> +            Class<?> c1 = (Class<?>) oldInstance;
> +            Class<?> c2 = (Class<?>) newInstance;
>             if (c1.getName().equals(c2.getName())) {
>                 return true;
>             }
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/CustomizedObjectInputStream.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/CustomizedObjectInputStream.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/CustomizedObjectInputStream.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/CustomizedObjectInputStream.java
> Mon Jun  7 08:06:18 2010
> @@ -48,14 +48,12 @@ class CustomizedObjectInputStream extend
>             int idx = className.lastIndexOf("["); //$NON-NLS-1$
>             String prefix = className.substring(0, idx + 1);
>             int[] dimensions = new int[prefix.length()];
> -            String postfix;
> -            Class<?> componentType = null;
> -
>             for (int i = 0; i < dimensions.length; ++i) {
>                 dimensions[i] = 0;
>             }
>
> -            postfix = className.substring(idx + 1);
> +            String postfix = className.substring(idx + 1);
> +            Class<?> componentType = null;
>             if (postfix.equals("Z")) { //$NON-NLS-1$
>                 componentType = boolean.class;
>             } else if (postfix.equals("B")) { //$NON-NLS-1$
> @@ -81,10 +79,8 @@ class CustomizedObjectInputStream extend
>                 throw new IllegalArgumentException(Messages.getString(
>                         "beans.1E", className)); //$NON-NLS-1$
>             }
> -
>             return Array.newInstance(componentType, dimensions).getClass();
>         }
> -
>         return Class.forName(className, true, cls);
>     }
>  }
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Encoder.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Encoder.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Encoder.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Encoder.java
> Mon Jun  7 08:06:18 2010
> @@ -67,7 +67,7 @@ import javax.swing.ToolTipManager;
>  @SuppressWarnings("unchecked")
>  public class Encoder {
>
> -    private static final Hashtable delegates = new Hashtable();
> +    private static final Hashtable<Class<?>, PersistenceDelegate>
> delegates = new Hashtable<Class<?>, PersistenceDelegate>();
>
>     private static final DefaultPersistenceDelegate defaultPD = new
> DefaultPersistenceDelegate();
>
> @@ -217,8 +217,7 @@ public class Encoder {
>         }
>
>         // registered delegate
> -        PersistenceDelegate registeredPD = (PersistenceDelegate) delegates
> -                .get(type);
> +        PersistenceDelegate registeredPD = delegates.get(type);
>         if (registeredPD != null) {
>             return registeredPD;
>         }
> @@ -238,22 +237,23 @@ public class Encoder {
>         if (type.isArray()) {
>             return arrayPD;
>         }
> +
>         if (Proxy.isProxyClass(type)) {
>             return proxyPD;
>         }
>
>         // check "persistenceDelegate" property
>         try {
> -            BeanInfo binfo = Introspector.getBeanInfo(type);
> -            if (binfo != null) {
> -                PersistenceDelegate pd = (PersistenceDelegate) binfo
> +            BeanInfo beanInfo = Introspector.getBeanInfo(type);
> +            if (beanInfo != null) {
> +                PersistenceDelegate pd = (PersistenceDelegate) beanInfo
>
> .getBeanDescriptor().getValue("persistenceDelegate"); //$NON-NLS-1$
>                 if (pd != null) {
>                     return pd;
>                 }
>             }
>         } catch (Exception e) {
> -            // ignore
> +            // Ignored
>         }
>
>         // default persistence delegate
> @@ -283,11 +283,7 @@ public class Encoder {
>      *            the exception listener to set
>      */
>     public void setExceptionListener(ExceptionListener listener) {
> -        if (listener == null) {
> -            this.listener = defaultExListener;
> -            return;
> -        }
> -        this.listener = listener;
> +        this.listener = listener == null ? defaultExListener : listener;
>     }
>
>     /**
> @@ -316,7 +312,7 @@ public class Encoder {
>         return get(old);
>     }
>
> -    private Object[] forceNewArray(Object oldArray[]) {
> +    private Object[] forceNewArray(Object[] oldArray) {
>         if (oldArray == null) {
>             return null;
>         }
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventHandler.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventHandler.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventHandler.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventHandler.java
> Mon Jun  7 08:06:18 2010
> @@ -26,6 +26,7 @@ import java.security.AccessController;
>  import java.security.PrivilegedAction;
>  import java.util.StringTokenizer;
>
> +import org.apache.harmony.beans.BeansUtils;
>  import org.apache.harmony.beans.internal.nls.Messages;
>
>  public class EventHandler implements InvocationHandler {
> @@ -61,17 +62,10 @@ public class EventHandler implements Inv
>     }
>
>     private Object invokeImpl(Object proxy, Method method, Object[]
> arguments) {
> -        Class<?> proxyClass;
> +        Class<?> proxyClass = proxy.getClass();
> +        Object[] theArguments = arguments == null ? new Object[0] :
> arguments;
>         Object result = null;
>
> -        Object[] theArguments = arguments;
> -        // XXX
> -        if (arguments == null) {
> -            theArguments = new Object[0];
> -        }
> -
> -        proxyClass = proxy.getClass();
> -
>         // if a proxy
>         if (Proxy.isProxyClass(proxyClass)) {
>             InvocationHandler handler = Proxy.getInvocationHandler(proxy);
> @@ -79,18 +73,20 @@ public class EventHandler implements Inv
>             // if a valid object
>             if (handler instanceof EventHandler) {
>                 // if the method from the Object class is called
> -                if (method.getDeclaringClass().equals(Object.class)) {
> -                    if (method.getName().equals("hashCode") &&
> //$NON-NLS-1$
> -                            theArguments.length == 0) {
> -                        result = Integer.valueOf(hashCode());
> -                    } else if (method.getName().equals("equals") &&
> //$NON-NLS-1$
> -                            theArguments.length == 1 && theArguments[0] !=
> null) {
> +                String methodName = method.getName();
> +                if (method.getDeclaringClass() == Object.class) {
> +                    if (theArguments.length == 0) {
> +                        if ("hashCode".equals(methodName)) { //$NON-NLS-1$
> +                            result = Integer.valueOf(hashCode());
> +                        } else if ("toString".equals(methodName)) {
> //$NON-NLS-1$
> +                            result = proxy.getClass().getSimpleName()
> +                                    + toString().substring(
> +
>  getClass().getName().length());
> +                        }
> +                    } else if (theArguments.length == 1
> +                            && theArguments[0] != null
> +                            && "equals".equals(methodName)) {
> //$NON-NLS-1$
>                         result = Boolean.valueOf(proxy == theArguments[0]);
> -                    } else if (method.getName().equals("toString") &&
> //$NON-NLS-1$
> -                            theArguments.length == 0) {
> -                        result = proxy.getClass().getSimpleName()
> -                                + toString().substring(
> -                                        getClass().getName().length());
>                     }
>                 } else if (isValidInvocation(method, theArguments)) {
>                     // if listener method
> @@ -109,7 +105,7 @@ public class EventHandler implements Inv
>                     }
>                 } else {
>                     // in order to be compatible with RI
> -                    if (listenerMethodName.equals(method.getName())) {
> +                    if (listenerMethodName.equals(methodName)) {
>                         throw new IllegalArgumentException(Messages
>                                 .getString("beans.4D")); //$NON-NLS-1$
>                     }
> @@ -121,7 +117,6 @@ public class EventHandler implements Inv
>                 throw new
> NullPointerException(Messages.getString("beans.55")); //$NON-NLS-1$
>             }
>         }
> -
>         return result;
>     }
>
> @@ -152,48 +147,42 @@ public class EventHandler implements Inv
>                         action, eventPropertyName, listenerMethodName));
>     }
>
> -    @SuppressWarnings("unchecked")
>     public static <T> T create(Class<T> listenerInterface, Object target,
>             String action, String eventPropertyName) {
>         return create(listenerInterface, target, action, eventPropertyName,
>                 null);
>     }
>
> -    @SuppressWarnings("unchecked")
>     public static <T> T create(Class<T> listenerInterface, Object target,
>             String action) {
>         return create(listenerInterface, target, action, null, null);
>     }
>
>     private boolean isValidInvocation(Method method, Object[] arguments) {
> -        boolean result = false;
> +        // all listener methods are valid
> +        if (listenerMethodName == null) {
> +            return true;
> +        }
>
> -        if (listenerMethodName == null) { // all listener methods are
> valid
> -            result = true;
> -        } else if (listenerMethodName.equals(method.getName())) {
> -            // method's name matches
> +        // method's name matches
> +        if (listenerMethodName.equals(method.getName())) {
>             // no arguments in call are valid
>             if (eventPropertyName == null
>                     && (arguments == null || arguments.length == 0)) {
> -                result = true;
> -                // one-argument call is also valid
> -            } else if (arguments != null && arguments.length == 1) {
> -                result = true;
> -            } else {
> -                result = false;
> +                return true;
> +            }
> +            // one-argument call is also valid
> +            if (arguments != null && arguments.length == 1) {
> +                return true;
>             }
> -        } else {
> -            result = false;
>         }
> -
> -        return result;
> +        return false;
>     }
>
>     private Object[] getArgs(Object[] arguments) throws Exception {
>         if (eventPropertyName == null) {
> -            return new Object[] {};
> +            return new Object[0];
>         } else if ((arguments == null) || (arguments.length == 0)) {
> -            // || (arguments[0] == null)) {
>             return arguments;
>         } else {
>             Object arg = arguments[0];
> @@ -204,21 +193,21 @@ public class EventHandler implements Inv
>                 PropertyDescriptor pd =
> findPropertyDescriptor(arg.getClass(),
>                         propertyName);
>
> +                Method getMethod = null;
>                 if (pd != null) {
> -                    Method getter = pd.getReadMethod();
> +                    getMethod = pd.getReadMethod();
>
> -                    if (getter != null) {
> -                        arg = getter.invoke(arg, new Object[] {});
> +                    if (getMethod != null) {
> +                        arg = getMethod.invoke(arg, new Object[] {});
>                     } else {
>                         throw new
> IntrospectionException(Messages.getString(
>                                 "beans.11", propertyName)); //$NON-NLS-1$
>                     }
>                 } else {
> -                    Method method = findStaticGetter(arg.getClass(),
> -                            propertyName);
> +                    getMethod = findStaticGetter(arg.getClass(),
> propertyName);
>
> -                    if (method != null) {
> -                        arg = method.invoke(null, new Object[] {});
> +                    if (getMethod != null) {
> +                        arg = getMethod.invoke(null, new Object[] {});
>                     } else {
>                         // cannot access property getter
>                         // RI throws NPE here so we should do the same
> @@ -233,19 +222,14 @@ public class EventHandler implements Inv
>
>     private Method getMethod(Object proxy, Method method, Object[]
> arguments,
>             Object[] args) throws Exception {
> -        Method result = null;
> -
>         // filtering - examine if the 'method' could be applied to proxy
> -
>         boolean found = false;
>
> -        // can be invoke with any listener method
>         if (listenerMethodName == null) {
> +            // can be invoke with any listener method
>             Class<?>[] proxyInterfaces = proxy.getClass().getInterfaces();
> -
>             for (Class<?> proxyInstance : proxyInterfaces) {
>                 Method[] interfaceMethods = proxyInstance.getMethods();
> -
>                 for (Method listenerMethod : interfaceMethods) {
>                     if (equalNames(listenerMethod, method)
>                             && canInvokeWithArguments(listenerMethod,
> arguments)) {
> @@ -258,9 +242,8 @@ public class EventHandler implements Inv
>                     break;
>                 }
>             }
> -
> +        } else if (listenerMethodName.equals(method.getName())) {
>             // can be invoked with a specified listener method
> -        } else if (method.getName().equals(listenerMethodName)) {
>             found = true;
>         }
>
> @@ -270,7 +253,7 @@ public class EventHandler implements Inv
>
>         // 'Method' can be applied to proxy - filtering succeeded
>         try {
> -            result = findMethod(target.getClass(), args);
> +            Method result = findMethod(target.getClass(), args);
>             if (result == null) {
>                 PropertyDescriptor pd = findPropertyDescriptor(target
>                         .getClass(), action);
> @@ -286,40 +269,33 @@ public class EventHandler implements Inv
>                     throw new IndexOutOfBoundsException(Messages
>                             .getString("beans.14")); //$NON-NLS-1$
>                 }
> -            } else {
> -                return result;
>             }
> +            return result;
>         } catch (IntrospectionException ie) {
>             throw new
> IndexOutOfBoundsException(Messages.getString("beans.14")); //$NON-NLS-1$
>         }
> -
> -        return result;
>     }
>
>     private PropertyDescriptor findPropertyDescriptor(Class<?> theClass,
>             String propertyName) throws IntrospectionException {
> -        PropertyDescriptor result = null;
>         BeanInfo beanInfo = Introspector.getBeanInfo(theClass);
>         PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
>
> -        for (PropertyDescriptor element : pds) {
> -            if (element.getName().equals(propertyName)) {
> -                result = element;
> -                break;
> +        for (PropertyDescriptor pd : pds) {
> +            if (pd.getName().equals(propertyName)) {
> +                return pd;
>             }
>         }
> -        return result;
> +        return null;
>     }
>
>     private Method findStaticGetter(Class<?> theClass, String propertyName)
> {
> -        Method result = null;
>         Method[] methods = theClass.getMethods();
> -
> -        for (Method element : methods) {
> -            int modifiers = element.getModifiers();
> +        for (Method method : methods) {
> +            int modifiers = method.getModifiers();
>
>             if (Modifier.isStatic(modifiers) &&
> Modifier.isPublic(modifiers)) {
> -                String methodName = element.getName();
> +                String methodName = method.getName();
>                 String postfix = null;
>
>                 if (methodName.startsWith("get")) { //$NON-NLS-1$
> @@ -330,67 +306,51 @@ public class EventHandler implements Inv
>                     continue;
>                 }
>
> -                if ((element.getParameterTypes().length != 0)
> -                        || (element.getReturnType() == void.class)) {
> +                if ((method.getParameterTypes().length != 0)
> +                        || (method.getReturnType() == void.class)) {
>                     continue;
>                 }
>
>                 postfix = Introspector.decapitalize(postfix);
>                 if (postfix.equals(propertyName)) {
> -                    result = element;
> -                    break;
> +                    return method;
>                 }
>             }
>         }
> -
> -        return result;
> +        return null;
>     }
>
>     private Method findMethod(Class<?> type, Object[] args) {
>         Method[] methods = type.getMethods();
> -
> -        for (Method element : methods) {
> -            if (action.equals(element.getName())
> -                    && canInvokeWithArguments(element, args)) {
> -                return element;
> +        for (Method method : methods) {
> +            if (action.equals(method.getName())
> +                    && canInvokeWithArguments(method, args)) {
> +                return method;
>             }
>         }
> -
>         return null;
>     }
>
> -    private static boolean isPrimitiveWrapper(Class<?> wrapper, Class<?>
> base) {
> -        return (base == boolean.class) && (wrapper == Boolean.class)
> -                || (base == byte.class) && (wrapper == Byte.class)
> -                || (base == char.class) && (wrapper == Character.class)
> -                || (base == short.class) && (wrapper == Short.class)
> -                || (base == int.class) && (wrapper == Integer.class)
> -                || (base == long.class) && (wrapper == Long.class)
> -                || (base == float.class) && (wrapper == Float.class)
> -                || (base == double.class) && (wrapper == Double.class);
> -    }
> -
> -    private static boolean canInvokeWithArguments(Method m, Object[]
> arguments) {
> -        Class<?>[] parameterTypes = m.getParameterTypes();
> -
> -        if (parameterTypes.length == arguments.length) {
> -            for (int i = 0; i < arguments.length; ++i) {
> -                Class<?> argumentType = (arguments[i] == null) ? null
> -                        : arguments[i].getClass();
> -
> -                if ((argumentType == null)
> -                        || isPrimitiveWrapper(argumentType,
> parameterTypes[i])) {
> -                    // ... nothing to do - just not to break the cycle
> -                } else if
> (!argumentType.isAssignableFrom(parameterTypes[i])) {
> -                    return false;
> -                }
> -            }
> -        } else {
> +    private static boolean canInvokeWithArguments(Method method,
> +            Object[] arguments) {
> +        Class<?>[] parameterTypes = method.getParameterTypes();
> +        if (parameterTypes.length != arguments.length) {
>             return false;
>         }
>
> +        for (int index = 0; index < arguments.length; index++) {
> +            Class<?> argumentType = (arguments[index] == null) ? null
> +                    : arguments[index].getClass();
> +            if (argumentType == null
> +                    || BeansUtils.isPrimitiveWrapper(argumentType,
> +                            parameterTypes[index])) {
> +                continue;
> +            }
> +            if (!argumentType.isAssignableFrom(parameterTypes[index])) {
> +                return false;
> +            }
> +        }
>         return true;
> -
>     }
>
>     private static boolean equalNames(Method m1, Method m2) {
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventSetDescriptor.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventSetDescriptor.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventSetDescriptor.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/EventSetDescriptor.java
> Mon Jun  7 08:06:18 2010
> @@ -42,17 +42,15 @@ public class EventSetDescriptor extends
>     public EventSetDescriptor(Class<?> sourceClass, String eventSetName,
>             Class<?> listenerType, String listenerMethodName)
>             throws IntrospectionException {
> -        Method m;
> -
>         checkNotNull(sourceClass, eventSetName, listenerType,
>                 listenerMethodName);
> -
>         setName(eventSetName);
>         this.listenerType = listenerType;
> -        m = findListenerMethodByName(listenerMethodName);
> -        checkEventType(eventSetName, m);
> +
> +        Method method = findListenerMethodByName(listenerMethodName);
> +        checkEventType(eventSetName, method);
>         listenerMethodDescriptors = new ArrayList<MethodDescriptor>();
> -        listenerMethodDescriptors.add(new MethodDescriptor(m));
> +        listenerMethodDescriptors.add(new MethodDescriptor(method));
>         addListenerMethod = findMethodByPrefix(sourceClass, "add", "");
> //$NON-NLS-1$ //$NON-NLS-2$
>         removeListenerMethod = findMethodByPrefix(sourceClass, "remove",
> ""); //$NON-NLS-1$ //$NON-NLS-2$
>
> @@ -109,24 +107,24 @@ public class EventSetDescriptor extends
>
>     private Method findListenerMethodByName(String listenerMethodName)
>             throws IntrospectionException {
> -        Method method = null;
> +        Method result = null;
>         Method[] methods = listenerType.getMethods();
> -        for (Method m : methods) {
> -            if (listenerMethodName.equals(m.getName())) {
> -                Class[] paramTypes = m.getParameterTypes();
> +        for (Method method : methods) {
> +            if (listenerMethodName.equals(method.getName())) {
> +                Class<?>[] paramTypes = method.getParameterTypes();
>                 if (paramTypes.length == 1
>                         && paramTypes[0].getName().endsWith("Event")) {
> //$NON-NLS-1$
> -                    method = m;
> +                    result = method;
>                     break;
>                 }
>
>             }
>         }
> -        if (null == method) {
> +        if (null == result) {
>             throw new IntrospectionException(Messages.getString("beans.31",
> //$NON-NLS-1$
>                     listenerMethodName, listenerType.getName()));
>         }
> -        return method;
> +        return result;
>     }
>
>     public EventSetDescriptor(String eventSetName, Class<?> listenerType,
> @@ -234,7 +232,6 @@ public class EventSetDescriptor extends
>      */
>     private static String extractShortClassName(String fullClassName) {
>         int k = fullClassName.lastIndexOf('$');
> -
>         k = (k == -1 ? fullClassName.lastIndexOf('.') : k);
>         return fullClassName.substring(k + 1);
>     }
> @@ -255,28 +252,24 @@ public class EventSetDescriptor extends
>     }
>
>     public Method[] getListenerMethods() {
> -        int i = 0;
> -
>         if (listenerMethods != null) {
>             return listenerMethods;
>         }
>
>         if (listenerMethodDescriptors != null) {
>             listenerMethods = new Method[listenerMethodDescriptors.size()];
> +            int index = 0;
>             for (MethodDescriptor md : listenerMethodDescriptors) {
> -                listenerMethods[i++] = md.getMethod();
> +                listenerMethods[index++] = md.getMethod();
>             }
>             return listenerMethods;
>         }
> -
>         return null;
>     }
>
>     public MethodDescriptor[] getListenerMethodDescriptors() {
>         return listenerMethodDescriptors == null ? null
> -                : listenerMethodDescriptors
> -                        .toArray(new
> MethodDescriptor[listenerMethodDescriptors
> -                                .size()]);
> +                : listenerMethodDescriptors.toArray(new
> MethodDescriptor[0]);
>     }
>
>     public Method getRemoveListenerMethod() {
> @@ -339,22 +332,22 @@ public class EventSetDescriptor extends
>     private Method findAddRemoveListnerMethodWithLessCheck(
>             Class<?> sourceClass, String methodName)
>             throws IntrospectionException {
> -        Method method = null;
>         Method[] methods = sourceClass.getMethods();
> -        for (Method m : methods) {
> -            if (m.getName().equals(methodName)) {
> -                Class[] paramTypes = m.getParameterTypes();
> +        Method result = null;
> +        for (Method method : methods) {
> +            if (method.getName().equals(methodName)) {
> +                Class<?>[] paramTypes = method.getParameterTypes();
>                 if (paramTypes.length == 1) {
> -                    method = m;
> +                    result = method;
>                     break;
>                 }
>             }
>         }
> -        if (null == method) {
> +        if (null == result) {
>             throw new IntrospectionException(Messages.getString("beans.31",
> //$NON-NLS-1$
>                     methodName, listenerType.getName()));
>         }
> -        return method;
> +        return result;
>     }
>
>     /**
> @@ -383,18 +376,18 @@ public class EventSetDescriptor extends
>         }
>         String methodName = prefix + shortName + postfix;
>         try {
> -            if (prefix.equals("get")) { //$NON-NLS-1$
> +            if ("get".equals(prefix)) { //$NON-NLS-1$
>                 return sourceClass.getMethod(methodName);
>             }
>         } catch (NoSuchMethodException nsme) {
>             return null;
>         }
> -        Method[] m = sourceClass.getMethods();
> -        for (int i = 0; i < m.length; i++) {
> -            if (m[i].getName().equals(methodName)) {
> -                Class[] paramTypes = m[i].getParameterTypes();
> +        Method[] methods = sourceClass.getMethods();
> +        for (int i = 0; i < methods.length; i++) {
> +            if (methods[i].getName().equals(methodName)) {
> +                Class<?>[] paramTypes = methods[i].getParameterTypes();
>                 if (paramTypes.length == 1) {
> -                    return m[i];
> +                    return methods[i];
>                 }
>             }
>         }
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/FeatureDescriptor.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/FeatureDescriptor.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/FeatureDescriptor.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/FeatureDescriptor.java
> Mon Jun  7 08:06:18 2010
> @@ -74,11 +74,10 @@ public class FeatureDescriptor {
>      * @return The attribute's value.
>      */
>     public Object getValue(String attributeName) {
> -        Object result = null;
>         if (attributeName != null) {
> -            result = values.get(attributeName);
> +            return values.get(attributeName);
>         }
> -        return result;
> +        return null;
>     }
>
>     /**
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/IndexedPropertyDescriptor.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/IndexedPropertyDescriptor.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/IndexedPropertyDescriptor.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/IndexedPropertyDescriptor.java
> Mon Jun  7 08:06:18 2010
> @@ -346,7 +346,7 @@ public class IndexedPropertyDescriptor e
>         }
>
>         // Validate the indexed write method.
> -        Class[] indexedSetterArgs = indexSetter.getParameterTypes();
> +        Class<?>[] indexedSetterArgs = indexSetter.getParameterTypes();
>         if (indexedSetterArgs.length != 2) {
>             // beans.5F=Indexed write method must take two arguments
>             throw new
> IntrospectionException(Messages.getString("beans.5F")); //$NON-NLS-1$
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/PropertyEditorManager.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/PropertyEditorManager.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/PropertyEditorManager.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/PropertyEditorManager.java
> Mon Jun  7 08:06:18 2010
> @@ -24,8 +24,7 @@ public class PropertyEditorManager {
>
>     private static String[] path = { "org.apache.harmony.beans.editors" };
> //$NON-NLS-1$
>
> -    private static final Map<Class<?>, Class<?>> registeredEditors
> -               = new HashMap<Class<?>, Class<?>>();
> +    private static final Map<Class<?>, Class<?>> registeredEditors = new
> HashMap<Class<?>, Class<?>>();
>
>     public PropertyEditorManager() {
>         // expected
> @@ -48,31 +47,21 @@ public class PropertyEditorManager {
>         }
>     }
>
> -    private static PropertyEditor loadEditor(Class<?> targetType, String
> className)
> -            throws ClassNotFoundException, IllegalAccessException,
> -                   InstantiationException {
> +    private static PropertyEditor loadEditor(Class<?> targetType,
> +            String className) throws ClassNotFoundException,
> +            IllegalAccessException, InstantiationException {
>         ClassLoader loader = targetType.getClassLoader();
> -        Class<?> editorClass = null;
> -
> +        if (loader == null) {
> +            loader = ClassLoader.getSystemClassLoader();
> +        }
>         try {
> -            if (loader != null) {
> -                editorClass = loader.loadClass(className);
> -            } else {
> -                loader = ClassLoader.getSystemClassLoader();
> -
> -                if (loader != null) {
> -                    editorClass = loader.loadClass(className);
> -                }
> -            }
> +            return (PropertyEditor)
> loader.loadClass(className).newInstance();
>         } catch (ClassNotFoundException e) {
> -            // expected
> +            // Ignored
>         }
>
> -        if (editorClass == null) {
> -            loader = Thread.currentThread().getContextClassLoader();
> -            editorClass = loader.loadClass(className);
> -        }
> -        return (PropertyEditor) editorClass.newInstance();
> +        return (PropertyEditor)
> Thread.currentThread().getContextClassLoader()
> +                .loadClass(className).newInstance();
>     }
>
>     public static synchronized PropertyEditor findEditor(Class<?>
> targetType) {
> @@ -102,9 +91,12 @@ public class PropertyEditorManager {
>                         editorClassName.lastIndexOf('.') + 1));
>
>         for (String element : path) {
> +            if (element == null) {
> +                continue;
> +            }
>             try {
> -                editorClassName = element + '.' + shortEditorClassName;
> -                return loadEditor(targetType, editorClassName);
> +                return loadEditor(targetType, element + '.'
> +                        + shortEditorClassName);
>             } catch (Exception e) {
>                 // expected
>             }
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ProxyPersistenceDelegate.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ProxyPersistenceDelegate.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ProxyPersistenceDelegate.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ProxyPersistenceDelegate.java
> Mon Jun  7 08:06:18 2010
> @@ -24,7 +24,7 @@ class ProxyPersistenceDelegate extends D
>     @Override
>     protected Expression instantiate(Object oldInstance, Encoder out) {
>         assert oldInstance instanceof Proxy : oldInstance;
> -        Class[] interfaces = oldInstance.getClass().getInterfaces();
> +        Class<?>[] interfaces = oldInstance.getClass().getInterfaces();
>         InvocationHandler handler =
> Proxy.getInvocationHandler(oldInstance);
>         return new Expression(oldInstance, Proxy.class, "newProxyInstance",
> //$NON-NLS-1$
>                 new Object[] { oldInstance.getClass().getClassLoader(),
> interfaces, handler });
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ReferenceMap.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ReferenceMap.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ReferenceMap.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/ReferenceMap.java
> Mon Jun  7 08:06:18 2010
> @@ -15,12 +15,11 @@
>  * limitations under the License.
>  */
>
> -
>  package java.beans;
>
>  /**
>  * A simple map.
> - * Keys are equal iff they are the same object (reference equals).
> + * Keys are equal if they are the same object (reference equals).
>  * The put() do not check key duplication, so always do a get() before
> put().
>  * Noop if either key or value is null.
>  *
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/StandardBeanInfo.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/StandardBeanInfo.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/StandardBeanInfo.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/StandardBeanInfo.java
> Mon Jun  7 08:06:18 2010
> @@ -77,6 +77,8 @@ class StandardBeanInfo extends SimpleBea
>
>     private PropertyDescriptor[] properties = null;
>
> +    private BeanDescriptor beanDescriptor = null;
> +
>     BeanInfo[] additionalBeanInfo = null;
>
>     private Class<?> beanClass;
> @@ -175,13 +177,15 @@ class StandardBeanInfo extends SimpleBea
>
>     @Override
>     public BeanDescriptor getBeanDescriptor() {
> -        if (explicitBeanInfo != null) {
> -            BeanDescriptor beanDesc =
> explicitBeanInfo.getBeanDescriptor();
> -            if (beanDesc != null) {
> -                return beanDesc;
> +        if (beanDescriptor == null) {
> +            if (explicitBeanInfo != null) {
> +                beanDescriptor = explicitBeanInfo.getBeanDescriptor();
> +            }
> +            if (beanDescriptor == null) {
> +                beanDescriptor = new BeanDescriptor(beanClass);
>             }
>         }
> -        return new BeanDescriptor(beanClass);
> +        return beanDescriptor;
>     }
>
>     @Override
> @@ -598,7 +602,7 @@ class StandardBeanInfo extends SimpleBea
>
>     private static String getQualifiedName(Method method) {
>         String qualifiedName = method.getName();
> -        Class[] paramTypes = method.getParameterTypes();
> +        Class<?>[] paramTypes = method.getParameterTypes();
>         if (paramTypes != null) {
>             for (int i = 0; i < paramTypes.length; i++) {
>                 qualifiedName += "_" + paramTypes[i].getName();
> //$NON-NLS-1$
> @@ -796,7 +800,7 @@ class StandardBeanInfo extends SimpleBea
>     @SuppressWarnings("nls")
>     private void introspectPropertyListener(Method theMethod) {
>         String methodName = theMethod.getName();
> -        Class[] param = theMethod.getParameterTypes();
> +        Class<?>[] param = theMethod.getParameterTypes();
>         if (param.length != 1) {
>             return;
>         }
> @@ -969,8 +973,8 @@ class StandardBeanInfo extends SimpleBea
>             Method normalSetter = null;
>             Method indexedSetter = null;
>
> -            Class normalPropType = null;
> -            Class indexedPropType = null;
> +            Class<?> normalPropType = null;
> +            Class<?> indexedPropType = null;
>
>             if (getters == null) {
>                 getters = new ArrayList<Method>();
> @@ -1007,7 +1011,7 @@ class StandardBeanInfo extends SimpleBea
>             // retrieve normal setter
>             if (normalGetter != null) {
>                 // Now we will try to look for normal setter of the same
> type.
> -                Class propertyType = normalGetter.getReturnType();
> +                Class<?> propertyType = normalGetter.getReturnType();
>
>                 for (Method setter : setters) {
>                     if (setter.getParameterTypes().length == 1
> @@ -1031,7 +1035,7 @@ class StandardBeanInfo extends SimpleBea
>             // retrieve indexed setter
>             if (indexedGetter != null) {
>                 // Now we will try to look for indexed setter of the same
> type.
> -                Class propertyType = indexedGetter.getReturnType();
> +                Class<?> propertyType = indexedGetter.getReturnType();
>
>                 for (Method setter : setters) {
>                     if (setter.getParameterTypes().length == 2
> @@ -1403,7 +1407,7 @@ class StandardBeanInfo extends SimpleBea
>         Method[] methods = listenerType.getDeclaredMethods();
>         ArrayList<Method> list = new ArrayList<Method>();
>         for (int i = 0; i < methods.length; i++) {
> -            Class[] paramTypes = methods[i].getParameterTypes();
> +            Class<?>[] paramTypes = methods[i].getParameterTypes();
>             if (paramTypes.length != 1) {
>                 continue;
>             }
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Statement.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Statement.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Statement.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/Statement.java
> Mon Jun  7 08:06:18 2010
> @@ -43,7 +43,7 @@ public class Statement {
>     private Object[] arguments;
>
>     // cache used methods of specified target class to accelerate method
> search
> -    private static WeakHashMap<Class, Method[]> cache = new
> WeakHashMap<Class, Method[]>();
> +    private static WeakHashMap<Class<?>, Method[]> cache = new
> WeakHashMap<Class<?>, Method[]>();
>
>     // the special method name donating constructors
>     static final String CONSTRUCTOR_NAME = "new"; //$NON-NLS-1$
> @@ -126,13 +126,13 @@ public class Statement {
>                 result = method.invoke(null, args);
>             } else if (theMethodName.equals("newInstance") //$NON-NLS-1$
>                     && theTarget == Array.class) {
> -                Class<?> componentType = (Class) theArguments[0];
> +                Class<?> componentType = (Class<?>) theArguments[0];
>                 int length = ((Integer) theArguments[1]).intValue();
>                 result = Array.newInstance(componentType, length);
>             } else if (theMethodName.equals("new") //$NON-NLS-1$
>                     || theMethodName.equals("newInstance")) { //$NON-NLS-1$
> -                if (theTarget instanceof Class) {
> -                    Constructor<?> constructor =
> findConstructor((Class)theTarget, theArguments);
> +                if (theTarget instanceof Class<?>) {
> +                    Constructor<?> constructor =
> findConstructor((Class<?>)theTarget, theArguments);
>                     result = constructor.newInstance(theArguments);
>                 } else {
>                     if ("new".equals(theMethodName)) { //$NON-NLS-1$
> @@ -146,7 +146,7 @@ public class Statement {
>             } else if (theMethodName.equals("newArray")) {//$NON-NLS-1$
>                 // create a new array instance without length attribute
>                 int length = theArguments.length;
> -                Class clazz = (Class) theTarget;
> +                Class<?> clazz = (Class<?>) theTarget;
>
>                 // check the element types of array
>                 for (int i = 0; i < length; i++) {
> @@ -170,7 +170,7 @@ public class Statement {
>                     System.arraycopy(theArguments, 0, result, 0, length);
>                 }
>                 return result;
> -            } else if (theTarget instanceof Class) {
> +            } else if (theTarget instanceof Class<?>) {
>                 Method method = null;
>                 boolean found = false;
>                 try {
> @@ -180,7 +180,7 @@ public class Statement {
>                      * differs from Class itself
>                      */
>                     if (theTarget != Class.class) {
> -                        method = findMethod((Class) theTarget,
> theMethodName, theArguments, true);
> +                        method = findMethod((Class<?>) theTarget,
> theMethodName, theArguments, true);
>                         result = method.invoke(null, theArguments);
>                         found = true;
>                     }
> @@ -204,8 +204,8 @@ public class Statement {
>                         result = method.invoke(theTarget, theArguments);
>                     }
>                 }
> -            } else if (theTarget instanceof Iterator){
> -               final Iterator<?> iterator = (Iterator) theTarget;
> +            } else if (theTarget instanceof Iterator<?>){
> +               final Iterator<?> iterator = (Iterator<?>) theTarget;
>                                final Method method =
> findMethod(theTarget.getClass(), theMethodName,
>                                                theArguments, false);
>                                if (iterator.hasNext()) {
> @@ -237,7 +237,7 @@ public class Statement {
>         return result;
>     }
>
> -    private void arrayCopy(Class type, Object[] src, Object dest, int
> length) {
> +    private void arrayCopy(Class<?> type, Object[] src, Object dest, int
> length) {
>         if (type == boolean.class) {
>             boolean[] destination = (boolean[]) dest;
>             for (int i = 0; i < length; i++) {
> @@ -438,11 +438,11 @@ public class Statement {
>     static boolean isStaticMethodCall(Statement stmt) {
>         Object target = stmt.getTarget();
>         String mName = stmt.getMethodName();
> -        if (!(target instanceof Class)) {
> +        if (!(target instanceof Class<?>)) {
>             return false;
>         }
>         try {
> -            Statement.findMethod((Class) target, mName,
> stmt.getArguments(), true);
> +            Statement.findMethod((Class<?>) target, mName,
> stmt.getArguments(), true);
>             return true;
>         } catch (NoSuchMethodException e) {
>             return false;
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilCollectionPersistenceDelegate.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilCollectionPersistenceDelegate.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilCollectionPersistenceDelegate.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilCollectionPersistenceDelegate.java
> Mon Jun  7 08:06:18 2010
> @@ -27,7 +27,8 @@ class UtilCollectionPersistenceDelegate
>     protected void initialize(Class<?> type, Object oldInstance,
>             Object newInstance, Encoder enc) {
>
> -        Collection<?> oldList = (Collection) oldInstance, newList =
> (Collection)newInstance;
> +        Collection<?> oldList = (Collection<?>) oldInstance;
> +        Collection<?> newList = (Collection<?>) newInstance;
>         Iterator<?> oldIterator = oldList.iterator(), newIterator =
> newList.iterator();
>         for (; oldIterator.hasNext();) {
>             Expression getterExp = new Expression(oldIterator, "next",
> null);
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilListPersistenceDelegate.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilListPersistenceDelegate.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilListPersistenceDelegate.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/UtilListPersistenceDelegate.java
> Mon Jun  7 08:06:18 2010
> @@ -25,7 +25,7 @@ class UtilListPersistenceDelegate extend
>     protected void initialize(Class<?> type, Object oldInstance,
>             Object newInstance, Encoder enc) {
>
> -        List<?> list = (List) oldInstance;
> +        List<?> list = (List<?>) oldInstance;
>         int size = list.size();
>         for (int i = 0; i < size; i++) {
>             Expression getterExp = new Expression(oldInstance, "get",
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/XMLDecoder.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/XMLDecoder.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/XMLDecoder.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/java/beans/XMLDecoder.java
> Mon Jun  7 08:06:18 2010
> @@ -330,7 +330,7 @@ public class XMLDecoder {
>                 method = args.size() == 1 ? "get" : "set";
>             }
>             if (elem.fromField) {
> -                Field f = ((Class) elem.target).getField(method);
> +                Field f = ((Class<?>) elem.target).getField(method);
>                 return (new Expression(f, "get", new Object[] { null }))
>                         .getValue();
>             }
> @@ -342,7 +342,7 @@ public class XMLDecoder {
>                 if ("getOwner".equals(method)) {
>                     return owner;
>                 }
> -                Class[] c = new Class[args.size()];
> +                Class<?>[] c = new Class[args.size()];
>                 for (int i = 0; i < args.size(); i++) {
>                     Object arg = args.get(i);
>                     c[i] = (arg == null ? null: arg.getClass());
> @@ -358,7 +358,7 @@ public class XMLDecoder {
>
>                 // Find the specific method matching the parameter
>                 Method mostSpecificMethod = findMethod(
> -                        owner instanceof Class ? (Class) owner : owner
> +                        owner instanceof Class<?> ? (Class<?>) owner :
> owner
>                                 .getClass(), method, c);
>
>                 return mostSpecificMethod.invoke(owner, args.toArray());
> @@ -369,8 +369,8 @@ public class XMLDecoder {
>             return exp.getValue();
>         }
>
> -        private Method findMethod(Class clazz, String methodName,
> -                Class[] clazzes) throws Exception {
> +        private Method findMethod(Class<?> clazz, String methodName,
> +                Class<?>[] clazzes) throws Exception {
>             Method[] methods = clazz.getMethods();
>             ArrayList<Method> matchMethods = new ArrayList<Method>();
>
> @@ -379,7 +379,7 @@ public class XMLDecoder {
>                 if (!methodName.equals(method.getName())) {
>                     continue;
>                 }
> -                Class[] parameterTypes = method.getParameterTypes();
> +                Class<?>[] parameterTypes = method.getParameterTypes();
>                 if (parameterTypes.length != clazzes.length) {
>                     continue;
>                 }
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Argument.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Argument.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Argument.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Argument.java
> Mon Jun  7 08:06:18 2010
> @@ -23,7 +23,7 @@ public class Argument {
>
>     private Object value;
>
> -    private Class[] interfaces;
> +    private Class<?>[] interfaces;
>
>     public Argument(Object value) {
>         this.value = value;
> @@ -47,7 +47,7 @@ public class Argument {
>         return value;
>     }
>
> -    public Class[] getInterfaces() {
> +    public Class<?>[] getInterfaces() {
>         return interfaces;
>     }
>
> @@ -56,7 +56,7 @@ public class Argument {
>         this.interfaces = type.getInterfaces();
>     }
>
> -    public void setInterfaces(Class[] interfaces) {
> +    public void setInterfaces(Class<?>[] interfaces) {
>         this.interfaces = interfaces;
>     }
>  }
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/BeansUtils.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/BeansUtils.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/BeansUtils.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/BeansUtils.java
> Mon Jun  7 08:06:18 2010
> @@ -18,40 +18,49 @@
>  package org.apache.harmony.beans;
>
>  public class BeansUtils {
> -
> -    public static final int getHashCode(Object o) {
> -        return o != null ? o.hashCode() : 0;
> +
> +    public static final int getHashCode(Object obj) {
> +        return obj != null ? obj.hashCode() : 0;
>     }
> -
> -    public static final int getHashCode(boolean b) {
> -        return b?1:0;
> +
> +    public static final int getHashCode(boolean bool) {
> +        return bool ? 1 : 0;
>     }
> -
> -    public static String toASCIILowerCase(String s) {
> -        int len = s.length();
> -        StringBuilder buffer = new StringBuilder(len);
> -        for (int i = 0; i < len; i++) {
> -            char c = s.charAt(i);
> -            if ('A' <= c && c <= 'Z') {
> -                buffer.append((char) (c + ('a' - 'A')));
> +
> +    public static String toASCIILowerCase(String string) {
> +        char[] charArray = string.toCharArray();
> +        StringBuilder sb = new StringBuilder(charArray.length);
> +        for (int index = 0; index < charArray.length; index++) {
> +            if ('A' <= charArray[index] && charArray[index] <= 'Z') {
> +                sb.append((char) (charArray[index] + ('a' - 'A')));
>             } else {
> -                buffer.append(c);
> +                sb.append(charArray[index]);
>             }
>         }
> -        return buffer.toString();
> +        return sb.toString();
>     }
> -
> -    public static String toASCIIUpperCase(String s) {
> -        int len = s.length();
> -        StringBuilder buffer = new StringBuilder(len);
> -        for (int i = 0; i < len; i++) {
> -            char c = s.charAt(i);
> -            if ('a' <= c && c <= 'z') {
> -                buffer.append((char) (c - ('a' - 'A')));
> +
> +    public static String toASCIIUpperCase(String string) {
> +        char[] charArray = string.toCharArray();
> +        StringBuilder sb = new StringBuilder(charArray.length);
> +        for (int index = 0; index < charArray.length; index++) {
> +            if ('a' <= charArray[index] && charArray[index] <= 'z') {
> +                sb.append((char) (charArray[index] - ('a' - 'A')));
>             } else {
> -                buffer.append(c);
> +                sb.append(charArray[index]);
>             }
>         }
> -        return buffer.toString();
> +        return sb.toString();
> +    }
> +
> +    public static boolean isPrimitiveWrapper(Class<?> wrapper, Class<?>
> base) {
> +        return (base == boolean.class) && (wrapper == Boolean.class)
> +                || (base == byte.class) && (wrapper == Byte.class)
> +                || (base == char.class) && (wrapper == Character.class)
> +                || (base == short.class) && (wrapper == Short.class)
> +                || (base == int.class) && (wrapper == Integer.class)
> +                || (base == long.class) && (wrapper == Long.class)
> +                || (base == float.class) && (wrapper == Float.class)
> +                || (base == double.class) && (wrapper == Double.class);
>     }
>  }
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Command.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Command.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Command.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/Command.java
> Mon Jun  7 08:06:18 2010
> @@ -495,7 +495,7 @@ public class Command {
>
>                     if (isField()) {
>                         String fieldName = getAttr("field"); //$NON-NLS-1$
> -                        target = ((Class) target).getField(fieldName);
> +                        target = ((Class<?>) target).getField(fieldName);
>                     }
>                 } else {
>                     throw new Exception(Messages.getString(
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/BooleanEditor.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/BooleanEditor.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/BooleanEditor.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/BooleanEditor.java
> Mon Jun  7 08:06:18 2010
> @@ -34,9 +34,9 @@ public final class BooleanEditor extends
>         if(text == null){
>             throw new NullPointerException();
>         }
> -        if(text.equalsIgnoreCase("true") ||
> text.equalsIgnoreCase("false")){
> -            setValue(Boolean.valueOf(text));
> -        }else{
> +        if ("true".equalsIgnoreCase(text) ||
> "false".equalsIgnoreCase(text)) { //$NON-NLS-1$ //$NON-NLS-2$
> +            setValue(new Boolean(text));
> +        } else {
>             throw new IllegalArgumentException(text);
>         }
>     }
> @@ -68,12 +68,10 @@ public final class BooleanEditor extends
>     }
>
>     private String getValueAsString() {
> -        String result = null;
>         Object value = getValue();
>         if (value != null) {
> -            Boolean bValue = (Boolean) value;
> -            result = bValue.toString();
> +            return ((Boolean) value).toString();
>         }
> -        return result;
> +        return null;
>     }
>  }
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ByteEditor.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ByteEditor.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ByteEditor.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ByteEditor.java
> Mon Jun  7 08:06:18 2010
> @@ -36,7 +36,7 @@ public final class ByteEditor extends Pr
>
>     @Override
>     public String getJavaInitializationString() {
> -        return new
> StringBuilder("((byte)").append(getValue()).append(")").toString();
> +        return new
> StringBuilder("((byte)").append(getValue()).append(")").toString();
> //$NON-NLS-1$ //$NON-NLS-2$
>     }
>
>     @Override
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ColorEditor.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ColorEditor.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ColorEditor.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ColorEditor.java
> Mon Jun  7 08:06:18 2010
> @@ -58,15 +58,17 @@ public class ColorEditor extends Panel i
>     }
>
>     public String getJavaInitializationString() {
> -        String result = null;
> -        Color color = (Color) getValue();
> -        if (color != null) {
> -            int red = color.getRed();
> -            int green = color.getGreen();
> -            int blue = color.getBlue();
> -            result = "new java.awt.Color(" + red + "," + green + "," +
> blue + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
> +        Color value = (Color) getValue();
> +        if (value != null) {
> +            StringBuilder sb = new StringBuilder("new java.awt.Color(");
> //$NON-NLS-1$
> +            sb.append(value.getRed());
> +            sb.append(',');
> +            sb.append(value.getGreen());
> +            sb.append(',');
> +            sb.append(value.getBlue() + ")"); //$NON-NLS-1$
> +            return sb.toString();
>         }
> -        return result;
> +        return null;
>     }
>
>     public String[] getTags() {
> @@ -81,9 +83,8 @@ public class ColorEditor extends Panel i
>         this.value = (Color) value;
>         PropertyChangeEvent changeAllEvent = new PropertyChangeEvent(this,
>                 "value", oldValue, value); //$NON-NLS-1$
> -        PropertyChangeListener[] copy = new
> PropertyChangeListener[listeners
> -                .size()];
> -        listeners.toArray(copy);
> +        PropertyChangeListener[] copy = listeners
> +                .toArray(new PropertyChangeListener[0]);
>         for (PropertyChangeListener listener : copy) {
>             listener.propertyChange(changeAllEvent);
>         }
> @@ -91,17 +92,17 @@ public class ColorEditor extends Panel i
>
>     @SuppressWarnings("nls")
>     public String getAsText() {
> -        Color c = (Color) getValue();
> -        if (null == c) {
> -            return "null";
> -        }
> -        StringBuilder sb = new StringBuilder(14);
> -        sb.append(c.getRed());
> -        sb.append(",");
> -        sb.append(c.getGreen());
> -        sb.append(",");
> -        sb.append(c.getBlue());
> -        return sb.toString();
> +        Color value = (Color) getValue();
> +        if (value != null) {
> +            StringBuilder sb = new StringBuilder(14);
> +            sb.append(value.getRed());
> +            sb.append(',');
> +            sb.append(value.getGreen());
> +            sb.append(',');
> +            sb.append(value.getBlue());
> +            return sb.toString();
> +        }
> +        return ""; //$NON-NLS-1$
>     }
>
>     @SuppressWarnings("nls")
> @@ -109,20 +110,17 @@ public class ColorEditor extends Panel i
>         if (null == text) {
>             throw new NullPointerException();
>         }
> -
> -        int r = 0;
> -        int g = 0;
> -        int b = 0;
>         String aText = text;
>         try {
> -            int index = text.indexOf(",");
> -            r = Integer.parseInt(text.substring(0, index));
> -            aText = text.substring(index + 1);
> -            index = aText.indexOf(",");
> -            g = Integer.parseInt(aText.substring(0, index));
> -            aText = aText.substring(index + 1);
> -            b = Integer.parseInt(aText);
> -            setValue(new Color(r, g, b));
> +            int commaIndex = aText.indexOf(',');
> +            int red = Integer.parseInt(aText.substring(0, commaIndex));
> +            aText = aText.substring(commaIndex + 1);
> +            commaIndex = aText.indexOf(',');
> +            int green = Integer.parseInt(aText.substring(0, commaIndex));
> +            aText = aText.substring(commaIndex + 1);
> +            int blue = Integer.parseInt(aText);
> +
> +            setValue(new Color(red, green, blue));
>         } catch (Exception e) {
>             throw new IllegalArgumentException(aText);
>         }
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FloatEditor.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FloatEditor.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FloatEditor.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FloatEditor.java
> Mon Jun  7 08:06:18 2010
> @@ -36,7 +36,7 @@ public final class FloatEditor extends P
>
>     @Override
>     public String getJavaInitializationString() {
> -        return getValue()+"F";
> +        return getValue() + "F"; //$NON-NLS-1$
>     }
>
>     @Override
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FontEditor.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FontEditor.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FontEditor.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/FontEditor.java
> Mon Jun  7 08:06:18 2010
> @@ -58,14 +58,16 @@ public class FontEditor extends Panel im
>     }
>
>     public String getJavaInitializationString() {
> -        String result = null;
> -        if (value!= null) {
> -            String name = value.getName();
> -            int style = value.getStyle();
> -            int size = value.getSize();
> -            result = "new Font(" + name + "," + style + "," + size + ")";
> //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
> +        if (value != null) {
> +            StringBuilder sb = new StringBuilder("new Font(");
> //$NON-NLS-1$
> +            sb.append(value.getName());
> +            sb.append(',');
> +            sb.append(value.getStyle());
> +            sb.append(',');
> +            sb.append(value.getSize() + ")"); //$NON-NLS-1$
> +            return sb.toString();
>         }
> -        return result;
> +        return null;
>     }
>
>     public String[] getTags() {
> @@ -77,8 +79,8 @@ public class FontEditor extends Panel im
>         value = (Font)newValue;
>         PropertyChangeEvent changeAllEvent = new PropertyChangeEvent(this,
>                 "value", oldValue, value); //$NON-NLS-1$
> -        PropertyChangeListener[] copy = new
> PropertyChangeListener[listeners.size()];
> -        listeners.toArray(copy);
> +        PropertyChangeListener[] copy = listeners
> +                .toArray(new PropertyChangeListener[0]);
>         for (PropertyChangeListener listener : copy) {
>             listener.propertyChange(changeAllEvent);
>         }
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/IntEditor.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/IntEditor.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/IntEditor.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/IntEditor.java
> Mon Jun  7 08:06:18 2010
> @@ -52,12 +52,10 @@ public final class IntEditor extends Pro
>     }
>
>     private String getValueAsText() {
> -        String result = null;
>         Object value = getValue();
>         if (value != null) {
> -            Integer iValue = (Integer) value;
> -            result = iValue.toString();
> +            return ((Integer) value).toString();
>         }
> -        return result;
> +        return null;
>     }
>  }
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/LongEditor.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/LongEditor.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/LongEditor.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/LongEditor.java
> Mon Jun  7 08:06:18 2010
> @@ -36,7 +36,7 @@ public final class LongEditor extends Pr
>
>     @Override
>     public String getJavaInitializationString() {
> -        return getValue()+"L";
> +        return getValue() + "L"; //$NON-NLS-1$
>     }
>
>     @Override
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ShortEditor.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ShortEditor.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ShortEditor.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/ShortEditor.java
> Mon Jun  7 08:06:18 2010
> @@ -36,7 +36,8 @@ public final class ShortEditor extends P
>
>     @Override
>     public String getJavaInitializationString() {
> -        return new
> StringBuilder().append("((short)").append(getValue()).append(")").toString();
> +        return new StringBuilder()
> +
>  .append("((short)").append(getValue()).append(")").toString();
> //$NON-NLS-1$ //$NON-NLS-2$
>     }
>
>     @Override
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/StringEditor.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/StringEditor.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/StringEditor.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/main/java/org/apache/harmony/beans/editors/StringEditor.java
> Mon Jun  7 08:06:18 2010
> @@ -37,7 +37,7 @@ public final class StringEditor extends
>
>     @Override
>     public String getJavaInitializationString() {
> -        Object value = getValue();
> -        return value==null?"\"null\"":"\""+value+"\"";
> +        Object value = getValue();
> +        return value == null ? "\"null\"" : "\"" + value + "\"";
>     }
>  }
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java
> Mon Jun  7 08:06:18 2010
> @@ -106,6 +106,13 @@ public class EventHandlerTest extends Te
>
>         assertEquals(invocationObject, handler.getTarget());
>         assertEquals(invocationObject.getSomeText(), getText());
> +        try {
> +            handler.invoke(proxy, null, new Object[] { new
> ActionEvent(this, 0,
> +                    "") });
> +            fail("should throw NullPointerException");
> +        } catch (NullPointerException e) {
> +            // Expected
> +        }
>     }
>
>     /**
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/FeatureDescriptorTest.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/FeatureDescriptorTest.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/FeatureDescriptorTest.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/FeatureDescriptorTest.java
> Mon Jun  7 08:06:18 2010
> @@ -251,11 +251,25 @@ public class FeatureDescriptorTest exten
>         fd.setValue(attributeName, value);
>         assertSame(value, fd.getValue(attributeName));
>
> -        Object newValue = null;
>         try {
> -            fd.setValue(attributeName, newValue);
> -            fail("Should throw NullPointerException.");
> +            fd.setValue(null, value);
> +            fail("Should throw NullPointerException");
>         } catch (NullPointerException e) {
> +            // Expected
> +        }
> +
> +        try {
> +            fd.setValue(attributeName, null);
> +            fail("Should throw NullPointerException");
> +        } catch (NullPointerException e) {
> +            // Expected
> +        }
> +
> +        try {
> +            fd.setValue(null, null);
> +            fail("Should throw NullPointerException");
> +        } catch (NullPointerException e) {
> +            // Expected
>         }
>     }
>
>
> Modified:
> harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java?rev=952132&r1=952131&r2=952132&view=diff
>
> ==============================================================================
> ---
> harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java
> (original)
> +++
> harmony/enhanced/java/trunk/classlib/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java
> Mon Jun  7 08:06:18 2010
> @@ -122,6 +122,11 @@ public class IntrospectorTest extends Te
>         }
>     }
>
> +    public void testBeanDescriptor_Same() throws Exception {
> +        BeanInfo beanInfo = Introspector.getBeanInfo(MockJavaBean.class);
> +        assertSame(beanInfo.getBeanDescriptor(),
> beanInfo.getBeanDescriptor());
> +    }
> +
>     /**
>      * The test checks the getMethodDescriptor method
>      *
>
>
>


-- 
Best regards,
Yours, Kevin Zhou