Please create a jira so that we can tackle it and do the required changes.

On Wed, Dec 11, 2013 at 4:13 PM, Isuru Haththotuwa <[email protected]> wrote:

> +1
>
>
> On Wed, Dec 11, 2013 at 3:16 AM, Sajith Kariyawasam <[email protected]>wrote:
>
>> Hi all,
>>
>> While implementing  service deployment functionality for super tenant, I
>> found bit hard to plug a new subscription tenancy behaviour for a
>> CartidgeSubscription.
>>
>> Please correct me if I'm wrong, I wanted to add a new tenancy behaviour
>> for a FrameworkCartirdgeSubscription, but subscriptionTenancyBehaviour is
>> initialized to the relevant concrete class inside CartidgeSubscription,
>> which I think is not good, because that will lose the extension capability
>> without modifying the base class, for eg, if I want to add a new
>> subscriptionTenancyBehaviour, I will have to modify CartidgeSubscription
>> class, which is not correct. It would have been better if
>> the constructor of CartidgeSubscription accepts a type of
>> subscriptionTenancyBehaviour, and do the assignment inside the
>> CartidgeSubscription class, so that when instantiating a
>> CartidgeSubscription, the relevant subscriptionTenancyBehaviour would also
>> need to pass in.
>>
>> But then another problem comes, that is, subscriptionTenancyBehaviour
>> "has a" CartidgeSubscription,  therefore when instantiating a
>> subscriptionTenancyBehaviour, cartridgeSubscription has to be passed in
>> constructor, therefore there is no way
>> to create a  subscriptionTenancyBehaviour outside of a
>> cartridgeSubscription.
>>
>> However it seems that we can move cartridgeSubscription to the method
>> signatures of SubscriptionTenancyBehaviour, and also by
>> invoking subscriptionTenancyBehaviour's relevant operations from
>> "CartridgeSubscription" abstract class ( which should be the correct design
>> approach IMO, rather than to invoke it from the concrete class ) this can
>> be sorted out.
>>
>> Otherwise, for every addition of subscription tenant behaviours (which is
>> possible in the future) CartidgeSubscription need to be changed, also some
>> more parameters need to be passed to identify which class to be
>> instantiated.
>>
>> WDYT ?
>>
>>
>> --
>> *Sajith Kariyawasam*
>> *Senior Software Engineer; WSO2, Inc.*
>> *AMIE (SL)*
>> *Blog: http://sajithblogs.blogspot.com/
>> <http://sajithblogs.blogspot.com/>*
>> *Mobile: +94772269575 <%2B94772269575>*
>>
>
>
>
> --
> Thanks and Regards,
>
> Isuru H.
> Software Engineer, WSO2 Inc.
> +94 716 358 048* <http://wso2.com/>*
>
>
>


-- 
Thanks and Regards,

Isuru H.
Software Engineer, WSO2 Inc.
+94 716 358 048* <http://wso2.com/>*

Reply via email to