From f982a2adf063ab980e2050b43121a04cea748638 Mon Sep 17 00:00:00 2001 From: slaws Date: Tue, 18 Aug 2009 12:53:42 +0000 Subject: Change promoted reference not found warning to an error (ASM_6006). Also push some monitor context. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@805399 13f79535-47bb-0310-9956-ffa450edef68 --- .../impl/CompositePromotionBuilderImpl.java | 52 +++++++++++++--------- 1 file changed, 30 insertions(+), 22 deletions(-) (limited to 'java/sca') diff --git a/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositePromotionBuilderImpl.java b/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositePromotionBuilderImpl.java index bf1d75b236..b60ba68032 100644 --- a/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositePromotionBuilderImpl.java +++ b/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositePromotionBuilderImpl.java @@ -69,24 +69,31 @@ public class CompositePromotionBuilderImpl extends BaseBuilderImpl implements Co * @param problems */ protected void connectCompositeReferencesAndServices(Composite composite, Monitor monitor) { - // Wire nested composites recursively - for (Component component : composite.getComponents()) { - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - connectCompositeReferencesAndServices((Composite)implementation, monitor); + + monitor.pushContext("Composite: " + composite.getName().toString()); + + try { + // Wire nested composites recursively + for (Component component : composite.getComponents()) { + Implementation implementation = component.getImplementation(); + if (implementation instanceof Composite) { + connectCompositeReferencesAndServices((Composite)implementation, monitor); + } } - } - - // Index components, services and references - Map components = new HashMap(); - Map componentServices = new HashMap(); - Map componentReferences = new HashMap(); - indexComponentsServicesAndReferences(composite, components, componentServices, componentReferences); - - // Connect composite services and references to the component - // services and references that they promote - connectCompositeServices(composite, components, componentServices, monitor); - connectCompositeReferences(composite, components, componentReferences, monitor); + + // Index components, services and references + Map components = new HashMap(); + Map componentServices = new HashMap(); + Map componentReferences = new HashMap(); + indexComponentsServicesAndReferences(composite, components, componentServices, componentReferences); + + // Connect composite services and references to the component + // services and references that they promote + connectCompositeServices(composite, components, componentServices, monitor); + connectCompositeReferences(composite, components, componentReferences, monitor); + } finally { + monitor.popContext(); + } // end try } /** @@ -241,11 +248,12 @@ public class CompositePromotionBuilderImpl extends BaseBuilderImpl implements Co } } } else { - warning(monitor, - "PromotedReferenceNotFound", - composite, - composite.getName().toString(), - componentReferenceName); + Monitor.error(monitor, + this, + "assembly-validation-messages", + "PromotedReferenceNotFound", + composite.getName().toString(), + componentReferenceName); } } } -- cgit v1.2.3