List<PolicySet> inheritedApplicablePolicySets,
ModelResolver resolver) throws ContributionResolveException,
PolicyValidationException
{
if ( implementation instanceof PolicySetAttachPoint ) {
PolicySetAttachPoint policiedImpl = (PolicySetAttachPoint)implementation;
policiedImpl.getApplicablePolicySets().addAll(inheritedApplicablePolicySets);
resolveIntents(policiedImpl.getRequiredIntents(), resolver);
PolicyValidationUtils.validateIntents(policiedImpl, policiedImpl.getType());
resolvePolicySets(policiedImpl.getPolicySets(), resolver);
resolvePolicySets(policiedImpl.getApplicablePolicySets(), resolver);
PolicyValidationUtils.validatePolicySets(policiedImpl);
if ( implementation instanceof OperationsConfigurator ) {
for ( ConfiguredOperation implConfOp : ((OperationsConfigurator)implementation).getConfiguredOperations() ) {
resolveIntents(implConfOp.getRequiredIntents(), resolver);
PolicyValidationUtils.validateIntents(implConfOp, policiedImpl.getType());
resolvePolicySets(implConfOp.getPolicySets(), resolver);
resolvePolicySets(implConfOp.getApplicablePolicySets(), resolver);
//add the inherited applicablePolicysets
addInheritedPolicySets(policiedImpl.getApplicablePolicySets(), implConfOp.getApplicablePolicySets());
PolicyValidationUtils.validatePolicySets(implConfOp, policiedImpl.getType());
PolicyComputationUtils.addDefaultPolicies(
((PolicySetAttachPoint)implementation).getRequiredIntents(),
((PolicySetAttachPoint)implementation).getPolicySets(),
implConfOp.getRequiredIntents(),