#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

Reply via email to