Issue 10735: Selection should have a non-listener way of obtaining the members (data-distribution-rtf) Source: PrismTech (Mr. Erik Hendriks, erik.hendriks(at)prismtech.com) Nature: Revision Severity: Summary: Problem: The only way to find out which objects were inserted into/modified in/removed from a Selection is by attaching a SelectionListener to that Selection and by processing the callbacks on these events. However, there should also be a way to obtain this information without having to resort to Listeners. Solution: Add operations to the Selection that return a list of objects that are inserted into/modified in/removed from that Selection. Section 3.1.6.2, Figure 3-4: Add 3 operations to the Selection called "get_inserted_members", "get_modified_members" and get_removed_members". Section 3.1.6.3.9: Add the following entry to the table: Selection operations get_inserted_members <undefined>[] get_modified_members <undefined>[] get_removed_members <undefined>[] Section 3.1.6.3.9 Add: · get_inserted_members returns all objects that entered the Selection in the current update round. · get_modified_members returns all objects still belonging to the Selection whose content has changed in the current update round. · get_removed_members returns all objects that exited the Selection in the current update round. Section 3.2.1.2.1: In the following lines of the Generic IDL of the Selection interface: Replace: /*** * Following method will be generated properly typed * in the generated derived classes * SelectionListener set_listener ( in SelectionListener listener); * ***/ With: /*** * Following method will be generated properly typed * in the generated derived classes * SelectionListener set_listener (in SelectionListener listener); ObjectRootSeq get_inserted_members ( ); ObjectRootSeq get_modified_members ( ); ObjectRootSeq get_removed_members ( ); * ***/ Section 3.2.1.2.2: In the Implied IDL of the FooSelection interface add the following lines: FooSeq get_inserted_members ( ); FooSeq get_modified_members ( ); FooSeq get_removed_members ( ); Resolution: Revised Text: Actions taken: February 14, 2007: received issue Discussion: Selection should have a non-listener way of obtaining the members that were inserted and removed. End of Annotations:===== iler: QUALCOMM Windows Eudora Version 7.0.1.0 Date: Wed, 14 Feb 2007 09:06:07 -0500 To: issues@omg.org, data-distribution-rtf@omg.org From: Juergen Boldt Subject: issue 10735 -- DDS RTF issue X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at omg.org This is issue # 10735 From: "Erik Hendriks" Selection should have a non-listener way of obtaining the members Selection should have a non-listener way of obtaining the members that were inserted and removed. Problem: The only way to find out which objects were inserted into/modified in/removed from a Selection is by attaching a SelectionListener to that Selection and by processing the callbacks on these events. However, there should also be a way to obtain this information without having to resort to Listeners. Solution: Add operations to the Selection that return a list of objects that are inserted into/modified in/removed from that Selection. Section 3.1.6.2, Figure 3-4: Add 3 operations to the Selection called "get_inserted_members", "get_modified_members" and get_removed_members". Section 3.1.6.3.9: Add the following entry to the table: Selection operations get_inserted_members [] get_modified_members [] get_removed_members [] Section 3.1.6.3.9 Add: · get_inserted_members returns all objects that entered the Selection in the current update round. · get_modified_members returns all objects still belonging to the Selection whose content has changed in the current update round. · get_removed_members returns all objects that exited the Selection in the current update round. Section 3.2.1.2.1: In the following lines of the Generic IDL of the Selection interface: Replace: /*** * Following method will be generated properly typed * in the generated derived classes * SelectionListener set_listener ( in SelectionListener listener); * ***/ With: /*** * Following method will be generated properly typed * in the generated derived classes * SelectionListener set_listener (in SelectionListener listener); ObjectRootSeq get_inserted_members ( ); ObjectRootSeq get_modified_members ( ); ObjectRootSeq get_removed_members ( ); * ***/ Section 3.2.1.2.2: In the Implied IDL of the FooSelection interface add the following lines: FooSeq get_inserted_members ( ); FooSeq get_modified_members ( ); FooSeq get_removed_members ( ); Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org