Hi,
As you might have noticed from the commit logs, I have made some good
progress toward supporting the OASIS SCA Policy spec [1].
1) Define the
"org.apache.tuscany.sca.definitions.xml.DefinitionsExtensionPoint" that
collects "org.apache.tuscany.sca.definitions.xml.Definitions" from XML files
that are contributed by Tuscany modules, including the one from the spec:
/tuscany-definitions-xml/src/main/resources/META-INF/sca-policy-1.1-intents-definitions-cd02.xml.
2) Build the Definitions model using IntentProcessor and PolicySetProcessor
for a Node
a) Read the system definitions from DefinitionsExtensionPoint
b) Add META-INF/definitions.xml from SCA contributions
3) Update
org.apache.tuscany.sca.assembly.builder.impl.CompositePolicyBuilderImpl to
reconcile the inline Intent/PolicySet attributes and populate the
Ednpoint(s) and EndpointReference(s).
4) Refactor the PolicyProviderFactory and PolicyProvider SPIs to take
Endpoint/EndpointReference/Component for reference/service/implementation
policies.
5) Improve the Java annotation processing to handle specific Intent
annotations such as @Authentication on both interfaces and implementation
classes.
6) Add back the policy-logging module to log the component interactions
(including the URI, method calls and intents/policySets).
7) Add an itest-policies to test the policy handling capabilities.
There are still quite a lot things to be implemented, such as:
* Enable the XPath processing for @appliesTo
* Support the external attachment using @attachTo (We may have to build a
DOM tree out of the domain composite first)
* Add a model to represent the policy settings on component implementations
and operations.
* Refine the SPIs for Policy to hook up interceptors on the
service/reference/binding invocation chains
[1]
http://www.oasis-open.org/committees/download.php/31981/sca-policy-1.1-spec-cd02-rev1.pdf
Thanks,
Raymond