Return-Path: Delivered-To: apmail-ofbiz-commits-archive@www.apache.org Received: (qmail 47077 invoked from network); 1 Mar 2010 18:13:00 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 1 Mar 2010 18:13:00 -0000 Received: (qmail 71062 invoked by uid 500); 1 Mar 2010 18:12:58 -0000 Delivered-To: apmail-ofbiz-commits-archive@ofbiz.apache.org Received: (qmail 70953 invoked by uid 500); 1 Mar 2010 18:12:58 -0000 Mailing-List: contact commits-help@ofbiz.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ofbiz.apache.org Delivered-To: mailing list commits@ofbiz.apache.org Received: (qmail 70946 invoked by uid 99); 1 Mar 2010 18:12:58 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Mar 2010 18:12:58 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Mar 2010 18:12:56 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id B1F7A23888D2; Mon, 1 Mar 2010 18:12:35 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r917623 - in /ofbiz/trunk/framework/base/src/org/ofbiz/base: conversion/CollectionConverters.java util/test/ObjectTypeTests.java Date: Mon, 01 Mar 2010 18:12:35 -0000 To: commits@ofbiz.apache.org From: doogie@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100301181235.B1F7A23888D2@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: doogie Date: Mon Mar 1 18:12:35 2010 New Revision: 917623 URL: http://svn.apache.org/viewvc?rev=917623&view=rev Log: BUG FIX: Actually implement proper simple array testing; the previously added ArrayObjectToList converter was never actually used. Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/CollectionConverters.java ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/ObjectTypeTests.java Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/CollectionConverters.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/CollectionConverters.java?rev=917623&r1=917622&r2=917623&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/CollectionConverters.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/CollectionConverters.java Mon Mar 1 18:12:35 2010 @@ -27,7 +27,6 @@ import javolution.util.FastList; import javolution.util.FastSet; -import org.ofbiz.base.util.ObjectType; import org.ofbiz.base.util.StringUtil; import org.ofbiz.base.util.UtilGenerics; import org.ofbiz.base.util.UtilValidate; @@ -40,7 +39,13 @@ } public Converter createConverter(Class sourceClass, Class targetClass) { - if (!sourceClass.isArray() || targetClass != List.class) { + if (!sourceClass.isArray()) { + return null; + } + if (targetClass != List.class) { + return null; + } + if (!(sourceClass.getComponentType() instanceof Object)) { return null; } return UtilGenerics.cast(new ArrayClassToList(sourceClass, targetClass)); @@ -52,6 +57,10 @@ super(sourceClass, targetClass); } + public boolean canConvert(Class sourceClass, Class targetClass) { + return sourceClass == this.getSourceClass() && targetClass == this.getTargetClass(); + } + public T convert(S obj) throws ConversionException { List list = FastList.newInstance(); int len = Array.getLength(obj); @@ -69,7 +78,16 @@ @Override public boolean canConvert(Class sourceClass, Class targetClass) { - return sourceClass.isArray() && ObjectType.instanceOf(targetClass, this.getTargetClass()); + if (!sourceClass.isArray()) { + return false; + } + if (!List.class.isAssignableFrom(targetClass)) { + return false; + } + if (Object[].class.isAssignableFrom(sourceClass)) { + return true; + } + return false; } public List convert(T[] obj) throws ConversionException { Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/ObjectTypeTests.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/ObjectTypeTests.java?rev=917623&r1=917622&r2=917623&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/ObjectTypeTests.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/ObjectTypeTests.java Mon Mar 1 18:12:35 2010 @@ -192,7 +192,10 @@ } public void testArray() throws GeneralException { - simpleTypeConvertTestSingleMulti("array->List", new Object[] {"one", "two", "three"}, new String[] {"List", "java.util.List"}, list); + simpleTypeConvertTestSingleMulti("Object[]->List", new Object[] {"one", "two", "three"}, new String[] {"List", "java.util.List"}, list); + simpleTypeConvertTestSingleMulti("int[]->List", new int[] {1, 2, 3}, new String[] {"List", "java.util.List"}, list(1, 2, 3)); + simpleTypeConvertTestError("Object[]->error", new Object[] {"one", "two", "three"}, new String[] {"Map"}); + simpleTypeConvertTestError("int[]->error", new int[] {1, 2, 3}, new String[] {"java.util.ArrayList", "Map"}); } public void testString() throws GeneralException, Exception {