You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by Carsten Ziegeler <cz...@apache.org> on 2013/07/29 16:12:26 UTC

Questions about the HC Api

Hi,

as the hc tool progresses I think it's time to talk about the API and its
intend.

I had a brief look at the Java API and I'm a little bit confused.

I asume the RulesEngine is an OSGi service which is entended to run rules -
wouldn't it be better to give the set of rules to evaluate in the
evaluation method? Right now, it seems one has to add all available rules
through this API and can then later on filter during execution.

The SystemAttribute tages an slf4j logger when getting a value which again
looks strange to me.

What are the various arguments of the RuleBuilder#buildRule method used for?

Right now a Rule object also holds an evaluator and an expression. I think
a rule should just be a data object and the rule (or the expression?)
should be passed into an evaluator.

Just some starting questions to find out how this API is intended to be
used.

Thanks
Carsten
-- 
Carsten Ziegeler
cziegeler@apache.org

Re: Questions about the HC Api

Posted by Carsten Ziegeler <cz...@apache.org>.
Some more :) It seems a Rule is tied to a single SystemAttribute - what if
a rule wants to check two values?
I have the feeling that we can replace SystemAttribute with a map.

The RuleBuilder interface uses the namespace to define whether this builder
is responsible for creating a rule with that namespace. I think rather than
encoding this in the method, this should be a service property and the
builders should be plain simle OSGi services.

Regards
Carsten


2013/7/29 Carsten Ziegeler <cz...@apache.org>

> Hi,
>
> as the hc tool progresses I think it's time to talk about the API and its
> intend.
>
> I had a brief look at the Java API and I'm a little bit confused.
>
> I asume the RulesEngine is an OSGi service which is entended to run rules
> - wouldn't it be better to give the set of rules to evaluate in the
> evaluation method? Right now, it seems one has to add all available rules
> through this API and can then later on filter during execution.
>
> The SystemAttribute tages an slf4j logger when getting a value which again
> looks strange to me.
>
> What are the various arguments of the RuleBuilder#buildRule method used
> for?
>
> Right now a Rule object also holds an evaluator and an expression. I think
> a rule should just be a data object and the rule (or the expression?)
> should be passed into an evaluator.
>
> Just some starting questions to find out how this API is intended to be
> used.
>
> Thanks
> Carsten
> --
> Carsten Ziegeler
> cziegeler@apache.org
>



-- 
Carsten Ziegeler
cziegeler@apache.org