Hi Raymond, Yes, we create 'configuredOperations' only for those that have been explicitly configured for with some policysetting. I was expecting that the binding/implementation extension or the WireProcessor or whatever mechanism that is which links up policy handlers, will effect all policysets on the binding instance for all operations in addition to whatever is specified for specific operations.
I did toy a bit with the idea of creating ConfiguredOperations for all operations in a contract, but wondered if it was going to get too heavy. To get a list of effective policysets, the getPolicySets() alone should be used and not the getApplicablePolicySets(). Thanks - Venkat On Tue, Mar 11, 2008 at 9:47 PM, Raymond Feng <[EMAIL PROTECTED]> wrote: > By debugging, I only see the explicitly configured operations on the > OperationsConfigurator.getConfiguredOperations(). Should we populate all > operations? Otherwise, we probably need to provide a utility to get > effective policySets for a given > operation like: > > PolicyUtil.getEffectivePolicySets(Component, Contract, Binding, > Operation); > PolicyUtil.getEffectivePolicySets(Component, Implementation, Operation); > > Thanks, > Raymond > > -------------------------------------------------- > From: "Raymond Feng" <[EMAIL PROTECTED]> > Sent: Tuesday, March 11, 2008 8:59 AM > To: <tuscany-dev@ws.apache.org> > Subject: Re: How can I get a list of effective policySets for a given > operation? > > > What about an operation that is not explicitly customized by the > > <operation> element? For example, if I have this: > > > > <component ... policySets="ns1:PS1"> > > <service ... policySets="ns1:PS2"> > > <binding.xyz ... policuSets="ns1:PS3"/> > > </service> > > </component> > > > > Can I do the the following? > > > > OperationsConfigurator ops = (OperationsConfigurator) binding; > > List<ConfiguredOperation> cops= ops.getConfiguredOperations); > > > > If op1 is an operation on the service interface, is op1 on the cops > list? > > If yes, do I get ns1:PS1, ns2:PS2 and ns1:PS3 for op1? > > > > Should I use PolicyAttachPoint.getPolicySets() or > > getApplicablePolicySets() to get the list of effective policy sets? > > > > Thanks, > > Raymond > > > > -------------------------------------------------- > > From: "Venkata Krishnan" <[EMAIL PROTECTED]> > > Sent: Tuesday, March 11, 2008 12:17 AM > > To: <tuscany-dev@ws.apache.org> > > Subject: Re: How can I get a list of effective policySets for a given > > operation? > > > >> Hi Raymond, > >> > >> SCA Artifacts that can have operations configured on them implement the > >> 'OperationsConfigurator' interface. This interface has a method that > >> will > >> return a list of 'ConfiguredOperation' and each element in this list > >> represents an operation that has been configured for policies. The > >> 'ConfiguredOperation' extends a PolicySetAttachPoint and hence you > should > >> be > >> able to get the list of policysets from this. > >> > >> Yes, we do aggregate the intents and policysets upto the operation > level. > >> Let me go and add a test for the scenario you have mentioned here, in > the > >> itest-policy. I will post back once that is done > >> > >> Thanks > >> > >> - Venkat > >> > >> On Tue, Mar 11, 2008 at 12:02 AM, Raymond Feng <[EMAIL PROTECTED]> > >> wrote: > >> > >>> Hi, > >>> > >>> If I have the (component, service/reference, binding, operation) model > >>> instances handy, how can I get a list of effective policySets for the > >>> operation? Are we consolidating the declarations at different levels > to > >>> the > >>> binding? > >>> > >>> We can use the following example (I intentionally omit the @requires). > >>> > >>> <component name="MyComponent" policySets="ns1:PS1"> > >>> <service name="MyService" policySets="ns1:PS2"> > >>> <operation name="op1" policySets="ns1:PS3"> > >>> <binding.xyz policySets="ns1:PS4 ns2:PS5"> > >>> <operation name="op1" policySets="ns1:PS6"> > >>> </binding.xyz> > >>> </service> > >>> </component> > >>> > >>> Thanks, > >>> Raymond > >>> > >>> > >>> --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >