#676: Relax constraints on ProductEnvironment callable contract ---------------------------+----------------------------------- Reporter: olemis | Owner: olemis Type: enhancement | Status: accepted Priority: major | Milestone: Release 8 Component: multiproduct | Version: 0.7.0 Resolution: | Keywords: product env, bep-0003 ---------------------------+----------------------------------- Description changed by olemis:
Old description: > When invoking `multiproduct.ProductEnvironment` the initial versions of > bep:0003 limited the type of the first argument to > `trac.env.Environment`. Eventually this led to a considerable number > [http://goo.gl/dGZvcE failures] . > > In spite of uniformity and simplicity the following enhancements are > needed : > > - The meta-class `__call__` method has to be wrapped with logic > similar to `lookup_env` class method > * The initializer must still restrict argument type for cache > consistency > - Both `ProductEnvironment.lookup_env` and `lookup_product_env` > should be phased out and replaced with direct calls to > `ProductEnvironment` class. > - Test cases New description: When invoking `multiproduct.ProductEnvironment` the initial versions of bep:0003 limited the type of the first argument to `trac.env.Environment`. Eventually this led to a considerable number of [http://goo.gl/dGZvcE failures] . In spite of uniformity and simplicity the following enhancements are needed : - The first argument in a call to `multiproduct.ProductEnvironment` class may be an instance of either `multiproduct.ProductEnvironment` or `trac.env.Environment` - The meta-class `__call__` method has to be wrapped with logic similar to `lookup_env` class method * The initializer must still restrict argument type for cache consistency - Both `ProductEnvironment.lookup_env` and `lookup_product_env` should be phased out and replaced with direct calls to `ProductEnvironment` class. - Test cases -- -- Ticket URL: <https://issues.apache.org/bloodhound/ticket/676#comment:3> Apache Bloodhound <https://issues.apache.org/bloodhound/> The Apache Bloodhound issue tracker