All these validations rely on the definition of a pointcut expression. The one used in FeaTransformPointcutStub is the following:

A map is a pointcut expression if
- all stubs that bound that map are pointcut stubs from the same concern AND
- all stubs contained in that map have no plugin bindings

However, this definition may be too simplistic:
- It does not allow for using pointcut expression as plugin from another pointcut expression
(Pay attention to recursive maps when dealing with this limitation)
- It allows for regular maps (maps without pointcut stubs) to have a pointcut expression as plugin
- Aspect maps (maps with p ointcut stubs) from different concern cannot reuse a pointcut expressio


Thought a bit more about this. I think the solution is to translate all maps that are assigned to a concern and to not assign pointcut maps to a concern. It is correct that they may be reused by different concerns anyway.

Hence, there would be other checks required such as: it should not happen that a regular map contains a pointcut map, but a pointcut stub may contain regular maps and pointcut maps.

-- GunterMussbacher - 23 Feb 2012

FormForFeature edit

Feature Name FeaPointcutExpressionValidation
Sequence 600
Size
Sprint
Release
Description These validations are not specific to "AoUrnToRam" but are general to "AoUrn". Thus, they should be implemented in jUcmNav.

-Anything pointcuts(...) are not allowed outside pointcut expressions
-Wildcard responsibilites(*) are not allowed outside pointcut expressions
-Pointcut stubs are not allowed inside pointcut expressions
-Pointcut expressions are not allowed to have an aspect map (a map that contains pointcut stubs) as plugin
-Regular maps (maps without pointcut stubs) are not allowed to have a pointcut expression as plugin
Dependencies
Author Stéphane Leblanc
Topic revision: r2 - 23 Feb 2012, GunterMussbacher
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback