[windup-dev] RuleProviders' / rules metadata

Jess Sightler jsightle at redhat.com
Thu Feb 5 11:05:28 EST 2015


This metadata is stored on the Rule itself:

Rule rule = // ...
Context ruleContext = rule instanceof Context ? (Context) rule : null;
Object origin = ruleContext.get(RuleMetadata.ORIGIN);


On 02/04/2015 08:24 PM, Ondrej Zizka wrote:
> Hi,
>
> it seems that the metadata is a bit scattered around the place.
>
> A) Some metadata are at rules themselves, e.g. as returned by
> getExecuteAfter().
>
> B) Some are sunken into the dark depth of ~.rewrite.Context, like
>
>           rewriteCtx.put(RuleMetadata.CATEGORY, DEFAULT_CATEGORY);
>
> However when I try to retrieve this,
>
>           Object cat = event.getRewriteContext().get(RuleMetadata.CATEGORY);
>
> I get null.
> So I debugged and found the data stored in a weird data structure,
>
> context.map[WindupRuleMetadata].providersToRules[?RuleProvider][?].contextMap
>
> So I was trying to get it out,
>
>           WindupRuleMetadata wrm = (WindupRuleMetadata)
> event.getRewriteContext().get(WindupRuleMetadata.class);
> Assert.assertNotNull("event.getRewriteContext()[WindupRuleMetadata.class] is
> not null", wrm);
>           for(WindupRuleProvider provider : wrm.getProviders())
>           {
> if(provider.getClass().equals(TestMetadataAnnotationExecRuleProvider.class))
>                   continue;
>               provider.get
>           }
>
>
> But here I got lost as there seems to be no API for providersToRules.
>
> 1) How can I get to the metadata?
>
> 2) I suggest to review where and how the metadata are stored and unify
> it a bit.
>
> Thanks,
> Ondra
>
>
> PS: I admit that I didn't look much around for some working usages of
> metadata as I am going to sleep, but CATEGORY seems not to be used anywhere.
> _______________________________________________
> windup-dev mailing list
> windup-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/windup-dev

-- 
Calendar Free/Busy: https://www.google.com/calendar/embed?src=jsightle%40redhat.com&ctz=America/New_York



More information about the windup-dev mailing list