Legacy Issue Number: 3614
Source: foxfield-sw.demon.co.uk ( Nick Sharman)
(All document refs to ptc/00-03-02, but I think the relvant sections are the
same in ptc/00-04-05)
(a) Sec. 188.8.131.52 (Object::get_policy) says that the "effective Policy is the
intersection of the values allowed by the effective override and the
IOR-specified Policy." What does this mean? For example, the example
MyPolicy given in 4.8.5 appears to define some range or interval, so the
intersection of two MyPolicy objects has some meaning - but I doubt if it's
reasonable to expect the ORB to deduce that.
I suggest that the effective policy is:
- any override of that type if there is one, else
- any IOR-specified policy of that type if there is one, else
- the system default of that type if there is one, else
- the null Policy reference (or a system exception? which?).
This is feasible and consistent with normal meaning of "override" as
"replace", not "modify".
(b) Sec. 184.108.40.206 (Object::get_client_policy) suggests that the ORB searches
the object's overrides, then PolicyCurrent's overrides, then PolicyManager's
overrides. If it can't find any in those, then it can return the system
default. I suggest the system default be left out of this search - it's not
an override, it's a final default - and that we define what happens if no
policy of the right type can be found, either null or a system exception.
(c) Sec. 220.127.116.11 (Object::set_policy_overrides) and sec. 18.104.22.168
(PolicyManager::set_policy_overrides) both allow the existing set of
overrides either to be replaced or to be extended.
If the set is to be extended, and the new overrides contain a Policy of a
type for which there is already an override, should the supplied Policy
(1) replace the existing Policy silently, or
(2) be ignored silently, or
(3) cause a system exception (and which)?
Whatever the value of 'set_add', if the supplied Policy list contains two
Policies of the same type, which one prevails, if any? I suggest
"implementation defined", but we could mandate a system exception.
Reported: CORBA 2.3.1 — Mon, 15 May 2000 04:00 GMT
Disposition: Resolved — CORBA 2.4
Incorporate changes and close issue
Updated: Fri, 6 Mar 2015 20:58 GMT