Hi Akila,

You would need to implement the interface and add the fully qualified class
name of it, to the META-INF/services folder in a file named "
org.apache.stratos.manager.subscription.filter.SubscriptionFilter" (I am
planning to use the Java ServiceLoader -
http://docs.oracle.com/javase/6/docs/api/java/util/ServiceLoader.html)


On Fri, Aug 22, 2014 at 10:38 AM, Akila Ravihansa Perera <raviha...@wso2.com
> wrote:

> Hi Nirmal,
>
> This is a very useful feature to have.
>
> Can you please give some implementation details about how we can hook a
> custom filter processor to the filter chain?
>
> Thanks.
> On 21 Aug 2014 09:28, "Nirmal Fernando" <nirmal070...@gmail.com> wrote:
>
>> Hi All,
>>
>> Currently, there's no clean way to intercept a subscription request and
>> do some pre-processing. As of now, we do some pre-processing of a
>> subscription request in order to identify the need of a load balancer and
>> act accordingly. I currently have another use-case to intercept a
>> subscription request and act upon a parameter.
>>
>> Hence, to make the code clean over there, I propose we introduce a
>> Subscription Filter chain where you could intercept a subscription request
>> and do some pre-processing before creating the actual subscription.
>>
>> Following is the interface design, I've come up with.
>>
>> /**
>>
>>  * Intercepts the flow of Cartridge Subscription.
>>
>>  * Implementations of this class would get executed before making the
>> real subscription.
>>
>>  */
>>
>> public interface SubscriptionFilter {
>>
>>
>>        /**
>>
>>  * Do some pre-processing on a subscription request.
>>
>>  * @param cartridgeInfo {@link CartridgeInfo}
>>
>>  * @param subscriptionData {@link SubscriptionData}
>>
>>  * @return {@link Properties}, if there are any.
>>
>>  * @throws ADCException on a failure while processing.
>>
>>  */
>>
>> public Properties execute(CartridgeInfo cartridgeInfo, SubscriptionData
>> subscriptionData) throws ADCException ;
>>
>> }
>>
>> Let me know your thoughts.
>>
>> --
>> Best Regards,
>> Nirmal
>>
>> Nirmal Fernando.
>> PPMC Member & Committer of Apache Stratos,
>> Senior Software Engineer, WSO2 Inc.
>>
>> Blog: http://nirmalfdo.blogspot.com/
>>
>


-- 
Best Regards,
Nirmal

Nirmal Fernando.
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.

Blog: http://nirmalfdo.blogspot.com/

Reply via email to