You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by gd...@apache.org on 2008/01/21 10:53:20 UTC

svn commit: r613820 - in /geronimo/server/trunk/framework/modules/geronimo-system/src: main/java/org/apache/geronimo/system/configuration/GBeanOverride.java test/java/org/apache/geronimo/system/configuration/GBeanOverrideTest.java

Author: gdamour
Date: Mon Jan 21 01:53:15 2008
New Revision: 613820

URL: http://svn.apache.org/viewvc?rev=613820&view=rev
Log:
No need to explicitly define a PropertyEditor for Collection sub-classes as
Geronimo already has in-build support for the main Collection types.

Fixes GERONIMO-3772 - Start failed, Cannot load property editor 
[org.apache.xbean.propertyeditor.ArrayListEditor].

Modified:
    geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/GBeanOverride.java
    geronimo/server/trunk/framework/modules/geronimo-system/src/test/java/org/apache/geronimo/system/configuration/GBeanOverrideTest.java

Modified: geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/GBeanOverride.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/GBeanOverride.java?rev=613820&r1=613819&r2=613820&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/GBeanOverride.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/GBeanOverride.java Mon Jan 21 01:53:15 2008
@@ -21,6 +21,7 @@
 import java.io.Serializable;
 import java.io.StringReader;
 import java.net.URI;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -567,7 +568,9 @@
                 }
             }
             
-            if (!type.equals(value.getClass().getName()) && !typeClass.isPrimitive()) {
+            if (!type.equals(value.getClass().getName())
+                    && !typeClass.isPrimitive()
+                    && !Collection.class.isAssignableFrom(typeClass)) {
                 propertyEditors.put(attributeName, editor.getClass().getName());
             }
 

Modified: geronimo/server/trunk/framework/modules/geronimo-system/src/test/java/org/apache/geronimo/system/configuration/GBeanOverrideTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-system/src/test/java/org/apache/geronimo/system/configuration/GBeanOverrideTest.java?rev=613820&r1=613819&r2=613820&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-system/src/test/java/org/apache/geronimo/system/configuration/GBeanOverrideTest.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-system/src/test/java/org/apache/geronimo/system/configuration/GBeanOverrideTest.java Mon Jan 21 01:53:15 2008
@@ -20,6 +20,8 @@
 package org.apache.geronimo.system.configuration;
 
 import java.beans.PropertyEditorSupport;
+import java.util.Collection;
+import java.util.Collections;
 
 import junit.framework.TestCase;
 
@@ -93,6 +95,16 @@
     public void testPropertyEditorIsNotDefinedForPrimitives() throws Exception {
         GBeanOverride override = new GBeanOverride(gbeanType, new JexlExpressionParser());
         override.setAttribute(attributeName, new Integer(1), int.class.getName(), getClass().getClassLoader());
+        
+        GbeanType copiedGBeanType = override.writeXml();
+        assertEquals(1, copiedGBeanType.getAttributeOrReference().size());
+        AttributeType attributeType = (AttributeType) copiedGBeanType.getAttributeOrReference().get(0);
+        assertNull(attributeType.getPropertyEditor());
+    }
+    
+    public void testPropertyEditorIsNotDefinedForCollectionSubClasses() throws Exception {
+        GBeanOverride override = new GBeanOverride(gbeanType, new JexlExpressionParser());
+        override.setAttribute(attributeName, Collections.singleton("test"), Collection.class.getName(), getClass().getClassLoader());
         
         GbeanType copiedGBeanType = override.writeXml();
         assertEquals(1, copiedGBeanType.getAttributeOrReference().size());