You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by "C.h. Lee" <le...@gmail.com> on 2012/08/01 22:46:14 UTC
[neethi 3.0.2] if root element is not a policy element
Hi Dev,
Thanks for the good work, this library helps us a lot!
In version 2.0.5, org.apache.neethi.PolicyEngine:
public static Policy getPolicy(OMElement element) {
return getPolicyOperator(element);
}
Above method handles just fine if root element is not a policy element.
In version 3.0.2, org.apache.neethi.PolicyEngine:
public static Policy getPolicy(OMElement element) {
return getBuilder().getPolicy(element);
}
Above method throws IllegalArgumentException if root element is not a
policy element.
I suppose this is due to following fix:
https://issues.apache.org/jira/browse/NEETHI-12
Question: Is the behavior in 3.0.2 by design and the behavior in 2.0.5 is a bug?
Thanks!
CH Lee
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ws.apache.org
For additional commands, e-mail: dev-help@ws.apache.org
Re: [neethi 3.0.2] if root element is not a policy element
Posted by "C.h. Lee" <le...@gmail.com>.
Daniel,
Thanks for answering my question, following is my current workaround:
StAXOMBuilder builder = new StAXOMBuilder(is);
OMElement documentElement = builder.getDocumentElement();
Iterator<OMElement> itr =
documentElement.getChildrenWithLocalName(Constants.ELEM_POLICY);
Policy policy = new Policy();
while(itr.hasNext()) {
OMElement e = itr.next();
Policy subPolicy = PolicyEngine.getPolicy(e);
policy.addPolicyComponent(subPolicy);
}
On Thu, Aug 2, 2012 at 6:19 AM, Daniel Kulp <dk...@apache.org> wrote:
> On Wednesday, August 01, 2012 01:46:14 PM C.h. Lee wrote:
>> Hi Dev,
>>
>> Thanks for the good work, this library helps us a lot!
>>
>> In version 2.0.5, org.apache.neethi.PolicyEngine:
>>
>> public static Policy getPolicy(OMElement element) {
>> return getPolicyOperator(element);
>> }
>>
>> Above method handles just fine if root element is not a policy element.
>>
>> In version 3.0.2, org.apache.neethi.PolicyEngine:
>>
>> public static Policy getPolicy(OMElement element) {
>> return getBuilder().getPolicy(element);
>> }
>>
>> Above method throws IllegalArgumentException if root element is not a
>> policy element.
>> I suppose this is due to following fix:
>> https://issues.apache.org/jira/browse/NEETHI-12
>>
>> Question: Is the behavior in 3.0.2 by design and the behavior in 2.0.5 is
>> a bug?
>
> Yes. Neethi is a library to parse/process Policy documents. Thus, making
> sure proper policy documents are passed in is important for the methods that
> are supposed to actually return a Policy object.
>
> That said, I had thought about adding method like:
>
> PolicyComponent getPolicyFragment(Object)
>
> or similar for parsing subsections of a policy document, but even that may
> require the "root" to be a known policy, although that would at least allow
> you to manually iterate over the child elements and process one at a time.
>
> Just never got around to that.
>
> --
> Daniel Kulp
> dkulp@apache.org - http://dankulp.com/blog
> Talend Community Coder - http://coders.talend.com
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ws.apache.org
For additional commands, e-mail: dev-help@ws.apache.org
Re: [neethi 3.0.2] if root element is not a policy element
Posted by Daniel Kulp <dk...@apache.org>.
On Wednesday, August 01, 2012 01:46:14 PM C.h. Lee wrote:
> Hi Dev,
>
> Thanks for the good work, this library helps us a lot!
>
> In version 2.0.5, org.apache.neethi.PolicyEngine:
>
> public static Policy getPolicy(OMElement element) {
> return getPolicyOperator(element);
> }
>
> Above method handles just fine if root element is not a policy element.
>
> In version 3.0.2, org.apache.neethi.PolicyEngine:
>
> public static Policy getPolicy(OMElement element) {
> return getBuilder().getPolicy(element);
> }
>
> Above method throws IllegalArgumentException if root element is not a
> policy element.
> I suppose this is due to following fix:
> https://issues.apache.org/jira/browse/NEETHI-12
>
> Question: Is the behavior in 3.0.2 by design and the behavior in 2.0.5 is
> a bug?
Yes. Neethi is a library to parse/process Policy documents. Thus, making
sure proper policy documents are passed in is important for the methods that
are supposed to actually return a Policy object.
That said, I had thought about adding method like:
PolicyComponent getPolicyFragment(Object)
or similar for parsing subsections of a policy document, but even that may
require the "root" to be a known policy, although that would at least allow
you to manually iterate over the child elements and process one at a time.
Just never got around to that.
--
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ws.apache.org
For additional commands, e-mail: dev-help@ws.apache.org