Issue 2559: deactivate_object asymmetry (orb_revision) Source: (, ) Nature: Uncategorized Issue Severity: Summary: Summary: In the POA, we have ObjectId activate_object(in Servant s) raises(...); void activate_object_with_id(in ObjectId id, in Servant s) raises(...); However, for deactivation, we have only one function: void deactivate_object(in ObjectId id) raises(...); This lacks symmetry. If I can use implicit activation of a servant, why can"t I use implicit deactivation? For symmetry, I would have expected: void deactivate_object() raises(...); void deactivate_object_with_id(in ObjectId id) raises(...); Resolution: Revised Text: Actions taken: March 29, 1999: received issue October 30, 2000: closed issue Discussion: End of Annotations:===== Date: Sun, 28 Mar 1999 16:29:08 +1000 (EST) From: Michi Henning Reply-To: Core Revision Task Force To: Core Revision Task Force cc: issues@omg.org Subject: deactivate_object asymmetry Organization: Triodia Technologies In the POA, we have ObjectId activate_object(in Servant s) raises(...); void activate_object_with_id(in ObjectId id, in Servant s) raises(...); However, for deactivation, we have only one function: void deactivate_object(in ObjectId id) raises(...); This lacks symmetry. If I can use implicit activation of a servant, why can't I use implicit deactivation? For symmetry, I would have expected: void deactivate_object() raises(...); void deactivate_object_with_id(in ObjectId id) raises(...); Implicit deactivation would be particularly useful for life cycle destroy() operations, where I could just invoke deactivate_object on the servant POA without having to muck around with string_to_objectID first. It becomes even more obvious when I want to deactivate a transient object that uses SYSTEM_ID, because to do that, I first have to pull the ID out of the POA and then call deactivate_object(). It would be rather more convenient (and more comprehensible) to have deactivation as the inverse of the activation operations. Cheers, Michi. -- Michi Henning +61 7 3236 1633 Triodia Technologies +61 4 1118 2700 (mobile) PO Box 372 +61 7 3211 0047 (fax) Annerley 4103 michi@triodia.com AUSTRALIA http://www.triodia.com/staff/michi-henning.html Date: Mon, 29 Mar 1999 13:20:21 -0500 From: Paul H Kyzivat Organization: NobleNet To: Core Revision Task Force CC: issues@omg.org Subject: Re: deactivate_object asymmetry References: Michi, Am I missing some critical point about this subject, or does it just not make any sense? activate_object is given a servant, generates an object id, and then activates the servant with the object id. Even though it is not an input to the call, the object id is the key for the activation. To deactivate an object I need somehow to specify which activation is to be deactivated. Your revised deactivate_object takes no arguments, so it has no way of selecting an activation. I suppose you could have: void deactivate_servant(in Servant s) raises(...); but this would only work with UNIQUE_ID in effect. Paul Michi Henning wrote: > > In the POA, we have > > ObjectId activate_object(in Servant s) raises(...); > void activate_object_with_id(in ObjectId id, in Servant s) > raises(...); > > However, for deactivation, we have only one function: > > void deactivate_object(in ObjectId id) raises(...); > > This lacks symmetry. If I can use implicit activation of a servant, > why can't I use implicit deactivation? For symmetry, I would have > expected: > > void deactivate_object() raises(...); > void deactivate_object_with_id(in ObjectId id) raises(...); > > Implicit deactivation would be particularly useful for life cycle > destroy() > operations, where I could just invoke deactivate_object on the > servant > POA without having to muck around with string_to_objectID first. > It becomes even more obvious when I want to deactivate a transient > object > that uses SYSTEM_ID, because to do that, I first have to pull the ID > out > of the POA and then call deactivate_object(). > > It would be rather more convenient (and more comprehensible) to have > deactivation as the inverse of the activation operations. > > Cheers, > > > Michi. > -- > Michi Henning +61 7 3236 1633 > Triodia Technologies +61 4 1118 2700 (mobile) > PO Box 372 +61 7 3211 0047 (fax) > Annerley 4103 michi@triodia.com > AUSTRALIA > http://www.triodia.com/staff/michi-henning.html Date: Tue, 30 Mar 1999 10:49:15 +1000 (EST) From: Michi Henning To: Paul H Kyzivat cc: Core Revision Task Force Subject: Re: deactivate_object asymmetry Organization: Triodia Technologies Content-ID: On Mon, 29 Mar 1999, Paul H Kyzivat wrote: > Michi, > > Am I missing some critical point about this subject, or does it just > not > make any sense? > > activate_object is given a servant, generates an object id, and then > activates the servant with the object id. Even though it is not an > input > to the call, the object id is the key for the activation. > > To deactivate an object I need somehow to specify which activation > is to > be deactivated. Your revised deactivate_object takes no arguments, > so it > has no way of selecting an activation. Sorry, I didn't make this very clear. deactivate_object() would still need a servant parameter or, alternatively, you could make it an operation on the servant itself, so the servant would be implicit. > I suppose you could have: > > void deactivate_servant(in Servant s) raises(...); > > but this would only work with UNIQUE_ID in effect. Exactly. It just struck me as odd that I can activate a servant and have a unique ID assigned to it automatically, but that, to deactivate it, I have to know the ID. The ID is not, strictly speaking, necessary, unless the POA uses MULTIPLE_ID. I don't think this is major issue -- I mainly noticed the lack of symmetry here. Cheers, Michi. -- Michi Henning +61 7 3236 1633 Triodia Technologies +61 4 1118 2700 (mobile) PO Box 372 +61 7 3211 0047 (fax) Annerley 4103 michi@triodia.com AUSTRALIA http://www.triodia.com/staff/michi-henning.html Sender: jis@fpk.hp.com Message-ID: <38289693.1F56AF53@fpk.hp.com> Date: Tue, 09 Nov 1999 16:48:03 -0500 From: Jishnu Mukerji Organization: Hewlett-Packard EIAL X-Mailer: Mozilla 4.08 [en] (X11; U; HP-UX B.11.00 9000/889) MIME-Version: 1.0 To: orb_revision@omg.org Subject: Issue 2559 proposed resolution Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii X-UIDL: Efl!!D05e9]D)!!?~Wd9 Issue 2559: deactivate_object asymmetry (orb_revision) Click here for this issue's archive. Source: DSTC (Mr. Michi Henning, michi@triodia.com) Nature: Uncategorized Issue Severity: Summary: In the POA, we have ObjectId activate_object(in Servant s) raises(...); void activate_object_with_id(in ObjectId id, in Servant s) raises(...); However, for deactivation, we have only one function: void deactivate_object(in ObjectId id) raises(...); This lacks symmetry. If I can use implicit activation of a servant, why can't I use implicit deactivation? For symmetry, I would have expected: void deactivate_object() raises(...); void deactivate_object_with_id(in ObjectId id) raises(...); Resolution: This is an issue about style, and does not require any change. Revised Text: Actions taken: Close no change. _______________________________________________ Comments? -- Jishnu Mukerji Systems Architect Email: jis@fpk.hp.com Hewlett-Packard EIAL, Tel: +1 973 443 7528 300 Campus Drive, 2E-62, Fax: +1 973 443 7422 Florham Park, NJ 07932, USA.