You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2009/10/16 07:42:38 UTC
svn commit: r825773 [6/15] - in /tuscany/java/sca:
itest/builder/src/test/java/org/apache/tuscany/sca/itest/builder/
modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/
modules/assembly-xml/src/main/java/org/apache/tuscany/sca/defin...
Modified: tuscany/java/sca/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyProcessor.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyProcessor.java (original)
+++ tuscany/java/sca/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyProcessor.java Fri Oct 16 05:42:26 2009
@@ -30,10 +30,10 @@
import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
import org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
import org.apache.tuscany.sca.contribution.processor.ContributionWriteException;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.monitor.Monitor;
/**
*
@@ -46,11 +46,11 @@
return Axis2HeaderPolicy.AXIS2_HEADER_POLICY_QNAME;
}
- public Axis2HeaderPolicyProcessor(FactoryExtensionPoint modelFactories, Monitor monitor) {
+ public Axis2HeaderPolicyProcessor(FactoryExtensionPoint modelFactories) {
}
- public Axis2HeaderPolicy read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+ public Axis2HeaderPolicy read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException {
Axis2HeaderPolicy policy = new Axis2HeaderPolicy();
int event = reader.getEventType();
QName name = null;
@@ -82,7 +82,7 @@
return policy;
}
- public void write(Axis2HeaderPolicy policy, XMLStreamWriter writer)
+ public void write(Axis2HeaderPolicy policy, XMLStreamWriter writer, ProcessorContext context)
throws ContributionWriteException, XMLStreamException {
String prefix = "tuscany";
writer.writeStartElement(prefix,
@@ -105,7 +105,7 @@
return Axis2HeaderPolicy.class;
}
- public void resolve(Axis2HeaderPolicy arg0, ModelResolver arg1) throws ContributionResolveException {
+ public void resolve(Axis2HeaderPolicy arg0, ModelResolver arg1, ProcessorContext context) throws ContributionResolveException {
}
Modified: tuscany/java/sca/modules/binding-ws-axis2-policy/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/PolicyReadTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-axis2-policy/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/PolicyReadTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-ws-axis2-policy/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/PolicyReadTestCase.java (original)
+++ tuscany/java/sca/modules/binding-ws-axis2-policy/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/PolicyReadTestCase.java Fri Oct 16 05:42:26 2009
@@ -28,6 +28,7 @@
import junit.framework.TestCase;
import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
@@ -45,14 +46,14 @@
ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
- StAXArtifactProcessor<Object> staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null);
+ StAXArtifactProcessor<Object> staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null);
URL url = getClass().getResource("mock_policies.xml");
InputStream urlStream = url.openStream();
XMLStreamReader reader = inputFactory.createXMLStreamReader(urlStream);
- Axis2ConfigParamPolicy policy = (Axis2ConfigParamPolicy)staxProcessor.read(reader);
+ Axis2ConfigParamPolicy policy = (Axis2ConfigParamPolicy)staxProcessor.read(reader, new ProcessorContext(extensionPoints));
assertEquals(policy.getParamElements().size(), 2);
}
Modified: tuscany/java/sca/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGenerator.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGenerator.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGenerator.java (original)
+++ tuscany/java/sca/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGenerator.java Fri Oct 16 05:42:26 2009
@@ -331,7 +331,7 @@
wsdlInterface.setPortType(portType);
try {
- wsdlFactory.createWSDLInterface(wsdlInterface, portType, wsdlDefinition, resolver);
+ wsdlFactory.createWSDLInterface(wsdlInterface, portType, wsdlDefinition, resolver, monitor);
} catch (InvalidInterfaceException e) {
throw new WSDLGenerationException(e);
}
Modified: tuscany/java/sca/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WebServiceBindingBuilder.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WebServiceBindingBuilder.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WebServiceBindingBuilder.java (original)
+++ tuscany/java/sca/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WebServiceBindingBuilder.java Fri Oct 16 05:42:26 2009
@@ -24,9 +24,9 @@
import org.apache.tuscany.sca.assembly.Component;
import org.apache.tuscany.sca.assembly.Contract;
import org.apache.tuscany.sca.assembly.builder.BindingBuilder;
+import org.apache.tuscany.sca.assembly.builder.BuilderContext;
import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.monitor.Monitor;
/**
* A factory for the calculated WSDL document needed by Web Service bindings.
@@ -44,8 +44,8 @@
/**
* Create a calculated WSDL document and save it in the Web Service binding.
*/
- public void build(Component component, Contract contract, WebServiceBinding binding, Monitor monitor) {
- BindingWSDLGenerator.generateWSDL(component, contract, binding, extensionPoints, monitor);
+ public void build(Component component, Contract contract, WebServiceBinding binding, BuilderContext context) {
+ BindingWSDLGenerator.generateWSDL(component, contract, binding, extensionPoints, context.getMonitor());
}
public QName getBindingType() {
Modified: tuscany/java/sca/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGeneratorTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGeneratorTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGeneratorTestCase.java (original)
+++ tuscany/java/sca/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGeneratorTestCase.java Fri Oct 16 05:42:26 2009
@@ -61,7 +61,7 @@
new JAXWSJavaInterfaceProcessor(dataBindings, faultExceptionMapper, null).visitInterface(iface);
new DataBindingJavaInterfaceProcessor(registry).visitInterface(iface);
javaIC.setInterface(iface);
- WSDLInterfaceContract wsdlIC = BindingWSDLGenerator.createWSDLInterfaceContract(javaIC, false, new XSDModelResolver(null, null, null), dataBindings, wsdlFactory, xsdFactory, documentBuilderFactory, null);
+ WSDLInterfaceContract wsdlIC = BindingWSDLGenerator.createWSDLInterfaceContract(javaIC, false, new XSDModelResolver(null, null), dataBindings, wsdlFactory, xsdFactory, documentBuilderFactory, null);
assertNotNull(wsdlIC);
WSDLInterface wsdlInterface = (WSDLInterface)wsdlIC.getInterface();
assertNotNull(wsdlInterface);
@@ -74,7 +74,7 @@
new JAXWSJavaInterfaceProcessor(dataBindings, faultExceptionMapper, null).visitInterface(iface2);
new DataBindingJavaInterfaceProcessor(registry).visitInterface(iface2);
javaIC2.setInterface(iface2);
- WSDLInterfaceContract wsdlIC2 = BindingWSDLGenerator.createWSDLInterfaceContract(javaIC2, false, new XSDModelResolver(null, null, null), dataBindings, wsdlFactory, xsdFactory, documentBuilderFactory, null);
+ WSDLInterfaceContract wsdlIC2 = BindingWSDLGenerator.createWSDLInterfaceContract(javaIC2, false, new XSDModelResolver(null, null), dataBindings, wsdlFactory, xsdFactory, documentBuilderFactory, null);
assertNotNull(wsdlIC2);
}
Modified: tuscany/java/sca/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGeneratorTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGeneratorTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGeneratorTestCase.java (original)
+++ tuscany/java/sca/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGeneratorTestCase.java Fri Oct 16 05:42:26 2009
@@ -62,7 +62,7 @@
DocumentBuilderFactory documentBuilderFactory = modelFactories.getFactory(DocumentBuilderFactory.class);
WSDLDefinition wsdlDefinition = wFactory.createWSDLDefinition();
XSDFactory factory = new DefaultXSDFactory();
- Interface2WSDLGenerator generator = new Interface2WSDLGenerator(false, new XSDModelResolver(null, null, null), dataBindings, factory, documentBuilderFactory, null);
+ Interface2WSDLGenerator generator = new Interface2WSDLGenerator(false, new XSDModelResolver(null, null), dataBindings, factory, documentBuilderFactory, null);
Definition definition = generator.generate(iface, wsdlDefinition);
// print the generated WSDL file and inline schemas
Modified: tuscany/java/sca/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java (original)
+++ tuscany/java/sca/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java Fri Oct 16 05:42:26 2009
@@ -39,11 +39,11 @@
import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
import org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
import org.apache.tuscany.sca.contribution.processor.ContributionWriteException;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException;
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition;
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory;
@@ -51,7 +51,6 @@
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterfaceContract;
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLObject;
import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.MonitorFactory;
import org.apache.tuscany.sca.monitor.Problem;
import org.apache.tuscany.sca.monitor.Problem.Severity;
import org.apache.tuscany.sca.policy.PolicyFactory;
@@ -69,7 +68,7 @@
private PolicyFactory policyFactory;
private PolicySubjectProcessor policyProcessor;
//private PolicyFactory intentAttachPointTypeFactory;
- private Monitor monitor;
+
public WebServiceBindingProcessor(ExtensionPointRegistry extensionPoints) {
this.extensionPoints = extensionPoints;
@@ -78,12 +77,6 @@
this.wsFactory = modelFactories.getFactory(WebServiceBindingFactory.class);
this.wsdlFactory = modelFactories.getFactory(WSDLFactory.class);
this.policyProcessor = new PolicySubjectProcessor(policyFactory);
- //this.intentAttachPointTypeFactory = modelFactories.getFactory(PolicyFactory.class);
- UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
- MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
- if (monitorFactory != null) {
- this.monitor = monitorFactory.createMonitor();
- }
}
/**
@@ -93,7 +86,7 @@
* @param message
* @param model
*/
- private void warning(String message, Object model, Object... messageParameters) {
+ private void warning(Monitor monitor, String message, Object model, Object... messageParameters) {
if (monitor != null) {
Problem problem = monitor.createProblem(this.getClass().getName(), "binding-wsxml-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters);
monitor.problem(problem);
@@ -107,15 +100,15 @@
* @param message
* @param model
*/
- private void error(String message, Object model, Object... messageParameters) {
+ private void error(Monitor monitor, String message, Object model, Object... messageParameters) {
if (monitor != null) {
Problem problem = monitor.createProblem(this.getClass().getName(), "binding-wsxml-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters);
monitor.problem(problem);
}
}
- public WebServiceBinding read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
-
+ public WebServiceBinding read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException {
+ Monitor monitor = context.getMonitor();
// Read a <binding.ws>
WebServiceBinding wsBinding = wsFactory.createWebServiceBinding();
/*ExtensionType bindingType = intentAttachPointTypeFactory.createBindingType();
@@ -146,7 +139,7 @@
if (wsdlElement != null) {
int index = wsdlElement.indexOf('#');
if (index == -1) {
- error("InvalidWsdlElementAttr", reader, wsdlElement);
+ error(monitor, "InvalidWsdlElementAttr", reader, wsdlElement);
//throw new ContributionReadException("Invalid WebService binding wsdlElement attribute: " + wsdlElement);
return wsBinding;
}
@@ -165,7 +158,7 @@
localName = localName.substring("wsdl.port(".length(), localName.length() - 1);
int s = localName.indexOf('/');
if (s == -1) {
- error("InvalidWsdlElementAttr", reader, wsdlElement);
+ error(monitor, "InvalidWsdlElementAttr", reader, wsdlElement);
//throw new ContributionReadException("Invalid WebService binding wsdlElement attribute: " + wsdlElement);
} else {
wsBinding.setServiceName(new QName(namespace, localName.substring(0, s)));
@@ -177,7 +170,7 @@
localName = localName.substring("wsdl.endpoint(".length(), localName.length() - 1);
int s = localName.indexOf('/');
if (s == -1) {
- error("InvalidWsdlElementAttr", reader, wsdlElement);
+ error(monitor, "InvalidWsdlElementAttr", reader, wsdlElement);
//throw new ContributionReadException("Invalid WebService binding wsdlElement attribute: " + wsdlElement);
} else {
wsBinding.setServiceName(new QName(namespace, localName.substring(0, s)));
@@ -192,7 +185,7 @@
wsdlElementIsBinding = true;
} else {
- error("InvalidWsdlElementAttr", reader, wsdlElement);
+ error(monitor, "InvalidWsdlElementAttr", reader, wsdlElement);
//throw new ContributionReadException("Invalid WebService binding wsdlElement attribute: " + wsdlElement);
}
}
@@ -207,7 +200,7 @@
case START_ELEMENT: {
if (END_POINT_REFERENCE.equals(reader.getName().getLocalPart())) {
if (wsdlElement != null && (wsdlElementIsBinding == null || !wsdlElementIsBinding)) {
- error("MustUseWsdlBinding", reader, wsdlElement);
+ error(monitor, "MustUseWsdlBinding", reader, wsdlElement);
throw new ContributionReadException(wsdlElement + " must use wsdl.binding when using wsa:EndpointReference");
}
wsBinding.setEndPointReference(EndPointReferenceHelper.readEndPointReference(reader));
@@ -227,7 +220,7 @@
protected void processEndPointReference(XMLStreamReader reader, WebServiceBinding wsBinding) {
}
- public void write(WebServiceBinding wsBinding, XMLStreamWriter writer) throws ContributionWriteException,
+ public void write(WebServiceBinding wsBinding, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException,
XMLStreamException {
// Write a <binding.ws>
@@ -298,15 +291,15 @@
writer.writeEndElement();
}
- public void resolve(WebServiceBinding model, ModelResolver resolver) throws ContributionResolveException {
+ public void resolve(WebServiceBinding model, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException {
if (model == null || !model.isUnresolved())
return;
-
+ Monitor monitor = context.getMonitor();
WSDLDefinition wsdlDefinition = wsdlFactory.createWSDLDefinition();
wsdlDefinition.setUnresolved(true);
wsdlDefinition.setNamespace(model.getNamespace());
- WSDLDefinition resolved = resolver.resolveModel(WSDLDefinition.class, wsdlDefinition);
+ WSDLDefinition resolved = resolver.resolveModel(WSDLDefinition.class, wsdlDefinition, context);
if (!resolved.isUnresolved()) {
wsdlDefinition.setDefinition(resolved.getDefinition());
@@ -322,7 +315,7 @@
wsdlDefinition.setDefinition(binding.getDefinition());
model.setBinding(binding.getElement());
} else {
- warning("WsdlBindingDoesNotMatch", wsdlDefinition, model.getBindingName());
+ warning(monitor, "WsdlBindingDoesNotMatch", wsdlDefinition, model.getBindingName());
}
}
if (model.getServiceName() != null) {
@@ -336,11 +329,11 @@
model.setPort(port);
model.setBinding(port.getBinding());
} else {
- warning("WsdlPortTypeDoesNotMatch", wsdlDefinition, model.getPortName());
+ warning(monitor, "WsdlPortTypeDoesNotMatch", wsdlDefinition, model.getPortName());
}
}
} else {
- warning("WsdlServiceDoesNotMatch", wsdlDefinition, model.getServiceName());
+ warning(monitor, "WsdlServiceDoesNotMatch", wsdlDefinition, model.getServiceName());
}
}
@@ -349,9 +342,9 @@
WSDLInterfaceContract interfaceContract = wsdlFactory.createWSDLInterfaceContract();
WSDLInterface wsdlInterface = null;
try {
- wsdlInterface = wsdlFactory.createWSDLInterface(portType, wsdlDefinition, resolver);
+ wsdlInterface = wsdlFactory.createWSDLInterface(portType, wsdlDefinition, resolver, context.getMonitor());
} catch (InvalidInterfaceException e) {
- warning("InvalidInterfaceException", wsdlFactory, model.getName());
+ warning(monitor, "InvalidInterfaceException", wsdlFactory, model.getName());
}
interfaceContract.setInterface(wsdlInterface);
model.setBindingInterfaceContract(interfaceContract);
Modified: tuscany/java/sca/modules/binding-ws/src/test/java/org/apache/tuscany/sca/binding/ws/xml/ReadTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws/src/test/java/org/apache/tuscany/sca/binding/ws/xml/ReadTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-ws/src/test/java/org/apache/tuscany/sca/binding/ws/xml/ReadTestCase.java (original)
+++ tuscany/java/sca/modules/binding-ws/src/test/java/org/apache/tuscany/sca/binding/ws/xml/ReadTestCase.java Fri Oct 16 05:42:26 2009
@@ -33,6 +33,7 @@
import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
@@ -48,20 +49,22 @@
private static XMLInputFactory inputFactory;
private static StAXArtifactProcessor<Object> staxProcessor;
-
+ private static ProcessorContext context;
+
@BeforeClass
public static void setUp() throws Exception {
DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+ context = new ProcessorContext(extensionPoints);
inputFactory = XMLInputFactory.newInstance();
StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
- staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null);
+ staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null);
}
@Test
public void testReadComponentType() throws Exception {
InputStream is = getClass().getResourceAsStream("CalculatorImpl.componentType");
XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
- ComponentType componentType = (ComponentType)staxProcessor.read(reader);
+ ComponentType componentType = (ComponentType)staxProcessor.read(reader, context);
assertNotNull(componentType);
}
@@ -69,7 +72,7 @@
public void testReadComposite() throws Exception {
InputStream is = getClass().getResourceAsStream("Calculator.composite");
XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
- Composite composite = (Composite)staxProcessor.read(reader);
+ Composite composite = (Composite)staxProcessor.read(reader, context);
assertNotNull(composite);
}
@@ -77,7 +80,7 @@
public void testReadPolicies() throws Exception {
InputStream is = getClass().getResourceAsStream("PoliciedCalculator.composite");
XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
- Composite composite = (Composite)staxProcessor.read(reader);
+ Composite composite = (Composite)staxProcessor.read(reader, context);
assertNotNull(composite);
}
@@ -93,7 +96,7 @@
InputStream is = getClass().getResourceAsStream("Calculator-bad-wsdlElement.composite");
XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
try {
- staxProcessor.read(reader);
+ staxProcessor.read(reader, context);
fail("ContributionReadException expected.");
} catch(ContributionReadException e) {
// Expected
Modified: tuscany/java/sca/modules/binding-ws/src/test/java/org/apache/tuscany/sca/binding/ws/xml/WriteTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws/src/test/java/org/apache/tuscany/sca/binding/ws/xml/WriteTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-ws/src/test/java/org/apache/tuscany/sca/binding/ws/xml/WriteTestCase.java (original)
+++ tuscany/java/sca/modules/binding-ws/src/test/java/org/apache/tuscany/sca/binding/ws/xml/WriteTestCase.java Fri Oct 16 05:42:26 2009
@@ -31,6 +31,7 @@
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
@@ -47,32 +48,34 @@
private static XMLInputFactory inputFactory;
private static XMLOutputFactory outputFactory;
private static StAXArtifactProcessor<Object> staxProcessor;
+ private static ProcessorContext context;
@BeforeClass
public static void setUp() throws Exception {
DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+ context = new ProcessorContext(extensionPoints);
inputFactory = XMLInputFactory.newInstance();
outputFactory = XMLOutputFactory.newInstance();
StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
- staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null);
+ staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory);
}
@Test
public void testReadWriteComponentType() throws Exception {
InputStream is = getClass().getResourceAsStream("CalculatorImpl.componentType");
- ComponentType componentType = (ComponentType)staxProcessor.read(inputFactory.createXMLStreamReader(is));
+ ComponentType componentType = (ComponentType)staxProcessor.read(inputFactory.createXMLStreamReader(is), context);
assertNotNull(componentType);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
- staxProcessor.write(componentType, outputFactory.createXMLStreamWriter(bos));
+ staxProcessor.write(componentType, outputFactory.createXMLStreamWriter(bos), context);
}
@Test
public void testReadWriteComposite() throws Exception {
InputStream is = getClass().getResourceAsStream("Calculator.composite");
- Composite composite = (Composite)staxProcessor.read(inputFactory.createXMLStreamReader(is));
+ Composite composite = (Composite)staxProcessor.read(inputFactory.createXMLStreamReader(is), context);
assertNotNull(composite);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
- staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos));
+ staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos), context);
System.out.println(bos.toString());
}
Modified: tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/BindingURIBuilderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/BindingURIBuilderImpl.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/BindingURIBuilderImpl.java (original)
+++ tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/BindingURIBuilderImpl.java Fri Oct 16 05:42:26 2009
@@ -32,9 +32,9 @@
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.assembly.Implementation;
import org.apache.tuscany.sca.assembly.Service;
+import org.apache.tuscany.sca.assembly.builder.BuilderContext;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
-import org.apache.tuscany.sca.assembly.builder.DeployedCompositeBuilder;
import org.apache.tuscany.sca.assembly.builder.Messages;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.definitions.Definitions;
@@ -45,7 +45,7 @@
*
* @version $Rev$ $Date$
*/
-public class BindingURIBuilderImpl implements CompositeBuilder, DeployedCompositeBuilder {
+public class BindingURIBuilderImpl implements CompositeBuilder {
public BindingURIBuilderImpl(ExtensionPointRegistry registry) {
}
@@ -55,27 +55,12 @@
*
* @param composite the composite to be configured
*/
- public Composite build(Composite composite, Definitions definitions, Monitor monitor)
+ public Composite build(Composite composite, BuilderContext context)
throws CompositeBuilderException {
- configureBindingURIs(composite, null, definitions, null, monitor);
+ configureBindingURIs(composite, null, context.getDefinitions(), context.getBindingBaseURIs(), context.getMonitor());
return composite;
}
- /**
- * Fully resolve the binding URIs based on available information. This includes information
- * from the ".composite" files, from resources associated with the binding, e.g. WSDL files,
- * from any associated policies and from the default information for each binding type.
- *
- * @param composite the composite to be configured
- * @param defaultBindings list of default binding configurations
- */
- public Composite build(Composite composite,
- Definitions definitions,
- Map<QName, List<String>> defaultBindings,
- Monitor monitor) throws CompositeBuilderException {
- configureBindingURIs(composite, null, definitions, defaultBindings, monitor);
- return composite;
- }
/**
* Fully resolve the binding URIs based on available information. This includes information
Modified: tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentBuilderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentBuilderImpl.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentBuilderImpl.java (original)
+++ tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentBuilderImpl.java Fri Oct 16 05:42:26 2009
@@ -51,6 +51,7 @@
import org.apache.tuscany.sca.assembly.SCABinding;
import org.apache.tuscany.sca.assembly.SCABindingFactory;
import org.apache.tuscany.sca.assembly.Service;
+import org.apache.tuscany.sca.assembly.builder.BuilderContext;
import org.apache.tuscany.sca.assembly.builder.BuilderExtensionPoint;
import org.apache.tuscany.sca.assembly.builder.ImplementationBuilder;
import org.apache.tuscany.sca.assembly.builder.Messages;
@@ -62,7 +63,6 @@
import org.apache.tuscany.sca.interfacedef.InterfaceContract;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.MonitorFactory;
import org.apache.tuscany.sca.policy.ExtensionType;
import org.apache.tuscany.sca.policy.PolicySubject;
import org.w3c.dom.Document;
@@ -79,7 +79,6 @@
protected static final QName BINDING_SCA_QNAME = new QName(SCA11_NS, BINDING_SCA);
private CompositeComponentTypeBuilderImpl componentTypeBuilder;
- private Monitor monitor;
private AssemblyFactory assemblyFactory;
private SCABindingFactory scaBindingFactory;
private DocumentBuilderFactory documentBuilderFactory;
@@ -89,8 +88,6 @@
public ComponentBuilderImpl(ExtensionPointRegistry registry) {
UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
- MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
- monitor = monitorFactory.createMonitor();
FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class);
assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
@@ -113,8 +110,9 @@
* @Param parentComposite the composite that contains the component being configured. Required for property processing
* @param component the component to be configured
*/
- public void configureComponentFromComponentType(Component outerComponent, Composite parentComposite, Component component) {
+ public void configureComponentFromComponentType(Component outerComponent, Composite parentComposite, Component component, BuilderContext context) {
+ Monitor monitor = context.getMonitor();
monitor.pushContext("Component: " + component.getName().toString());
try {
@@ -132,7 +130,7 @@
if (impl != null) {
ImplementationBuilder builder = builders.getImplementationBuilder(impl.getType());
if (builder != null) {
- builder.build(component, impl, monitor);
+ builder.build(component, impl, context);
}
}
@@ -141,17 +139,17 @@
// composite level property values. Hence we have to calculate whether the component
// type property value should be overridden by this component's property value
// before we go ahead and calculate the component type
- configureProperties(outerComponent, parentComposite, component);
+ configureProperties(outerComponent, parentComposite, component, monitor);
// create the component type for this component
// taking any nested composites into account
- createComponentType(component);
+ createComponentType(component, context);
// configure services based on the calculated component type
- configureServices(component);
+ configureServices(component, monitor);
// configure services based on the calculated component type
- configureReferences(component);
+ configureReferences(component, monitor);
} finally {
monitor.popContext();
}
@@ -195,10 +193,10 @@
*
* @param component
*/
- private void createComponentType(Component component) {
+ private void createComponentType(Component component, BuilderContext context) {
Implementation implementation = component.getImplementation();
if (implementation instanceof Composite) {
- componentTypeBuilder.createComponentType(component, (Composite)implementation);
+ componentTypeBuilder.createComponentType(component, (Composite)implementation, context);
}
}
@@ -208,15 +206,15 @@
*
* @param component
*/
- private void configureServices(Component component) {
+ private void configureServices(Component component, Monitor monitor) {
// If the component type has services that are not described in this
// component then create services for this component
- addServicesFromComponentType(component);
+ addServicesFromComponentType(component, monitor);
// Connect this component's services to the
// services from its component type
- connectServicesToComponentType(component);
+ connectServicesToComponentType(component, monitor);
// look at each component service in turn and calculate its
// configuration based on OASIS rules
@@ -231,7 +229,7 @@
}
// interface contracts
- calculateServiceInterfaceContract(component, componentService, componentTypeService);
+ calculateServiceInterfaceContract(component, componentService, componentTypeService, monitor);
// bindings
calculateBindings(componentService, componentTypeService);
@@ -256,15 +254,15 @@
*
* @param component
*/
- private void configureReferences(Component component) {
+ private void configureReferences(Component component, Monitor monitor) {
// If the component type has references that are not described in this
// component then create references for this component
- addReferencesFromComponentType(component);
+ addReferencesFromComponentType(component, monitor);
// Connect this component's references to the
// references from its component type
- connectReferencesToComponentType(component);
+ connectReferencesToComponentType(component, monitor);
// look at each component reference in turn and calculate its
// configuration based on OASIS rules
@@ -278,10 +276,10 @@
}
// reference multiplicity
- reconcileReferenceMultiplicity(component, componentReference, componentTypeReference);
+ reconcileReferenceMultiplicity(component, componentReference, componentTypeReference, monitor);
// interface contracts
- calculateReferenceInterfaceContract(component, componentReference, componentTypeReference);
+ calculateReferenceInterfaceContract(component, componentReference, componentTypeReference, monitor);
// bindings
calculateBindings(componentReference, componentTypeReference);
@@ -317,26 +315,26 @@
*
* @param component
*/
- private void configureProperties(Component outerComponent, Composite parentComposite, Component component) {
+ private void configureProperties(Component outerComponent, Composite parentComposite, Component component, Monitor monitor) {
// If the component type has properties that are not described in this
// component then create properties for this component
- addPropertiesFromComponentType(component);
+ addPropertiesFromComponentType(component, monitor);
// Connect this component's properties to the
// properties from its component type
- connectPropertiesToComponentType(component);
+ connectPropertiesToComponentType(component, monitor);
// Reconcile component properties and their component type properties
for (ComponentProperty componentProperty : component.getProperties()) {
- reconcileComponentPropertyWithComponentType(component, componentProperty);
+ reconcileComponentPropertyWithComponentType(component, componentProperty, monitor);
// configure the property value based on the @source attribute
// At the moment this is done in the parent composite component
// type calculation
- processPropertySourceAttribute(outerComponent, parentComposite, component, componentProperty);
+ processPropertySourceAttribute(outerComponent, parentComposite, component, componentProperty, monitor);
// configure the property value based on the @file attribute
- processPropertyFileAttribute(component, componentProperty);
+ processPropertyFileAttribute(component, componentProperty, monitor);
// Check that a value is supplied
if (componentProperty.isMustSupply() && !isPropertyValueSet(componentProperty)) {
@@ -361,7 +359,7 @@
}
}
- private void addServicesFromComponentType(Component component) {
+ private void addServicesFromComponentType(Component component, Monitor monitor) {
// Create a component service for each service
if (component.getImplementation() != null) {
@@ -391,7 +389,7 @@
}
}
- private void addReferencesFromComponentType(Component component) {
+ private void addReferencesFromComponentType(Component component, Monitor monitor) {
// Create a component reference for each reference
if (component.getImplementation() != null) {
@@ -421,7 +419,7 @@
}
}
- private void addPropertiesFromComponentType(Component component) {
+ private void addPropertiesFromComponentType(Component component, Monitor monitor) {
// Create component property for each property
if (component.getImplementation() != null) {
@@ -454,7 +452,7 @@
}
}
- private void connectServicesToComponentType(Component component) {
+ private void connectServicesToComponentType(Component component, Monitor monitor) {
// Connect each component service to the corresponding component type service
for (ComponentService componentService : component.getServices()) {
@@ -492,7 +490,7 @@
}
}
- private void connectReferencesToComponentType(Component component) {
+ private void connectReferencesToComponentType(Component component, Monitor monitor) {
// Connect each component reference to the corresponding component type reference
for (ComponentReference componentReference : component.getReferences()) {
@@ -530,7 +528,7 @@
}
}
- private void connectPropertiesToComponentType(Component component) {
+ private void connectPropertiesToComponentType(Component component, Monitor monitor) {
// Connect each component property to the corresponding component type property
for (ComponentProperty componentProperty : component.getProperties()) {
// check for duplicate property names in component
@@ -560,7 +558,8 @@
private void reconcileReferenceMultiplicity(Component component,
Reference componentReference,
- Reference componentTypeReference) {
+ Reference componentTypeReference,
+ Monitor monitor) {
if (componentReference.getMultiplicity() != null) {
if (!isValidMultiplicityOverride(componentTypeReference.getMultiplicity(), componentReference
.getMultiplicity())) {
@@ -576,7 +575,7 @@
}
}
- private void reconcileComponentPropertyWithComponentType(Component component, ComponentProperty componentProperty) {
+ private void reconcileComponentPropertyWithComponentType(Component component, ComponentProperty componentProperty, Monitor monitor) {
Property componentTypeProperty = componentProperty.getProperty();
if (componentTypeProperty != null) {
@@ -676,7 +675,8 @@
private void processPropertySourceAttribute(Component outerComponent,
Composite parentComposite,
Component component,
- ComponentProperty componentProperty) {
+ ComponentProperty componentProperty,
+ Monitor monitor) {
String source = componentProperty.getSource();
if (source != null) {
@@ -754,7 +754,7 @@
* @param parentCompoent the composite that contains the component
* @param component
*/
- private void processPropertyFileAttribute(Component component, ComponentProperty componentProperty) {
+ private void processPropertyFileAttribute(Component component, ComponentProperty componentProperty, Monitor monitor) {
String file = componentProperty.getFile();
if (file != null) {
try {
@@ -1120,7 +1120,7 @@
* @param topContract the top contract
* @param bottomContract the bottom contract
*/
- private void calculateServiceInterfaceContract(Component component, Service topContract, Service bottomContract) {
+ private void calculateServiceInterfaceContract(Component component, Service topContract, Service bottomContract, Monitor monitor) {
// Use the interface contract from the bottom level contract if
// none is specified on the top level contract
@@ -1160,7 +1160,7 @@
* @param topContract the top contract
* @param bottomContract the bottom contract
*/
- private void calculateReferenceInterfaceContract(Component component, Reference topContract, Reference bottomContract) {
+ private void calculateReferenceInterfaceContract(Component component, Reference topContract, Reference bottomContract, Monitor monitor) {
// Use the interface contract from the bottom level contract if
// none is specified on the top level contract
Modified: tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentReferenceBindingBuilderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentReferenceBindingBuilderImpl.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentReferenceBindingBuilderImpl.java (original)
+++ tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentReferenceBindingBuilderImpl.java Fri Oct 16 05:42:26 2009
@@ -25,12 +25,11 @@
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.assembly.Implementation;
import org.apache.tuscany.sca.assembly.builder.BindingBuilder;
+import org.apache.tuscany.sca.assembly.builder.BuilderContext;
import org.apache.tuscany.sca.assembly.builder.BuilderExtensionPoint;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.definitions.Definitions;
-import org.apache.tuscany.sca.monitor.Monitor;
/**
* A composite builder that performs any additional building steps that
@@ -46,9 +45,9 @@
this.builders = registry.getExtensionPoint(BuilderExtensionPoint.class);
}
- public Composite build(Composite composite, Definitions definitions, Monitor monitor)
+ public Composite build(Composite composite, BuilderContext context)
throws CompositeBuilderException {
- buildReferenceBindings(composite, monitor);
+ buildReferenceBindings(composite, context);
return composite;
}
@@ -56,7 +55,7 @@
return "org.apache.tuscany.sca.assembly.builder.ComponentReferenceBindingBuilder";
}
- private void buildReferenceBindings(Composite composite, Monitor monitor) {
+ private void buildReferenceBindings(Composite composite, BuilderContext context) {
// find all the component reference bindings (starting at top level)
for (Component component : composite.getComponents()) {
@@ -64,7 +63,7 @@
for (Binding binding : componentReference.getBindings()) {
BindingBuilder builder = builders.getBindingBuilder(binding.getType());
if (builder != null) {
- builder.build(component, componentReference, binding, monitor);
+ builder.build(component, componentReference, binding, context);
}
}
}
@@ -74,7 +73,7 @@
for (Component component : composite.getComponents()) {
Implementation implementation = component.getImplementation();
if (implementation instanceof Composite) {
- buildReferenceBindings((Composite)implementation, monitor);
+ buildReferenceBindings((Composite)implementation, context);
}
}
}
Modified: tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentReferencePromotionBuilderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentReferencePromotionBuilderImpl.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentReferencePromotionBuilderImpl.java (original)
+++ tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentReferencePromotionBuilderImpl.java Fri Oct 16 05:42:26 2009
@@ -29,11 +29,11 @@
import org.apache.tuscany.sca.assembly.Implementation;
import org.apache.tuscany.sca.assembly.Reference;
import org.apache.tuscany.sca.assembly.SCABinding;
+import org.apache.tuscany.sca.assembly.builder.BuilderContext;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.definitions.Definitions;
import org.apache.tuscany.sca.monitor.Monitor;
/**
@@ -49,9 +49,9 @@
this.assemblyFactory = factories.getFactory(AssemblyFactory.class);
}
- public Composite build(Composite composite, Definitions definitions, Monitor monitor)
+ public Composite build(Composite composite, BuilderContext context)
throws CompositeBuilderException {
- configureNestedCompositeReferences(composite, monitor);
+ configureNestedCompositeReferences(composite, context.getMonitor());
return composite;
}
Modified: tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentServiceBindingBuilderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentServiceBindingBuilderImpl.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentServiceBindingBuilderImpl.java (original)
+++ tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentServiceBindingBuilderImpl.java Fri Oct 16 05:42:26 2009
@@ -25,12 +25,11 @@
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.assembly.Implementation;
import org.apache.tuscany.sca.assembly.builder.BindingBuilder;
+import org.apache.tuscany.sca.assembly.builder.BuilderContext;
import org.apache.tuscany.sca.assembly.builder.BuilderExtensionPoint;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.definitions.Definitions;
-import org.apache.tuscany.sca.monitor.Monitor;
/**
* A composite builder that performs any additional building steps that
@@ -49,19 +48,19 @@
return "org.apache.tuscany.sca.assembly.builder.ComponentServiceBindingBuilder";
}
- public Composite build(Composite composite, Definitions definitions, Monitor monitor)
+ public Composite build(Composite composite, BuilderContext context)
throws CompositeBuilderException {
- buildServiceBindings(composite, monitor);
+ buildServiceBindings(composite, context);
return composite;
}
- private void buildServiceBindings(Composite composite, Monitor monitor) {
+ private void buildServiceBindings(Composite composite, BuilderContext context) {
// build bindings recursively
for (Component component : composite.getComponents()) {
Implementation implementation = component.getImplementation();
if (implementation instanceof Composite) {
- buildServiceBindings((Composite)implementation, monitor);
+ buildServiceBindings((Composite)implementation, context);
}
}
@@ -71,7 +70,7 @@
for (Binding binding : componentService.getBindings()) {
BindingBuilder builder = builders.getBindingBuilder(binding.getType());
if (builder != null) {
- builder.build(component, componentService, binding, monitor);
+ builder.build(component, componentService, binding, context);
}
}
}
Modified: tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositeCloneBuilderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositeCloneBuilderImpl.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositeCloneBuilderImpl.java (original)
+++ tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositeCloneBuilderImpl.java Fri Oct 16 05:42:26 2009
@@ -25,10 +25,9 @@
import org.apache.tuscany.sca.assembly.Component;
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.assembly.Implementation;
+import org.apache.tuscany.sca.assembly.builder.BuilderContext;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
-import org.apache.tuscany.sca.definitions.Definitions;
-import org.apache.tuscany.sca.monitor.Monitor;
/**
* A composite builder that clones nested composites.
@@ -40,7 +39,7 @@
public CompositeCloneBuilderImpl() {
}
- public Composite build(Composite composite, Definitions definitions, Monitor monitor)
+ public Composite build(Composite composite, BuilderContext context)
throws CompositeBuilderException {
if (Composite.DOMAIN_COMPOSITE.equals(composite.getName())) {
Modified: tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositeComponentTypeBuilderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositeComponentTypeBuilderImpl.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositeComponentTypeBuilderImpl.java (original)
+++ tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositeComponentTypeBuilderImpl.java Fri Oct 16 05:42:26 2009
@@ -39,6 +39,7 @@
import org.apache.tuscany.sca.assembly.SCABinding;
import org.apache.tuscany.sca.assembly.SCABindingFactory;
import org.apache.tuscany.sca.assembly.Service;
+import org.apache.tuscany.sca.assembly.builder.BuilderContext;
import org.apache.tuscany.sca.assembly.builder.BuilderExtensionPoint;
import org.apache.tuscany.sca.assembly.builder.Messages;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
@@ -49,7 +50,6 @@
import org.apache.tuscany.sca.interfacedef.InterfaceContract;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.MonitorFactory;
import org.apache.tuscany.sca.policy.ExtensionType;
import org.apache.tuscany.sca.policy.PolicySubject;
@@ -67,7 +67,6 @@
protected static final QName BINDING_SCA_QNAME = new QName(SCA11_NS, BINDING_SCA);
private ComponentBuilderImpl componentBuilder;
- private Monitor monitor;
private AssemblyFactory assemblyFactory;
private SCABindingFactory scaBindingFactory;
private InterfaceContractMapper interfaceContractMapper;
@@ -75,8 +74,6 @@
public CompositeComponentTypeBuilderImpl(ExtensionPointRegistry registry) {
UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
- MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
- monitor = monitorFactory.createMonitor();
FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class);
assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
@@ -96,8 +93,9 @@
* @param implementation
* @return component type
*/
- public void createComponentType(Component outerComponent, Composite composite) {
+ public void createComponentType(Component outerComponent, Composite composite, BuilderContext context) {
+ Monitor monitor = context.getMonitor();
monitor.pushContext("Composite: " + composite.getName().toString());
try {
@@ -125,7 +123,7 @@
}
// configure the component from its component type
- componentBuilder.configureComponentFromComponentType(outerComponent, composite, component);
+ componentBuilder.configureComponentFromComponentType(outerComponent, composite, component, context);
}
// create the composite component type based on the promoted artifacts
@@ -139,10 +137,10 @@
indexComponentsServicesAndReferences(composite, components, componentServices, componentReferences);
// services
- calculateServices(composite, components, componentServices);
+ calculateServices(composite, components, componentServices, monitor);
// references
- calculateReferences(composite, components, componentReferences);
+ calculateReferences(composite, components, componentReferences, monitor);
// properties
// Properties on the composite component are unaffected by properties
@@ -216,11 +214,12 @@
*/
private void calculateServices(ComponentType componentType,
Map<String, Component> components,
- Map<String, ComponentService> componentServices) {
+ Map<String, ComponentService> componentServices,
+ Monitor monitor) {
// Connect this component type's services to the
// services from child components which it promotes
- connectPromotedServices(componentType, components, componentServices);
+ connectPromotedServices(componentType, components, componentServices, monitor);
// look at each component type service in turn and
// calculate its configuration based on OASIS rules
@@ -229,7 +228,7 @@
ComponentService promotedComponentService = compositeService.getPromotedService();
// promote interface contracts
- calculatePromotedServiceInterfaceContract(compositeService, promotedComponentService);
+ calculatePromotedServiceInterfaceContract(compositeService, promotedComponentService, monitor);
// promote bindings
calculatePromotedBindings(compositeService, promotedComponentService);
@@ -251,11 +250,11 @@
*/
private void calculateReferences(ComponentType componentType,
Map<String, Component> components,
- Map<String, ComponentReference> componentReferences) {
+ Map<String, ComponentReference> componentReferences, Monitor monitor) {
// Connect this component type's references to the
// references from child components which it promotes
- connectPromotedReferences(componentType, components, componentReferences);
+ connectPromotedReferences(componentType, components, componentReferences, monitor);
// look at each component type reference in turn and
// calculate its configuration based on OASIS rules
@@ -266,7 +265,7 @@
for (ComponentReference promotedComponentReference : promotedReferences) {
// promote interface contracts
- calculatePromotedReferenceInterfaceContract(compositeReference, promotedComponentReference);
+ calculatePromotedReferenceInterfaceContract(compositeReference, promotedComponentReference, monitor);
// promote bindings
// Don't need to promote reference bindings as any lower level binding will
@@ -291,7 +290,8 @@
*/
private void connectPromotedServices(ComponentType componentType,
Map<String, Component> components,
- Map<String, ComponentService> componentServices) {
+ Map<String, ComponentService> componentServices,
+ Monitor monitor) {
for (Service service : componentType.getServices()) {
// Connect composite (component type) services to the component services
@@ -345,7 +345,8 @@
*/
private void connectPromotedReferences(ComponentType componentType,
Map<String, Component> components,
- Map<String, ComponentReference> componentReferences) {
+ Map<String, ComponentReference> componentReferences,
+ Monitor monitor) {
// Connect composite (component type) references to the component references that they promote
for (Reference reference : componentType.getReferences()) {
@@ -417,7 +418,7 @@
* @param topContract the top contract
* @param bottomContract the bottom contract
*/
- private void calculatePromotedServiceInterfaceContract(Service topContract, Service bottomContract) {
+ private void calculatePromotedServiceInterfaceContract(Service topContract, Service bottomContract, Monitor monitor) {
// Use the interface contract from the bottom level contract if
// none is specified on the top level contract
InterfaceContract topInterfaceContract = topContract.getInterfaceContract();
@@ -455,7 +456,7 @@
* @param topContract the top contract
* @param bottomContract the bottom contract
*/
- private void calculatePromotedReferenceInterfaceContract(Reference topContract, Reference bottomContract) {
+ private void calculatePromotedReferenceInterfaceContract(Reference topContract, Reference bottomContract, Monitor monitor) {
// Use the interface contract from the bottom level contract if
// none is specified on the top level contract
InterfaceContract topInterfaceContract = topContract.getInterfaceContract();
Modified: tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositeIncludeBuilderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositeIncludeBuilderImpl.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositeIncludeBuilderImpl.java (original)
+++ tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositeIncludeBuilderImpl.java Fri Oct 16 05:42:26 2009
@@ -24,10 +24,10 @@
import org.apache.tuscany.sca.assembly.Implementation;
import org.apache.tuscany.sca.assembly.Reference;
import org.apache.tuscany.sca.assembly.Service;
+import org.apache.tuscany.sca.assembly.builder.BuilderContext;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
import org.apache.tuscany.sca.assembly.builder.Messages;
-import org.apache.tuscany.sca.definitions.Definitions;
import org.apache.tuscany.sca.monitor.Monitor;
/**
@@ -44,9 +44,9 @@
return "org.apache.tuscany.sca.assembly.builder.CompositeIncludeBuilder";
}
- public Composite build(Composite composite, Definitions definitions, Monitor monitor)
+ public Composite build(Composite composite, BuilderContext context)
throws CompositeBuilderException {
- return processIncludes(composite, monitor);
+ return processIncludes(composite, context.getMonitor());
}
/**
Modified: tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java (original)
+++ tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java Fri Oct 16 05:42:26 2009
@@ -37,12 +37,12 @@
import org.apache.tuscany.sca.assembly.Implementation;
import org.apache.tuscany.sca.assembly.Reference;
import org.apache.tuscany.sca.assembly.Service;
+import org.apache.tuscany.sca.assembly.builder.BuilderContext;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
import org.apache.tuscany.sca.assembly.builder.PolicyBuilder;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.definitions.Definitions;
-import org.apache.tuscany.sca.monitor.Monitor;
import org.apache.tuscany.sca.policy.Intent;
import org.apache.tuscany.sca.policy.IntentMap;
import org.apache.tuscany.sca.policy.PolicyExpression;
@@ -66,10 +66,11 @@
return "org.apache.tuscany.sca.assembly.builder.CompositePolicyBuilder";
}
- public Composite build(Composite composite, Definitions definitions, Monitor monitor)
+ public Composite build(Composite composite, BuilderContext context)
throws CompositeBuilderException {
- computePolicies(composite, definitions, monitor);
- buildPolicies(composite, definitions, monitor);
+ Definitions definitions = context.getDefinitions();
+ computePolicies(composite, definitions, context);
+ buildPolicies(composite, definitions, context);
return composite;
}
@@ -97,14 +98,14 @@
* @param monitor
* @return
*/
- private boolean checkMutualExclusion(PolicySubject subject1, PolicySubject subject2, Monitor monitor) {
+ private boolean checkMutualExclusion(PolicySubject subject1, PolicySubject subject2, BuilderContext context) {
if (subject1 == subject2 || subject1 == null || subject2 == null) {
return false;
}
for (Intent i1 : subject1.getRequiredIntents()) {
for (Intent i2 : subject1.getRequiredIntents()) {
if (i1.getExcludedIntents().contains(i2) || i2.getExcludedIntents().contains(i1)) {
- error(monitor, "MutuallyExclusiveIntents", new Object[] {subject1, subject2}, i1, i2);
+ error(context.getMonitor(), "MutuallyExclusiveIntents", new Object[] {subject1, subject2}, i1, i2);
return true;
}
}
@@ -206,7 +207,7 @@
return null;
}
- private void resolveAndNormalize(PolicySubject subject, Definitions definitions, Monitor monitor) {
+ private void resolveAndNormalize(PolicySubject subject, Definitions definitions, BuilderContext context) {
Set<Intent> intents = new HashSet<Intent>();
if (definitions != null) {
@@ -215,7 +216,7 @@
if (resolved != null) {
intents.add(resolved);
} else {
- warning(monitor, "IntentNotFound", subject, i);
+ warning(context.getMonitor(), "IntentNotFound", subject, i);
// Intent cannot be resolved
}
}
@@ -267,7 +268,7 @@
policySets.add(definitions.getPolicySets().get(index));
} else {
// PolicySet cannot be resolved
- warning(monitor, "PolicySetNotFound", subject, policySet);
+ warning(context.getMonitor(), "PolicySetNotFound", subject, policySet);
}
}
}
@@ -296,30 +297,30 @@
}
- protected void computePolicies(Composite composite, Definitions definitions, Monitor monitor) {
+ protected void computePolicies(Composite composite, Definitions definitions, BuilderContext context) {
// compute policies recursively
for (Component component : composite.getComponents()) {
Implementation implementation = component.getImplementation();
if (implementation instanceof Composite) {
- computePolicies((Composite)implementation, definitions, monitor);
+ computePolicies((Composite)implementation, definitions, context);
}
}
for (Component component : composite.getComponents()) {
// Check component against implementation
- checkMutualExclusion(component, component.getImplementation(), monitor);
+ checkMutualExclusion(component, component.getImplementation(), context);
for (ComponentService componentService : component.getServices()) {
// Check component/service against componentType/service
- checkMutualExclusion(componentService, componentService.getService(), monitor);
+ checkMutualExclusion(componentService, componentService.getService(), context);
if (componentService.getInterfaceContract() != null && componentService.getService() != null) {
checkMutualExclusion(componentService.getInterfaceContract().getInterface(), componentService
- .getService().getInterfaceContract().getInterface(), monitor);
+ .getService().getInterfaceContract().getInterface(), context);
checkMutualExclusion(componentService.getInterfaceContract().getCallbackInterface(),
componentService.getService().getInterfaceContract().getCallbackInterface(),
- monitor);
+ context);
}
for (Endpoint ep : componentService.getEndpoints()) {
@@ -337,7 +338,7 @@
if (componentService.getService() != null) {
for (Binding binding : componentService.getService().getBindings()) {
if (isEqual(ep.getBinding().getName(), binding.getName()) && (binding instanceof PolicySubject)) {
- checkMutualExclusion((PolicySubject)ep.getBinding(), (PolicySubject)binding, monitor);
+ checkMutualExclusion((PolicySubject)ep.getBinding(), (PolicySubject)binding, context);
// Inherit from componentType.service.binding
inherit(ep, binding);
break;
@@ -353,21 +354,21 @@
// Remove the intents whose @contraints do not include the current element
// Replace unqualified intents if there is a qualified intent in the list
// Replace qualifiable intents with the default qualied intent
- resolveAndNormalize(ep, definitions, monitor);
+ resolveAndNormalize(ep, definitions, context);
}
}
for (ComponentReference componentReference : component.getReferences()) {
// Check component/reference against componentType/reference
- checkMutualExclusion(componentReference, componentReference.getReference(), monitor);
+ checkMutualExclusion(componentReference, componentReference.getReference(), context);
if (componentReference.getInterfaceContract() != null && componentReference.getReference() != null) {
checkMutualExclusion(componentReference.getInterfaceContract().getInterface(), componentReference
- .getReference().getInterfaceContract().getInterface(), monitor);
+ .getReference().getInterfaceContract().getInterface(), context);
checkMutualExclusion(componentReference.getInterfaceContract().getCallbackInterface(),
componentReference.getReference().getInterfaceContract()
.getCallbackInterface(),
- monitor);
+ context);
}
for (EndpointReference epr : componentReference.getEndpointReferences()) {
@@ -387,7 +388,7 @@
for (Binding binding : componentReference.getReference().getBindings()) {
if (epr.getBinding() != null && isEqual(epr.getBinding().getName(), binding.getName())
&& (binding instanceof PolicySubject)) {
- checkMutualExclusion((PolicySubject)epr.getBinding(), (PolicySubject)binding, monitor);
+ checkMutualExclusion((PolicySubject)epr.getBinding(), (PolicySubject)binding, context);
// Inherit from componentType.reference.binding
inherit(epr, binding);
break;
@@ -402,7 +403,7 @@
// Remove the intents whose @contraints do not include the current element
// Replace unqualified intents if there is a qualified intent in the list
// Replace qualifiable intents with the default qualied intent
- resolveAndNormalize(epr, definitions, monitor);
+ resolveAndNormalize(epr, definitions, context);
}
}
@@ -427,13 +428,13 @@
return names;
}
- protected void buildPolicies(Composite composite, Definitions definitions, Monitor monitor) {
+ protected void buildPolicies(Composite composite, Definitions definitions, BuilderContext context) {
// compute policies recursively
for (Component component : composite.getComponents()) {
Implementation implementation = component.getImplementation();
if (implementation instanceof Composite) {
- buildPolicies((Composite)implementation, definitions, monitor);
+ buildPolicies((Composite)implementation, definitions, context);
}
}
@@ -444,7 +445,7 @@
for (QName policyType : getPolicyNames(ep)) {
PolicyBuilder builder = builders.getPolicyBuilder(policyType);
if (builder != null) {
- builder.build(ep, definitions, monitor);
+ builder.build(ep, context);
}
}
}
@@ -455,7 +456,7 @@
for (QName policyType : getPolicyNames(epr)) {
PolicyBuilder builder = builders.getPolicyBuilder(policyType);
if (builder != null) {
- builder.build(epr, definitions, monitor);
+ builder.build(epr, context);
}
}
}
@@ -466,7 +467,7 @@
for (QName policyType : getPolicyNames(implementation)) {
PolicyBuilder builder = builders.getPolicyBuilder(policyType);
if (builder != null) {
- builder.build(component, implementation, definitions, monitor);
+ builder.build(component, implementation, context);
}
}
}
Modified: tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointBuilderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointBuilderImpl.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointBuilderImpl.java (original)
+++ tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointBuilderImpl.java Fri Oct 16 05:42:26 2009
@@ -26,16 +26,16 @@
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.assembly.Endpoint;
import org.apache.tuscany.sca.assembly.Implementation;
+import org.apache.tuscany.sca.assembly.builder.BuilderContext;
+import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.definitions.Definitions;
-import org.apache.tuscany.sca.monitor.Monitor;
/**
* creates endpoint models for component services.
*/
-public class EndpointBuilderImpl {
+public class EndpointBuilderImpl implements CompositeBuilder {
private AssemblyFactory assemblyFactory;
public EndpointBuilderImpl(ExtensionPointRegistry registry) {
@@ -50,7 +50,7 @@
* @param definitions
* @param monitor - a Monitor for logging errors
*/
- public Composite build(Composite composite, Definitions definitions, Monitor monitor)
+ public Composite build(Composite composite, BuilderContext context)
throws CompositeBuilderException {
processComponentServices(composite);
@@ -98,4 +98,8 @@
}
}
}
+
+ public String getID() {
+ return "org.apache.tuscany.sca.assembly.builder.EndpointBuilder";
+ }
}
Modified: tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointReferenceBuilderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointReferenceBuilderImpl.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointReferenceBuilderImpl.java (original)
+++ tuscany/java/sca/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/EndpointReferenceBuilderImpl.java Fri Oct 16 05:42:26 2009
@@ -37,29 +37,25 @@
import org.apache.tuscany.sca.assembly.Reference;
import org.apache.tuscany.sca.assembly.SCABinding;
import org.apache.tuscany.sca.assembly.Wire;
+import org.apache.tuscany.sca.assembly.builder.BuilderContext;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
import org.apache.tuscany.sca.assembly.builder.Messages;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
import org.apache.tuscany.sca.core.UtilityExtensionPoint;
-import org.apache.tuscany.sca.definitions.Definitions;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.MonitorFactory;
/**
* Creates endpoint reference models.
*/
public class EndpointReferenceBuilderImpl {
- private Monitor monitor;
private AssemblyFactory assemblyFactory;
private InterfaceContractMapper interfaceContractMapper;
public EndpointReferenceBuilderImpl(ExtensionPointRegistry registry) {
UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
- MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
- monitor = monitorFactory.createMonitor();
interfaceContractMapper = utilities.getUtility(InterfaceContractMapper.class);
FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class);
@@ -71,16 +67,16 @@
*
* @param composite
*/
- public Composite build(Composite composite, Definitions definitions, Monitor monitor)
+ public Composite build(Composite composite, BuilderContext context)
throws CompositeBuilderException {
- this.monitor = monitor;
+ Monitor monitor = context.getMonitor();
// process component services
- processComponentReferences(composite);
+ processComponentReferences(composite, monitor);
return composite;
}
- private void processComponentReferences(Composite composite) {
+ private void processComponentReferences(Composite composite, Monitor monitor) {
monitor.pushContext("Composite: " + composite.getName().toString());
try {
@@ -102,7 +98,7 @@
// recurse for composite implementations
Implementation implementation = component.getImplementation();
if (implementation instanceof Composite) {
- processComponentReferences((Composite)implementation);
+ processComponentReferences((Composite)implementation, monitor);
}
// create endpoint references to represent the component reference
@@ -111,7 +107,8 @@
component,
reference,
components,
- componentServices);
+ componentServices,
+ monitor);
// fix up links between endpoints and endpoint references that represent callbacks
for (ComponentService service : component.getServices()) {
@@ -130,7 +127,7 @@
// Validate that references are wired or promoted, according
// to their multiplicity
- validateReferenceMultiplicity(composite, component);
+ validateReferenceMultiplicity(composite, component, monitor);
} finally {
monitor.popContext();
@@ -275,7 +272,8 @@
Component component,
ComponentReference reference,
Map<String, Component> components,
- Map<String, ComponentService> componentServices) {
+ Map<String, ComponentService> componentServices,
+ Monitor monitor) {
monitor.pushContext("Reference: " + reference.getName());
@@ -554,7 +552,7 @@
} // end method
- private void validateReferenceMultiplicity(Composite composite, Component component) {
+ private void validateReferenceMultiplicity(Composite composite, Component component, Monitor monitor) {
for (ComponentReference componentReference : component.getReferences()) {
if (!ReferenceConfigurationUtil.validateMultiplicityAndTargets(componentReference.getMultiplicity(),
componentReference.getEndpointReferences())) {