#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 ---------------------------+----------------------------------- Changes (by olemis):
* owner: nobody => olemis * status: new => accepted 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 > [https://gist.github.com/olemis/6639783 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 [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 -- Comment: I'll propose a few patches in a while -- Ticket URL: <https://issues.apache.org/bloodhound/ticket/676#comment:2> Apache Bloodhound <https://issues.apache.org/bloodhound/> The Apache Bloodhound issue tracker