Runtime Start
input:
run the node.exe
steps:
Load extensions
create runtime artifacts (builders, activators etc)
Load definitions.xml
output
running node awaiting contribution/composite to run
Add Contribution
input:
a contribution jar or file system directory
steps:
Contribution Read
- Read all artifacts apart from composite file
- Aggregate all definitions.xml files
- Read composites
- Enhance composite with policy sets based on appliesTo information
- Parse composites into in memory assembly model
Contribution Resolution
- resolve the contribution models against the physical artifacts available in the contribution.
output:
a contribution model in memory containing composite assembly models in memory
New Policy Processing Phase
<<The composite enhancement steps from the previous phase live here?>>
- For each composite file read the xml content first...
- For each policyset in the domain...
- Extract the value of 'appliesTo' attribute with is an xpath expression
- Evaluate this expression against the composite xml
- For each node that results out of the above evaluation
- if the node contains an attribute named 'applicablePolicySets'
- concatenate to its value, the name of the PolicySet
- else
- create an attribute named 'applicablePolicySet' and set its value to the name of the PolicySet
So at the end of this processing wherever applicable the composites elements will have the additional attribute name 'applicablePolicySets'. This modified composite xml is then passed on further for the in memory model creation.