Issue 3099: Should Components::Enumeration be an IDL interface or an IDL abstract value (components-ftf) Source: International Business Machines (Mr. Ignacio Silva-Lepe, isilval(at)us.ibm.com) Nature: Uncategorized Issue Severity: Summary: Summary: Section 8.2.1.2 of the spec defines Components::Enumeration as an IDL interface, with the implication that it is intended as a remote type. Issue: It has been noted that java.util.Enumeration is usually implemented as a java.io.Serializable and that making Components::Enumeration an IDL interface would prevent this from happening for collections of primary keys returned from EJB Homes that are mapped to CCM Homes. Proposal: Define Components::Enumeration as an IDL abstract valuetype. Resolution: Define Components::Enumeration as an IDL abstract valuetype Revised Text: 1. In section 64.3.1.2, page 64-179, last bullet, replace "Finder EJB operations that return a Java Enumeration are mapped into CORBA component operations which return an IDL Object Reference to an interface of type Enumeration. This interface is declared as:" with "Finder EJB operations that return a Java Enumeration are mapped into CORBA component operations which return a value of type Enumeration. This value type is declared as:" 2. In section 64.3.1.2, page 64-179, replace module Components { interface Enumeration { boolean has_more_elements(); CCMObject next_element(); }; }; with module Components { abstract valuetype Enumeration { boolean has_more_elements(); CCMObject next_element(); }; }; 3. In section 64.3.1.2, page 64-179, add At least one concrete implementation of this abstract value type must be provided. Concrete implementations derive from Enumeration by providing a state variable that aggregates objects of type CCMObject. For example, the following value type MyEnumeration would be an implementation of Enumeration: valuetype MyEnumeration : Components::Enumeration { state { private sequence< Components::CCMObject > objects; }; }; Actions taken: December 8, 1999: received sisue May 18, 2001: closed issue Discussion: It has been noted that java.util.Enumeration is usually implemented as a java.io.Serializable and that making Components::Enumeration an IDL interface would prevent this from happening for collections of primary keys returned from EJB Homes that are mapped to CCM Homes. End of Annotations:===== From: isilval@us.ibm.com X-Lotus-FromDomain: IBMUS To: issues@omg.org, components-ftf@omg.org cc: crawfos@uk.ibm.com, nash@uk.ibm.com Message-ID: <85256841.006FCB50.00@D51MTA03.pok.ibm.com> Date: Wed, 8 Dec 1999 15:21:17 -0500 Subject: CCM Issue: Should Components::Enumeration be an IDL interface or an IDL abstract valuetype? Mime-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset=us-ascii X-UIDL: W__!!W*I!!eO,!!4K'!! Summary: Section 8.2.1.2 of the spec defines Components::Enumeration as an IDL interface, with the implication that it is intended as a remote type. Issue: It has been noted that java.util.Enumeration is usually implemented as a java.io.Serializable and that making Components::Enumeration an IDL interface would prevent this from happening for collections of primary keys returned from EJB Homes that are mapped to CCM Homes. Proposal: Define Components::Enumeration as an IDL abstract valuetype. Ignacio Silva-Lepe IBM T. J. Watson Research Center P.O. Box 704 Yorktown Heights, NY 10598, USA INTERNET: isilval@us.ibm.com WWW: http://www.zgnews.com/silva Phone: (914) 784 7003 Fax: (914) 784 6040 From: Philippe.Merle@lifl.fr Received: from (merle@localhost) by karjala.lifl.fr (8.9.1b+Sun/jtpda-5.3.3) id TAA27565 for components-ftf@omg.org; Thu, 14 Jun 2001 19:10:02 +0200 (MET DST) Date: Thu, 14 Jun 2001 19:10:02 +0200 (MET DST) Message-Id: <200106141710.TAA27565@karjala.lifl.fr> To: components-ftf@omg.org Subject: About Issue 3099 X-Sun-Charset: US-ASCII Content-Type: text X-UIDL: m5nd9]a2e9$9i!!-jDe9 Hello, At the end of the resolution text for the Issue 3099 (http://cgi.omg.org/issues/components-ftf.html#Issue3099) there is the following OMG IDL: valuetype MyEnumeration : Components::Enumeration { state { private sequence< Components::CCMObject > objects; }; }; As 'state' is not an OMG IDL construction, this must be replaced by: valuetype MyEnumeration : Components::Enumeration { private sequence< Components::CCMObject > objects; }; in order to be compilable ;-) A+ Philippe Merle -- ___________________________________________________________________________ Dr. Philippe Merle Universite des Sciences et Technologies de Lille UPRESA 8022 CNRS Laboratoire d'Informatique Fondamentale de Lille Tel: (33) 03 20 43 47 21 U.F.R. I.E.E.A. batiment M3 Fax: (33) 03 20 43 65 66 59655 Villeneuve d'Ascq CEDEX France E-Mail: merle@lifl.fr Web: http://www.lifl.fr/~merle See also: http://corbaweb.lifl.fr/ ___________________________________________________________________________