summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/core-spring
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2008-09-09 09:17:30 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2008-09-09 09:17:30 +0000
commitdc15447dfebac2b0218cb1ce6903923c574c84df (patch)
tree5cf9aba844a018bccab0743005af5d3701e98cce /java/sca/modules/core-spring
parent7ea46da4356a04cd45cfa1cadcad9f7fdb28aa7f (diff)
Fixes to get the Equinox integration working. Use the parent classloader instead of the Thread context classloader as parent of the contribution classloader. Use the ServiceDiscovery to get instances of DocumentBuilderFactory and TransformerFactory. Pass these factories around instead of creating new instances in different places. Clarified the few prints in the calculator-osgi sample showing which classloader is used.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@693411 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/core-spring')
-rw-r--r--java/sca/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java b/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java
index 7855818904..8fa5f4cd53 100644
--- a/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java
+++ b/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java
@@ -22,9 +22,11 @@ import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
+import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
+import javax.xml.transform.TransformerFactory;
import org.apache.tuscany.sca.assembly.AssemblyFactory;
import org.apache.tuscany.sca.assembly.Composite;
@@ -145,7 +147,10 @@ public class SCADomainContext {
}
// Wire the top level component's composite
- buildComposite(composites.get(0), assemblyFactory, scaBindingFactory, mapper);
+ DocumentBuilderFactory documentBuilderFactory = modelFactories.getFactory(DocumentBuilderFactory.class);
+ TransformerFactory transformerFactory = modelFactories.getFactory(TransformerFactory.class);
+ buildComposite(composites.get(0), assemblyFactory, scaBindingFactory,
+ documentBuilderFactory, transformerFactory, mapper);
} catch (ContributionException e) {
throw new RuntimeException(e);
@@ -157,7 +162,10 @@ public class SCADomainContext {
}
private void buildComposite(Composite composite, AssemblyFactory assemblyFactory,
- SCABindingFactory scaBindingFactory, InterfaceContractMapper interfaceContractMapper) throws CompositeBuilderException {
+ SCABindingFactory scaBindingFactory,
+ DocumentBuilderFactory documentBuilderFactory,
+ TransformerFactory transformerFactory,
+ InterfaceContractMapper interfaceContractMapper) throws CompositeBuilderException {
Monitor monitor = new Monitor() {
@@ -170,7 +178,8 @@ public class SCADomainContext {
};
// Configure and wire the composite
- CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, new DefaultIntentAttachPointTypeFactory(), interfaceContractMapper, monitor);
+ CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, new DefaultIntentAttachPointTypeFactory(),
+ documentBuilderFactory, transformerFactory, interfaceContractMapper, monitor);
compositeUtil.build(composite);
}