summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/node-impl/src
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-08-10 12:29:51 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-08-10 12:29:51 +0000
commitd5e64539010bf1fcc2351a2dc87ee8f7797a1cc1 (patch)
treec9d83c54072826011a222525384fac925aafa09d /java/sca/modules/node-impl/src
parent650715987b8fb89e2bfc6ca27790cc9beba5eabd (diff)
TUSCANY-3020 - when definitions are aggregated together check that there are no duplicates. DOne here rather than later at the resolve phase as there is a better chance of reporting some sensible context to the user about which definitions.xml file is in error.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@802762 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/node-impl/src')
-rw-r--r--java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java b/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
index 41531a7b10..db0c44ad39 100644
--- a/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
+++ b/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
@@ -433,9 +433,11 @@ public class NodeFactoryImpl extends NodeFactory {
systemDefinitions = definitionsFactory.createDefinitions();
DefinitionsExtensionPoint definitionsExtensionPoint = extensionPoints.getExtensionPoint(DefinitionsExtensionPoint.class);
+ monitor.pushContext("Extension points definitions");
for(Definitions defs: definitionsExtensionPoint.getDefinitions()) {
- DefinitionsUtil.aggregate(defs, systemDefinitions);
+ DefinitionsUtil.aggregate(defs, systemDefinitions, monitor);
}
+ monitor.popContext();
// create a system contribution to hold the definitions. The contribution
// will be extended later with definitions from application contributions
@@ -482,11 +484,14 @@ public class NodeFactoryImpl extends NodeFactory {
// each contribution so that for unresolved items the resolution
// processing will look in the system contribution
for (Contribution contribution: contributions) {
+ monitor.pushContext("Contribution: " + contribution.getURI());
// aggregate definitions
for (Artifact artifact : contribution.getArtifacts()) {
Object model = artifact.getModel();
if (model instanceof Definitions) {
- DefinitionsUtil.aggregate((Definitions)model, systemDefinitions);
+ monitor.pushContext("Definitions: " + artifact.getLocation());
+ DefinitionsUtil.aggregate((Definitions)model, systemDefinitions, monitor);
+ monitor.popContext();
}
}
@@ -497,6 +502,7 @@ public class NodeFactoryImpl extends NodeFactory {
DefaultImport defaultImport = contributionFactory.createDefaultImport();
defaultImport.setModelResolver(systemContribution.getModelResolver());
contribution.getImports().add(defaultImport);
+ monitor.popContext();
}
ExtensibleModelResolver modelResolver = new ExtensibleModelResolver(new Contributions(contributions), modelResolvers, modelFactories);