Return-Path: Delivered-To: apmail-incubator-harmony-commits-archive@www.apache.org Received: (qmail 97783 invoked from network); 19 Sep 2006 13:17:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 19 Sep 2006 13:17:21 -0000 Received: (qmail 81254 invoked by uid 500); 19 Sep 2006 13:17:21 -0000 Delivered-To: apmail-incubator-harmony-commits-archive@incubator.apache.org Received: (qmail 81227 invoked by uid 500); 19 Sep 2006 13:17:21 -0000 Mailing-List: contact harmony-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: harmony-dev@incubator.apache.org Delivered-To: mailing list harmony-commits@incubator.apache.org Received: (qmail 81215 invoked by uid 99); 19 Sep 2006 13:17:21 -0000 Received: from idunn.apache.osuosl.org (HELO idunn.apache.osuosl.org) (140.211.166.84) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 19 Sep 2006 06:17:21 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=5.0 tests=ALL_TRUSTED,NO_REAL_NAME Received: from ([140.211.166.113:63313] helo=eris.apache.org) by idunn.apache.osuosl.org (ecelerity 2.1 r(10620)) with ESMTP id 2F/C1-27824-0EDEF054 for ; Tue, 19 Sep 2006 06:17:20 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 4E3671A981A; Tue, 19 Sep 2006 06:17:18 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r447839 - in /incubator/harmony/enhanced/classlib/trunk/modules/beans/src: main/java/java/beans/beancontext/BeanContextServicesSupport.java test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextServicesSupportTest.java Date: Tue, 19 Sep 2006 13:17:18 -0000 To: harmony-commits@incubator.apache.org From: tellison@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20060919131718.4E3671A981A@eris.apache.org> X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: tellison Date: Tue Sep 19 06:17:17 2006 New Revision: 447839 URL: http://svn.apache.org/viewvc?view=rev&rev=447839 Log: Apply patch HARMONY-1397 ([classlib][beans] compatibility: BeanContextServicesSupport().getCurrentServiceSelectors(..) returns 'null' on Harmony and object on RI) Modified: incubator/harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/beancontext/BeanContextServicesSupport.java incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextServicesSupportTest.java Modified: incubator/harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/beancontext/BeanContextServicesSupport.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/beancontext/BeanContextServicesSupport.java?view=diff&rev=447839&r1=447838&r2=447839 ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/beancontext/BeanContextServicesSupport.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/beancontext/BeanContextServicesSupport.java Tue Sep 19 06:17:17 2006 @@ -422,6 +422,24 @@ } } + private class BCSIterator implements Iterator { + private Iterator it; + public BCSIterator(Iterator it) { + this.it = it; + } + + public boolean hasNext() { + return it.hasNext(); + } + + public Object next() { + return it.next(); + } + + public void remove() { + //do nothing + } + } /** * @com.intel.drl.spec_ref */ @@ -434,9 +452,12 @@ synchronized (BeanContext.globalHierarchyLock) { synchronized (this.services) { BCSSServiceProvider bcsp = this.services.get(serviceClass); + if (bcsp == null) { + return null; + } - return bcsp.getServiceProvider().getCurrentServiceSelectors( - getBeanContextServicesPeer(), serviceClass); + return new BCSIterator(bcsp.getServiceProvider().getCurrentServiceSelectors( + getBeanContextServicesPeer(), serviceClass)); } } } Modified: incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextServicesSupportTest.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextServicesSupportTest.java?view=diff&rev=447839&r1=447838&r2=447839 ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextServicesSupportTest.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextServicesSupportTest.java Tue Sep 19 06:17:17 2006 @@ -670,6 +670,14 @@ MockBeanContextServicesSupport support = new MockBeanContextServicesSupport(); Iterator iter = support.getCurrentServiceSelectors(Collection.class); assertNull(iter); + //Regression for HARMONY-1397 + class TestServiceProvider implements BeanContextServiceProvider { + public Object getService(BeanContextServices p0, Object p1, Class p2, Object p3) {return null;} + public void releaseService(BeanContextServices p0, Object p1, Object p2) {} + public Iterator getCurrentServiceSelectors(BeanContextServices p0, Class p1) {return null;} + } + support.addService(BeanContextServicesSupportTest.class, new TestServiceProvider()); + assertNotNull(support.getCurrentServiceSelectors(BeanContextServicesSupportTest.class)); } public void testGetCurrentServiceSelectors() {